《练习规划问题》由会员分享,可在线阅读,更多相关《练习规划问题(17页珍藏版)》请在金锄头文库上搜索。
1、练习3(规划问题)(无约束优化、非线性规划问题)线性规划、整数线性规划问题目标函数约束条件线性规划模型的一般形式目标函数和所有的约束条件都是变量的线性函数.(线性规划、整数线性规划问题)注 释:实际问题中 的优化模型x是决策变量f(x)是目标函数gi(x)0是约束条件数学规划线性规划(LP) 二次规划(QP) 非线性规划(NLP)纯整数规划(PIP) 混合整数规划(MIP)整数规划(IP)0-1整数规划一般整数规划连续规划优化模型的分类用MATLAB优化工具箱解线性规划min z=cX 1. 模型:命令:x=linprog(c, A, b) 2. 模型:min z=cX 命令:x=linpro
2、g(c,A,b,Aeq,beq)注意:若没有不等式: 存在,则令A= ,b= .3. 模型:min z=cX 命令:1 x=linprog(c,A,b,Aeq,beq, VLB,VUB)2 x=linprog(c,A,b,Aeq,beq, VLB,VUB, X0) 注意:1 若没有等式约束: , 则令Aeq= , beq= .2其中X0表示初始点 4. 命令:x,fval=linprog()返回最优解及处的目标函数值fval.VLBXVUB编写M文件xxgh3.m如下:f = 13 9 10 11 12 8; A = 0.4 1.1 1 0 0 00 0 0 0.5 1.2 1.3; b =
3、800; 900; Aeq=1 0 0 1 0 00 1 0 0 1 00 0 1 0 0 1; beq=400 600 500; vlb = zeros(6,1); vub=; x,fval = linprog(f,A,b,Aeq,beq,vlb,vub)To MATLAB (xxgh3)结果: x =0.0000600.00000.0000400.00000.0000500.0000 fval =1.3800e+004即在甲机床上加工600个工件2,在乙机床上加工400个工件1、 500个工件3,可在满足条件的情况下使总加工费最小为13800.Matlab优化工具箱简介1.MATLAB求解
4、优化问题的主要函数(无约束优化、非线性规划问题)2. 优化函数的输入变量使用优化函数或优化工具箱中其它优化函数时, 输入变量见下表:3. 优化函数的输出变量下表:用Matlab解无约束优化问题 其中(3)、(4)、(5)的等式右边可选用(1)或( 2)的等式右边。函数fminbnd的算法基于黄金分割法和二次插值法,它 要求目标函数必须是连续函数,并可能只给出局部最优解 。常用格式如下: (1)x= fminbnd (fun,x1,x2) (2)x= fminbnd (fun,x1,x2 ,options) (3)x,fval= fminbnd(.) (4)x,fval,exitflag= fm
5、inbnd(.) (5)x,fval,exitflag,output= fminbnd(.)命令格式为: (1)x= fminunc(fun,X0 );或x=fminsearch(fun,X0 ) (2)x= fminunc(fun,X0 ,options);或x=fminsearch(fun,X0 ,options) (3)x,fval= fminunc(.);或x,fval= fminsearch(.) (4)x,fval,exitflag= fminunc(.);或x,fval,exitflag= fminsearch (5)x,fval,exitflag,output= fminunc
6、(.);或x,fval,exitflag,output= fminsearch(.)2、多元函数无约束优化问题标准型为:min F(X)To MATLAB (xxgh2)问题1 解:上面变形为:解: 编写M文件xxgh2.m如下:c=6 3 4;A=0 1 0;b=50;Aeq=1 1 1;beq=120;vlb=30,0,20;vub=; x,fval=linprog(c,A,b,Aeq,beq,vlb,vub)问题2:解非线性规划1先建立M-文件fun.m定义目标函数:function f=fun(x);f=-2*x(1)-x(2);2再建立M文件mycon2.m定义非线性约束:function g,ceq=mycon2(x)g=x(1)2+x(2)2-25;x(1)2-x(2)2-7; 3. 主程序fxx.m为:x0=3;2.5;VLB=0 0;VUB=5 10;x,fval,exitflag,output=fmincon(fun,x0,VLB,VUB,mycon2)