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