引用 MATLAB与优化算法
引用
foundy的MATLAB与优化算法 李会先翻译MATLAB和整理 1.引言
现在我最喜欢优化这个词了,为什么呢?,优化就是达到一种理想的状态,在工作中,生活中,投资中,恋爱过程中,为出人头地的目标而努力的过程中,谁不希望走一条捷径呢?要走到这条捷径上来,你是否看清楚了那些总是阻碍你的力量,因素,你愿意采用一种你可能肯本不喜欢的手段来消除那股力量吗?很多时候,是因为自己十足的愚蠢与偏见,把握不了重点,怪谁呢?
2.正文 优化综述
优化技术是用来找到一个设计参数集的.x={x1,x2,.xn},这个可以粗略的定义为优化,在一些简单的场合也许就可能是系统特征依赖于x的最大或最小化问题,以更高深点的方式公式化为目标函数,f(x),要最大最小化,可能得符合一等式约束条件,Gi(x)=0(i=1,.,me);不等式约束,Gi(x)=0(i=me+1,.m);以及或参数边界,xl,xu.
一般问题描述(GP)如下: minimize f(x) 满足
Gi(x)=0,i=1,.,me Gi(x)=0,i=me+1,.,m x长度为n的设计参数矢量,f(x)是目标函数,它返回一个标量值,G(x)返回由x估算的等式与不等式约束的长度为m的矢量值.
一个有效而精确的解决该问题的方案不仅取决于约束和设计变量的规模,而且也取决于目标函数和约束的特点,当目标函数和约束都是设计变量的线性函数,问题被称为线性规划(LP),二次规划(QP)涉及线性约束的二次目标函数的最大或最小。可靠的解决程序是容易得到的,更困难求解的是目标函数和约束是设计变量的非线性函数的非线性规划问题(NP),一个NP问题的求解方案通常要求一个迭代过程,而且在每次迭代中建立一个搜索方向,这一般是通过LP、QP、或者一个无约束的子问题完成。
多目标优化 介绍
上一节提到的GP问题公式的严格数学定义经常是远离实际设计问题,几乎很少面临的问题可以表示为一个单一的带几个硬约束的目标函数,相反经常遇到的是必须以某种方式权衡一个目标矢量F(x)=
{F1(x),F2(x),.,Fm(x).这些目标函数的相对重要性一般是不知道的,直到在对目标函数的完全理解当中,对系统最好的性能被确定和权衡后才知道。当目标函数数量增加,权衡很可能变得复杂而又不容易量化,更多是依靠设计者的直觉和他在整个优化周期内表述参数选择的能力,因此,多目标设计策略是要求一个普通的问题构成能够被表达,也能够求解该问题,能键入参数选择到一个易于数字化和实际的设计问题中。
多目标优化涉及到一个服从一些约束和边界的矢量目标函数F(x)的最小化, 注意,因为F(x)是矢量,假如F(x)的任何元素有竞争,这个问题就没有唯一解,作为替代,次优概念(帕雷托优化)必须用于特征化目标函数,一个次优解就是提升一个目标要求而退化另一个目标,为了更精确的定义这个概念,考虑一个可行的区域,
这允许定义相应的目标函数空间可行区域
这个性能矢量F(x)映射参数空间到目标函数空间,用两维图的表示如下: 图3-7,参数空间到目标函数空间的映射 现在一个次优解可以定义为:
定义:点x*?Ω是一个次优解,假如x*的一些领域不存在一个Δx使得(x*+Δx)?Ω以及
Fi(x*+Δx)?Fi(x*)i=1,.,m Fj(x*+Δx)?Fj(x*)for some j
两维的表示如下图,次优解位于曲线的C与D之间,点A与B表示具体的次优点。
图3-8.次优解集
A和B显然是次优解点,因为目标F1改善时,另一个目标F2在降低,例如F1B F1A,F2B F2A
由于Ω中任何点不是一个次优点而是一个所有目标都能提升的解点,显然这样的点是没有价值的,多目标优化涉及的是次优解点的生成与选择,多目标优化技术是宽广和变化多样的,在这个工具箱内所有的方法是不能全部提及的。接下来的段落要叙述一些这方面的技术。
加权和方法
加权和策略是通过构造一个多目标对象的权重和,把一个最小化矢量函数F(X)的多目标问题转化成标量问题。
这种问题可以用标准的非约束优化算法优化,这里是对每个目标附加权重系数,
权重系数不需要直接符合目标的相对重要性或者允许被表达的目标之间的折中,近一步的,次优解的边界可能是非集中一点的,所以某些解可能是不可达到的。