3.8.2. name 属性について

PySIMPLE では,宣言時に name 属性を与えない 集合クラス Set, 添字クラス Element, 定数クラス Parameter, 変数クラス Variable の name 属性を自動判別します. 判別に失敗した場合クラス名となります.:

i = Element(value=[1,2])
x = Variable(index=i)
print(x)
print(Variable(index=i))

この出力は次のようになります.:

x:
x[1]
x[2]
Variable:
Variable[1]
Variable[2]

また,インタプリタでは必ず判別に失敗しますので name 属性を与えた方が良いでしょう.:

>>> i = Element(value=[1,2])
>>> x = Variable(index=i)
>>> x
Variable:
Variable[1]
Variable[2]
>>> y = Variable(index=i, name='y')
>>> y
y:
y[1]
y[2]

式 クラス, 制約式クラス Constraint などの name 属性は構成要素から自動で与えられます. 明示的に与える場合は name 属性を変更します.:

i = Element(value=[1, 2])
a = Parameter(index=i, value=3)
x = Variable(index=i)
ax = a[i] + x[i]
print(ax)
ax.name = 'ax'
print(ax)

出力:

(a[i]+x[i]):
x[1]+3
x[2]+3
ax:
x[1]+3
x[2]+3