我正在尝试将使用CPLEX求解器的GAMS编写的模型转移到Pyomo。 CPLEX具有一项功能,如果模型不可行,建模人员可以放宽约束和决策变量-FeasOpt(用于可行优化)。我无法在Pyomo中重新创建此不可行的自动放松功能而不必使用松弛变量。
约束放松的代价是不可行的:
RotationOnce1(R)$(sum(W$B1(W), VAC(R,W))<4 or sum(W$B1(W), AIRP(R,W))<4).. | sum(Rot$Act(Rot), y1(R,Rot))=e=1;
分配放松偏好:
*$ontext
$onecho > cplex.opt
feasopt 1
feasoptmode 1
x.feaspref 0
RotationOnce1.feaspref 1
我如何在pyomo中重新创建约束松弛(没有松弛变量)?在Pyomo中重写上面的CPLEX代码片段会有所帮助
答案 0 :(得分:1)
Pyomo似乎没有实现FeasOpt功能: https://github.com/Pyomo/pyomo/search?q=feasopt&unscoped_q=feasopt