最小化约束及其界限
Constraints for Minimizing and their Bounds
我对我试图解决的优化模型有点困惑。它是一个小型模型,可将两个单元的成本降至最低。我刚刚开始优化,我不确定我是否将问题很好地解释为 AMPL。特别是关于最小化约束及其界限。
我的模型中必须有两个决策变量作为单位。 u1 的成本是 10,u2 是 13。u1 的限制是你不能制造超过 100 个单位,而 u2 是 50 个单位。通过反转这个最小化问题的界限,我得到了不同的结果。谁能帮我解释一下发生了什么?
var u1 >=0;
变量 u2 >=0;
最小化单位成本:10*u1 +13*u2;
以unit1为准:0 <= u1 <= 100;
以 unit2 为准:0 <= u2 <= 50;
根据上述限制,我的输出为:
CPLEX 12.8.0.0:最优解; objective 0
0 次对偶单纯形迭代(第一阶段为 0 次)
Objective 是:0.000000
: _varname _var :=
1 u1 0
2 u2 0
;
: _objname _obj :=
1 单位成本 0
;
: _conname _con :=
1 单元 1 0
2单元2 0
;
反转约束:
以unit1为准:100 <= u1 <= 0;
以 unit2 为准:50 <= u2 <= 0;
输出为:
约束单元 1 的边界不一致:
下限 = 100 > 上限 = 0
约束单元 2 的边界不一致:
下限 = 50 > 上限 = 0
由 presolve 确定的不可行约束。
Objective 是:825.000000
: _varname _var :=
1 u1 50
2u2 25
;
: _objname _obj :=
1 单位成本 825
;
: _conname _con :=
1个单位1 10
2单元2 13
;
对于你的第一个问题:正如你定义的问题,objective 是为了最小化成本,最简单的解决方案就是将所有内容归零,成本为零。
对于你的第二个问题,错误信息说明了问题所在。您已将 u1 (100 <= u1) 的下限设置为 100,并将上限设置为 0 (u1 <= 0)。显然,没有可能的数字可以同时满足这两个要求。假设您想将 u1 限制在 100 和 0 之间,而不是在您的约束中使用“<=”,您应该在此处使用“>=”。
unit2 约束的相同问题。
我对我试图解决的优化模型有点困惑。它是一个小型模型,可将两个单元的成本降至最低。我刚刚开始优化,我不确定我是否将问题很好地解释为 AMPL。特别是关于最小化约束及其界限。
我的模型中必须有两个决策变量作为单位。 u1 的成本是 10,u2 是 13。u1 的限制是你不能制造超过 100 个单位,而 u2 是 50 个单位。通过反转这个最小化问题的界限,我得到了不同的结果。谁能帮我解释一下发生了什么?
var u1 >=0; 变量 u2 >=0;
最小化单位成本:10*u1 +13*u2;
以unit1为准:0 <= u1 <= 100; 以 unit2 为准:0 <= u2 <= 50;
根据上述限制,我的输出为:
CPLEX 12.8.0.0:最优解; objective 0 0 次对偶单纯形迭代(第一阶段为 0 次) Objective 是:0.000000 : _varname _var := 1 u1 0 2 u2 0 ;
: _objname _obj := 1 单位成本 0 ;
: _conname _con := 1 单元 1 0 2单元2 0
;
反转约束:
以unit1为准:100 <= u1 <= 0; 以 unit2 为准:50 <= u2 <= 0;
输出为:
约束单元 1 的边界不一致: 下限 = 100 > 上限 = 0
约束单元 2 的边界不一致: 下限 = 50 > 上限 = 0 由 presolve 确定的不可行约束。 Objective 是:825.000000 : _varname _var := 1 u1 50 2u2 25 ;
: _objname _obj := 1 单位成本 825 ;
: _conname _con := 1个单位1 10 2单元2 13 ;
对于你的第一个问题:正如你定义的问题,objective 是为了最小化成本,最简单的解决方案就是将所有内容归零,成本为零。
对于你的第二个问题,错误信息说明了问题所在。您已将 u1 (100 <= u1) 的下限设置为 100,并将上限设置为 0 (u1 <= 0)。显然,没有可能的数字可以同时满足这两个要求。假设您想将 u1 限制在 100 和 0 之间,而不是在您的约束中使用“<=”,您应该在此处使用“>=”。
unit2 约束的相同问题。