5 を超えるすべての変数をカウントし、そのカウントを 10 よりも大きくする必要がある Python のパルプ内に制約を追加する方法はありますか? 現在、次のコードがありますが、関数は 1 回しか呼び出されません。
def min_qty_constraint(vars):
count = 0
for v in vars:
if v.varValue > 5 :
count += 1
print count
return -count
prob = pulp.LpProblem('problem',pulp.LpMaximize)
prob += min_qty_constraint(vars) <= 10
したがって、たとえば、vars = [x1,x2,..,x20] があり、xi がpulp.Lpvariable で x1,..,x10 = 6 の場合、これらの変数のうち 10 個が 5 より大きいため、次の制約が満たされます。少なくとも 10 個の変数の値が 5 より大きい。