MATLAB程序设计 课件 第7章 最优化设计_第1页
MATLAB程序设计 课件 第7章 最优化设计_第2页
MATLAB程序设计 课件 第7章 最优化设计_第3页
MATLAB程序设计 课件 第7章 最优化设计_第4页
MATLAB程序设计 课件 第7章 最优化设计_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

尚德敏学唯实惟新MATLAB程序设计CONTENTS目录优化问题概述MATLAB中的优化工具箱优化函数的参数设置与定义7.17.27.37.4基于模拟退火算法的极值求解尚德敏学唯实惟新7.1优化问题概述

在实际的工程优化设计过程中,它包含着两个方面的内容,或者说需要两个重要的步骤:

第一步:建立数学模型:用数学语言来描述最优化问题,把实际问题转换成能够用数学表达式表示的形式,模型中的数学关系式反映了最优化问题的目标和各种约束,为我们理论研究打下坚实的基础。第二步:数学求解选择合理的最优化方法进行求解。尚德敏学唯实惟新1.优化问题模型优化问题的数学标准形式:

其中,X是待求变量,A和b是线性不等式约束的系数向量,Aeq和beq是线性等式约束的系数,b和beq是向量,A和Aeq是矩阵,c(X)和ceq(X)是返回向量的函数,分别是非线性不等式约束和非线性等式约束,lb和u,是变量的上下限。尚德敏学唯实惟新1.优化问题模型问题一:假设某种产品有3个产地A1、A2、A3,他们的产量分别为100、170、200(单位为吨),该产品有3个销售地B1、B2、B3,各地的需求量分别是120、170、180(单位为吨),把产品从第i个产地Ai运到第j个销售地Bj,的单位运价(元/吨)如表7-1所示,问如何安排从Ai到Bj的运输方案,才能满足各地销售的需求又能使总运费最小?B1B2B3产量A1809075100A2608595170A39080110200A4120170180470表7-1产地Ai运到第j个销售地Bj的单位运价表尚德敏学唯实惟新1.优化问题模型建立数学模型如下:设从A到B的运输量为xij,显然总运费的表达式为:80x11+90x12+75x13+60x21+85x22+95x23+90x31+80x32+110x33根据产量要求,则可以建立如式所示的三个等式,作为上述总运费的约束式:x11+x12+x13=100x21+x22+x23=170x31+x32+x33=200根据需求量要求,则可以建立如式所示的三个等式,作为上述总运费的另外的约束式:x11+x12+x13=120x21+x22+x23=170x31+x32+x33=180此外,在实际问题中,运输量不能为负值,所以有如下约束:xij≥0,i,j=1,2,3尚德敏学唯实惟新1.优化问题模型综上所述,此产销平衡问题的数学模型可以写为如下:minf(x)=80x11+90x12+75x13+60x21+85x22+95x23+90x31+80x32+110x33

尚德敏学唯实惟新2.数学求解根据数学模型变量的不同,可以把目前的求解方法分为如下两大类:对于大部分单变量或者相对简单的数学模型,可以采用人工计算的方式进行,根据是否对目标函数求导,又可分为直接法和间接法,直接法主要有消去法和多项式近似法。一种典型的消去法是黄金分割法而间接法需要用到目标函数的导数。多项式近似法。该法用于目标函数比较复杂的情况,此时寻找一个与他近似的函数代替目标函数,常用的近似函数为二次和三次多项式。优化问题在使用MATLAB软件求解时的注意如下:(1)目标函数最小化:一般都要求实现目标函数的最小值,如果优化问题是求最大值,可以通过求原目标函数的负值的最小化来实现,即-f(X)最小化来实现。(2)约束非正:一般都要求不等式约束形式为c(X)<=0,通过对不等式的取负可以达到使大于零的约束形式变为小于零的不等式约束的形式目的。尚德敏学唯实惟新2.数学求解问题:边长为3m的正方形铁板,在4个角处减去四个相等的正方形以制成方形无盖水槽问如何剪才能使水槽容积最大?根据题意,上述问题的数学模型为:属于单变量优化问题,可以采用直接法进行计算可得:也可以采用MATLAB进行计算,需要将原最大值问题转化成最小值问题,如下:在MATLAB命令行窗口输入以下命令,回车后运行结果如下所示:尚德敏学唯实惟新3.非线性最小二乘优化问题非线性最小二乘优化也叫无约束极小平方和函数问题,它是如下无约束极小问题,

程序代码如下:尚德敏学唯实惟新3.非线性最小二乘优化问题拟合结果如下:尚德敏学唯实惟新7.2MATLAB中优化工具箱(1)工具箱的功能:①求解无约束条件非线性极小值;②求解约束条件下非线性极小值,包括目标逼近问题、极大-极小值问题以及半无限极小值问题;③求解二次规划、线性规划和混合整型线性规划问题;④非线性最小二乘逼近和曲线拟合;⑤非线性系统的方程求解;⑥约束条件下的线性最小二乘优化;⑦求解复杂结构的大规模优化问题。尚德敏学唯实惟新7.2MATLAB中优化工具箱123优化函数具有简洁的函数表达式,多种优化算法可以任意选择,算法参数可自由进行设置,使得用户方便灵活地使用优化函数.并行计算功能集成在了优化工具箱的优化求解器中,以便用户在不对现有程序有大的改变的情况下,在多台计算机或集群计算机上进行密集型计算优化问题的求解。提供了定义和求解优化问题并监视求解进度的OptimizationApp,可以方便地打开优化工具,进行优化问题的求解。(2)工具箱的特色:尚德敏学唯实惟新7.2MATLAB中优化工具箱(3)工具箱的结构:尚德敏学唯实惟新7.2MATLAB中优化工具箱全局优化工具箱提供的最优化方法:

全局搜索和多起点优化

遗传算法模拟退火

算法模式搜索算法

全局搜索和多起点优化方法产生若干起始点,然后它们用局部求解器去找到起始点吸引盆处的最优点。遗传算法(GA)用一组起始点(称为种群),通过迭代从种群中产生更好的点,只要初始种群覆盖几个盆,GA就能检查几个盆。模拟退火完成一个随机搜索,通常模拟退火算法接受一个点,只要这个点比前面那个好,它也偶而接受—个比较糟的点,目的是转向不同的盆。模式搜索算法在接受一个点之前要看看其附近的一组点。假如附近的某些点属于不同的盆模式搜索算法本质上是同时搜索若干个盆。尚德敏学唯实惟新7.3优化函数的参数设置与定义MATLAB优化工具箱的主要函数尚德敏学唯实惟新7.3优化函数的参数设置与定义优化函数输入参数定义尚德敏学唯实惟新7.3优化函数的参数设置与定义常用的options参数中常用的几个参数如下:①Display:结果显示方式,取值为off时,不显示任何结果;取值为iter时,显示每次迭代的信息;取值为final时,显示最终结果,默认值为final;取值为notify时,只有当求解不收敛的时候才显示结果。②MaxFunEvals:允许进行函数计算的最大次数,取值为正整数。③MaxIter:允许进行迭代的最大次数,取值为正整数。④TolFun:函数值(计算结果)的精度,取值为正数。⑤TolX:自变量的精度,取值为正数。尚德敏学唯实惟新7.3优化函数的参数设置与定义MATLAB优化函数的输出参数尚德敏学唯实惟新7.3优化函数的参数设置与定义

尚德敏学唯实惟新7.3优化函数的参数设置与定义第一步:建立目标函数文件,命名为my_fun1.m第二步:调用函数fmincon,在命令行窗口输入如下命令,其结果如下所示:尚德敏学唯实惟新7.4基于模拟退火算法的极值求解

尚德敏学唯实惟新7.4基于模拟退火算法的极值求解231Meteopolis准则温度退火进度表这是一个重要的参数,它随着算法的迭代逐步下降,以模拟固体退火过程中的降温过程。一方面,温度用于限制SA产生的新解与当前解之间的距离,即SA的搜索范围;另一方面,温度决定了SA以多大的概率接受目标函数值比当前解的目标函数值差的新解。

是指温度随算法迭代的下降速度。退火过程越缓慢,SA找到全局最优解的机会就越大。退火进度表包括初始温度及温度更新函数的参数。尚德敏学唯实惟新7.4基于模拟退火算法的极值求解在MATLAB中,提供了模拟退火算法的simulannealbnd函数,用于求解目标函数的最小值,在使用时可以直接调用,其格式如下:[xfval]=simulannealbnd

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论