资源描述
利润最优化模型
摘要
本文是针对制造商生产计划的安排对总利润的影响问题,通过对题目的分析,建立线性规划模型,利用Lingo软件对模型进行编程求出最优解,最终完整地解决这一问题。
关键字:生产计划,线性规划,lingo软件
问题重述
某个制造商使用原料A和B生产某种产品的三种型号:I,II和III.表2给出了问题的数据.每件型号I产品的劳动时间是型号II的2倍,是型号III的3倍.该厂的全部劳动力能够生产相当于1500件型号I的产品.市场对于三种不同型号产品需求的特定比例是3:2:5.将问题建立成一个线性规划模型,并用LINGO求解.
表2:每件产品对原料的需求
原料
I II III 可用量
A
B
2 3 5 4000
4 2 7 6000
最小需求量
单位利润/元
200 200 150
150 100 250
问题分析
分析题意,可知总利润=单位利润*产品件数,据此我们建立了本题的目标函数。同时依据题目的要求,可以得出对目标函数的约束条件,可分为:
1、产品的三种型号最小需求量约束;
2、产品的三种型号分别用原料A和B的可用量约束;
3、市场对于三种不同型号产品需求的特定比例约束;
4、每件型号I产品的劳动时间与型号II和III的劳动时间约束;
5、全部劳动力能够生产的劳动时间约束。
然后根据这5种约束条件可得出各个约束式。因此,已知目标函数与约束条件,再通过利用Lingo软件进行编程求出最优解,最终得出三种型号生产的产品最大利润为。
最后根据求解结果对每个月生产情况的合理性进行了分析,得出的结论是:根据模型所建立的生产计划是科学合理的。
基本假设与符号说明
基本假设:
1、A、B两种原料可以任意分配;
2、所给的数据是精准的、没有误差;
3、每一件产品都经过完整的程序成为真正的成品而不是半成品。
符号说明:
设产品I、II、Ⅲ在上加工的数量分别为x1、x2、x3;
每件产品I、II、Ⅲ生产劳动时间分别为t1、t2、t3。
模型假设
决策变量:设生产x1件型号Ⅰ的产品;x2件型号Ⅱ的产品;x3件型号Ⅲ的产品。
目标函数:依据问题分析,要求出三种型号生产的的总利润,则需要求出每个型号的利润,而每个型号的总利润应当等于每个型号的单位利润乘以每个型号的需求量,然后将这三种型号的利润加起来,从而得出目标函数max
即:最大获利 max=150x1+100x2+200x3。
约束条件:产品的三种型号最小需求量约束:根据题意可得,三种型号生产的产品需求量分别不小于其最小需求量,得到型号I、II、III分别所需的最小需求量约束
即: x1>=200;
x2>=200;
x3>=100。
原料供应:产品的三种型号分别用原料A和B的可用量约束:三种型号生产产品所用的原料可用量都有最大限制范围可用量,得到型号I、II、III分别对原料A和B的所需的最大限制范围可用量约束
即:原料A限量 2x1+3x2+5x3<=4000;
原料B限量 4x1+2x2+7x3<=6000;
每件型号I产品的劳动时间与型号II和III的劳动时间约束:从题目中可知,每件型号I产品的劳动时间是型号II的2倍,是型号III的3倍,总劳动力能够生产相当于1500件型号Ⅰ的产品,设每生产一件型号Ⅰ、Ⅱ、Ⅲ的产品劳动时间为t1、t2、t3。
全部劳动力能够生产的劳动时间约束:t1*x1+t2*x2+t3*x3<=1500*t1;
生产每件类型产品的时间关系:t1=2t3,t1=3t3;
即:6x1+3x2+2x3<=9000。
市场对于三种不同型号产品需求的特定比例约束:从题目中可知,市场对于三种不同型号产品需求的特定比例是3:2:5,也就是说,这三种不同型号产品的需求量有着一定的比例关系:x1:x2:x3=3:2:5
即:x1=3x2;5x1=3x3;5x2=2x3。
综上可得:
@gin(x1);@gin(x2);@gin(x3);
max=150*x1+100*x2+250*x3;(1)
x1>=200;(2)
x2>=200; (3)
x3>=150; (4)
2*x1+3*x2+5*x3<=4000; (5)
4*x1+2*x2+7*x3<=6000; (6)
6*x1+3*x2+2*x3<=9000; (7)
2*x1=3*x2; (8)
5*x1=3*x3; (9)
5*x2=2*x3; (10)
模型分析:
1、 三种不同型号的产品,每件的获利是它们各自产量无关的常数,每件原料A、B加工出型号Ⅰ、Ⅱ、Ⅲ的数量和所需时间是与产量无关的常数;
2、 三种不同型号的产品,盈利是与它们相互无关的常数,每件原料加工出三件不同型号的时间和数量是与它们相互无关的常数;
3、 加工三件不同型号产品可以是任意的实数。
模型求解:
在LINGO下新建一个模型文件(即LINGO程序,一般以“LG4”为后缀名)像书写模型(1)~(10)一样直接输入:
model:
@gin(x1);@gin(x2);@gin(x3);
max=150*x1+100*x2+250*x3;
x1>=200;x2>=200;x3>=150;
2*x1+3*x2+5*x3<=4000;
4*x1+2*x2+7*x3<=6000;
6*x1+3*x2+2*x3<=9000;
2*x1=3*x2;
5*x1=3*x3;
5*x2=2*x3;
End
将文件存储并命名。选择菜单“LINGO/solve”执行即可得如下输出:
Global optimal solution found.
Objective value: 205200.0
Objective bound: 205200.0
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 0
Model Class: PILP
Total variables: 3
Nonlinear variables: 0
Integer variables: 3
Total constraints: 10
Nonlinear constraints: 0
Total nonzeros: 21
Nonlinear nonzeros: 0
Variable Value Reduced Cost
X1 324.0000 -150.0000
X2 216.0000 -100.0000
X3 540.0000 -250.0000
Row Slack or Surplus Dual Price
1 205200.0 1.000000
2 124.0000 0.000000
3 16.00000 0.000000
得到最大利润:205200.0。最优解:X1 324.0000;
X2 216.0000;
X3 540.0000。
模型分析:
(1) 对5~7有A原料剩余为0;B原料剩余为486.4865;劳动时间剩余5324.324t。这表明A原料用完而B原料与劳动时间有余。
(2) A原料每增加一个单位利润增长51.35135元,而B原料与劳动时间的增加不会使利润增长。
目标函数系数的敏感分析:
选择“LINGO|Options”菜单,在弹出的选项卡中选择“General Solver”,然后找到选项“Dual Computations”,在下拉框中选中“Prices&Ranges”,应用或保存设置。重新运行“LINGO|Solve”,然后选择“LINGO|Ranges”菜单,则得到如下输出:
Ranges in which the basis is unchanged:
Objective Coefficient Ranges
Current Allowable Allowable
Variable Coefficient Increase Decrease
X1 150.0000 INFINITY 633.3333
X2 100.0000 INFINITY 950.0000
X3 250.0000 INFINITY 380.0000
Righthand Side Ranges
Row Current Allowable Allowable
RHS Increase Decrease
2 200.0000 124.3243 INFINITY
3 200.0000 16.21622 INFINITY
4 150.0000 390.5405 INFINITY
5 4000.000 352.9412 300.0000
6 6000.000 INFINITY 486.4865
7 9000.000 INFINITY 5324.324
8 0.0 0.0 0.0
9 0.0 0.0 0.0
10 0.0 0.0 0.0
模型分析:
上面输出的2~10行“Current Coefficient”(当前系数)对应的“Allowable Incease”和“Allowable Derease”给出了最优解不变条件下目标函数系数的允许变化范围:x1的系数为(x1>=150-633.333),即(x2>=-483.333);x2的系数为(x2>=100-950.0000),即(x2>=-850.0000);x3的系数为(x3>=250-380.0000),即(x>=-130.0000)。
改进部分:因为每件型号Ⅰ、Ⅱ、Ⅲ的产品,是不能分割的一整体。则模型的到优化解:
得到最大利润:205200。最优解: X1 324.000;
X2 216.000;
X3 540.000。
参考文献
[1] 姜启源,谢金星.数学模型[M]。北京:高等教育出版社,2010,85-94
[2] 最优生产计划安排 数学 模型
附录Ⅰ:
model:
max=150*x1+100*x2+250*x3;
x1>=200;
x2>=200;
x3>=150;
2*x1+3*x2+5*x3<=4000;
4*x1+2*x2+7*x3<=6000;
6*x1+3*x2+2*x3<=9000;
2*x1=3*x2;
5*x1=3*x3;
5*x2=2*x3;
End
附录Ⅱ:
Global optimal solution found.
Objective value: 205200.0
Objective bound: 205200.0
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 0
Model Class: PILP
Total variables: 3
Nonlinear variables: 0
Integer variables: 3
Total constraints: 10
Nonlinear constraints: 0
Total nonzeros: 21
Nonlinear nonzeros: 0
Variable Value Reduced Cost
X1 324.0000 -150.0000
X2 216.0000 -100.0000
X3 540.0000 -250.0000
Row Slack or Surplus Dual Price
1 205200.0 1.000000
2 124.0000 0.000000
3 16.00000 0.000000
附录Ⅲ:
Ranges in which the basis is unchanged:
Objective Coefficient Ranges
Current Allowable Allowable
Variable Coefficient Increase Decrease
X1 150.0000 INFINITY 633.3333
X2 100.0000 INFINITY 950.0000
X3 250.0000 INFINITY 380.0000
Righthand Side Ranges
Row Current Allowable Allowable
RHS Increase Decrease
2 200.0000 124.3243 INFINITY
3 200.0000 16.21622 INFINITY
4 150.0000 390.5405 INFINITY
5 4000.000 352.9412 300.0000
6 6000.000 INFINITY 486.4865
7 9000.000 INFINITY 5324.324
8 0.0 0.0 0.0
9 0.0 0.0 0.0
10 0.0 0.0 0.0
展开阅读全文