运筹学上机实践报告(LINGO软件)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Southwest university of science and technology
实验报告
LINGO软件在线性规划中的运用
学院名称环境与资源学院
专业名称采矿工程
学生姓名
学号
指导教师陈星明教授
二〇一五年十一月
实验 LINGO软件在线性规划中的运用
实验目的
掌握LINGO软件求解线性规划问题的基本步骤,了解LINGO软件解决线性规划问题的基本原理,熟悉常用的线性规划计算代码,理解线性规划问题的迭代关系。
实验仪器、设备或软件
电脑,LINGO软件
实验内容
1.LINGO软件求解线性规划问题的基本原理;
2.编写并调试LINGO软件求解线性规划问题的计算代码;
实验步骤
1.使用LINGO计算并求解线性规划问题;
2.写出实验报告,并浅谈学习心得体会(线性规划的基本求解思路与方法及求解过程中出现的问题及解决方法)。
实验过程
有一艘货轮,分为前、中、后三个舱位,它们的容积与允许载重量如下表所示。现有三种商品待运,已知有关数据列于下表中。又为了航运安全,要求前、中、后舱在实际载重量上大体保持各舱最大允许载重量的比例关系。具体要求前、后舱分别与中舱之间的载重量比例偏差不超过15%,前、后舱之间不超过10%。问货轮应装载A、B、C各多少件,运费收入为最大?试建立这个问题的线性规划
首先分析问题,建立数学模型:
确定决策变量
假设i=1,2,3分别代表商品A 、B 、C ,8用j=1,2,3分别代表前、中、后舱,设决策变量x ij 为装于j 舱位的第i 种商品的数量(件)。
确定目标函数
商品A 的件数为:
商品B 的件数为:
商品A 的件数为:
为使运费最高,目标函数为:
确定约束条件
前、中、后舱位载重限制为:
前、中、后舱位体积限制为:
A 、
B 、
C 三种商品数量的限制条件:
各舱最大允许载重量的比例关系构成的约束条件:
且决策变量要求非负,即x ij ≥0,i=1,2,3;j=1,2,3。
综上所述,此问题的线性规划数学模型为:
x ij ≥0,i=1,2,3;j=1,2,3。
把数学模型编写成代码写入LINGO 程序
编入如下代码:
!设前舱运A 为x11,运B :x12,运C :x13;
!设中舱运A 为x21,运B :x22,运C :x23;
!设后舱运A 为x31,运B :x32,运C :x33;!单位:件;
!目标函数;
max=1000*(x11+x12+x13)+700*(x21+x22+x23)+600*(x31+x32+x33); !数量约束;
x11+x12+x13<=600;
x21+x22+x23<=1000;
x31+x32+x33<=800;
!容量约束;
x11*10+x21*5+x31*7<=4000;
x12*10+x22*5+x32*7<=5400;
x13*10+x23*5+x33*7<=1500;
!重量约束;
x11*8+x21*6+x31*5<=2000;
x12*8+x22*6+x32*5<=3000;
x13*8+x23*6+x33*5<=1500;
!平衡约束;
111213x x x ++212223x x x ++313233x x x ++
(2/3)*<=(x11*8+x21*6+x31*5)/(x12*8+x22*6+x32*5);
(1/2)*<=(x13*8+x23*6+x33*5)/(x12*8+x22*6+x32*5);
(4/3)*<=(x11*8+x21*6+x31*5)/(x13*8+x23*6+x33*5);
(x11*8+x21*6+x31*5)/(x12*8+x22*6+x32*5)<=(2/3)*(1+;
(x13*8+x23*6+x33*5)/(x12*8+x22*6+x32*5)<=(1/2)*(1+;
(x11*8+x21*6+x31*5)/(x13*8+x23*6+x33*5)<=(4/3)*(1+;
!整数约束;
@gin(x11);@gin(x12);@gin(x13);
@gin(x21);@gin(x22);@gin(x23);
@gin(x31);@gin(x32);@gin(x33);
如下图所示:
然后运行得出结果:
Local optimal solution found.
Objective value:
Extended solver steps: 0
Total solver iterations: 4
Variable Value Reduced Cost X11
X12
X13
X21
X22
X23
X31
X32
X33
Row Slack or Surplus Dual Price
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
由运行结果可以得知: