如何在遗传算法工具箱中优化多目标函数

时间:2014-11-10 14:53:12

标签: optimization matlab genetic-algorithm

我在GA工具箱中优化了单目标函数,但如何优化多个目标函数?

例如,我需要优化以下一组目标函数:

f1 = x(1)^2 - 2*x(1)*x(2) + 6*x(1) + x(2)^2 - 6*x(2);
f2 = x(2) + x(3)*x(4);
f3 = x(4)^2 - x(5);

注意:上面的函数是如何相互链接的,因此变量也是相互关联的

  1. 如何以.m文件或其他方式表示这些功能?
  2. 我担心这些相互关联的函数是否会影响变量,因为我只需要对变量x1x5的单个优化值。

1 个答案:

答案 0 :(得分:0)

遗传算法的适应度函数的图像必须是完全有序的集合。通常在计算这些东西时,我们处理实数(或使用浮点数的计算机表示)。让这样的事情发挥作用的最简单方法是计算f1f2f3中的每一个,然后将这些函数的结果组合起来以创建新的目标函数。如果你这样做那么你只是再次优化一个目标函数,至少从编程方面来看,这应该可以通过与之前相同的界面使用。也许最困难的事情是找到组合功能的最佳方式。