モデルの書き方

3.1. モデルの書き方#

Excel と連携させるための最適化モデルの書き方を説明します。

3.1.1. PySIMPLE#

まずは、PySIMPLE モデルを Excel と連携させるために pysimple.ext モジュールの excel オブジェクトを import します。

from pysimple.ext import excel

この import した excel オブジェクトを介して Excel とデータのやり取りをします。

次に、Excel にあるデータを Parameter に入力したい場合は、Parameter の定義時に以下のように書きます。

cost = Parameter(index=(j,p), value=excel['コスト'])

Excel のモデルツリーに「コスト」ノードが表示され Excel 上のデータを登録できるようになります。

また、最適化結果の Variable の値を Excel に出力する場合は、Variable の定義時に以下のように書きます。

excel['割り当て'] = x = BinaryVariable(index=(j,p))

Excel のモデルツリーに「割り当て」ノードが表示され Excel 上に出力する場所を登録できるようになります。

なお、Excel と連携する ParameterVariableindex に指定されている Element には dim を明示的に指定する必要があります。

j = Element(dim=1, value=excel['仕事'])
p = Element(dim=1, value=excel['従業員'])

Elementset に指定されている Set についても同様です。

3.1.2. C++SIMPLE#

C++SIMPLE モデルについては基本的に Excel との連携のための変更は必要ありません。 モデルに書いた ParameterVariableObjective など Excel と連携可能はオブジェクトは Excel のモデルツリーに全て表示されます。