Untitled

可以发现,我们将MMOP问题转换成一个双目标优化问题,当f(x)找到最优解,后半部分为0,可以通过找到使得后半部分接近0时的邻域信息进行随机选取。

当我们找到最优解的时候,可以发现这个双目标优化问题变成了

Untitled

由此可以知道,在这个双目标优化问题中的最优解就是MMOP问题中的最优解。

对于参数$\eta$是来平衡决策变量和目标函数的,当$\eta$越大意味着种群的选择压力越大。

Untitled

在代码中我们也可以发现$\eta$也是随着程序运行而增加的。

$currentFes = currentFes + NP(NP表示种群规模,其实就是计算次数)$

对于复杂的函数(可能具有大量的局部最优解),MOMMOP的效果并不好,我认为有以下原因:

(1)种群收敛速度太快,导致收敛到的往往是局部最优。也就是找到的BestOFV不是全局最优。

(2)种群多样性不足,在MOMMOP中主要采用差分进化和非支配排序,并没有更深的优化种群的多样性。

改进策略1:

Untitled

针对种群的多样性不足,我想根据目前的当前的最优(BestOFV)周围设置一个邻域生成一定数量的随机数,再进行搜索机制,这样既可以保证峰值周围的种群可以更好的收敛到最高点,也可以保证种群的多样性。

For i = 1 to NP do
	BestOFV = 当前最优
	求解各个决策变量之间的距离(x to x)
	求解每个个体与它最近个体的平均距离(最近是多近给个阈值)
	根据平均距离设置一个邻域(左右两边)
	根据邻域生成一定数量的种群合并到父群中去
	执行相应的搜索机制,判断当前的最优BestOFV。更新BestOFV
end

对于搜索后期建议采用CMA-ES,因为他有较好的局部搜索能力

基于聚类的思想