《多目标进化优化》笔记

本文详细介绍了多目标进化优化的基础,包括进化算法、适用度评价、多目标优化问题和帕累托最优解集。重点讲解了帕累托最优解的概念、非支配解集的构造方法,如庄家法、擂台赛法和递归方法。同时,讨论了保持进化群体分布性的策略,如小生境技术、信息熵和聚集密度。文章还涉及动态多目标优化问题的分类和解决策略,如保持种群多样性、基于记忆和预测的方法。
摘要由CSDN通过智能技术生成

目前在做多目标优化这块的研究,找了一本郑金华的《多目标进化优化》恶补下基础知识,有需要的可以下载电子版,一起优化优化。在此笔记来督促自己的科研进度,有个输出的过程,也方便和各位同方向的同学们一起交流探讨!

多目标优化的基础知识:《高等代数》、《矩阵分析》和《凸优化》等基础数学的内容。

主要分为多目标进化优化基础、多目标帕累托最优解集构造方法、多目标进化群体的分布性、多目标进化算法的收敛性、多目标进化算法和基于动态环境的MOEA等内容。

1.多目标进化优化基础

1.1进化算法

进化算法包括三类:遗传算法(GA)、进化规划(EP)和进化策略(ES),基本思想都是来自达尔文的自然选择进化的机理,特点是群体搜索策略和群体个体之间的信息交换,适用于处理较难的非线性问题。

遗传算法的基本流程

 评价:遗传算法由于其工作原理不受搜索空间的限制性约束,能从离散的、多极值的、含噪音的高维空间问题中以很大的概率找到全局最优解,并且由于并行性,适合大规模的并行计算

设计或应用时的注意点:

        1.个体适应度的计算方法,由适应度函数决定

        2.交叉概率P_{c}一般比较大,如0.9;变异概率P_{m}一般都很小,可能是0.005这种数量级。

        3.产生新一代群体时,必须采用最优个体保留机制,即将上一代最优个体直接复制到下一代新群体中。(不这么做会导致算法不收敛)

        4.遗传算法的终止条件最简单有俩种:一种是完成预定的进化代数,二是种群中的最优个体在连续若干代没有改进或平均适应度在若干代基本没有改进

 编码:问题空间向编码空间的映射称为编码,反之称为译码。

编码的三个原则:完备性、健全性和非冗余性,可理解为染色体和解一一对应。(问题空间中的点理解为可行解,算法编码空间中的点理解为染色体位串)

适用度评价

遗传算法中,为体现适者生存的原则,必须要对个体位串(算法编码空间中的点)的适应性进行评价,使用适应度来表现,适应度越高,生存能力越强。

S^{L}表示位串空间,适应度函数表示为f():S^{L}\rightarrow R^{+},可看出是一个实值的函数。即适应度是一个非负的实数。

给定一个优化问题g(x)     (x\in [u,v])可行解,g(x)有正有负,要保证优化问题的适应度函数是非负的,且目标函数的优化方向是使得适应度函数越来越大的方向。设计一个转换函数,确定一个优化问题的适应度函数:T: g\rightarrow f

举例:对于最小化问题,ming(x), 转换函数设计为:f(x)=\left\{\begin{matrix} &C _{max}-g(x), g(x)<C_{max}\\ & 0, otherwise \end{matrix}\right.

其中,C_{max}可以看作是一个自定的输入值,也可看成是理论上的最大值,或者是当前所有代/最近k代g(x)的最大值,在后一种情况中,C_{max}随着代数变化。

        对于最大化问题,maxg(x),设计为f(x)=\left\{\begin{matrix} g(x)-C_{min}, g(x)>C_{min} & \\ 0, otherwise & \end{matrix}\right.

 同样的,C_{min}的取值参照C_{max}的设计取输入值或者是最小值。

遗传操作

遗传操作的操作算子有三个:选择(selection,或复制reproduction)、交叉(crossover或重组recombination)和变异(mutation)。依次执行,产生新一代群体来实现进化,因此算子的设计是遗传策略的主要组成部分,也是调整和控制进化过程的工具。

1)选择算子:选择算子从当前进化群体中选择适应度高的个体,放入交配池(mating pool),使得后续交叉算子从交配池中随机的选取个体进行交叉操作。

常用的选择算子主要有:适应值比例选择、排序选择、联赛选择等

2)交叉算子:是模仿自然界有性繁殖的基因重组过程,将原有的优良基因传给下一代个体,生成包含更复杂基因结构的新个体。有以下几个步骤:

                一、从交配池中随机取出要交配的一对个体

                二、根据位串长度L,对要交配的一对个体,随机选取[1,L-1]中一个或多个整数k作为交叉位置

                三、根据交叉概率P_{c}  (0<P_{c}\leqslant 1),实行交叉操作(即配对个体在交叉位置相互交换各自的部分内容,形成新的一对个体)

交叉算子通常由一点交叉、两点交叉、多点交叉、一致交叉等形式

3)变异算子:当交叉操作产生的后代个体的适应度不再比其前代更好,但又为达到全局最优解的时候,就会发生非成熟收敛或早熟收敛,这个时候引入变异算子可以产生很好的效果:一方面丢失的信息可以恢复,保持群体中个体的多样性,防止发生非成熟收敛,另一方面,当种种群规模较大时,适度的变异能提高算法的局部搜索效率。

变异操作模拟染色体基因突变。在群体进化的过程中,交叉操作是最主要的基因重组和群体更迭的手段,变异操作是起着重要的辅助作用

1.2多目标优化问题

给定有关多目标优化问题的一般描述:

决策向量X = (x_{1},x_{2},...,x_{n}) ,它满足下列约束:

                g_{i}(x)\geqslant 0      (i = 1,2,...,k)

                h_{i}(x) = 0     (i = 1,2,...,l)

假设有r个优化目标,且这r个优化目标是相互冲突的,优化目标可表示为

                f(X)=(f_{1}(X),f_{2}(X),...,f_{r}(X))

寻求X^{*}=({x_{1}^{*},...,x_{n}^{*}}),使得f(X^{*})在满足约束的同时达到最优。

在多目标优化中,存在下列三种情况:

一、最小化所有的子目标函数

二、最大化所有的子目标函数

三、最小化部分子目标函数,而最大化其他子目标函数

这本书都是求总目标的最小化,即minf(X)=(f_{1}(X),f_{2}(X),...,f_{r}(X))

1.3多目标进化个体之间关系

个体的支配关系:是多目标个体之间的一种重要的关系。设pq是进化群体Pop中的任意两个不同的个体,我们称p支配(dominate) q,必须满足两个条件:

一.对所有的子目标,p不比q 差,即f_{k}(p)\leqslant f_{k}(q)   (k = 1,2,...,r)

二.至少存在一个子目标,使得 pq好,即\exists l \in {1,2,\cdots ,r},使得f_{l}(p)\leqslant f_{l}(q)

此时,就称p为非支配(non-dominated),q为被支配的(dominated)。表示为p\succ q

上述的支配关系的定义是针对决策空间的,同样的,目标空间也有支配关系

目标空间中的支配关系:设     U=(u_{1},u_{2},\cdots ,u_{r})  和  V=(v_{1},v_{2},\cdots ,v_{r})是目标空间的两个向量,当且仅当u_{k}\leqslant v_{k} (k = 1,2,\cdots ,r),且\exists l\in \left \{ {1,2,\cdots ,r} \right \},使得u_{l}<v_{l}

决策空间的支配关系与目标空间中的支配关系是一致的,因为决策空间中的支配关系实质上就是由目标空间中的支配关系决定的。此外支配关系按照程度还分为弱非支配和强非支配。

1.4基于帕累托的多目标最优解集

1.4.1帕累托最优解

多目标优化中的最优解通常称为帕累托最优解。

给定一个多目标优化问题f(X),它的最优解X^{*}定义为

                        f(X^{*})= \begin{matrix} opt\\ X\in \Omega \end{matrix}f(X)

其中          f:\Omega \rightarrow \mathbb{R}^{r}

式中,\Omega为满足约束条件的解的集合,也就是可行解,  \Omega =\left \{ X\in \mathbb{R}^{n}|g_{i}(X)\geqslant 0,h_{j}(X)=0 (i = 1,2,\cdots ,k;j=1,2,\cdots ,l) \right \}

\Omega称为决策变量空间(决策空间),向量函数 f(X)\Omega\subseteq R^{n}映射到目标函数空间\Pi \subseteq \mathbb{R}^{r}

给定一个多目标优化问题min f(x),称X^{*}\in \Omega是最优解,若\forall X\in \Omega,满足下述条件:

                \begin{matrix} \wedge \\ i\in I\end{matrix}(f_{i}(X)=f_{i}(X^{*}))

或者至少存在一个j\in II=\left \{ 1,2,\cdots ,r \right \},使得f_{j}(X)> f_{j}(X^{*})

式中,\Omega =\left \{ X\in \mathbb{R}^{n}|g_{i}(X)\geqslant 0,h_{j}(X)=0 (i = 1,2,\cdots ,k;j=1,2,\cdots ,l) \right \}

给定一个多目标优化问题min f(x),设X_{1},X_{2}\in \Omega,如果f(X_{1})\leqslant f(X_{2}),则称X_{1}X_{2}优越,

f(X_{1})< f(X_{2}),则称

目标优化算法测试函数是用来评价和比较多目标优化算法性能的工具。这些测试函数需要能够反映多目标优化问题的基本特性,如连续的或非连续的、可导或不可导的、凸的或凹的、单峰的或多峰的、欺骗问题或非欺骗问题等。常见的基准多目标测试函数包括MOP1-MOP7、带偏约束的MOP-C–MOP-C5、ZDT1-ZDT5MOPC5、ZDTI-ZDT6,以及DILZ1~DmLZ7等 [1。 对于多目标优化问题,除了考虑算法的收敛性能,还需要考虑算法在Pareto最优面上的分布度。因此,构造测试函数时需要考虑目标个数的可变性以及函数特征与实际应用问题的模拟。通过对多目标优化算法进行测试和比较,可以更深入地理解算法的运行机理,从而提高算法的效率 [2。 然而,测试函数集虽然在评价和比较算法性能方面有意义,但并不能保证算法在实际应用问题中的效果和效率。因为在将MOP领域和MOEA领域结合时,新的和未知的情况会使算法的运行结果变得不理想。因此,一个有价值且有意义的测试集应当考虑到所有可能的情况。只有在考虑到所有情况的情况下,才能说一个多目标优化算法的测试函数集是一个有价值的工具 [3。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [多目标优化学习笔记3:测试函数小结(DZT)](https://blog.csdn.net/sunchaooc/article/details/120323581)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [【多目标进化优化】 MOEA 测试函数](https://blog.csdn.net/qq_46450354/article/details/128134736)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值