运筹学上机实践报告(LINGO软件).docx
运筹学上机实践报告(LINGO软件)
Southwestuniversityofscienceandtechnology
实验报告
LINGO软件在线性规划中的运用
学院名称
环境与资源学院
专业名称
采矿工程
学生姓名
学号
A
B
C
600
1000
800
10
5
7
8
6
5
1000
700
600
首先分析问题,建立数学模型:
确定决策变量
假设i=1,2,3分别代表商品A、B、C,8用j=1,2,3分别代表前、中、后舱,设决策变量xij为装于j舱位的第i种商品的数量(件)。
确定目标函数
商品A的件数为:
商品B的件数为:
商品A的件数为:
为使运费最高,目标函数为:
确定约束条件
前、中、后舱位载重限制为:
前、中、后舱位体积限制为:
A、B、C三种商品数量的限制条件:
各舱最大允许载重量的比例关系构成的约束条件:
且决策变量要求非负,即xij≥0,i=1,2,3;j=1,2,3。
综上所述,此问题的线性规划数学模型为:
xij≥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;
!平衡约束;
(2/3)*(1-0.15)=(x11*8+x21*6+x31*5)/(x12*8+x22*6+x32*5);
(1/2)*(1-0.15)=(x13*8+x23*6+x33*5)/(x12*8+x22*6+x32*5);
(4/3)*(1-0.10)=(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+0.15);
(x13*8+x23*6+x33*5)/(x12*8+x22*6+x32*5)=(1/2)*(1+0.15);
(x11*8+x21*6+x31*5)/(x13*8+x23*6+x33*5)=(4/3)*(1+0.10);
!整数约束;
@gin(x11);@gin(x12);@gin(x13);
@gin(x21);@gin(x22);@gin(x23);
@gin(x31);@gin(x32);@gin(x33);
如下图所示:
然后运行得出结果:
Localoptimalsolutionfound.
Objectivevalue:801000.0
Extendedsolversteps:0
Totalsolveriterations:4
VariableValueReducedCost
X11150.0000-1000.000
X12375.0000-1000.000
X1375.00000-1000.000
X210.000000-700.0000
X220.000000-700.0000
X23150.0000-700