Matlab最优化计算方法ppt课件

上传人:无*** 文档编号:252937306 上传时间:2024-11-26 格式:PPTX 页数:138 大小:2.31MB
返回 下载 相关 举报
Matlab最优化计算方法ppt课件_第1页
第1页 / 共138页
Matlab最优化计算方法ppt课件_第2页
第2页 / 共138页
Matlab最优化计算方法ppt课件_第3页
第3页 / 共138页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益,线性规划,最优化方法专题,无约束规划,非线性规划,课程目的,课程内容,2,、掌握用数学软件包求解线性规划问题。,1,、了解线性规划的基本内容。,3,、,实验作业。,2,、用数学软件包求解线性规划问题。,1,、两个引例。,问题一,:,任务分配问题:某车间有甲、乙两台机床,可用于加工三种工件。假定这两台车床的可用台时数分别为,800,和,900,,三种工件的数量分别为,400,、,600,和,500,,且已知用三种不同车床加工单位数量不同工件所需的台时数和加工费用如下表。问怎样分配车床的加工任务,才能既满足加工工件的要求,又使加工费用最低?,两个引例,解,设在甲车床上加工工件,1,、,2,、,3,的数量分别为,x,1,、,x,2,、,x,3,,在乙车床上加工工件,1,、,2,、,3,的数量分别为,x,4,、,x,5,、,x,6,。可建立以下线性规划模型:,解答,问题二:,某厂生产甲、乙两种产品,已知制成一吨产品甲需用资源,A 3,吨资源,B 4m,3,;制成一吨产品乙需用资源,A 2,吨,资源,B 6m,3,,资源,C 7,个单位。若一吨产品甲和乙的经济价值分别为,7,万元和,5,万元,三种资源的限制量分别为,90,吨、,200m,3,和,210,个单位。试应生产这两种产品各多少吨才能使创造的总经济价值最高?,解:,这是个最优化问题,其,目标,为经济价值最高,,约束条件,为三种资源的数量有限,,决策,为生产甲、乙产品的数量。令生产产品甲的数量为,x,1,,生产产品乙的数量为,x,2,。由题意可以建立如下的线性规划模型。,故目标函数为:,约束条件为:,问题,2,线性规划模型:,解答,返 回,设置决策变量,它们体现解决问题的方案,。,小结,1,:建模的基本步骤,确定目标函数,它是决策变量的函数。,确定决策变量的取值范围,给出优化方向。,确定约束条件,它们是含有决策变量的不等式或等式。,小结,2,:数学模型的共同结构,1.,存在一组决策变量,称为决策变量,对它们可有非负要求;,2.,存在一个以决策变量为自变量的目标函数,且它为线性函数;,3.,存在一组约束条件,且每个条件都是由决策变量构成的线性不等式或等式;,4.,结构要求出这样的变量组,或者说决策向量,X,,在满足约束条件和非负约束的同时,使相应的目标函数值达到最大或者最小。简言之,在一定条件下使目标函数优化。,具有上述结构的数学模型为线性规划模型,线性规划数学模型,三要素:,决策变量、目标函数、约束条件,10,20,30,40,10,20,30,40,例,通过图解法求下列线性规划问题的最优解。,max z=x,1,+3x,2,s.t. x,1,+ x,2,6,-x,1,+2x,2,8,x,1,0, x,2,0,可行域,目标函数等值线,最优解,6,4,-8,6,0,x,1,x,2,例 通过图解法求下列线性规划问题的最优解。,-x,1,+2x,2,=2,x,1,-x,2,=2,x,1,+x,2,=4,0 1 2 3 4,x,1,x,2,G,4,3,2,1,F,E,H,A,B,C,D,I,多重最优解,例 通过图解法求下列线性规划问题的最优解。,x,1,+2x,2,=4,x,1,+2x,2,=6,0 1 2 3 4 x,1,x,1,=3,X,2,3,2,1,-x,1,+2x,2,=0,无界解,例 通过图解法求下列线性规划问题的最优解。,0 1 2 3 4 x,1,x,1,=3,X,2,3,2,1,-x,1,+2x,2,=0,无界解,例 通过图解法求下列线性规划问题的最优。,x,1,+x,2,=1,0 1 2 3 4 x,1,X,2,3,2,1,-x,1,+2x,2,=4,无可行解,例 通过图解法求下列线性规划问题的最优。,总结:线性规划问题解的状况,唯一最优解,无穷多最优解,无界解,无可行解,我们通常把无界解或无可行解统称为无最优解,c,1,x,1,0,c,2,x,2,0,C,t,= .,0=,c,n,x,n,0,并且,r(A)=mn.,线性规划标准型的矩阵形式:,Max Z = CX,s.t.,AX=b,X ,b,0,a,11,a,12,. a,1n,b,1,A= a,21,a,22,. a,2n,b,=,b,2, ,a,m1,a,m2,. a,mn,b,m,X=,关,于标准型解的若干基本概念,假若标准型有,n,个变量,,m,个约束行且,m=n,“,基”的概念,在标准型中,系数矩阵有,n,列,即,A,= (,P,1,P,2, ,P,n,),A,中线性独立的,m,列,构成该标准型的一个,基,,即基矩阵,B,= (,P,1,P,2, ,P,m,),,,|,B,|, 0,P,1,P,2, ,P,m,称为,基向量,与,基向量,对应的变量称为,基变量,,记为,X,B,= (,x,1,x,2, ,x,m,),T,,其余的变量称,非基变量,,记为,X,N,= (,x,m,+1,x,m,+2, ,x,n,),T,,,故有,X,= (,X,B,X,N,),T,基,解、基可行解,线性规划的基矩阵、基变量、非基变量,=,目标函数,约束条件,行列式,0,基矩阵,右边常数,例,:,0,0,0,0,3,2,0,2,0,0,0,1,0,1,0,x1,x2,x4,x3,0,0,1,3,0,0,3,2,1,=,目标函数,约束条件,行列式,0,基矩阵,X1,x2,x3,为基变量,x4,为非基变量,可行解,满足约束条件和非负条件的解,X,称为可行解,.,基解,(,基本解,),令非基变量,X,N,=,0,,求得基变量,X,B,的值称为基本解,即,X,B,=,B,1,b,AX=b,令,A=(B,N), X=(,X,B ,X,N,),T,B,X,B,+,N,X,N,=b,令,X,N,=,0,得,X,B,=,B,1,b,因此基解为,X=,(,B,1,b,,,0,),T,基本可行解,符合非负性要求的基解,,,称为,基本可行解,否则为基本非可行解,基本可行解,的非零分量个数,m,时,(,基本可行解中存在取零值的基变量),,称为退化基本可行,解,例,:,写出下列线性规划问题的基解,并判断是否为基可行解。,基变量,x,1,、,x,2,、,x,3,,非基变量,x,4,、,x,5,、,x,6,基解,为(,x,1,,,x,2,,,x,3,,,x,4,,,x,5,,,x,6,),=,(,5,,,3,,,1,,,0,,,0,,,0,),是基础可行解,,表示可行域的一个顶点。,目标函数值为:,z=20,基变量,x,1,、,x,2,、,x,5,,非基变量,x,3,、,x,4,、,x,6,但不是基可行解,,不是一个顶点。,基解为(,x,1,,,x,2,,,x,3,,,x,4,,,x,5,,,x,6,),=,(,6,,,3,,,0,,,0,,,-3,,,0,),基变量,x,1,、,x,2,、,x,6,,非基变量,x,3,、,x,4,、,x,5,基础解为(,x,1,,,x,2,,,x,3,,,x,4,,,x,5,,,x,6,),=,(,3,,,4,,,0,,,0,,,0,,,4,),是基础可行解,表示可行域的一个顶点。,目标函数值为:,z=18,基变量,x,2,、,x,3,、,x,4,,非基变量,x,1,、,x,5,、,x,6,基础解为,(,x,1,,,x,2,,,x,3,,,x,4,,,x,5,,,x,6,),=,(,0,,,21/2,,,27/2,,,-30,,,0,,,0,),是基础解,但不是可行解。,约束方程的,解空间,基解,可行解,非可行解,基可,行解,退化解,1.3.2,线性规划标准型问题解的关系,1,、线性规划的标准型有特点( )。,A,、右端项非零;,B,、目标求最大;,C,、有等式或不等式约束;,D,、变量均非负。,2,下面命题不正确的是( )。,A,、线性规划的最优解是基本可行解;,B,、基本可行解一定是基本解;,C,、线性规划一定有可行解;,D,、线性规划的最优值至多有一个。,3,若某线性规划问题中,变量个数为,n,,基变量个数为,m,(,m n,),则该问题基本可行解的最大数目为( ), ,4,若线性规划问题的最优解同时在可行域的两个顶点上达到,则最优解有,( ),无穷多个 过这两点的整条直线 不可能发生 两个,5,当线性规划问题的可行集非空时一定(),A,包含原点,X=(0,0,0) B,有界,C,无界,D,是凸集,2.1,单纯形算法,基本思想:,从可行域的一个基本可行解,(,顶点,),出发,判别它是否已是最优解,如果不是,寻找下一个基本可行解,并使目标函数得到改进,如此迭代下去,直到找到最优解或判定问题无界为止。,2.1,单纯形思想举例,max Z=1500x,1,+2500x,2,s.t. 3x,1,+2x,2,65,2x,1,+ x,2,40,3x,2,75,x,1,x,2,0,化成标准形:,max Z=1500x,1,+2500x,2,s.t. 3x,1,+2x,2,+x,3,=65,2x,1,+ x,2,+,x,4,=40,3x,2,+,x,5,=,75,x,1,x,2,0,2,1 0 0,1,0 1 0,0 3,0 0 1,A=,(,P,1,,,P,2,,,P,3,,,P,4,,,P,5,),例,P,3,,,P,4,,,P,5,线性无关,,x,3, x,4, x,5,是基变量,,x,1, x,2,是非基变量。,1 0 0,0 1 0,0 0 1,B=,(,P,3,,,P,4,,,P,5,),用非基变量表示的方程,:,Z= 1500x,1,+2500x,2,x,3,= 65 - 3x,1,- 2x,2,x,4,= 40 - 2x,1,- x,2,(I),x,5,= 75 - 3x,2,令非基变量 (,x,1,x,2,),t,=,(,0,,,0,),t,得初始基可行解:,x,(1),=(0,0,65,40,75),t,Z=0,经济含义:不生产产品甲和乙,利润为零。,(,x,3,,,x,4,,,x,5,),分析:,Z= 1500x,1,+2500x,2,分别增加单位产品甲、乙,目标函数分别增加,1500,、,2500,,即利润分别增加,1500,元、,2500,元。,同时由目标函数可以看出增加单位产品乙(,x,2,)比甲(,x,1,)对目标函数的贡献大,(最大检验数原则),,把非基变量,x,2,换成基变量,称,x,2,为,进基变量。同时为保证基变量的个数必须确定一个出基变量。,(,在选择出基变量时,只考虑,a,ij,是正的方程,)(最小比值原则),用非基变量表示的方程:,x,3,= 65,- 2x,2,0,x,4,= 40,- x,2,0,(II),x,2,min,x,5,= 75 - 3x,2,0,当,x,2,25,时,,x,5,0,,即,x,5,由原来的基变量变为现在的非基变量。,65/2, 40/1 75/3,确定了,进基变量,x,2,,出基变量,x,5,以后,用非基变量表示基变量得到新的方程组:,Z= 62500+1500x,1,-(2500/3)x,5,x,3,= 15 - 3x,1,+,(,2/3,),x,5,x,4,= 15 - 2x,1,+,(,1/3,),x,5,(II),x,2,=,25 -,(,-1/3,),x,5,令新的非基变量(,x,1,,,x,5,),=,(,0,,,0,),t,得到新的基本可行解:,x,(2),=(0,25,15,15, 0),t,Z=62500,经济含义:生产乙产品,25,个,获得利润,62500,元。,这个方案比前方案好,但是否是最优?,分析:,Z= 62500+1500x,1,-(2500/3)x,5,非基变量,x,1,系数仍为正数,确定,x,1,为,进基变量。,在保证所有的变量非负的情况下,,确定,x,3,为出基变量。,得到新的基本可行解:,x,(3),=(5,25,0,5, 0),t,Z= 70000-500x,3,-500x,5,由,Z,的表达式可以看出,该解已是最优解。,经济含义:生产甲产品生产,5,个乙产品,25,个,获得利润,70000,元。,c,1,x,1,0,c,2,x,2,0,C,t,= .,0=,c,n,x,n,0,并且,r(A)=mn.,2.2,单纯形法的基本原理,Max Z = CX,s.t.,AX=b,X,0,a,11,a,12,. a,1n,b,1,A= a,21,a,22,. a,2n,b,=,b,2, ,a,m1,a,m2,. a,mn,b,m,X=,=,max z = C X,AX = b,X, 0,max z = C,B,C,N,s.t. B , N = b,X,B, X,N,0,=,=,=,=,=,检验数与最优检验,:,目标函数中,x,N,的系为 ,由于,x,N,= 0,,它对目标函数值没有直接影响,但却影响目标值的潜在变化。,检验向量为:,检验分量为:,j,被称为,检验数,根据检验数取值情况可做如下讨论:,单纯形方法计算步骤,第一步:转换线性规划问题为标准型,构造初始单纯形表,第二步:根据换入规则决定进基变量,第三步:根据换出规则决定出基变量,第四步:构造新的单纯形表,第五步:返回第二步,例:用单纯形法求解线性规划问题,3,4,-1,2,0,0,b,C,B,X,B,x,1,x,2,x,3,x,4,x,5,x,6,0,X,5,1,1,1,1,1,0,25,0,x,6,1,2,1,2,0,1,36, ,Z,B,3,4,-1,2,0,0,0,x,6,离基,,x,2,进基,,写出单纯形表,3,4,-1,2,0,0,b,C,B,X,B,x,1,x,2,x,3,x,4,x,5,x,6,0,x,5,1,1,1,1,1,0,25,0,x,6,1,2,1,2,0,1,36, ,Z,B,3,4,-1,2,0,0,0,1,1/2,1/2,1,1/2,18,x,2,4,0,1/2,1/2,0,-1/2,7,0,1,-3,-2,-2,72,x,5,离基,,x,1,进基,,,25/1=25,36/2=18,7/(1/2)=14,18/(1/2)=36,3,4,-1,2,0,0,b,C,B,X,B,x,1,x,2,x,3,x,4,x,5,x,6,0,x,5,1/2,0,1/2,0,1,-1/2,7,4,x,2,1/2,1,1,0,18, ,Z,B,1,0,-3,-2,0,-2,72,1,1,2,-1,14,x,1,3,0,-1/2,-1,0,11,0,-4,-2,-1,86,得到最优解,最优解为:,X=(14,,,11,,,0,,,0,,,0,,,0),T, max z=86,1.,线性规划的标准形式:,用单纯法求解时,常将标准形式化为:,2.,线性规划的基本算法,单纯形法,线性规划的基本算法,单纯形法,引入松弛变量,x,3, x,4, x,5,将不等式化为等式, 即单纯形标准形:,用,MATLAB,优化工具箱解线性规划,min,z=cX,1,、模型:,命令:,x=linprog,(,c,,,A,,,b,),2,、模型,:,min,z=cX,命令:,x=linprog,(,c,,,A,,,b,,,Aeq,beq,),注意:若没有不等式: 存在,则令,A= ,,,b= .,3,、模型,:,min,z=cX,VLBXVUB,命令:,1,x=linprog,(,c,,,A,,,b,,,Aeq,beq, VLB,,,VUB,),2,x=linprog,(,c,,,A,,,b,,,Aeq,beq, VLB,,,VUB, X,0,),注意:,1,若没有等式约束,: ,则令,Aeq= , beq= .,2,其中,X,0,表示初始点,4,、命令:,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=linprog(c,A,b,Aeq,beq,vlb,vub),解,:,编写,M,文件如下:,c=-7 -5;,A=3 2; 4 6; 0 7;,b=90;200;210;,Aeq=;,beq=;,vlb=0,0;,vub=inf,inf;,x,fval=linprog(c,A,b,Aeq,beq,vlb,vub),问题,2,解答,例,3,问题一的解答,任务分配,问题:某车间有甲、乙两台机床,可用于加工三种工件。假定这两台车床的可用台时数分别为,800,和,900,,三种工件的数量分别为,400,、,600,和,500,,且已知用三种不同车床加工单位数量不同工件所需的台时数和加工费用如下表。问怎样分配车床的加工任务,才能既满足加工工件的要求,又使加工费用最低?,解,设在甲车床上加工工件,1,、,2,、,3,的数量分别为,x1,、,x2,、,x3,,在乙车床上加工工件,1,、,2,、,3,的数量分别为,x4,、,x5,、,x6,。可建立以下线性规划模型:,S.t.,改写为:,例,3,问题一的解答,问题,编写,M,文件如下,:,f = 13 9 10 11 12 8;,A = 0.4 1.1 1 0 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.0000,fval =1.3800e+004,即在甲机床上加工,600,个工件,2,在乙机床上加工,400,个工件,1,、,500,个工件,3,,可在满足条件的情况下使总加工费最小为,13800,。,结果为:,x =,14.0000,24.0000,fval =,-218.0000,注:,有些实际问题可能会有一个,约束条件,:决策变量只能取整数,如,x,1,、,x,2,取整数。这类问题实际上是,整数线性规划,问题。如果把它当成一个线性规划来解,求得其最优解刚好是整数时,故它就是该整数规划的最优解。若用线性规划解法求得的最优解不是整数,将其取整后不一定是相应整数规划的最优解,这样的整数规划应用专门的方法求解(如割平面法、分支定界法)。,实验作业,某厂生产甲乙两种口味的饮料,每百箱甲饮料需用原料,6,千克,工人,10,名,可获利,10,万元,;,每百箱乙饮料需用原料,5,千克,工人,20,名,可获利,9,万元,.,今工厂共有原料,60,千克,工人,150,名,又由于其他条件所限甲饮料产量不超过,8,百箱,.,问如何安排生产计划,即两种饮料各生产多少使获利最大,.,进一步讨论,:,1),若投资,0.8,万元可增加原料,1,千克,问应否作这项投资,.,2),若每百箱甲饮料获利可增加,1,万元,问应否改变生产计划,.,返 回,无约,束非线性最,优化,课程目的,课程内容,2,、掌握用数学软件包求解无约束最优化问题。,1,、了解无约,束非线性最,优化基本算法。,1,、无约,束非线性优,化基本思想及基本算法,。,4,、实验作业。,3,、用,MATLAB,求解无约,束非线性优,化问题。,2,、,MATLAB,优化工具箱简介,无约,束非线性最,优化问题,求解无约,束非线性最,优化问题的的基本思想,*,无约,束非线性最,优化问题的基本算法,返回,标准形式:,求解无约,束非线性最,优化问题的基本思想,求解的基本思想,(,以二元函数为例,),5,3,1,连续可微,多局部极小,唯一极小,(,全局极小,),搜索过程,最优点,(1 1),初始点,(-1 1),-1,1,4.00,-0.79,0.58,3.39,-0.53,0.23,2.60,-0.18,0.00,1.50,0.09,-0.03,0.98,0.37,0.11,0.47,0.59,0.33,0.20,0.80,0.63,0.05,0.95,0.90,0.003,0.99,0.99,1E-4,0.999,0.998,1E-5,0.9997,0.9998,1E-8,返回,无约束优化问题,最优解类型,全局最优解(,Global optimum,),局部最优解(,Local optimum,),现有基于导数的求解方法通常只能得到局部最优,解,。,无约束优化问题,最优化条件(,Optimality,Condition,),必要条件(,Necessary condition,),充分条件(,Sufficient condition,),无约束优化问题,步骤,1:,寻找稳定点,(,S,tationary,points,):,步骤,2,: 检查稳定点是否满足充分条件:,基本思路,基本流程,Example 1,Yanni Yang,2013,-2014 Spring,Semester,Slide 7,基本思路,稳定点满足以下条件:,求解得到两个稳定点:,Hessian,矩阵:,Yanni Yang,2013,-2014 Spring,Semester,Slide 8,Example 2,基本思路,Yanni Yang,2013 -2014 Spring Semester,Slide 11,凸规划,无论初值取值,最优解唯一:,这样的函数被称为凸函数,求解凸函数最优解问题被称为凸规划,Yanni Yang,2013 -2014 Spring Semester,Slide 12,The slope of the function is increasing,!,多维函数判断准则:,The Hessian matrix is positive semi-definite,!,凸规划,判别方法,Yanni Yang,2013 -2014 Spring Semester,Slide 13,凸规划,性质定理,求解,算法,思,路:,基于局部搜索的原理求解,NLP,问题的方法很多,其原因是没有哪一种方法比别的方法更好。而且要想找到一个通用的求解,NLP,的局部搜索算法来处理所有的非线性模型是不现实的。它势必转换成穷举法。,常用的方法有二分法、线截法、不动点法和梯度法等。,求解,算法,1,.,二分法,求解,算法,1,.,二分法,选择,a,、,b,,使得,f(a)f(b)0,且,x*a, b,;,产生中点,m(m(a+b)/2),;,如果,f(m)0,,则有,f(a)f(m)0,或者,f(m)f(b)0,,如果前者为,真,令,b=m,;否则令,a=m,;,如果,b-a,则程序终止;否则执行步骤,2,。,求解,算法,2,.,弦截法,弦截法的算法过程如下:,过两点,(a,f(a),(b,f(b),作一直线,它与,x,轴有一个交点,记为,x1,.,如果,f(a)f(x1)0,过两点,(a,f(a),(x1,f(x1),作一直线,它与,x,轴的交点记为,x2,,否则过两点,(b,f(b),(x1,f(x1),作一直线,它与,x,轴的交点记为,x2,;,如此下去,直到,|x,n,-x,n-1,|0,,要受惩罚,SUTM,外点法,罚函数法的,缺点,是:每个近似最优解,X,k,往往不是容许解,而只能近似满足约束,在实际问题中这种结果可能不能使用;在解一系列无约束问题中,计算量太大,特别是随着,M,k,的增大,可能导致错误,1,、,任意给定初始点,X,0,,取,M,1,1,,给定允许误差 ,令,k=1,;,2,、,求无约束极值问题 的最优解,设为,X,k,=X(M,k,),,即,;,3,、,若存在 ,使 ,则取,M,k,M( ),令,k=k+1,返回(,2,),否则,停止迭代得最优解,.,计算时也可将收敛性判别准则 改为,.,SUTM,外点法,(,罚函数法,),的,迭代步骤,SUTM,内点法(,障碍函数法,),内点法的迭代步骤,用,MATLAB,软件求解,其,输入格式,如下,:,1.x=quadprog(H,C,A,b);,2.x=quadprog(H,C,A,b,Aeq,beq);,3.x=quadprog(H,C,A,b,Aeq,beq,VLB,VUB);,4.x=quadprog(H,C,A,b, Aeq,beq ,VLB,VUB,X,0,);,5.x=quadprog(H,C,A,b, Aeq,beq ,VLB,VUB,X,0,options);,6.x,fval=quaprog(.);,7.x,fval,exitflag=quaprog(.);,8.x,fval,exitflag,output=quaprog(.);,1,、二次规划,例,1,min f(x,1,x,2,)=-2x,1,-6x,2,+x,1,2,-2x,1,x,2,+2x,2,2,s.t. x,1,+x,2,2,-x,1,+2x,2,2,x,1,0, x,2,0,1,、,写成标准形式,:,2,、,输入命令,:,H=1 -1; -1 2;,c=-2 ;-6;A=1 1; -1 2;b=2;2;,Aeq=;beq=; VLB=0;0;VUB=;,x,z=quadprog(H,c,A,b,Aeq,beq,VLB,VUB),3,、,运算结果,为:,x =0.6667 1.3333 z = -8.2222,s.t.,1.,首先建立,M,文件,fun.m,定义目标函数,F,(,X,),:,function f=fun(X);,f=F(X);,2,、一般非线性规划,其中,X,为,n,维变元向量,,G(X),与,Ceq(X),均为非线性函数组成的向量,其它变量的含义与线性规划、二次规划中相同,.,用,Matlab,求解上述问题,基本步骤分三步:,3.,建立主程序,.,非线性规划求解的函数是,fmincon,命令的基本格式如下:,(1),x=,fmincon,(fun,X,0,A,b),(2),x=,fmincon,(fun,X,0,A,b,Aeq,beq),(3),x=,fmincon,(fun,X,0,A,b, Aeq,beq,VLB,VUB),(4),x=,fmincon,(fun,X,0,A,b,Aeq,beq,VLB,VUB,nonlcon),(5),x=,fmincon,(fun,X,0,A,b,Aeq,beq,VLB,VUB,nonlcon,options),(6),x,fval=,fmincon(.),(7),x,fval,exitflag=,fmincon(.),(8)x,fval,exitflag,output=,fmincon(.),输出极值点,M,文件,迭代的初值,参数说明,变量上下限,注意:,1 fmincon,函数提供了大型优化算法和中型优化算法。默认时,若在,fun,函数中提供了梯度(,options,参数的,GradObj,设置为,on,),并且只有上下界存在或只有等式约束,,fmincon,函数将选择大型算法。当既有等式约束又有梯度约束时,使用中型算法。,2 fmincon,函数的中型算法使用的是序列二次规划法。在每一步迭代中求解二次规划子问题,并用,BFGS,法更新拉格朗日,Hessian,矩阵。,3 fmincon,函数可能会给出局部最优解,这与初值,X,0,的选取有关。,1,、,写成标准形式,:,s.t.,2x,1,+3x,2,6,s.t x,1,+4x,2,5,x,1,x,2,0,例,2,2,、,先建立,M-,文件,fun3.m:,function f=fun3(x);,f=-x(1)-2*x(2)+(1/2)*x(1)2+(1/2)*x(2)2,3,、再建立主程序,youh2.m,:,x0=1;1;,A=2 3 ;1 4; b=6;5;,Aeq=;beq=;,VLB=0;0; VUB=;,x,fval=fmincon(fun3,x0,A,b,Aeq,beq,VLB,VUB),4,、,运算结果为:,x = 0.7647 1.0588,fval = -2.0294,1,先建立,M,文件,fun4.m,定义目标函数,:,function f=fun4(x);,f=exp(x(1),*(4*x(1)2+2*x(2)2+4*x(1)*x(2)+2*x(2)+1);,x,1,+x,2,=0,s.t. 1.5+x,1,x,2,- x,1,- x,2,0,-x,1,x,2,10,0,例,3,2,再建立,M,文件,mycon.m,定义非线性约束:,function g,ceq=mycon(x),g=x(1)+x(2);1.5+x(1)*x(2)-x(1)-x(2);-x(1)*x(2)-10;,3,主程序为,:,x0=-1;1;,A=;b=;,Aeq=1 1;beq=0;,vlb=;vub=;,x,fval=fmincon(fun4,x0,A,b,Aeq,beq,vlb,vub,mycon),3.,运算结果为,:,x = -1.2250 1.2250,fval = 1.8951,例,4,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),4.,运算结果为,:,x =,4.0000,3.0000,fval =-11.0000,exitflag = 1,output =,iterations: 4,funcCount: 17,stepsize: 1,algorithm: 1x44 char,firstorderopt: ,cgiterations: ,Matlab,优化工具箱简介,1.MATLAB,求解优化问题的主要函数,2.,优化函数的输入变量,使用优化函数或优化工具箱中其它优化函数时,输入变量见下表,:,3.,优化函数的输出变量下表,:,4,控制参数,options,的设置,(3),MaxIter,:,允许进行迭代的最大次数,取值为正整数,.,Options,中常用的几个参数的名称、含义、取值如下,:,(1),Display,:,显示水平,.,取值为,off,时,不显示输出,;,取值为,iter,时,显示每次迭代的信息,;,取值为,final,时,显示最终结果,.,默认值为,final,.,(2),MaxFunEvals,:,允许进行函数评价的最大次数,取值为正整数,.,例:,opts=optimset(,Display,iter,TolFun,1e-8),该语句创建一个称为,opts,的优化选项结构,其中显示参数设为,iter, TolFun,参数设为,1e-8.,控制参数,options,可以通过函数,optimset,创建或修改。命令的格式如下:,(1),options=optimset(,optimfun,),创建一个含有所有参数名,并与优化函数,optimfun,相关的默认值的选项结构,options.,(,2,),options=optimset(,param1,value1,param2,value2,.),创建一个名称为,options,的优化选项参数,其中指定的参数具有指定值,所有未指定的参数取默认值,.,(3),options=optimset(oldops,param1,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!