3.3.7. 制約式クラス Constraint¶
制約式は Constraint というクラスで表現されます.
PySIMPLE で表現可能な制約式は,等式制約(==
を使用)及び等号付不等式制約(<=
, >=
を使用)の二種類です.
等式制約に用いる演算子は=ではなく,==であることに注意してください.
具体的に \(x + y = 1\) という制約式を定義するには次のように記述します.
x + y == 1
\(x - 2y \le 0\) という制約式を定義するには次のように記述します.:
x - 2*y <= 0
等号の付かない不等式を取り扱う事はできません.次の記述は誤りです.:
x - 2*y < 0
複数の制約式を一度に定義するには,添字クラス Element を用います. 以下の例では,3 個の制約式 \(x_1 - 2y_1 \le 0\), \(x_2 - 2y_2 \le 0\), \(x_3 - 2y_3 \le 0\) を 一度に定義しています.:
i = Element(value=[1, 2, 3])
x = Variable(index=i)
y = Variable(index=i)
x[i] - 2*y[i] <= 0
不一致制約を表す演算子 !=
を用いることはできません.以下の記述は誤りです.:
x + y != -1