matlab线性规划搜索法优化,用matlab优化工具箱解线性规划.doc 您所在的位置:网站首页 bfgs算法matlab matlab线性规划搜索法优化,用matlab优化工具箱解线性规划.doc

matlab线性规划搜索法优化,用matlab优化工具箱解线性规划.doc

2023-04-06 10:15| 来源: 网络整理| 查看: 265

41528d3028836879cd698677c3999917.gif用matlab优化工具箱解线性规划.doc

用MATLAB优化工具箱解线性规划模型VUBXVLBBEQAEQMINTSCXZ命令1X,FVALLINPROG(C,A,B,AEQ,BEQ,VLB,VUB)2XLINPROG(C,A,B,AEQ,BEQ,VLB,VUB,X0)注意1若没有等式约束,则令AEQ,BEQ2其中X0表示初始点6543218121093MINXXXZ6,2,1,09035845064X52132IXXXTSI编写M文件XXGH3M如下F1391011128A04111000000051213B800900AEQ100100010010001001BEQ400600500VLBZEROS6,1VUBX,FVALLINPROGF,A,B,AEQ,BEQ,VLB,VUBMATLAB优化工具箱简介1MATLAB求解优化问题的主要函数2优化函数的输入变量使用优化函数或优化工具箱中其它优化函数时,输入变量见下表3优化函数的输出变量下表变量描述调用函数类型模型基本函数名一元函数极小MINF(X)STX10,则X为解否则,X不是最终解,它只是迭代制止时优化过程的值所有优化函数FVAL解X处的目标函数值LINPROG,QUADPROG,FGOALATTAIN,FMINCON,FMINIMAX,LSQCURVEFIT,LSQNONLIN,FMINBNDEXITFLAG描述退出条件EXITFLAG0,表目标函数收敛于解X处EXITFLAG0,表已达到函数评价或迭代的最大次数EXITFLAG0,表目标函数不收敛OUTPUT包含优化结果信息的输出结构ITERATIONS迭代次数ALGORITHM所采用的算法FUNCCOUNT函数评价次数所有优化函数4.控制参数OPTIONS的设置OPTIONS中常用的几个参数的名称、含义、取值如下1DISPLAY显示水平取值为’OFF’时,不显示输出取值为’ITER’时,显示每次迭代的信息取值为’FINAL’时,显示最终结果默认值为’FINAL’2MAXFUNS允许进行函数评价的最大次数,取值为正整数3MAXITER允许进行迭代的最大次数,取值为正整数控制参数OPTIONS可以通过函数OPTIMSET创建或修改。命令的格式如下1OPTIONSOPTIMSET‘OPTIMFUN’创建一个含有所有参数名,并与优化函数OPTIMFUN相关的默认值的选项结构OPTIONS(2)OPTIONSOPTIMSET‘PARAM1’,VALUE1,’PARAM2’,VALUE2,创建一个名称为OPTIONS的优化选项参数,其中指定的参数具有指定值,所有未指定的参数取默认值3OPTIONSOPTIMSETOLDOPS,‘PARAM1’,VALUE1,’PARAM2’,VALUE2,创建名称为OLDOPS的参数的拷贝,用指定的参数值修改OLDOPS中相应的参数例OPTSOPTIMSET‘DISPLAY’,’ITER’,’TOLFUN’,1E8该语句创建一个称为OPTS的优化选项结构,其中显示参数设为’ITER’,TOLFUN参数设为1E85用MATLAB解无约束优化问题一元函数无约束优化问题21,MINXXF常用格式如下(1)XFMINBNDFUN,X1,X2(2)XFMINBNDFUN,X1,X2,OPTIONS(3)X,FVALFMINBND()(4)X,FVAL,EXITFLAGFMINBND()(5)X,FVAL,EXITFLAG,OUTPUTFMINBND()其中(3)、(4)、(5)的等式右边可选用(1)或(2)的等式右边。函数FMINBND的算法基于黄金分割法和二次插值法,它要求目标函数必须是连续函数,并可能只给出局部最优解。例1求在0X8中的最小值与最大值XEFXSIN主程序为WLITI1MF 2EXPXSINX FPLOTF,0,8作图语句XMIN,YMINFMINBNDF,0,8F1 2EXPXSINX XMAX,YMAXFMINBNDF1,0,8运行结果XMIN39270YMIN00279XMAX07854YMAX06448多元函数无约束优化问题标准型为MINFX命令格式为(1)XFMINUNC(FUN,X0);或XFMINSEARCH(FUN,X0)(2)XFMINUNC(FUN,X0,OPTIONS);或XFMINSEARCH(FUN,X0,OPTIONS)(3)X,FVALFMINUNC();或X,FVALFMINSEARCH()(4)X,FVAL,EXITFLAGFMINUNC();或X,FVAL,EXITFLAGFMINSEARCH(5)X,FVAL,EXITFLAG,OUTPUTFMINUNC();或X,FVAL,EXITFLAG,OUTPUTFMINSEARCH()说明FMINSEARCH是用单纯形法寻优FMINUNC的算法见以下几点说明1FMINUNC为无约束优化提供了大型优化和中型优化算法。由OPTIONS中的参数LARGESCALE控制LARGESCALE’ON’默认值,使用大型算法LARGESCALE’OFF’默认值,使用中型算法2FMINUNC为中型优化算法的搜索方向提供了4种算法,由OPTIONS中的参数HESSUPDATE控制HESSUPDATE’BFGS’(默认值),拟牛顿法的BFGS公式;HESSUPDATE’DFP’,拟牛顿法的DFP公式;HESSUPDATE’STEEPDESC’,最速下降法3FMINUNC为中型优化算法的步长一维搜索提供了两种算法,由OPTIONS中参数LINESEARCHTYPE控制LINESEARCHTYPE’QUADCUBIC’缺省值,混合的二次和三次多项式插值;LINESEARCHTYPE’CUBICPOLY’,三次多项式插使用FMINUNC和FMINSEARCH可能会得到局部最优解例4ROSENBROCK函数F(X1,X2)100(X2X12)21X12的最优解(极小)为X(1,1),极小值为F0试用不同算法(搜索方向和步长搜索)求数值最优解初值选为X0(12,2)1为获得直观认识,先画出ROSENBROCK函数的三维图形,输入以下命令X,YMESHGRID2012,1013Z100YX221X2MESHX,Y,Z2画出ROSENBROCK函数的等高线图,输入命令CONTOURX,Y,Z,20HOLDONPLOT12,2, O TEXT12,2, STARTPOINT PLOT1,1, O TEXT1,1, SOLUTION 3用FMINSEARCH函数求解输入命令F 100X2X1221X12 X,FVAL,EXITFLAG,OUTPUTFMINSEARCHF,122运行结果X1000010000FVAL19151E010EXITFLAG1OUTPUTITERATIONS108FUNCCOUNT202ALGORITHM NELDERMEADSIMPLEXDIRECTSEARCH 4用FMINUNC函数1建立M文件FUN2MFUNCTIONFFUN2XF100X2X1221X122主程序WLITI44MX,FVAL,EXITFLAG,OUTPUTFMINUNC(FUN,X0,O



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有