Matlab最优化方法.ppt
《Matlab最优化方法.ppt》由会员分享,可在线阅读,更多相关《Matlab最优化方法.ppt(71页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实验目的实验目的实验内容实验内容2、掌握用数学软件包求解线性规划问题。、掌握用数学软件包求解线性规划问题。1、了解线性规划的基本内容。、了解线性规划的基本内容。3、实验作业。实验作业。2、用数学软件包求解线性规划问题。、用数学软件包求解线性规划问题。1、两个引例。、两个引例。问题一问题一 : 任务分配问题:某车间有甲、乙两台机床,可用于加工三种工件。假定这两台车床的可用台时数分别为800和900,三种工件的数量分别为400、600和500,且已知用三种不同车床加工单位数量不同工件所需的台时数和加工费用如下表。问怎样分配车床的加工任务,才能既满足加工工件的要求,又使加工费用最低? 单位工件所需加
2、工台时数 单位工件的加工费用 车床类 型 工件1 工件2 工件3 工件1 工件2 工件3 可用台时数 甲 0.4 1.1 1.0 13 9 10 800 乙 0.5 1.2 1.3 11 12 8 900 两个引例两个引例解解 设在甲车床上加工工件1、2、3的数量分别为x1、x2、x3,在乙车床上加工工件1、2、3的数量分别为x4、x5、x6。可建立以下线性规划模型:6543218121110913minxxxxxxz 6 , 2 , 1, 09003 . 12 . 15 . 08001 . 14 . 0500600400 x . .654321635241ixxxxxxxxxxxxtsi 解
3、答问题二:问题二: 某厂生产甲、乙两种产品,已知制成一吨产品甲需用资源A 3吨资源B 4m3;制成一吨产品乙需用资源A 2吨,资源B 6m3,资源C 7个单位。若一吨产品甲和乙的经济价值分别为7万元和5万元,三种资源的限制量分别为90吨、200m3和210个单位。试应生产这两种产品各多少吨才能使创造的总经济价值最高?(p153,例8-2)解:解:这是个最优化问题,其目标为经济价值最高,约束条件为三种资源的数量有限,决策为生产甲、乙产品的数量。令生产产品甲的数量为x1,生产产品乙的数量为x2。由题意可以建立如下的线性规划模型。故目标函数为:故目标函数为:2157maxxxz约束条件为:0, 02
4、1072006490232122121xxxxxxx问题问题2线性规划模型:线性规划模型: 解答返 回2157maxxxz0, 02107200649023. .2122121xxxxxxxts1.1.线性规划的标准形式:线性规划的标准形式:xmin z=)(xf. .ts )(xgi0 (), 2 , 1mi其中目标函数)(xf和约束条件中)(xgi都是线性函数min min f = = c xs.t. s.t. Ax = = b (1 1) x 0 0这里 A = (ija)m,n , x = T 21nxxx b= T 21nbbb, c= nccc21用单纯法求解时,常将标准形式化为:
5、2. 线性规划的基本算法线性规划的基本算法单纯形法单纯形法线性规划的基本算法线性规划的基本算法单纯形法单纯形法例例 min z = 10 x1 + 9x2st6x1 + 5x2 60 10 x1 + 20 x2 150 x1 8 x1, x2 0引入松弛变量x3, x4, x5, 将不等式化为等式, 即单纯形标准形: min z = 10 x1 + 9x2st6x1 + 5x2 + x3 = 60 10 x1 + 20 x2 - x4 = 150 x1 + x5 = 8 xi 0 (i = 1,2,3,4,5)系数矩阵为: 6 5 1 0 0 A = 10 20 0 -1 0 = (P1 P2
6、 P3 P4 P5) 1 0 0 0 1 b = (60, 150, 8 ) T用用MATLAB优化工具箱解线性规划优化工具箱解线性规划min z=cX bAXts. .1、模型:命令:x=linprog(c,A,b) 2、模型:min z=cX bAXts. .beqXAeq命令:x=linprog(c,A,b,Aeq,beq)注意:若没有不等式: 存在,则令A= ,b= .bAX 3、模型:min z=cX bAXts. .beqXAeqVLBXVUB命令:1 x=linprog(c,A,b,Aeq,beq, VLB,VUB) 2 x=linprog(c,A,b,Aeq,beq, VLB,
7、VUB, X0) 注意:1 若没有等式约束: , 则令Aeq= , beq= . 2其中X0表示初始点 beqXAeq4、命令:x,fval=linprog()返回最优解及处的目标函数值fval.解解 编写编写M文件如下:文件如下:c=-0.4 -0.28 -0.32 -0.72 -0.64 -0.6; A=0.01 0.01 0.01 0.03 0.03 0.03;0.02 0 0 0.05 0 0;0 0.02 0 0 0.05 0;0 0 0.03 0 0 0.08; b=850;700;100;900; Aeq=; beq=; vlb=0;0;0;0;0;0; vub=;x,fval=
8、linprog(c,A,b,Aeq,beq,vlb,vub)例例1 max 6543216 . 064. 072. 032. 028. 04 . 0 xxxxxxz 85003. 003. 003. 001. 001. 001. 0. .654321xxxxxxt s 70005. 002. 041xx 10005. 002. 052xx 90008. 003. 063xx 6, 2 , 10jxj解解: 编写编写M文件如下:文件如下: c=-7 -5; A=3 2; 4 6; 0 7; b=90;200;210; Aeq=; beq=; vlb=0,0; vub=inf,inf; x,fva
9、l=linprog(c,A,b,Aeq,beq,vlb,vub)21)57(minxxz2100 xx21020090706423 .21xxts2157maxxxz0, 02107200649023. .2122121xxxxxxxts问题问题2解答解答S.t.Xz8121110913min 9008003 . 12 . 15 . 000000011 . 14 . 0X500600400100100010010001001X ,0654321xxxxxxX改写为:例例3 问题一的解答 问题问题编写编写M文件如下文件如下:f = 13 9 10 11 12 8;A = 0.4 1.1 1 0
10、0 0 0 0 0 0.5 1.2 1.3;b = 800; 900;Aeq=1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1;beq=400 600 500;vlb = zeros(6,1);vub=;x,fval = linprog(f,A,b,Aeq,beq,vlb,vub)结果结果:x = 0.0000 600.0000 0.0000 400.0000 0.0000 500.0000fval =1.3800e+004 即在甲机床上加工600个工件2,在乙机床上加工400个工件1、500个工件3,可在满足条件的情况下使总加工费最小为13800。结果为:结果为:x =
11、 14.0000 24.0000fval = -218.0000 注:注:有些实际问题可能会有一个约束条件:决策变量只能取整数,如x1、x2取整数。这类问题实际上是整数线整数线性规划性规划问题。如果把它当成一个线性规划来解,求得其最优解刚好是整数时,故它就是该整数规划的最优解。若用线性规划解法求得的最优解不是整数,将其取整后不一定是相应整数规划的最优解,这样的整数规划应用专门的方法求解(如割平面法、分支定界法)。实验作业实验作业 某厂生产甲乙两种口味的饮料某厂生产甲乙两种口味的饮料, ,每百箱甲饮料需用每百箱甲饮料需用原料原料6 6千克千克, ,工人工人1010名名, ,可获利可获利1010万
12、元万元; ;每百箱乙饮料每百箱乙饮料需用原料需用原料5 5千克千克, ,工人工人2020名名, ,可获利可获利9 9万元万元. .今工厂共有今工厂共有原料原料6060千克千克, ,工人工人150150名名, ,又由于其他条件所限甲饮料又由于其他条件所限甲饮料产量不超过产量不超过8 8百箱百箱. .问如何安排生产计划问如何安排生产计划, ,即两种饮料即两种饮料各生产多少使获利最大各生产多少使获利最大. .进一步讨论进一步讨论: : 1) 1)若投资若投资0.80.8万元可增加原料万元可增加原料1 1千克千克, ,问应否作这项问应否作这项投资投资. . 2) 2)若每百箱甲饮料获利可增加若每百箱甲
13、饮料获利可增加1 1万元万元, ,问应否改变生问应否改变生产计划产计划. .返返 回回无约束最优化无约束最优化数学实验数学实验电子科技大学应用数学学院电子科技大学应用数学学院实验目的实验目的实验内容实验内容2、掌握用数学软件包求解无约束最优化问题。、掌握用数学软件包求解无约束最优化问题。1、了解无约束最优化基本算法。、了解无约束最优化基本算法。1 1、无约束优化基本思想及基本算法。、无约束优化基本思想及基本算法。4 4、实验作业。、实验作业。3、用、用MATLAB求解无约束优化问题。求解无约束优化问题。2、MATLAB优化工具箱简介优化工具箱简介 无约束最优化问题无约束最优化问题返回 XfnE
14、Xmin 其中 1:EEfn标准形式:标准形式:求解无约束最优化问题的基本思想求解无约束最优化问题的基本思想求解的基本思想求解的基本思想 ( 以二元函数为例 )1x2x)(21xxf01x2x05310X1X2X)(0Xf)(1Xf)(2Xf连续可微 XfnEXmax = minXfnEX 多局部极小298.0f0f298.0f 唯一极小(全局极小)2122212121322)(xxxxxxxxf搜索过程搜索过程21221221)1 ()(100)(minxxxxxf最优点 (1 1)初始点 (-1 1)1x2xf-114.00-0.790.583.39-0.530.232.60-0.180.
15、001.500.09-0.030.980.370.110.470.590.330.200.800.630.050.950.90 0.0030.990.991E-40.9990.9981E-50.9997 0.9998 1E-8返回 给定初始点nEX 0,允许误差0,令 k=0; 计算kXf; 检验是否满足收敛性的判别准则: kXf, 若满足,则停止迭代,得点kXX*,否则进行; 令kkXfS,从kX出发,沿kS进行一维搜索, 即求k使得: kkkkkSXfSXf0min; 令kkkkSXX1,k=k+1 返回.无约束优化问题的基本算法无约束优化问题的基本算法 最速下降法是一种最基本的算法,它在
16、最优化方法中占有重要地位.最速下降法的优点是工作量小,存储变量较少,初始点要求不高;缺点是收敛慢,最速下降法适用于寻优过程的前期迭代或作为间插步骤,当接近极值点时,宜选用别种收敛快的算法. 1 1最速下降法(共轭梯度法)算法步骤:最速下降法(共轭梯度法)算法步骤:2 2牛顿法算法步骤:牛顿法算法步骤:(1) 选定初始点nEX 0,给定允许误差0,令 k=0;(2) 求kXf,12kXf,检验:若kXf,则 停止迭代,kXX*.否则, 转向(3);(3) 令 kkkXfXfS12(牛顿方向) ; (4) kkkSXX1,1 kk,转回(2). 如果f是对称正定矩阵A的二次函数,则用牛顿法经过一次
17、迭代一次迭代就可达到最优点,如不是二次函数,则牛顿法不能一步达到极值点,但由于这种函数在极值点附近和二次函数很近似,因此牛顿法的收敛速度还是很快的. 牛顿法的收敛速度虽然较快,但要求Hessian矩阵要可逆,要计算二阶导数和逆矩阵,就加大了计算机计算量和存储量.3 3拟牛顿法拟牛顿法 为克服牛顿法的缺点,同时保持较快收敛速度的优点,利用第 k 步和第 k+1 步得到的kX,1kX,)(kXf,)(1kXf,构造一个正定矩阵1kG近似代替)(2kXf,或用1kH近似代替12)(kXf,将牛顿方向改为: 1kG1kS=-)(1kXf,1kS=-1kH)(1kXf从而得到下降方向. 通常采用迭代法计
18、算1kG,1kH,迭迭代代公公式式为:B BF FG GS S(Boryden-Fletcher-Goldfarb-Shanno)公式 kkTkkTkkkkTkTkkkkxGxGxxGxfffGG)()()()(1 kTkTkkkTkkkTkkkxfxxxffHfHH)()()()(11 kTkTkkkkTkkxfxfHHfx)()()( D DF FP P(Davidon-Fletcher-Powell)公式: kTkTkkkTkkkTkkkXffffXXGXGG)()()()(11 kTkTkkkkTkkfXfXGGXf)()()( kkTkkTkkkkTkTkkkkfHfHffHXfXX
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab 优化 方法
限制150内