我有一个组合优化问题,我有一个遗传算法来近似全局最小值。
给定X个元素:min f(X)
现在我想扩展对所有可能子集的搜索,并找到与所有其他子集相比其全局最小值最大的一个子集。
X *是X的子集,find:max min f(X *)
示例图显示了三个子集的所有解(每种颜色一个)。黑点表示所有三个全局最小值的最高值。
image: solutions over three subsets
主要问题是评估子集之间的适应性再次运行子集内解决方案的收敛。此外,解决方案实际上是局部最小值。
如何一般性地描述这个问题?到目前为止,我在文献中找不到类似的问题。例如,如果它可以用多目标遗传算法解决。
非常感谢任何提示。
答案 0 :(得分:0)
虽然不一定总是提供最高的最小值(或最低的最大值),但是使用遗传算法保持局部最优的方法是实现一种适当的方法。这些是维持人口多样性的方法。
例如,在Niching Methods for Genetic Algorithms by Samir W. Mahfoud 1995中,可以找到以下句子:
使用构建的适应度共享模型,本研究得出了以概率伽马维持固定数量的理想壁ni所需的人口规模的下界。
如果您知道细分市场的数量并实施了上述解决方案,那么从理论上讲,您可以最终找到所需的局部最优值。