
プログラムを実行するために必要な事前準備についてのセクションです。
必要に応じてご参照をお願い致します。
レクチャー5~7については、他のコースでの流用となり、本コースでは関係が無いファイルが出てくるのですが、ご容赦ください。
本セクション資料はこちらです。
レクチャー4「本コースのプログラム及び資料について」で添付しておりますudemy.zip内のsection3というフォルダが本セクションのソースコードです。
「数理最適化」について、学術的な内容で実務と結び付かないイメージをお持ちの方もいらっしゃるかと思います。しかしながら、実は数理最適化は実務の中で意思決定を行うにあたって非常に有用なツールになりえます。
ここでの意思決定は、最適な配送ルートを選択する、最適な生産量を決定する、などのある指標に基づいて「最適な判断をすること」を指しています。
機械学習で「これが最適”かも”」と予測/推測することとは異なり、ある前提条件において数学的に「これが最適だ」と言い切ることができる解を得ることができるため、使い方次第で効果は絶大となります。
本コースではpulpというpythonのライブラリを使って、最適化計算手法を基礎から学習していきます。扱う題材は、以下を含む8つの演習問題です。
・連立方程式
・ナップザック問題
・生産計画最適化問題
・輸送コスト最小化問題
・巡回セールスマン問題
・原料の最適割り当て問題
これらを通してpulpの使い方と最適化計算の方法を一通りマスターいただけるかと思います。
一方で、数理最適化には課題もあり、最適化計算をそのまま適用できる領域がそれほど広くないように感じるという点があります。その結果、実務に活かせそうで活かしにくいという状態になってしまいます。
この課題を一定程度克服する一つの方法として、機械学習と組み合わせる方法を最後のセクションでご提案させて頂いております。これと演習を通じてマスターできるpulpの具体的な使い方とをミックスすることで、数理最適化を活用できる場面を増やして頂き、皆様の実務での意思決定に役立てて頂けることの一助となればと考えております。
※2024年5月1日に、追加セクションとしまして、python-mipのセクションをセッション6として追加しました。
python-mipはpulpとほぼ同様の機能を持つpythonライブラリですが、pulpより新しく、変数定義などにおいて、より使い勝手が良い面もあります。pulpと比較しながら学べる形としております。
※2024年12月29日に、セクション2内の「フォルダ構成確認~ライブラリインストール」を更新しました。従来はpythonのバージョンを指定しておりませんでしたので、requirements.txtをインストールした時に、各ライブラリのバージョンと不整合が起こることがありました。同動画内で、pythonバージョン指定を含む仮想環境構築とrequirements.txtのインストールをお示ししております。本コースで使用しておりますバージョンは以下でございます。(pythonは3.10です。)
matplotlib==3.6.3
numpy==1.24.2
pandas==1.5.3
PuLP==2.7.0
mip==1.15.0