次の制約を追加します。
@addConstraint(m, sum{sum{x[:alpha, d, s], s in S}, d in D} >= 5)
はx
決定変数であり、
D = [1:50]
d
しかし、合計を10未満で計算したいの
ですが、組み込みの方法はありますか、それとも回避策を見つける必要がありますか?
次の制約を追加します。
@addConstraint(m, sum{sum{x[:alpha, d, s], s in S}, d in D} >= 5)
はx
決定変数であり、
D = [1:50]
d
しかし、合計を10未満で計算したいの
ですが、組み込みの方法はありますか、それとも回避策を見つける必要がありますか?
できるはずですd in D; d < 10
、つまり
@addConstraint(m, sum{sum{x[:alpha, d, s], s in S}, d in D; d < 10} >= 5)
完全を期すために、マニュアルの関連セクションへのリンクを次に示します。これは、より適切に構成できます。私たちはそれに取り組みます!
私はあなたのアプリケーションに精通していませんが、要素が一意の連続した整数であると仮定すると、簡単な算術演算で合計を得ることができますが、質問では明確にしませんでした。これはおそらくガウスによって発見されました:
n 個の連続した整数 (1 から始まる) の合計は、(n(n + 1))/2 で与えられます。
これは、組み込みの合計関数よりも高速で単純である可能性がありますが、ここでも、質問が明確にしなかった制約があります。