运筹学课设用Matlab和Lingo求解生产问题.docx
《运筹学课设用Matlab和Lingo求解生产问题.docx》由会员分享,可在线阅读,更多相关《运筹学课设用Matlab和Lingo求解生产问题.docx(9页珍藏版)》请在冰豆网上搜索。
运筹学课设用Matlab和Lingo求解生产问题
用Matlab和Lingo求解生产问题
摘要
本文针对生产过程中在产品中原料分配的不同,导致产品的经济效益的不同,从而寻求使得产品经济效益最大的生产方案。
在对问题进行深入分析后,采用线性规划模型建立数学模型并运用Matlab和Lingo软件分别对该问题进行编程求解。
关键词:
经济效益线性规划模型MatlabLingo
WithMaltabandLingoSoftwaretoSolvetheProductionProblems
ABSTRACT
Theproductionprocess,theauthorofthispaperproductsintheproductdistributionofdifferentrawmaterials,leadtotheeconomicbenefitsofproductsaredifferent.So,seekingtheeconomicbenefitsisthelargestproductionplan.Afterdeeplyanalysisiscarriedoutonthequestion,Linearprogrammingmodelisadoptedtoestablishthemathematicalmodel,whichwithMatlabandLingosoftwaretosolvetheproductionproblem.
Keyword:
EconomicbenefitsLinearprogrammingmodelMatlabLingo
1、问题的重述......................................................1
2、问题的分析......................................................1
3、问题假设........................................................1
4、符号说明........................................................2
5、模型的建立与求解................................................2
5.1、线性规划模型的简介..........................................2
5.2、模型的建立..................................................3
5.3、Matlab软件的简介............................................3
5.3.1、Matlab软件的求解.........................................3
5.4、Lingo模型的简介...............................................4
5.4.1、Lingo软件的求解..........................................4
5.5、对模型解的分析.................................................5
6、总结.............................................................5
参考文献............................................................6
附录................................................................7
1问题的重述
某厂决意生产两种糖果:
硬糖和软糖,糖果仅由糖,坚果和巧克力制成。
你现在有100盎司糖,20盎司坚果,30盎司巧克力。
软糖须含有至少20%的坚果,硬糖须含有至少10%的坚果和10%的巧克力。
一盎司的软糖售价为25美分,一盎司的硬糖售价为20美分。
试安排生产计划使得工厂收入最大。
2问题的分析
生产问题是一类常见的线性规划问题,在生产一种或者多种产品的时候,面对多种可选择的资源有多种不同的生产方案,与此同时不同的生产方案可以带来不同的产品效益,而选择不同的生产方案时所消耗的资源也不同,即导致成本费用的差异。
因此制定生产方案则是要解决在限定的资源下选择一套生产方案,使其满足各项约束条件的情况下同时达到最小成本,实现最大利润。
题目中生产两种糖果,即硬糖和软糖,原料由糖、坚果和巧克力制成,三种原料的用量均有限制,两种糖果其中包含三种原料的含量也有最小要求,于是通过这些约束条件求得使得这两种糖果收入最大的生产方案。
3问题假设
(1)制造糖果的三种原料总量不会因为任何因素发生改变;
(2)每种糖果对原料的需求可以严格控制;
(3)糖果的生产过程是稳定,并没有技术问题;
(4)每种糖果的生产过程互不干扰;
(5)在生产时不会存在材料浪费的情况,即生产机器上不会沾到原料导致实际使用的原料与加入原料量不相等
4符号说明
设以i表示糖果的种类,以j表示制造糖果所需要的原料,
表示每种糖果所需要的每种原料的含量,具体对应关系如下表:
单位:
盎司
糖
坚果
巧克力
硬糖(i)
软糖(j)
Z:
生产硬糖和软糖的总收入
5模型的建立与求解
5.1线性规划模型的简介
线性规划是运筹学中研究较早、发展较快、应用广泛、方法较成熟的一个重要分支,它是辅助人们进行科学管理的一种数学方法。
线性规划问题的数学模型包括三个组成要素:
(1)决策变量:
是模型所代表的系统中受到控制或能够控制的变量,表现为未知参数(变量),最后通过选定决策变量来实现最优解;
(2)约束条件:
决策变量客观上必满足的限制条件,反映出实际问题中不受控制的系统变量对受控制的决策变量的限制关系,包括等式约束和不等式约束;
(3)目标函数:
模型所代表的性能指标,在模型中表现为决策变量的函数,反映了实际问题所要达到的理想目标,分为求最大值和最小值两种形式。
如果规划问题的数学模型中,决策变量的取值是连续的,即可以为整数,也可以为分数、小数或实数,目标函数是决策变量的线性函数,约束条件是含决策变量的线性等式或不等式,则该类规划问题的数学模型称为线性规划的数学模型。
线性规划问题的数学模型的一般形式:
(1)列出目标函数及约束条件:
(2)画出约束条件所表示的可行域;
(3)在可行域内求目标函数的最优解。
5.2模型的建立
目标函数为:
各决策变量在其相关的影响因素下所需满足的约束条件:
5.3Matlab软件的简介
MATLAB(矩阵实验室)是MATrixLABoratory的缩写,是一款由美国TheMathWorks公司出品的商业数学软件。
MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。
是建立在向量,数组和矩阵基础上的一种分析和仿真工具软件包,包含各种能够进行常规运算的啊“工具箱”。
同时还提供了编程计算的编程特性,通过编程可以解决一些复杂的实际问题,除了矩阵运算、绘制函数/数据图像等常用功能外,还包含功能强大的多个“工具箱”,如优化工具箱(optimizationtoolbox)、统计工具箱、样条函数工具箱和数据拟合工具箱等都是优化计算的有力工具,在求解规划问题的应用也非常广泛。
5.3.1Matlab求解
在MATLAB的窗口输入下列程序(见附录),得到的结果为:
Optimizationterminated.
80.0000
10.0000
10.0000
20.0000
10.0000
20.0000
3.2500e+003
即
(1)硬糖的生产计划为:
80盎司糖,10盎司坚果,10盎司巧克力;
(2)软糖的生产计划为:
20盎司糖,10盎司坚果,20盎司巧克力;
(3)生产硬糖和软糖产生的最大收入为3250美分。
5.4Lingo软件的简介
LINGO软件是美国的LINDO系统公司(LindoSystemInc)开发的一套用于求解最优化问题的软件包。
LINGO除了能用于求解线性规划和二次规划外,还可以用于非线性规划求解以及一些线性和非线性方程(组)的求解等。
LINGO软件的最大特色在于它允许优化模型中的决策变量为整数,而且执行速度快。
LINGO内置了一种建立最优化模型的语言,可以简便地表达大规模问题,利用LINGO高效的求解器可快速求解并分析结果。
LINGO可以求解线性规划、二次规划、非线性规划、整数规划、图论及网络优化和排队论模型中的最优化问题等。
LINGO既能求解线性规划问题,也有较强的求解非线性规划问题的能力;输入模型简练直观;运算速度快、计算能力强;内置建模语言,提供几十个内部函数,从而能以较少语句,较直观的方式描述大规模的优化模型;将集合的概念引入编程语言,很容易将实际问题转换为LINGO模型。
5.4.1Lingo软件的求解
采用Lingo软件中的线性规划模型得(源程序见附录):
Globaloptimalsolutionfound.
Objectivevalue:
3250.000
Infeasibilities:
0.000000
Totalsolveriterations:
5
VariableValueReducedCost
X1180.000000.000000
X1210.000000.000000
X1310.000000.000000
X2120.000000.000000
X2210.000000.000000
X2320.000000.000000
RowSlackorSurplusDualPrice
13250.0001.000000
20.00000015.00000
30.00000065.00000
40.00000015.00000
50.0000005.000000
60.0000000.000000
70.00000010.00000
“Objectivevalue:
3250.000”表示最优目标值为3250。
“Value”给出最优解中各变量的值:
最优生产计划是:
生产硬糖需要80盎司的糖,10盎司的坚果和10盎司的巧克力;生产软糖需要20盎司的糖,10盎司的坚果和10盎司的巧克力。
5.5对模型解的分析
我们发现通过Matlab软件编程得到的结果与Lingo软件编程得到的结果相同,即生产计划为:
生产硬糖需要80盎司的糖,10盎司的坚果和10盎司的巧克力;生产软糖需要20盎司的糖,10盎司的坚果和10盎司的巧克力。
并且两种方法求解得到的最大收入都是3250美分,因此该计划是最优的生产计划。
6总结
通过利用线性规划模型建立数学模型,并运用Matlab软件和Lingo软件对建立的数学模型进行求解,对该实际问题进行了全面分析。
从该工厂的产品生产问题中,我们了解到收入的最大化与原料的分配密切相关,且合理安排原料的种类和数量是减少资金的关键因素,从另一个角度也说明了运筹学在解决实际问题中的重要作用,以及其解决问题的优越性和灵活性。
通过合理的分析与求解,使得该问题找到了最好的解决方法,实现了收入的最大化,也使得该模型更接近实际。
这里所建立的模型和模型的求解方法具有一定的推广性和应用性。
但模型在建立过程中,模型所运用的信息量比较小,为了便于问题的说明与讨论,通过假设,忽略了一些影响因素的限制(如原料是否浪费,生产机器条件的限制等),在这一点上,模型尚具有一些缺陷和不足,这是有待于进一步考虑并加以改善的地方。
通过这次课程设计我们知道,在通过线性规划解决实际生活,生产,运输等其他问题的时候,严谨全面的分析过程是十分重要。
7参考文献
[1]胡运权.运筹学教程(第四版)[M].北京:
清华大学出版社,2012:
1-461.
[2]韩中庚.实用运筹学模型、方法与计算[M].北京:
清华大学出版社,2007:
1-232.
[3]姜启源,谢金星,叶俊编.数学模型(第三版)[M].北京:
高等教育出版社,2005:
1-202.
[4]谢金星等,优化建模与LINDO/LINGO软件,北京:
清华大学出版社,2005年
[5]张明辉,王学辉等编著.MATLAB6.1最新应用详解[M].北京:
中国水利水电出版社,2001:
1-180.
附录
1、Matlab源程序
c=[-20,-20,-20,-25,-25,-25];
A=[1,0,0,1,0,0;0,1,0,0,1,0;0,0,1,0,0,1;1,-9,1,0,0,0;1,1,-9,0,0,0;0,0,0,1,-4,1];
b=[100,20,30,0,0,0];
lb=[0;0;0;0;0;0];
[x,fval]=linprog(c,[],[],A,b,lb);
disp(x)
disp(-fval)
2、Lingo源程序
max=20*x11+20*x12+20*x13+25*x21+25*x22+25*x23;
x11+x21<=100;
x12+x22<=20;
x13+x23<=30;
x11-9*x12+x13<=0;
x11+x12-9*x13<=0;
x21-4*x22+x23<=0;
end