我正在使用Julia和JuMP和Gurobi来解决优化问题。
我的两个约束具有类似“ if / else”的属性。我需要的值要小于实数之和,但是如果实数大于1,则需要等于1。
我制作了一个函数,如果它们小于一个,则返回总和,如果不小于一个,则返回总和。我对其他约束也做了类似的解决方案。
@constraint(m, [l in Locations, i in Locations, r in Rotor_size, wd in WD],
wake_rot[l, wd, r] <= isone(wake_loc, wd, l, i, r))
with isone是
function isone(wake_loc, wd, l, i, r)
a = wake_loc[wd, l, i] + Adj_wake[r]
if a > 1
return 1
else
return a
end
end
我的模型是不受限制的(或不可行的),我想知道这是否可以成为我问题的根源。