主要内容gydF4y2Ba

多目标优化算法gydF4y2Ba

多目标优化定义gydF4y2Ba

有两个优化工具箱™多目标求解器:gydF4y2BafgoalattaingydF4y2Ba而且gydF4y2BafminimaxgydF4y2Ba.gydF4y2Ba

  • fgoalattaingydF4y2Ba解决了一组非线性函数的约简问题gydF4y2BaFgydF4y2Ba我gydF4y2Ba(gydF4y2BaxgydF4y2Ba)在一系列目标之下gydF4y2BaF *gydF4y2Ba我gydF4y2Ba.因为有几个函数gydF4y2BaFgydF4y2Ba我gydF4y2Ba(gydF4y2BaxgydF4y2Ba),解决这个问题并不总是很清楚,特别是当你不能同时实现所有的目标时。因此,问题被重新表述为始终定义良好的问题。gydF4y2Ba

    的gydF4y2Ba无法实现目标的问题gydF4y2Ba是最小化的最大值gydF4y2BaFgydF4y2Ba我gydF4y2Ba(gydF4y2BaxgydF4y2Ba) - - -gydF4y2BaF *gydF4y2Ba我gydF4y2Ba.gydF4y2Ba

    对于未扩展的问题有一个有用的概括。给定一组正权重gydF4y2BawgydF4y2Ba我gydF4y2Ba,gydF4y2Ba目标实现问题gydF4y2Ba试图找到gydF4y2BaxgydF4y2Ba使…的最大值最小化gydF4y2Ba

    FgydF4y2Ba 我gydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba −gydF4y2Ba FgydF4y2Ba 我gydF4y2Ba *gydF4y2Ba wgydF4y2Ba 我gydF4y2Ba .gydF4y2Ba (1)gydF4y2Ba

    这种最小化应该在满足所有类型的约束的情况下完成:gydF4y2BacgydF4y2Ba(gydF4y2BaxgydF4y2Ba)≤0,gydF4y2Ba量表信gydF4y2Ba(gydF4y2BaxgydF4y2Ba) = 0,gydF4y2Ba·xgydF4y2Ba≤gydF4y2BabgydF4y2Ba,gydF4y2BaAeq·xgydF4y2Ba=gydF4y2Ba说真的gydF4y2Ba,gydF4y2BalgydF4y2Ba≤gydF4y2BaxgydF4y2Ba≤gydF4y2BaugydF4y2Ba.gydF4y2Ba

    如果你将所有权重设置为1(或任何其他正常数),目标实现问题与未缩放的目标实现问题是一样的。如果gydF4y2BaF *gydF4y2Ba我gydF4y2Ba都是正的,你把所有的权重设为gydF4y2BawgydF4y2Ba我gydF4y2Ba=gydF4y2BaF *gydF4y2Ba我gydF4y2Ba时,目标实现问题就变成了最小化函数之间的相对差异gydF4y2BaFgydF4y2Ba我gydF4y2Ba(gydF4y2BaxgydF4y2Ba)和目标gydF4y2BaF *gydF4y2Ba我gydF4y2Ba.gydF4y2Ba

    换句话说,目标实现问题就是最小化松弛变量gydF4y2BaγgydF4y2Ba,定义为最大值超过gydF4y2Ba我gydF4y2Ba的表达式gydF4y2Ba方程1gydF4y2Ba.这意味着对目标实现问题的正式表述:gydF4y2Ba

    最小值gydF4y2Ba xgydF4y2Ba ,gydF4y2Ba γgydF4y2Ba γgydF4y2Ba

    这样gydF4y2BaFgydF4y2Ba(gydF4y2BaxgydF4y2Ba) - - -gydF4y2BawgydF4y2Ba·gydF4y2BaγgydF4y2Ba≤gydF4y2BaF *gydF4y2Ba,gydF4y2BacgydF4y2Ba(gydF4y2BaxgydF4y2Ba)≤0,gydF4y2Ba量表信gydF4y2Ba(gydF4y2BaxgydF4y2Ba) = 0,gydF4y2Ba·xgydF4y2Ba≤gydF4y2BabgydF4y2Ba,gydF4y2BaAeq·xgydF4y2Ba=gydF4y2Ba说真的gydF4y2Ba,gydF4y2BalgydF4y2Ba≤gydF4y2BaxgydF4y2Ba≤gydF4y2BaugydF4y2Ba.gydF4y2Ba

  • fminimaxgydF4y2Ba解决了一组非线性函数的最大值最小化问题,受所有类型的约束:gydF4y2Ba

    最小值gydF4y2Ba xgydF4y2Ba 马克斯gydF4y2Ba 我gydF4y2Ba FgydF4y2Ba 我gydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba

    这样gydF4y2BacgydF4y2Ba(gydF4y2BaxgydF4y2Ba)≤0,gydF4y2Ba量表信gydF4y2Ba(gydF4y2BaxgydF4y2Ba) = 0,gydF4y2Ba·xgydF4y2Ba≤gydF4y2BabgydF4y2Ba,gydF4y2BaAeq·xgydF4y2Ba=gydF4y2Ba说真的gydF4y2Ba,gydF4y2BalgydF4y2Ba≤gydF4y2BaxgydF4y2Ba≤gydF4y2BaugydF4y2Ba.gydF4y2Ba

    显然,这个问题是一个特殊的情况下,无规模的目标实现问题,与gydF4y2BaF *gydF4y2Ba我gydF4y2Ba= 0gydF4y2Ba而且gydF4y2BawgydF4y2Ba我gydF4y2Ba= 1gydF4y2Ba.gydF4y2Ba

算法gydF4y2Ba

目标实现方法gydF4y2Ba

介绍gydF4y2BaGembicki的目标实现方法gydF4y2Ba[3]gydF4y2Ba.这种方法使用一组设计目标,gydF4y2Ba FgydF4y2Ba *gydF4y2Ba =gydF4y2Ba {gydF4y2Ba FgydF4y2Ba 1gydF4y2Ba *gydF4y2Ba ,gydF4y2Ba FgydF4y2Ba 2gydF4y2Ba *gydF4y2Ba ,gydF4y2Ba ...gydF4y2Ba ,gydF4y2Ba FgydF4y2Ba 米gydF4y2Ba *gydF4y2Ba }gydF4y2Ba ,与一系列目标相关联,gydF4y2BaFgydF4y2Ba(gydF4y2BaxgydF4y2Ba) = {gydF4y2BaFgydF4y2Ba1gydF4y2Ba(gydF4y2BaxgydF4y2Ba),gydF4y2BaFgydF4y2Ba2gydF4y2Ba(gydF4y2BaxgydF4y2Ba),…gydF4y2BaFgydF4y2Ba米gydF4y2Ba(gydF4y2BaxgydF4y2Ba)}gydF4y2Ba.问题的表述允许目标未达到或超额实现,使设计师对初始设计目标相对不精确。目标未达到或超额完成的相对程度由一个加权系数矢量控制,gydF4y2BawgydF4y2Ba= {gydF4y2BawgydF4y2Ba1gydF4y2Ba,gydF4y2BawgydF4y2Ba2gydF4y2Ba、……gydF4y2BawgydF4y2Ba米gydF4y2Ba}gydF4y2Ba,用公式表示为标准优化问题gydF4y2Ba

最小化gydF4y2Ba γgydF4y2Ba ∈gydF4y2Ba ℜgydF4y2Ba ,gydF4y2Ba xgydF4y2Ba ∈gydF4y2Ba ΩgydF4y2Ba γgydF4y2Ba (2)gydF4y2Ba

这样gydF4y2Ba FgydF4y2Ba 我gydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba −gydF4y2Ba wgydF4y2Ba 我gydF4y2Ba γgydF4y2Ba ≤gydF4y2Ba FgydF4y2Ba 我gydF4y2Ba *gydF4y2Ba ,gydF4y2Ba 我gydF4y2Ba =gydF4y2Ba 1gydF4y2Ba ,gydF4y2Ba ...gydF4y2Ba ,gydF4y2Ba 米gydF4y2Ba .gydF4y2Ba

这个词gydF4y2BawgydF4y2Ba我gydF4y2BaγgydF4y2Ba引入一个元素gydF4y2Ba懈怠gydF4y2Ba进入这个问题,否则目标就会被严格满足。权重向量,gydF4y2BawgydF4y2Ba,使设计师能够表达目标之间相对权衡的度量。例如,设置权重向量gydF4y2BawgydF4y2Ba与初始目标相等表示未完成或超额完成目标的比例相同,gydF4y2BaF *gydF4y2Ba,是实现的。您可以通过将特定的权重因子设置为零(即,gydF4y2BawgydF4y2Ba我gydF4y2Ba= 0gydF4y2Ba).目标实现方法为设计问题提供了一种方便直观的解释,可以使用标准优化程序来解决。在控制系统设计中使用目标实现方法的例子可以在Fleming (gydF4y2Ba[10]gydF4y2Ba而且gydF4y2Ba[11]gydF4y2Ba).gydF4y2Ba

目标实现方法以几何形式表现在下图的二维空间中。gydF4y2Ba

图7-1,目标实现方法的几何表示gydF4y2Ba

直线[F_1*,F_2*] + [w_1,w_2]*gamma的图形。在[F_1,F_2]空间中,当x变化时,给定的gamma值的可行区域的图。最优点是直线与可行区域的交点。gydF4y2Ba

明确目标,gydF4y2Ba {gydF4y2Ba FgydF4y2Ba 1gydF4y2Ba *gydF4y2Ba ,gydF4y2Ba FgydF4y2Ba 2gydF4y2Ba *gydF4y2Ba }gydF4y2Ba ,定义目标点,gydF4y2BaPgydF4y2Ba.权重向量定义了搜索方向gydF4y2BaPgydF4y2Ba对可行函数空间,gydF4y2BaΛ(gydF4y2BaγgydF4y2Ba)gydF4y2Ba.优化过程中gydF4y2BaγgydF4y2Ba是可变的,它改变了可行区域的大小。约束边界收敛到唯一解点gydF4y2BaFgydF4y2Ba1gydF4y2Ba年代gydF4y2Ba,gydF4y2BaFgydF4y2Ba2gydF4y2Ba年代gydF4y2Ba.gydF4y2Ba

目标实现方法的算法改进gydF4y2Ba

目标实现方法的优点是它可以作为一个非线性规划问题。问题的特征也可以在非线性规划算法中加以利用。在顺序二次规划(SQP)中,直线搜索的优点函数的选择并不容易,因为在许多情况下,很难“定义”改善目标函数和减少约束违反之间的相对重要性。这导致了许多构建价值函数的不同方案(参见,例如,SchittkowskigydF4y2Ba[36]gydF4y2Ba).在目标实现编程中,可能有一个更合适的价值函数,你可以通过摆姿势来实现gydF4y2Ba方程2gydF4y2Ba这是极大极小问题gydF4y2Ba

最小化gydF4y2Ba xgydF4y2Ba ∈gydF4y2Ba ℜgydF4y2Ba ngydF4y2Ba 马克斯gydF4y2Ba 我gydF4y2Ba {gydF4y2Ba ΛgydF4y2Ba 我gydF4y2Ba }gydF4y2Ba ,gydF4y2Ba (3)gydF4y2Ba

在哪里gydF4y2Ba

ΛgydF4y2Ba 我gydF4y2Ba =gydF4y2Ba FgydF4y2Ba 我gydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba −gydF4y2Ba FgydF4y2Ba 我gydF4y2Ba *gydF4y2Ba wgydF4y2Ba 我gydF4y2Ba ,gydF4y2Ba 我gydF4y2Ba =gydF4y2Ba 1gydF4y2Ba ,gydF4y2Ba ...gydF4y2Ba ,gydF4y2Ba 米gydF4y2Ba .gydF4y2Ba

根据Brayton等人的观点。gydF4y2Ba[1]gydF4y2Ba对于极小极大优化使用SQP,使用的优点函数gydF4y2Ba方程30gydF4y2Ba的目标实现问题gydF4y2Ba方程3gydF4y2Ba给了gydF4y2Ba

ψgydF4y2Ba (gydF4y2Ba xgydF4y2Ba ,gydF4y2Ba γgydF4y2Ba )gydF4y2Ba =gydF4y2Ba γgydF4y2Ba +gydF4y2Ba ∑gydF4y2Ba 我gydF4y2Ba =gydF4y2Ba 1gydF4y2Ba 米gydF4y2Ba rgydF4y2Ba 我gydF4y2Ba ⋅gydF4y2Ba 马克斯gydF4y2Ba {gydF4y2Ba 0gydF4y2Ba ,gydF4y2Ba FgydF4y2Ba 我gydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba −gydF4y2Ba wgydF4y2Ba 我gydF4y2Ba γgydF4y2Ba −gydF4y2Ba FgydF4y2Ba 我gydF4y2Ba *gydF4y2Ba }gydF4y2Ba .gydF4y2Ba (4)gydF4y2Ba

当的价值函数gydF4y2Ba方程4gydF4y2Ba是用来作为基础的行搜索程序,那么,虽然gydF4y2BaψgydF4y2Ba(gydF4y2BaxgydF4y2Ba,gydF4y2BaγgydF4y2Ba)gydF4y2Ba在给定的搜索方向上减小一步,函数gydF4y2Ba马克斯gydF4y2BaΛgydF4y2Ba我gydF4y2Ba可能会矛盾地增加。这是在最坏的情况下接受退化的目标。因为最坏情况下的目标决定了目标函数的值gydF4y2BaγgydF4y2Ba,这是接受一个步骤,最终将目标函数增加到最小化。相反,gydF4y2BaψgydF4y2Ba(gydF4y2BaxgydF4y2Ba,gydF4y2BaγgydF4y2Ba)gydF4y2Ba可能会增加gydF4y2Ba马克斯gydF4y2BaΛgydF4y2Ba我gydF4y2Ba减少,意味着拒绝改善最坏情况目标的步骤。gydF4y2Ba

遵循Brayton等人的思路。gydF4y2Ba[1]gydF4y2Ba,解因此而定gydF4y2BaψgydF4y2Ba(gydF4y2BaxgydF4y2Ba)gydF4y2Ba等于最坏情况的目标,即,gydF4y2Ba

ψgydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba =gydF4y2Ba 马克斯gydF4y2Ba 我gydF4y2Ba ΛgydF4y2Ba 我gydF4y2Ba .gydF4y2Ba (5)gydF4y2Ba

目标实现方法中的一个问题是,通常使用等于0的权重系数来合并硬约束。的价值函数gydF4y2Ba方程5gydF4y2Ba如果任意违反约束,则变成无穷大。gydF4y2Ba

在克服这一问题的同时还保留了gydF4y2Ba方程5gydF4y2Ba的优值函数与的优值函数相结合gydF4y2Ba方程31gydF4y2Ba,提供以下资料:gydF4y2Ba

ψgydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba =gydF4y2Ba ∑gydF4y2Ba 我gydF4y2Ba =gydF4y2Ba 1gydF4y2Ba 米gydF4y2Ba {gydF4y2Ba rgydF4y2Ba 我gydF4y2Ba ⋅gydF4y2Ba 马克斯gydF4y2Ba {gydF4y2Ba 0gydF4y2Ba ,gydF4y2Ba FgydF4y2Ba 我gydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba −gydF4y2Ba wgydF4y2Ba 我gydF4y2Ba γgydF4y2Ba −gydF4y2Ba FgydF4y2Ba 我gydF4y2Ba *gydF4y2Ba }gydF4y2Ba 如果gydF4y2Ba wgydF4y2Ba 我gydF4y2Ba =gydF4y2Ba 0gydF4y2Ba 马克斯gydF4y2Ba 我gydF4y2Ba ΛgydF4y2Ba 我gydF4y2Ba ,gydF4y2Ba 我gydF4y2Ba =gydF4y2Ba 1gydF4y2Ba ,gydF4y2Ba ...gydF4y2Ba ,gydF4y2Ba 米gydF4y2Ba 否则gydF4y2Ba .gydF4y2Ba (6)gydF4y2Ba

SQP中可以利用的另一个特性是目标函数gydF4y2BaγgydF4y2Ba.从KKT方程可以看出拉格朗日量的黑森近似,gydF4y2BaHgydF4y2Ba,在与该变量关联的行和列中应该有零gydF4y2BaγgydF4y2Ba.但是,如果gydF4y2BaHgydF4y2Ba初始化为单位矩阵。gydF4y2BaHgydF4y2Ba因此,初始化和维护有零的行和列相关联gydF4y2BaγgydF4y2Ba.gydF4y2Ba

这些变化使得黑森,gydF4y2BaHgydF4y2Ba,不确定。因此gydF4y2BaHgydF4y2Ba所关联的行和列中设置为零gydF4y2BaγgydF4y2Ba,除了对角线元素,它被设置为一个小的正数(例如,gydF4y2Ba1 egydF4y2Ba-10)。这允许使用中描述的快速收敛正定QP方法gydF4y2Ba二次规划解gydF4y2Ba.gydF4y2Ba

上述修改已在gydF4y2BafgoalattaingydF4y2Ba并使该方法更加可靠。然而,由于SQP方法的快速收敛,优点函数严格减少的要求有时需要比使用的优点函数的SQP实现更多的函数评估gydF4y2Ba方程30gydF4y2Ba.gydF4y2Ba

最小化最大目标gydF4y2Ba

fminimaxgydF4y2Ba使用实现目标的方法。目标为0,权重为1。有了这个提法,实现目标的问题就变成了gydF4y2Ba

最小值gydF4y2Ba 我gydF4y2Ba 马克斯gydF4y2Ba xgydF4y2Ba (gydF4y2Ba fgydF4y2Ba 我gydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba −gydF4y2Ba ggydF4y2Ba ogydF4y2Ba 一个gydF4y2Ba lgydF4y2Ba 我gydF4y2Ba wgydF4y2Ba egydF4y2Ba 我gydF4y2Ba ggydF4y2Ba hgydF4y2Ba tgydF4y2Ba 我gydF4y2Ba )gydF4y2Ba =gydF4y2Ba 最小值gydF4y2Ba 我gydF4y2Ba 马克斯gydF4y2Ba xgydF4y2Ba fgydF4y2Ba 我gydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba ,gydF4y2Ba

这就是极大极小问题。gydF4y2Ba

顺便说一句,你可能会认为gydF4y2BafminimaxgydF4y2Ba将多目标函数转化为单一目标。这个函数gydF4y2Ba

fgydF4y2Ba(gydF4y2BaxgydF4y2Ba) = max(gydF4y2BaFgydF4y2Ba1gydF4y2Ba(gydF4y2BaxgydF4y2Ba),…gydF4y2BaFgydF4y2BajgydF4y2Ba(gydF4y2BaxgydF4y2Ba))gydF4y2Ba

是单目标函数的最小化。然而,它是不可微的,并且“优化工具箱”的目标需要是平滑的。因此极大极小问题被表述为平滑目标实现问题。gydF4y2Ba

参考文献gydF4y2Ba

[1] Brayton, R. K., S. W. Director, G. D. Hachtel和L. Vidigal,“基于准牛顿方法和函数分裂的统计电路设计新算法”,gydF4y2BaIEEE电路与系统汇刊gydF4y2Ba, CAS-26卷,第784-794页,1979年9月。gydF4y2Ba

弗莱明,p·j·普什克维奇,gydF4y2Ba基于多目标优化的计算机辅助控制系统设计gydF4y2Ba,控制1985年会议,剑桥,英国,第174-179页。gydF4y2Ba

[3] Gembicki, F.W,“基于性能和参数敏感性指数的矢量优化控制”,博士论文,凯斯西储大学,克利夫兰,OH, 1974。gydF4y2Ba

[4] Grace, A.C.W,“基于优化技术的计算机辅助控制系统设计”,博士论文,英国威尔士大学,Bangor, Gwynedd, 1989。gydF4y2Ba

[5] Han s.p.,“一种全局收敛的非线性规划方法,”gydF4y2Ba优化理论与应用杂志gydF4y2Ba,第22卷,第297页,1977。gydF4y2Ba

[6] Madsen, K.和H. schjer - jacobsen,“最坏情况容忍优化算法”,gydF4y2BaIEEE反式。电路与系统gydF4y2Ba, CAS-26卷,1979年9月。gydF4y2Ba

[7] Powell m.j.d.,“非线性约束优化计算的快速算法”,gydF4y2Ba数值分析gydF4y2BaG.A.沃森,gydF4y2Ba数学课堂讲稿gydF4y2Ba,卷630,施普林格出版社,1978年。gydF4y2Ba

另请参阅gydF4y2Ba

|gydF4y2Ba

相关的话题gydF4y2Ba