资源描述:
《《优化问题求解》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、matlab应用(一)主讲:杨圣红2011.8.线性规划求解方法无约束规划求解方法约束非线性规划求解方法多目标规划问题非线性方程(组)求解教学内容生产炊事用具需要两种资源---劳动力和原材料,某公司制定生产计划,生产三种不同产品,生产管理部门提供的数据如下:产品A产品B产品C资源限量劳动力(h/件)原材料(kg/件)743465150h200kg利润元/件423每天供应原材料200kg,每天可供使用的劳动力为150h,求各种产品的日产量为多少时,总收益最大?线性规划求解方法线性规划模型产品A产品B产品C资源限量劳动力(h/件)原材料(kg/件)743465150h200kg利润(元/
2、kg)4231、确定决策变量.设生产A产品x1,B产品x2,C产品x32、确定目标函数.maxZ=4x1+2x2+3x33、确定约束条件.劳动力:7x1+3x2+6x3≤150原材料:4x1+4x2+5x3≤200非负性约束:x1≥0,x2≥0,x3≥0线性规划求解方法线性规划的一般形式:得以上问题的数学模型为:线性规划求解方法线性规划问题模型的一般形式:线性规划求解方法线性规划问题模型的矩阵形式:模型命令minz=cX,s.t.AX≤B[x,f]=linprog(c,A,b)minz=cX,s.t.AX≤B,Aeq·X=beq[x,f]=linprog(c,A,b,Aeq,beq)
3、minz=cX,s.t.AX≤B,Aeq·X=beqVLB≤X≤VUB[1]x=linprog(c,A,b,Aeq,beq,VLB,VUB)[2][x,f]=linprog(c,A,b,Aeq,beq,VLB,VUB,x0)注:[1]若没有等式约束:Aeq·X=beq,则令Aeq=[],beq=[][2]其中x0表示初始点线性规划模型的Matlab求解命令:线性规划求解方法c=[423];A=[736;445];b=[150;200];VUB=[];Aeq=[];beq=[];VLB=[0;0;0];[x,f]=linprog(c,A,b,Aeq,beq,VLB,VUB)例:maxZ
4、=4x1+2x2+3x3s.t.7x1+3x2+6x3≤1504x1+4x2+5x3≤200x1≥0,x2≥0,x3≥0Matlab命令如下:线性规划求解方法思考:此程序正确吗?正确结果输出如下:x=0.000050.00000.0000f=-100.0000当A、B、C产品的日产量分别为0件,50件,0件时,总收益为100元/件线性规划求解方法例max线性规划求解方法程序见lpexp1.mx=1.0e+004*3.50000.50003.00000.00000.00000.0000fval=-2.5000e+004即:最优解为x=104(3.5,0.5,3,0,0,0),最优值为z
5、=2.5×104线性规划求解方法正确结果输出如下:例线性规划求解方法程序见lpexp2.mx=30.000050.000040.0000fval=490.0000即最优解为x=(30,50,40),最优值为z=490.线性规划求解方法正确结果输出如下:某皮鞋公司每日8小时的皮鞋产量不低于1800双.为了进行质量控制,计划聘请两种不同水平的检验员.一级检验员的标准为速度25双/小时,正确率98%,计时工资4元/小时;二级检验员的标准为速度15双/小时,正确率95%,计时工资3元/小时.检验员每错检一次,企业要损失2元.为使总检验费用最省,该公司应聘一级、二级检验员各几名?例:人员聘任问
6、题线性规划求解方法解设需要一级和二级检验员的人数分别为人,则应付检验员的工资为因检验员错检而造成的损失为故目标函数为约束条件为线性规划求解方法线性规划模型x=9.00000.0000fval=360lpexp3.m即只需聘用9个一级检验员.线性规划求解方法无约束问题无约束规划求解方法无约束优化问题的标准型为:其中x为n维向量无约束优化问题没有约束条件的优化问题,称之为无约束规划。自变量可取n维实空间中任意点。fminbnd求单变量函数最小值点fminsearch求多变量函数最小值点fminunc求多变量函数最小值点matlab求解命令一、fminbnd调用格式:x=fminbnd(f
7、un,x1,x2)x=fminbnd(fun,x1,x2,options)x=fminbnd(fun,x1,x2,options,P1,P2,...)[x,fval]=fminbnd(...)[x,fval,exitflag]=fminbnd(...)[x,fval,exitflag,output]=fminbnd(...)无约束规划求解方法说明:fun为目标函数,用M文件或Inline定义x1,x2为目标函数的自变量的取值范围options是一个结构型的