资源描述:
《matlab课件 第十一章 线性极值》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第十一章线性极值MATLAB提供了很多求极值(或最优值)的命令函数,既可以求无条件的极值,也可求有条件的极值,其中,条件可以是不等式,也可以是等式的,可以是线性的,也可以是非线性的,甚至可以是多个条件,目标函数可以是线性的,也可以是非线性的,总之,MATLAB针对不同的类型,采用不同的函数命令去求解,以下将分类型来做些简单的介绍。1线性极值(又称线性规划)1.1线性规划模型规划问题研究的对象大体可以分为两大类:一类是在现有的人、财、物等资源的条件下,研究如何合理的计划、安排,可使得某一目标达到最大,如产量、利润目标等;另一类是在任务确定后,如何计划、安排,使
2、用最低限度的人、财等资源,去实现该任务,如使成本、费用最小等。这两类问题从本质上说是相同的,即都在一组约束条件下,去实现某一个目标的最优(最大或最小)。线性规划研究的问题要求目标与约束条件函数都是线性的,而目标函数只能是一个。在经济管理问题中,大量问题是线性的,有的也可以转化为线性的,从而使线性规划有极大的应用价值。线性规划模型包含3个要素:(1)决策变量.问题中需要求解的那些未知量,一般用n维向量表示。(2)目标函数.通常是问题需要优化的那个目标的数学表达式,它是决策变量x的线性函数。(3)约束条件.对决策变量的限制条件,即x的允许取值范围,它通常是x的一
3、组线性不等式或线性等式。线性规划问题的数学模型一般可表示为:min(max)fTXs.tAX≤bAeqX=beqlb≤X≤ub其中X为n维未知向量,fT=[f1,f2,…fn]为目标函数系数向量,小于等于约束系数矩阵A为m×n矩阵,b为其右端m维列向量,Aeq为等式约束系数矩阵,beq为等式约束右端常数列向量。lb,ub为自变量取值上界与下界约束的n维常数向量。特别注意:当我们用MATLAB软件作优化问题时,所有求maxf的问题化为求min(-f)来作。约束gi(x)≥0,化为–gi≤0来做。1.2.线性规划问题求最优解函数:调用格式:x=linprog(f
4、,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为最
5、优解向量。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为指定优化参数进行最小化。[x,fval]=linprog(…)左端fval返回解x处的目标函数值。[x,fval,exitflag,output,lambda]=linprog(f,A,b,Aeq,beq,lb,ub,x0)的输出部分:exitflag描述函数计算的退出条件:若为正值,表示目标函数
6、收敛于解x处;若为负值,表示目标函数不收敛;若为零值,表示已经达到函数评价或迭代的最大次数。Output为关于优化的一些信息。Lambda为解x的Lagrange乘子。【例1】求解线性规划问题:maxf=2x1+5x2s.t先将目标函数转化成最小值问题:min(-f)=-2x1-5x2具体程序如下:f=[-2-5];A=[10;01;12];b=[4;3;8];lb=[00];[x,fval]=linprog(f,A,b,[],[],lb)f=fval*(-1)运行结果:x=23fval=-19.0000maxf=19【例2】:minf=5x1-x2+2x3
7、+3x4-8x5s.t–2x1+x2-x3+x4-3x5≤62x1+x2-x3+4x4+x5≤70≤xj≤15j=1,2,3,4,5编写以下程序:f=[5-123-8];A=[-21-11-3;21-141];b=[6;7];lb=[00000];ub=[1515151515];[x,fval]=linprog(f,A,b,[],[],lb,ub)运行结果:x=0.00000.00008.00000.000015.0000minf=-104【例3】:假设某厂计划生产甲、乙两种产品,现库存主要材料有A类3600公斤,B类2000公斤,C类3000公斤。每件甲产
8、品需用材料A类9公斤,B类4公斤,C类3公斤。每件乙