1、运筹学实验报告实验一:简单线性规划模型的求解与Lingo软件的初步使用一. 实验目的1. 了解Lingo软件的基本功能。2. 掌握简单线性规划模型的求解的输入和输出结果。二实验要求1.给出所求解问题的数学模型;2. 给出Lingo中的输入;3. 能理解Solution Report中输出的四个部分的结果;4. 能给出最优解和最优值;5. 能理解哪些约束是取等式和哪些约束取不等式。三实验内容 1).在Lingo中求解下面的线性规划数学模型:max z=2x1+3x2;x1+2x284x1 164x212x1,x20;实验步骤:打开Lingo的界面如下图所示: 在Lingo中输入数学模型如下图:点
2、菜单栏的LINGOSolver,或直接点工具栏上的 ,可得求解结果即解的状况(Solver Status)和解报告(Solution Report):(1) Model(模型) LP(线性规划Linear programming,其它模型还有非线性规划NLP(Nonlinear programming ),整数线性规划ILP(Integer),整数非线性规划 INLP)(2) State(状态) Global Opt(整体最优解Global optimal solution,线性规划的最优解都是整体最优解,非线性规划有局部最优解(Local Opt)和整体最优解之分,其它状态还有无可行解(In
3、feasible)图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、,表示包括目标函数一共4个约束,非线性(Nonlinear)约束0个。(9) Nonzeros,表示非零系数,Total 6,表示包括目标函数和约束条件中变量的非零系数6个,右端常数项不算。其中:(1)Global optimal solution found.整体最优解被找到。 (2)Total solver iterations: 1.求解的总迭代步数为1步。 (3) Variable Value Reduced Cost x1 4.000000 0.000000 x2 2.000000 0.000000最优解变量x1=4.000000,x2=2.000000(4) Reduced Cos
5、t:表示减少的成本,即最小化问题的最优目标函数中各变量的检验数,最大化问题中变量检验数的相反数。 (5) 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.000000Slack or Surplus表示松弛或剩余变量,即将最优解带入各个约束条件后,左边比右边小的或大的数量,表示在最优方案中,剩余或超过的资源数量。 由 Slack or Surplus 的具体的值可以看出第一个约束条件和第二个约束条件为严格的等式约束,第三个约束条件为
6、严格的小于不等式约束。 (6) Dual Price,对偶价格,即最大化问题中对偶变量的最优解的值,对于最小化问题,对偶价格为对偶变量的最优解的值的相反数。2)在Lingo中求解教材P44习题1.2(1)的线性规划数学模型;Min z=-3x1+4x2-2x3+5x44x1-x2+2x3-x4=-2x1+x2+3x3-x4=2x1,x2,x3=0,x4无约束在Lingo中输入数学模型如下图:在Lingo中计算的结果如下图所示:最优解的取值为:x2=8.000000,x4=-6.000000;最优值为:z=2。3).建立教材P38例10的数学模型并用Lingo求解: Min z=0x1+0.1x
7、2+0.2x3+0.3x4+0.8x5 x1+2x2+x4=100 2x3+2x4+x5=100 3x1+x2+2x3+3x5=100x1,x2,x3,x4,x5=0在Lingo中输入的数学模型如下图所示:在Lingo中计算的结果如下图所示:最优解的取值为:x1=30,x2=10,x4=50;最优值为:z=164). 建立教材P46习题1.9的数学模型并用Lingo求解。数学模型为:设从每个时段开始上班的人为xi(i=1,2,3,4,5,6) min z=x1+x2+x3+x4+x5+x6x1+x6=60x1+x2=70x2+x3=60x3+x4=50x4+x5=20x5+x6=30x1,x2
8、,x3,x4,x5,x6=0在Lingo中输入的数学模型如下图所示:在Lingo中求解的结果如下图所示:由上图可得出最优解为:x1=60,x2=10,x3=50,x4=0,x5=30,x6=0 最优值为:z=150 人四:实验总结1.要特别注意Lingo中数学模型的输入:(1) max zmax,min zmin;(2) 每一行(包括目标函数)用英文的分号结束;(3) 数与变量的乘积用*表示;(4) 不等号和用=或表示;(5) LINGO系统默认所有的变量非负,因此非负变量的约束可省略,而非正变量和自由变量要用x1=0和free(x2)表示;(6) LINGO中不能输入下标,x1x1。2.注意理解解的结构,明确各行的含义。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1