3.3.6. 式 クラス

式は演算結果を代入によって保持することで利用できます. 例えば,2x + 3y という式を定義したい場合,次のように記述します.:

x = Variable()
y = Variable()
g = 2*x + 3*y

以下の例では,3 個の式 g[1], g[2], g[3] を一度に定義しています.:

i = Element(value=[1, 2, 3])
x = Variable(index=i)
y = Variable(index=i)
g = 2*x[i] + 3*y[i]

式の宣言では左辺に括弧は不要です. 以下の記述は誤りです.:

g[i] = 2*x[i] + 3*y[i]

式に明示的に名前を付けるには以下のようにします.:

g = 2*x[i] + 3*y[i]
g.name = 'g'

上のように定義した式を使用する場合は g または g[i] とします. 式はあくまで置き換えであるので以下の表現はいずれも同様の意味を持ちます.:

f = 2*x[i] + 3*y[i] + 4
g = 2*x[i] + 3*y[i]
f = g + 4
g = 2*x[i] + 3*y[i]
f = g[i] + 4

式を使う事によりモデルの記述を簡略化することができます. 同じ式が何度も出現するモデルにおいて特に有効です.

C++SIMPLE のように式の宣言はできません.