当前位置:首页 > 运筹学实验指导书(1)
(3) 数与变量的乘积用*表示;
(4) 不等号≤和≥用<=和>=或<和>表示;
(5) LINGO系统默认所有的变量非负,因此非负变量的约束可省略,而非正变量和自由变量要用x1<=0和@free(x2)表示; (6) LINGO中不能输入下标,x1→x1。
图3
注2:例1.1的模型求解还可以按图4的方式输入代码求解。此时LINGO中输入的代码和线性规划模型的除注1的相关差异外,还有如下不同: (1) 数与变量的乘积,乘号用空格表示;
(2) 约束条件之前用s.t.或subject to表示后面是约束; (3) 每行后面不用分号结束;
(4) 这种输入法的好处是和LINDO的输入一致,可以直接在LINDO中求解,做灵敏度分析较方便,也能得到最优单纯形表。
图4
点菜单栏的LINGO→Solver,或直接点工具栏上的 ,可得求解结果即解的状况(Solver Status)和解报告(Solution Report):
图5
关于图5的Solver Status的注释如下:
(1) Model(模型) LP(线性规划Linear programming,其它模型还有非线性规划NLP(Nonlinear programming ),整数线性规划ILP(Integer),整数非线性规划 INLP) (2) State(状态) Global Opt(整体最优解Global optimal solution,线性规划的最优解都是整体最优解,非线性规划有局部最优解(Local Opt)和整体最优解之分,其它状态还有无可行解(Infeasible)图7和无界解(Unbounded) 图8)
(3) Objective,目标函数值为14,由于处于最优解状态,所以这里表示最优值为14。 (4) Infeasibility 0,不可行性0,表示此时有可行解,否则没有可行解。 (5) Iteration 1,表示迭代了1步求得最优解。
(6) Extended Solver Status,表示扩展的解的状况,主要用于整数规划和非线性规划。 (7) Variables,表示变量,Total 2,表示总决策变量2个,非线性(Nonlinear)变量和整数(Integer)变量都是0个。 (8) Constraints,表示约束,Total 4,表示包括目标函数一共4个约束,非线性(Nonlinear)约束0个。
(9) Nonzeros,表示非零系数,Total 6,表示包括目标函数和约束条件中变量的非零系数6个,右端常数项不算。
图6
图7
图8
关于图6的Solution Report的注释如下:
(1) Global optimal solution found.整体最优解被找到。 (2) Objective value: 14.00000.最优值为14。
(3) Total solver iterations: 1.求解的总迭代步数为1步。 (4) Variable Value Reduced Cost
X1 4.000000 0.000000 X1 2.000000 0.000000
最优解的变量X1=4.000000,X2 =2.000000。
(5) Reduced Cost:表示减少的成本,即最小化问题的最优目标函数中各变量的检验数,即在其它
变量不变时,该变量减少一个单位,目标费用减少的数量如图8。对于最大化问题,是最优目标函数中各变量的检验数的相反数,表示当该变量增加一个单位时目标函数减少的数量如图9。这里由于上面X1和X2为取值非零的基变量,所以检验数为零。Reduced Cost为在最优解时,最小化问题中变量的检验数,最大化问题中变量检验数的相反数。 (6) Row Slack or Surplus Dual Price
1 14.00000 1.000000
2 0.000000 1.500000 3 0.000000 0.1250000
4 4.000000 0.000000
Slack or Surplus表示松弛或剩余变量,即将最优解带入各个约束条件后,左边比右边小的或大的数量,表示在最优方案中,剩余或超过的资源数量。注意,这里第一行表示目标函数,其松弛或剩余变量和对偶价格都没有意义。
(7) Dual Price,对偶价格,即最大化问题中对偶变量的最优解的值如图9所示,对于最小化问题,
对偶价格为对偶变量的最优解的值的相反数。
共分享92篇相关文档