2013年06月27日

ソルバーを使ってみよう

お久しぶりです。
年初から腹筋ローラーを(毎日とはいかないものの)続け、
ついに立ちコロ(膝をつかずにコロコロを行うこと)ができるようになったコウスケですグッド(上向き矢印)
継続は力なりですねわーい(嬉しい顔)

さて、前回統計学のネタを紹介しましたが、
今回も統計学の勉強をしていた時に知った、エクセルの便利な機能を紹介したいと思います。
その名も「ソルバー」です。
これはどういうものかというと、わかりやすく言うのが難しいのですが・・
線形計画問題の解を求めて・・・というと馴染みにくいのでたらーっ(汗)
とにかく「何とかして問題を解いてくれるもの」ですexclamation

これがエクセルの機能に標準搭載されています。
使用の設定を行う必要があります。)

簡単な例で使い方を示したいと思います。
---
スタッフ10人に差し入れを買っていこうと思っています。
シュークリーム、チーズケーキ、カステラが各300円、500円、200円で、
予算は3000円以内で、人数分の個数を買い、トータルでできるだけ良い商品を
買っていきたい場合、各々何個買えばよいでしょうか。

---

この問題を解くために、まずは表を作ります。例えば下記のような表になります。

solver_1.png

ツールバーのデータ→ソルバーをクリックし、条件を入力します。

・求めたいのは各商品の数量[D4~D6]のセル
・目的は合計金額[E6]セルの最大化

制約条件は
・予算[C8]セルを3000円以内、
・人数[C9]セルを10人に

ですので、

solver_cond.png

となります。これをソルバーに設定し、「解決」を押すと・・

solver_2.png

見事、数量を求めてくれましたexclamation

このように、与えられた制約のもとで、目的関数を最大(最小)化する問題を、
線形、または非線形計画問題と呼びます。

この例題は簡単な線形計画問題ですが、エクセルのソルバーは高機能な解決エンジンを
つんでおり、一般的に解くのがかなり難しいとされる非線形計画問題でも
解くことができます。

様々な対象に対して使うことができますが、
ゲーム開発においても、最適なパラメータの決定などにも応用できそうですねexclamation

エクセルのない方でもOpenOfficeやLibreOfficeでもアドインをインストールすることで
ソルバーを使うことができますので、ぜひ試してみてくださいexclamation×2
それではまた。


posted by 管理人 at 19:48 | 日記