1、2024/8/7 周三1Matlab语言机械工程应用郑州大学机械工程学院主要内容主要内容nMatlab求解最优化问题方法及常用函数求解最优化问题方法及常用函数n无约束最优化问题无约束最优化问题n有约束最优化问题有约束最优化问题n二次规划问题二次规划问题n多目标规划问题多目标规划问题n最大最小化问题最大最小化问题2024/8/7 周三2Matlab语言机械工程应用郑州大学机械工程学院5.1 5.1 Matlab求解最优化问题方法及常用函数n优化工具箱:优化工具箱:Optimization Toolboxn设计变量设计变量X(x1,x2,。,。,xn)Tn优化维数优化维数变量数目;变量数目;n目标
2、函数目标函数minf(x)等;)等;n约束函数约束函数约束条件:不等式约束、等式约束条件:不等式约束、等式约束约束2024/8/7 周三3Matlab语言机械工程应用郑州大学机械工程学院n n优化问题数学模型优化问题数学模型2024/8/7 周三4Matlab语言机械工程应用郑州大学机械工程学院优化问题类型优化问题类型n n线性规划线性规划LPLP问题问题f f(x x)、)、h h(x x)、)、g g(x x)均为)均为x x线性函数线性函数n n二次规划二次规划QPQP问题问题h h(x x)、)、g g(x x)均为均为x x线性函数,线性函数,f f(x x)为)为x x二次函数二次
3、函数n n非线性规划非线性规划NLPNLP问题问题f f(x x)、)、h h(x x)、)、g g(x x)至少有一个为)至少有一个为x x非线性函数非线性函数n n多目标规划多目标规划若若f f(x x)(f1f1(x x),),f2f2(x x),。,),。,fpfp(x x),),p p大于等于大于等于2 22024/8/7 周三5Matlab语言机械工程应用郑州大学机械工程学院优化问题求解思路优化问题求解思路n n两种方法:解析法、数值迭代法两种方法:解析法、数值迭代法n n数值迭代法思想:搜索、迭代、逼近数值迭代法思想:搜索、迭代、逼近n nX X(0 0)d dX X(1 1)。
4、n nX X(k+1k+1)X X(k k)+a+ak kd dk k2024/8/7 周三6Matlab语言机械工程应用郑州大学机械工程学院迭代的终止条件迭代的终止条件n nX X(k+1)(k+1)-X-X(k)(k)=任意小;任意小;n n目标值下降充分小目标值下降充分小:|F(XF(X(k+1)(k+1)-F(X)-F(X(k)(k)|=)|=任意小任意小 或或|F(XF(X(k+1)(k+1)-F(X)-F(X(k)(k)|/|F(X)|/|F(X(k)(k)|=)|=任意小任意小n n目标值在梯度迭代点梯度已达充分小目标值在梯度迭代点梯度已达充分小:|f(X|f(X(k)(k)|=
5、)|=任意小任意小2024/8/7 周三7Matlab语言机械工程应用郑州大学机械工程学院Matlab 优化工具箱常用函数优化工具箱常用函数2024/8/7 周三8Matlab语言机械工程应用郑州大学机械工程学院2024/8/7 周三9Matlab语言机械工程应用郑州大学机械工程学院2024/8/7 周三10Matlab语言机械工程应用郑州大学机械工程学院2024/8/7 周三11Matlab语言机械工程应用郑州大学机械工程学院2024/8/7 周三12Matlab语言机械工程应用郑州大学机械工程学院2024/8/7 周三13Matlab语言机械工程应用郑州大学机械工程学院多项式型方程的准解析
6、解法多项式型方程的准解析解法【例例6-36-3】2024/8/7 周三14Matlab语言机械工程应用郑州大学机械工程学院2024/8/7 周三15Matlab语言机械工程应用郑州大学机械工程学院【例例6-46-4】函数函数eval将字符串传给将字符串传给MATLAB以便计算。所以以便计算。所以eval是另一个是另一个可用于把符号常数变换为数字或计算表达式的函数。可用于把符号常数变换为数字或计算表达式的函数。eval(string)的作用就是相当于在命令窗里输入的作用就是相当于在命令窗里输入string这个命令这个命令并执行。比如并执行。比如 eval(a=rand(2,3);)就相当于在命令
7、窗输入就相当于在命令窗输入a=rand(2,3);后回车后回车2024/8/7 周三16Matlab语言机械工程应用郑州大学机械工程学院【例例6-56-5】2024/8/7 周三17Matlab语言机械工程应用郑州大学机械工程学院2024/8/7 周三18Matlab语言机械工程应用郑州大学机械工程学院【例例6-66-6】2024/8/7 周三19Matlab语言机械工程应用郑州大学机械工程学院一般非线性方程数值解一般非线性方程数值解2024/8/7 周三20Matlab语言机械工程应用郑州大学机械工程学院2024/8/7 周三21Matlab语言机械工程应用郑州大学机械工程学院【例例6-96
8、9】2024/8/7 周三22Matlab语言机械工程应用郑州大学机械工程学院2024/8/7 周三23Matlab语言机械工程应用郑州大学机械工程学院【例例6-106-10】2024/8/7 周三24Matlab语言机械工程应用郑州大学机械工程学院2024/8/7 周三25Matlab语言机械工程应用郑州大学机械工程学院5.2 5.2 无约束最优化问题求解无约束最优化问题求解n解析解法和图解法解析解法和图解法n基于基于MATLABMATLAB的数值解法的数值解法n全局最优解与局部最优解全局最优解与局部最优解n利用梯度求解最优化问题利用梯度求解最优化问题2024/8/7 周三26Matlab
9、语言机械工程应用郑州大学机械工程学院5.2.1 5.2.1 解析解法和图解法解析解法和图解法2024/8/7 周三27Matlab语言机械工程应用郑州大学机械工程学院【例例6-116-11】2024/8/7 周三28Matlab语言机械工程应用郑州大学机械工程学院2024/8/7 周三29Matlab语言机械工程应用郑州大学机械工程学院5.2.2 5.2.2 基于基于 MATLAB MATLAB 的数值解法的数值解法2024/8/7 周三30Matlab语言机械工程应用郑州大学机械工程学院【例例6-126-12】2024/8/7 周三31Matlab语言机械工程应用郑州大学机械工程学院2024
10、/8/7 周三32Matlab语言机械工程应用郑州大学机械工程学院2024/8/7 周三33Matlab语言机械工程应用郑州大学机械工程学院5.2.3 5.2.3 全局最优解与局部最优解全局最优解与局部最优解【例例6-136-13】2024/8/7 周三34Matlab语言机械工程应用郑州大学机械工程学院2024/8/7 周三35Matlab语言机械工程应用郑州大学机械工程学院5.2.4 5.2.4 利用梯度求解最优化问题利用梯度求解最优化问题【例例6-146-14】2024/8/7 周三36Matlab语言机械工程应用郑州大学机械工程学院2024/8/7 周三37Matlab语言机械工程应用
11、郑州大学机械工程学院2024/8/7 周三38Matlab语言机械工程应用郑州大学机械工程学院5.3 5.3 有约束最优化问题有约束最优化问题的计算机求解的计算机求解n约束条件与可行解区域约束条件与可行解区域n线性规划问题的计算机求解线性规划问题的计算机求解n二次型规划的求解二次型规划的求解n一般非线性规划问题的求解一般非线性规划问题的求解2024/8/7 周三39Matlab语言机械工程应用郑州大学机械工程学院5.3.1 5.3.1 约束条件与可行解区域约束条件与可行解区域2024/8/7 周三40Matlab语言机械工程应用郑州大学机械工程学院【例例6-156-15】2024/8/7 周三
12、41Matlab语言机械工程应用郑州大学机械工程学院5.3.2 5.3.2 线性规划问题的计算机求解线性规划问题的计算机求解2024/8/7 周三42Matlab语言机械工程应用郑州大学机械工程学院【例例6-166-16】2024/8/7 周三43Matlab语言机械工程应用郑州大学机械工程学院【例例6-176-17】2024/8/7 周三44Matlab语言机械工程应用郑州大学机械工程学院2024/8/7 周三45Matlab语言机械工程应用郑州大学机械工程学院2024/8/7 周三46Matlab语言机械工程应用郑州大学机械工程学院2024/8/7 周三47Matlab语言机械工程应用郑州
13、大学机械工程学院5.3.3 5.3.3 二次型规划的求解二次型规划的求解2024/8/7 周三48Matlab语言机械工程应用郑州大学机械工程学院【例例6-186-18】2024/8/7 周三49Matlab语言机械工程应用郑州大学机械工程学院5.3.4 5.3.4 一般非线性规划问题的求解一般非线性规划问题的求解2024/8/7 周三50Matlab语言机械工程应用郑州大学机械工程学院【例例6-196-19】2024/8/7 周三51Matlab语言机械工程应用郑州大学机械工程学院2024/8/7 周三52Matlab语言机械工程应用郑州大学机械工程学院2024/8/7 周三53Matlab
14、语言机械工程应用郑州大学机械工程学院【例例6-206-20】2024/8/7 周三54Matlab语言机械工程应用郑州大学机械工程学院2024/8/7 周三55Matlab语言机械工程应用郑州大学机械工程学院2024/8/7 周三56Matlab语言机械工程应用郑州大学机械工程学院2024/8/7 周三57Matlab语言机械工程应用郑州大学机械工程学院2024/8/7 周三58Matlab语言机械工程应用郑州大学机械工程学院2024/8/7 周三59Matlab语言机械工程应用郑州大学机械工程学院2024/8/7 周三60Matlab语言机械工程应用郑州大学机械工程学院2024/8/7 周三
15、61Matlab语言机械工程应用郑州大学机械工程学院2024/8/7 周三62Matlab语言机械工程应用郑州大学机械工程学院2024/8/7 周三63Matlab语言机械工程应用郑州大学机械工程学院2024/8/7 周三64Matlab语言机械工程应用郑州大学机械工程学院2024/8/7 周三65Matlab语言机械工程应用郑州大学机械工程学院2024/8/7 周三66Matlab语言机械工程应用郑州大学机械工程学院2024/8/7 周三67Matlab语言机械工程应用郑州大学机械工程学院5.4 5.4 整数规划问题的整数规划问题的计算机求解计算机求解n整数线性规划问题的求解整数线性规划问题
16、的求解n一般非线性整数规划问题与求解一般非线性整数规划问题与求解n0-10-1规划问题求解规划问题求解2024/8/7 周三68Matlab语言机械工程应用郑州大学机械工程学院5.4.1 5.4.1 整数线性规划问题的求解整数线性规划问题的求解免费工具箱,可以由MathWorks公司网站下载,也可以由本书光盘得出2024/8/7 周三69Matlab语言机械工程应用郑州大学机械工程学院【例例6-216-21】2024/8/7 周三70Matlab语言机械工程应用郑州大学机械工程学院2024/8/7 周三71Matlab语言机械工程应用郑州大学机械工程学院2024/8/7 周三72Matlab语
17、言机械工程应用郑州大学机械工程学院5.4.2 5.4.2 一般非线性整数规划问题与求解一般非线性整数规划问题与求解2024/8/7 周三73Matlab语言机械工程应用郑州大学机械工程学院【例例6-226-22】2024/8/7 周三74Matlab语言机械工程应用郑州大学机械工程学院2024/8/7 周三75Matlab语言机械工程应用郑州大学机械工程学院【例例6-236-23】2024/8/7 周三76Matlab语言机械工程应用郑州大学机械工程学院2024/8/7 周三77Matlab语言机械工程应用郑州大学机械工程学院2024/8/7 周三78Matlab语言机械工程应用郑州大学机械工
18、程学院5.4.3 0-15.4.3 0-1规划问题求解规划问题求解MATLAB 7.0 版本提供的 0-1 线性规划问题当然也可以用前面的函数求解2024/8/7 周三79Matlab语言机械工程应用郑州大学机械工程学院【例例6-246-24】2024/8/7 周三80Matlab语言机械工程应用郑州大学机械工程学院2024/8/7 周三81Matlab语言机械工程应用郑州大学机械工程学院【例例6-256-25】2024/8/7 周三82Matlab语言机械工程应用郑州大学机械工程学院本章内容简介本章内容简介2024/8/7 周三83Matlab语言机械工程应用郑州大学机械工程学院其它优化问题
19、其它优化问题n n多目标函数优化问题多目标函数优化问题多目标函数优化问题多目标函数优化问题:权和法、:权和法、约束法、目标约束法、目标达到法、改进目标达到法达到法、改进目标达到法n nx,fval,attainactor,exitflag,output,lambdax,fval,attainactor,exitflag,output,lambda=fgoalattainfgoalattainfgoalattainfgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub,nonlc(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub,
20、nonlcon,options,p1,p2)on,options,p1,p2)n n最大值最小值问题最大值最小值问题最大值最小值问题最大值最小值问题:n nx,fval,maxval,exitflag,output,lambdax,fval,maxval,exitflag,output,lambda=fminmaxfminmaxfminmaxfminmax(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,option(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options,p1,p2)s,p1,p2)2024/8/7 周三84Matlab语言机械工程应用郑州大学机械工程学院主要优化函数简介主要优化函数简介2024/8/7 周三85Matlab语言机械工程应用郑州大学机械工程学院






