数理最適化超入門 〜 その2 〜
2022 年 11 月 30 日 by ueno-suguru【前回】
前回は、数理最適化がどういったことを考えるものなのか、 例を通して雰囲気だけ楽しんでいただきました。 また、機械学習との差に関して、 個人的な考えを述べたいと予告していました。
【概要】
本記事は、数理最適化問題を考えるまでの モチベーションに関する内容のその2となっています。 また、具体例を通して、 ・数理最適化の概念を感覚的にとらえられるようになる ・「数理最適化問題を解くためのPythonによる実装」への興味が生まれる この2点を目標としています。
【本編】 〜 機械学習と数理最適化について 〜
近年流行っている機械学習、特に教師あり学習では、データをもとにモデルを作成し、未知の値に対する予測値を返すという処理を概ね行なってくれています。これは、未来に対する予測を与えてくれるものですが、行動選択や意思決定の判断基準を与えてくれるものになっていないと私は思います。そこに、数理最適化に入門するモチベーションがあると思います。 この個人的な意見に関しても、例を通してお話したと思います。 お弁当屋さんを舞台にしてみます。 このお弁当屋さんには、AIシステムが導入されています。そのAIシステムがお弁当屋さんに「過去のデータを参考にすると、明日はお弁当が100個売れるみたいだよ。」と教えてくれました。ただ、お弁当屋さんは、「今ある材料で何の弁当をそれぞれ何個作ると売り上げが最大になるのだろうか??」ということを考え、判断しています。仮に、このAIシステムの精度が100%だとしても、お弁当屋さんが売り上げを最大化するための判断を誤れば、気づかない損失を生んでしまうと思います。せめて、判断基準が得られれば、損失を抑えるための方策が考えれられると思いますが。。。 こういった場面においては、 ある程度の判断基準が得られ、 意思決定の負担も軽減されるため、 機械学習にない、数理最適化のメリットを感じられると思います。 ここまでの「その1」、「その2」の内容は、雰囲気的な話が続いていましたが、 実際の実装はどうなるのかについて、上記お弁当屋さんの例をもとに例題を見ていこうと思います。
【問題】
お弁当やさんでは、お弁当Xとお弁当Yを作っています。 今日は、近くの総合運動公園でスポーツ大会があり、 たくさんのお弁当が売れるだろうと見込んでいます。 お弁当Xとお弁当Yを作るのに、ほとんどの材料が豊潤にあったのですが、 お米と鶏肉だけ在庫が少なく、2つのお弁当をそれぞれ何個作ると、 売り上げが最大となるのか判断に困りました。 そこで、次のように在庫量など、 状況を整理した上で最適化問題に落とし込んで、解決したいと考えました。 === 条件 === (1)お米は、在庫に40kgある。 (2)鶏肉は、在庫に60kgある。 (3)お弁当Xを1個作るのに、お米が300g、鶏肉が200g必要である。 (4)お弁当Yを1個作るのに、お米が200g、鶏肉が400g必要である。 (5)お弁当Xの販売価格は、300円である。 (6)お弁当Yの販売価格は、400円である。 では早速、実装へ! と言いたいところですが、 本編のサブタイトルから内容が逸脱してしまうので、 次回「その3」で、実装等を見ていくことにします。 多少、数学的な内容を含めないといけなくなるのですが、 高校数学の範囲に収めるようにしました。 それでは、「その2」を締めたいと思います。ご精読、ありがとうございました。 「その3」もよろしくお願いいたします。
タグ: 数理最適化