- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
线性规划模型与matlab程序求解
§1 线性规划模型
一、线性规划课题:
实例1:生产计划问题
假设某厂计划生产甲、乙两种产品,现库存主要材料有A类3600公斤,B类2000公斤,C类3000公斤。每件甲产品需用材料A类9公斤,B类4公斤,C类3公斤。每件乙产品,需用材料A类4公斤,B类5公斤,C类10公斤。甲单位产品的利润70元,乙单位产品的利润120元。问如何安排生产,才能使该厂所获的利润最大。
建立数学模型:
设x1、x2分别为生产甲、乙产品的件数。f为该厂所获总润。
?????? max f=70x1+120x2
?????? s.t??9x1+4x2≤3600
??????? 4x1+5x2≤2000
??????? ?3x1+10x2≤3000
????? ???x1,x2≥0
归结出规划问题:目标函数和约束条件都是变量x的线性函数。
形如:????(1)????????min f T X
???????????????????? s.t??A X≤b
????? ? Aeq X =beq
lb≤X≤ub
????其中X为n维未知向量,f T=[f1,f2,…fn]为目标函数系数向量,小于等于约束系数矩阵A为m×n矩阵,b为其右端m维列向量,Aeq为等式约束系数矩阵,beq为等式约束右端常数列向量。lb,ub为自变量取值上界与下界约束的n维常数向量。
二.线性规划问题求最优解函数:
?????? 调用格式:??x=linprog(f,A,b)
????????????????????????????x=linprog(f,A,b,Aeq,beq)
????????????????????????????x=linprog(f,A,b,Aeq,beq,lb,ub)
????????????????????????????x=linprog(f,A,b,Aeq,beq,lb,ub,x0)
????????????????????????????x=linprog(f,A,b,Aeq,beq,lb,ub,x0,options)
??????????????[x,fval]=linprog(…)
??????????????[x, fval, exitflag]=linprog(…)
??????????????[x, fval, exitflag, output]=linprog(…)
??????????????[x, fval, exitflag, output, lambda]=linprog(…)
?????? 说明:x=linprog(f,A,b)返回值x为最优解向量。
?????? x=linprog(f,A,b,Aeq,beq) 作有等式约束的问题。若没有不等式约束,则令A=[ ]、b=[ ] 。
?????? x=linprog(f,A,b,Aeq,beq,lb,ub,x0,options) 中lb ,ub为变量x的下界和上界,x0为初值点,options为指定优化参数进行最小化。
Options的参数描述:Display?? 显示水平。 选择’off’ 不显示输出;选择’iter’显示每一 步迭代过程的输出;选择’final’ 显示最终结果。
MaxFunEvals 函数评价的最大允许次数
Maxiter 最大允许迭代次数
TolX?? x处的终止容限??????
?????? [x,fval]=linprog(…) 左端 fval 返回解x处的目标函数值。
[x,fval,exitflag,output,lambda]=linprog(f,A,b, Aeq,beq,lb,ub,x0) 的输出部分:
exitflag 描述函数计算的退出条件:若为正值,表示目标函数收敛于解x处;若为负值,表示目标函数不收敛;若为零值,表示已经达到函数评价或迭代的最大次数。
output 返回优化信息:output.iterations表示迭代次数;output.algorithm表示所采用的算法;outprt.funcCount表示函数评价次数。
lambda 返回x处的拉格朗日乘子。它有以下属性:
?????? lambda.lower-lambda的下界;
?????? lambda.upper-lambda的上界;
?????? lambda.ineqlin-lambda的线性不等式;
?????? lambda.eqlin-lambda的线性等式。
三. 举例
例1:求解线性规划问题:
??????????????max f=2x1+5x2
??????????????s.t ?x1≤4
?????? ? x2≤3
??????
文档评论(0)