遗传算法 - 找到最小化子集的最大值

时间:2017-09-27 08:53:22

标签: optimization genetic-algorithm

我有一个组合优化问题,我有一个遗传算法来近似全局最小值。

给定X个元素:min f(X)

现在我想扩展对所有可能子集的搜索,并找到与所有其他子集相比其全局最小值最大的一个子集。

X *是X的子集,find:max min f(X *)

示例图显示了三个子集的所有解(每种颜色一个)。黑点表示所有三个全局最小值的最高值。

image: solutions over three subsets

主要问题是评估子集之间的适应性再次运行子集内解决方案的收敛。此外,解决方案实际上是局部最小值。

如何一般性地描述这个问题?到目前为止,我在文献中找不到类似的问题。例如,如果它可以用多目标遗传算法解决。

非常感谢任何提示。

1 个答案:

答案 0 :(得分:0)

虽然不一定总是提供最高的最小值(或最低的最大值),但是使用遗传算法保持局部最优的方法是实现一种适当的方法。这些是维持人口多样性的方法。

例如,在Niching Methods for Genetic Algorithms by Samir W. Mahfoud 1995中,可以找到以下句子:

  

使用构建的适应度共享模型,本研究得出了以概率伽马维持固定数量的理想壁ni所需的人口规模的下界。

如果您知道细分市场的数量并实施了上述解决方案,那么从理论上讲,您可以最终找到所需的局部最优值。