对于多目标优化问题,简单的来说就是存在许多问题,而解决这些问题的因素又是同相同的,当这些因素(解)在某个状态下使得这些“许多问题”中的某个(或者某些)问题达到了令人满意的效果,但是对于这些“许多问题”中的其他问题,没有达到人们想要的结果,所以在均衡这些“许多问题”同时达到令人满意的效果的时候,就要考虑究竟哪个解是对每个问题都能使它们同时达到令人满意的效果。所以就延伸出了许多找到这些解的方法。
帕累托最优解:
对于一个解(单维或者多维)来说,它能够使每一个问题都能达到极值,并且在每一个问题的中,没有其它的解对于每一个问题都能比这个解好(可能存在一部分问题优于这个解,单一定不是全部都优于),那么这个解就称作帕累托最优解。
帕累托解集:
所有帕累托解的集合就叫做帕累托解集。
帕累托前沿:
每个帕雷托解都带入到所要优化的问题中(即带入到要优化的每各函数中),每个解在以目标函数为坐标的情况下,每个解带入到函数中所产生的值,对应目标函数为坐标(目标空间)的一个点,这些点所组成的图形就叫做帕累托前沿。
【转】:http://blog.csdn.net/qithon/article/details/72885053
现在来讲讲主流的多目标进化算法。
从进化算法的角度来讲,目前已有遗传算法(GA),粒子群算法(PSO),蚁群算法(ACO)等一系列算法用来解决多目标优化问题,但用的比较多的还是遗传算法,粒子群算法也有。
从多目标问题本身来说,主要分类如下:
- 基于Pareto支配关系
- 基于分解的方法
- 基于Indicator方法
先来介绍下基于遗传算法的多目标优化算法的一些基本参数:
种群大小:每次迭代都需保证种群大小是一致的,且其大小应由初始化设定。
交叉概率:用于衡量两个个体交叉的概率。
突变率:交叉产生的解发生突变的概率。
标准的遗传算法每次迭代都会将上一代的个体丢弃,虽然这符合自然规律,但对于遗传算法来说,这样效果不是特别好,因此,精英保留策略将上一代个体和当前个体混合竞争产生下一代,这种机制能较好的保留精英个体。