运筹学实验报告.docx
《运筹学实验报告.docx》由会员分享,可在线阅读,更多相关《运筹学实验报告.docx(10页珍藏版)》请在冰豆网上搜索。
![运筹学实验报告.docx](https://file1.bdocx.com/fileroot1/2023-7/16/301dfa6f-617d-4aef-a96a-b57ec55becdc/301dfa6f-617d-4aef-a96a-b57ec55becdc1.gif)
运筹学实验报告
实验一:
简单线性规划模型的求解与Lingo软件的初步使用
一.实验目的
1.了解Lingo软件的基本功能。
2.掌握简单线性规划模型的求解的输入和输出结果。
二.实验要求
1.给出所求解问题的数学模型;
2.给出Lingo中的输入;
3.能理解SolutionReport中输出的四个部分的结果;
4.能给出最优解和最优值;
5.能理解哪些约束是取等式和哪些约束取不等式。
三.实验内容
1).在Lingo中求解下面的线性规划数学模型:
maxz=2x1+3x2;
x1+2x2≤8
4x1≤16
4x2≤12
x1,x2≥0;
实验步骤:
打开Lingo的界面如下图所示:
在Lingo中输入数学模型如下图:
点菜单栏的LINGO→Solver,或直接点工具栏上的,可得求解结果即解的状况(SolverStatus)和解报告(SolutionReport):
(1)Model(模型)LP(线性规划Linearprogramming,其它模型还有非线性规划NLP(Nonlinearprogramming),整数线性规划ILP(Integer),整数非线性规划INLP)
(2)State(状态)GlobalOpt(整体最优解Globaloptimalsolution,线性规划的最优解都是整体最优解,非线性规划有局部最优解(LocalOpt)和整体最优解之分,其它状态还有无可行解(Infeasible)图7和无界解(Unbounded)图8)
(3)Objective,目标函数值为14,由于处于最优解状态,所以这里表示最优值为14。
(4)Infeasibility0,不可行性0,表示此时有可行解,否则没有可行解。
(5)Iteration1,表示迭代了1步求得最优解。
(6)ExtendedSolverStatus,表示扩展的解的状况,主要用于整数规划和非线性规划。
(7)Variables,表示变量,Total2,表示总决策变量2个,非线性(Nonlinear)变量和整数(Integer)变量都是0个。
(8)Constraints,表示约束,Total4,表示包括目标函数一共4个约束,非线性(Nonlinear)约束0个。
(9)Nonzeros,表示非零系数,Total6,表示包括目标函数和约束条件中变量的非零系数6个,右端常数项不算。
其中:
(1)Globaloptimalsolutionfound.整体最优解被找到。
(2)Totalsolveriterations:
1.求解的总迭代步数为1步。
(3)VariableValueReducedCost
x14.0000000.000000
x22.0000000.000000
最优解变量x1=4.000000,x2=2.000000
(4)ReducedCost:
表示减少的成本,即最小化问题的最优目标函数中各变量的检验数,,最大化问题中变量检验数的相反数。
(5)RowSlackorSurplusDualPrice
114.000001.000000
20.0000001.500000
30.0000000.1250000
44.0000000.000000
SlackorSurplus表示松弛或剩余变量,即将最优解带入各个约束条件后,左边比右边小的或大的数量,表示在最优方案中,剩余或超过的资源数量。
由SlackorSurplus的具体的值可以看出第一个约束条件和第二个约束条件为严格的等式约束,第三个约束条件为严格的小于不等式约束。
(6)DualPrice,对偶价格,即最大化问题中对偶变量的最优解的值,对于最小化问题,对偶价格为对偶变量的最优解的值的相反数。
2)在Lingo中求解教材P44习题1.2
(1)的线性规划数学模型;
Minz=-3x1+4x2-2x3+5x4
4x1-x2+2x3-x4=-2
x1+x2+3x3-x4<=14
-2x1+3x2-x3+2x4>=2
x1,x2,x3>=0,x4无约束
在Lingo中输入数学模型如下图:
在Lingo中计算的结果如下图所示:
最优解的取值为:
x2=8.000000,x4=-6.000000;最优值为:
z=2。
3).建立教材P38例10的数学模型并用Lingo求解:
Minz=0x1+0.1x2+0.2x3+0.3x4+0.8x5
x1+2x2+x4=100
2x3+2x4+x5=100
3x1+x2+2x3+3x5=100
x1,x2,x3,x4,x5>=0
在Lingo中输入的数学模型如下图所示:
在Lingo中计算的结果如下图所示:
最优解的取值为:
x1=30,x2=10,x4=50;最优值为:
z=16
4).建立教材P46习题1.9的数学模型并用Lingo求解。
数学模型为:
设从每个时段开始上班的人为xi(i=1,2,3,4,5,6)
minz=x1+x2+x3+x4+x5+x6
x1+x6>=60
x1+x2>=70
x2+x3>=60
x3+x4>=50
x4+x5>=20
x5+x6>=30
x1,x2,x3,x4,x5,x6>=0
在Lingo中输入的数学模型如下图所示:
在Lingo中求解的结果如下图所示:
由上图可得出最优解为:
x1=60,x2=10,x3=50,x4=0,x5=30,x6=0
最优值为:
z=150人
四:
实验总结
1.要特别注意Lingo中数学模型的输入:
(1)maxz→max,minz→min;
(2)每一行(包括目标函数)用英文的分号结束;
(3)数与变量的乘积用*表示;
(4)不等号≤和≥用<=和>=或<和>表示;
(5)LINGO系统默认所有的变量非负,因此非负变量的约束可省略,而非正变量和自由变量要用x1<=0和@free(x2)表示;
(6)LINGO中不能输入下标,x1→x1。
2.注意理解解的结构,明确各行的含义。