主要内容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

明确目标,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)中,线搜索的价值函数的选择是不容易的,因为在很多情况下,很难“定义”改善目标函数和减少约束违反之间的相对重要性。这就产生了许多构造价值函数的不同方案(参见Schittkowski)gydF4y2Ba[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方程可以看出,拉格朗日的Hessian近似,gydF4y2BaHgydF4y2Ba,与该变量相关联的行和列应该为零gydF4y2BaγgydF4y2Ba.但是,如果gydF4y2BaHgydF4y2Ba初始化为单位矩阵。gydF4y2BaHgydF4y2Ba因此初始化并维护与gydF4y2BaγgydF4y2Ba.gydF4y2Ba

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

上述修改已在gydF4y2BafgoalattaingydF4y2Ba并被发现使该方法更加稳健。然而,由于SQP方法的快速收敛,要求价值函数严格减小有时需要更多的函数评估,而不是使用的价值函数实现SQPgydF4y2Ba方程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,“基于拟牛顿方法和函数分裂的统计电路设计新算法”,gydF4y2Ba《IEEE电路与系统汇刊》gydF4y2Ba, CAS-26卷,784-794页,1979年9月。gydF4y2Ba

弗莱明,P.J.和A.P.帕什科维奇,gydF4y2Ba基于多目标优化方法的计算机辅助控制系统设计gydF4y2Ba, Control 1985 Conference, Cambridge, UK, pp. 174-179。gydF4y2Ba

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

Grace, A.C.W.,“使用优化技术的计算机辅助控制系统设计”,博士论文,威尔士大学,班戈,格温内德,英国,1989。gydF4y2Ba

[5] Han, S.P.,“非线性规划的全局收敛方法”,gydF4y2Ba优化理论与应用学报gydF4y2Ba,第22卷,第297页,1977年。gydF4y2Ba

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

[7] Powell, M.J.D,“非线性约束优化计算的快速算法”,gydF4y2Ba数值分析gydF4y2Ba, ed G.A. Watson,gydF4y2Ba数学课堂讲稿gydF4y2Ba费尔拉格出版社,1978年。gydF4y2Ba