多目标求解会筛选出一个相对较优的解的集合,在这个集合里就要用到pareto找出相对优的解或者最优解。
多目标优化问题的数学模型一般可以写成如下形式:
fig 2表示n个目标函数,目标是都使之达到最小。
fig 3是其变量的约束集合,可以理解为变量的取值范围,下面介绍具体的解之间的支配,占优关系。
1:解A优于解B(解A强帕累托支配解B)
假设现在有两个目标函数,解A对应的目标函数值都比解B对应的目标函数值好,则称解A比解B优越,也可以叫做解A强帕累托支配解B,举个例子,就很容易懂了.
下图中代表的是两个目标的的解的情况,横纵坐标表示两个目标函数值,E点表示的解所对应的两个目标函数值都小于C,D两个点表示的解所对应的两个目标函数值,所以解E优于解C,D.
2:解A无差别于解B(解A能帕累托支配解B)
同样假设两个目标函数,解A对应的一个目标函数值优于解B对应的一个目标函数值,但是解A对应的另一个目标函数值要差于解B对应的一个目标函数值,则称解A无差别于解B,也叫作解A能帕累托支配解B,举个例子,还是上面的图,点C和点D就是这种情况,C点在第一个目标函数的值比D小,在第二个函数的值比D大。
3:最优解
假设在设计空间中,解A对应的目标函数值优越其他任何解,则称解A为最优解,举个例子,下图的x1就是两个目标函数的最优解,使两个目标函数同时达到最小,但是前面也说过,实际生活中这种解是不可能存在的。真要存在就好了,由此提出了帕累托最优解.
4:帕累托最优解
同样假设两个目标函数,对于解A而言,在 变量空间 中找不到其他的解能够优于解A(注意这里的优于一定要两个目标函数值都优于A对应的函数值),那么解A就是帕累托最优解.
举个例子,下图中应该找不到比 x1 对应的目标函数都小的解了吧,即找不到一个解优于 x1 了,同理也找不到比 x2 更优的解了,所以这两个解都是帕累托最优解,实际上,x1-x2 这个范围的解都是帕累托最优解,不信自己慢慢想。因此对于多目标优化问题而言,帕累托最优解只是问题的一个可接受解,一般都存在多个帕累托最优解,这个时候就需要人们自己决策了。
5:帕累托最优前沿
还是看 刚才 那张图 ,如下图所示,更好的理解一下帕累托最优解,实心点表示的解都是帕累托最优解,所有的帕累托最优解构成帕累托最优解集,这些解经目标函数映射构成了该问题的Pareto最优前沿或Pareto前沿面,说人话,即帕累托最优解对应的目标函数值就是帕累托最优前沿。
对于两个目标的问题,其Pareto最优前沿通常是条线。而对于多个目标,其Pareto最优前沿通常是一个超曲面。
图片来源于网络,侵删。