运筹学实验二.docx
《运筹学实验二.docx》由会员分享,可在线阅读,更多相关《运筹学实验二.docx(12页珍藏版)》请在冰豆网上搜索。
运筹学实验二
实验二:
大型线性规划模型的编程计算机求解
一.实验目的:
掌握求解大型线性规划模型Lingo软件的编程的基本方法。
二.实验要求:
1.给出所求解问题的数学模型;
2.给出Lingo中的编程程序;
3.能给出最优解和最优值;
4.指出哪些约束是取等式和哪些约束取不等式。
二.实验内容:
1.在Lingo中编程求解下面的线性规划数学模型;
maxz=2x1+3x2;
x1+2x2≤8
4x1≤16
4x2≤12
x1,x2≥0;
在Lingo中输入的编程如下图所示:
在Lingo中求解的结果如下图所示:
1.由上图可得出最优解为:
x1=4,x2=2;
最优值为:
z=14
2.由SlackorSurplus的第二行和第三行的值可得出第一个约束条件和第二个约束条件取绝对约束的等式约束;第三个约束条件取绝对的小于不等式。
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中求解的结果如下图所示:
1.由上图可看出次线性规划的数学模型的最优解为:
x1=0,x2=8,x3=0,x4=-6;
最优解为:
z=2
2.由SlackorSurplus的第二行和第三行可以得出第一个约束条件和第二个约束条件取严格的等式约束,第三个约束条件取严格的大于不等式约束。
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中求解的结果如下图所示:
1.由上图可得出,次线性规划的学模型的最优解为:
x1=30,x2=10,x3=0,x4=50,x5=0;
最优值为:
z=16。
2..由SlackorSurplus的第二行,第三行和第四行的值可以得出数学模型的第一个,第二个和第三个约束条件均去等式约束。
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中计算的结果如下图所示:
1.由上图可以得出次线性规划的数学模型的最优解为:
x1=60,x2=10,x3=50,x4=0,x5=30,x6=0
最优解为:
z=150人
2.由SlackorSurplus的值的第二行,第三行,第四行,第五行,第六行和第七行可知次线性规划的数学模型的第一个约束条件,第二个约束条件,第三个约束条件,第四个约束条件,第六个约束条件取严格的等式,第五个约束条件取严格的大于不等式。
四:
实验总结
1)一个LINGO的程序由四个部分组成。
1.以“sets:
”开始,以“endsets”结束的语句定义模型中出现的变量集。
2.以sets中定义的变量和常量来表达目标函数。
3.以sets中定义的变量和常量来表达全部的约束条件。
4.以“data:
”开始,以“enddata”结束的语句给常量指定数值。
2)在约束条件中,不等式符号相同的约束条件可以合并在一起用@for+约束条件组成,不同符号的约束条件不能合并。
3)编程中每行以分号结束(编程过程中除注释外均不能使用中文中的符号),但给约束条件的系数A赋值时,只在最后一行值后加分号。
4)在解决生产和经营管理活动中的实际时,建立的通常是含有很多和变量和约束条件的模型,对于解决大型复杂的模型,用以上编程解答线性规划问题,效果显著。