今日のManagement Science Models IIは
Network Modelsを扱いました。代表的なNetwork Modelsとして
Transportation Modelsについて幾つかのケースで学びました。Transportation Modelsとは、複数のsupply(工場等)と複数のdemand(市場等)があり、それぞれのsupplyとdemandを結ぶルートの輸送コストがわかっている場合に、どの工場からどれだけの商品を市場へ送るのが最も低コストになるか?を求めるためのモデルです。
この基本形に加えて様々な制約条件を設定することで、より現実のビジネスに近い状況について最適なネットワーク形態を探ることができます。例えば、コストの種類として輸送コストに加えて製造コスト(工場の固定費・変動費)や在庫保有コストも考慮したり、コストのみならず同一商品について異なる市場価格を想定して利益(=総売上-総コスト)を最大化するケース、商品を工場から直接市場へ配送するかわりにDistribution Centerを設けて輸送コストを抑えるケース等など。

また、Network Modelsのユニークかつ実用的な応用として、
Set-Covering Modelがあります。これは、全てのポイントをなるべく少数のコアポイントによりカバーする必要がある場合にコアポイントをどこに設置するべきか?について求めるモデル。と書くとよくわかりませんが、例えば航空会社がハブ空港を効率的に配置したり、コンビニが効果的な出店場所を検討する際などに実際に応用されるモデルです。
このモデルの肝は、ポイントAがポイントBによりカバーされているか否か、ポイントAはコアポイントか否かといった情報をバイナリ変数(1か0)を使って表現するところ。これにより、単純なネットワークモデルを用いて最も経済合理的なコアポイントの場所を求めることができます。
Xij (1: if the city i is covered by the city j, 0: not covered)
Yi (1: if the city i is a hub city, 0: not a hub city)
Constraints: X11*Y1 + X12*Y2 + ... >= 1 (最低1つのハブにより当該都市がカバーされていること)
Objective Function: Min (Y1 + Y2 + ...) (ハブの数を最小化すること)

この一見複雑そうな課題をSet-Covering Model化し、エクセルのsolverで解こうとすると、上記のように拍子抜けするほど単純なモデルになります。まるで熟練プログラマーが書くソースコードのようなシンプルで美しく、かつ無駄のない表現ですね。