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 と連携する Parameter
や Variable
の index
に指定されている Element
には dim
を明示的に指定する必要があります。
j = Element(dim=1, value=excel['仕事'])
p = Element(dim=1, value=excel['従業員'])
Element
の set
に指定されている Set
についても同様です。
3.1.2. C++SIMPLE#
C++SIMPLE モデルについては基本的に Excel との連携のための変更は必要ありません。
モデルに書いた Parameter
、Variable
、Objective
など Excel と連携可能はオブジェクトは Excel のモデルツリーに全て表示されます。