我试图解决的优化模型有点混乱。它是一个小型模型,可最大限度地减少两个单元的成本。我刚刚开始优化,我不确定我是否将问题很好地解释为 AMPL。特别是关于最小化约束及其界限。
我必须将两个决策变量作为模型中的单位。u1 的成本是 10,u2 是 13。u1 的限制是你不能制造超过 100 个单位,而 u2 是 50 个单位。通过反转这个最小化问题的界限,我得到了不同的结果。谁能帮我解释发生了什么?
变量 u1 >=0; 变量u2>=0;
最小化单位成本:10*u1 +13*u2;
服从unit1:0 <= u1 <= 100;服从unit2:0 <= u2 <= 50;
有了上述约束,我的输出为:
CPLEX 12.8.0.0:最优解;目标 0 0 双重单纯形迭代(第一阶段为 0) 目标是:0.000000 : _varname _var := 1 u1 0 2 u2 0 ;
: _objname _obj := 1 costofunits 0 ;
: _conname _con := 1 单元 1 0 2 单元 2 0
;
反转约束:
以unit1为准:100 <= u1 <= 0;服从unit2:50 <= u2 <= 0;
输出为:
约束单元 1 的边界不一致:下限 = 100 > 上限 = 0
约束单元 2 的边界不一致:下限 = 50 > 上限 = 0 由预求解确定的不可行约束。目标是: 825.000000 : _varname _var := 1 u1 50 2 u2 25 ;
: _objname _obj := 1 costofunits 825 ;
: _conname _con := 1 单元 1 10 2 单元 2 13 ;