2017/02/10
0:00

Excelで始める最適化問題~ソルバー導入編~

経路最適化問題の画像
みなさんこんにちは。
テック博士です。

前回まではPythonによる機械学習や、
それに伴う環境構築の話を進めてきたね。

今回からは趣向を変えて、少し現実に即した問題を
手軽に解く方法を教えよう。

皆さんは”最適化問題”というものをご存知かな?




最適化問題とは、一言でいうと
いろいろな条件の下で最も最適である解を見つけ出す
という問題のことだ。

例えば、今いる駅から東京駅まで向かうには
どうすればよいか考えてみよう。

おそらく何パターンも経路は存在するはずだろう。
「 最も所要時間が短い経路は~~」 とか、
「一番安く向かうことができるのは~~」 とか。
もしかしたら、途中で他の駅に寄ってから向かいたい!
なんてことも考えられる。

そんな、たくさんの条件と可能性の中から、
最も最適なものを選びぬくことが、まさに最適化問題なんだ。
こう聞くと、世の中のほとんどは最適化問題なのかもしれないね。


このような最適化問題を解くために、
世の中ではたくさんのソフトウェアも開発されているんだが、
その中でも最も身近で簡単なものが、
Excel ソルバー」なんだ。

スゴク簡単で、とても便利だから、
まず、Excel ソルバーが使える状態にするところから始めてみよう。
今回はExcel2007を想定するけども、
もちろん他のバージョンでも 同じような流れだから、
ぜひ試してほしい。



まず、Excelを開こう。
スタートメニューに「オプション」があるので、
そこをクリック。
ソルバー導入画像1

そして、「アドイン」のタブを選択して、

ソルバー導入画像2

そのなかにある「ソルバーアドイン」を選択。
下線部の”管理”がExcelアドインになっていることを確かめ、
設定ボタンを押す。

ソルバー導入画像3

すると下図のようなウィンドウが出てくるので、
ソルバーアドインにチェックを入れて「OK」ボタンを押す。

ソルバー導入画像4

たったこれだけでソルバーが使えるようになった!
実に簡単だろう。
データタブの一番右側には、画像の通り、
確かにソルバーというものが入っているはずだ。

ソルバー導入完了画像

さあ、さっそくソルバーを使ってみたいところだが、
実はその前に最適化問題とは、
という簡単な説明をしなければならない。

その理由を肌で感じてもらうため、
一度「ソルバー」を押して、開いてみてほしい。

下図のようなウィンドウが出てくるはずだ。

ソルバー画像




はてさて、よくわからないものが出てきてしまった!
と思う人も少なくないだろう。


最適化問題というものは、そもそも目的制約条件
2つを数式で記述する必要があるんだ。

ただ、Excelの場合、何を最適化して~~
という言いかたをするときに
○○のセルを最適化して~~
という言いかたに変わるんだね。

これらについて、しっかりと整理をしたうえでソルバーを使って
最適な解を導く手法を手に入れよう!


それでは、具体的な例題を与えて
今日の説明は終わりにしよう。

次の記事のアップまでに、問題をよく読んで
何が目的で何が条件なのかを考えておいてほしい。

ちなみに、下の例題はスゴク有名な生産個数に関する問題だ。
受験問題にありそうな問題だな。。。



【博士からの挑戦状】

机を1台つくるのに、木材:15Kg 鉄:3Kg が必要となる。
また、椅子を1脚つくるには、木材:4Kg 鉄:1Kg が必要となる。

ただし、机を1台作って売ると利益は5万円、
椅子を 1脚作って売ると利益は1.5万円
もらえることとする。

さあ、手元に木材が100Kg、鉄が20Kgあるとき、
それぞれ何個ずつ作ると
最も利益を得ることができるだろうか。


さあ、みんな考えてみよう!