进化优化算法

时间:2017-07-03 17:52:25

标签: algorithm optimization evolutionary-algorithm

我想使用强度帕累托进化算法(SPEA2)优化以下目标函数max f = profit(x,y) - expense(x,y) subject to: 0<= x, y <=1。目标函数是非线性的,不是决策变量的凸函数或凹函数。我可以将目标函数分解为maximize profit(x,y)minimize expense(x,y)两个,然后在最后组合优化它们。我不知道它是否有意义,对不起,我对这个提起来是全新的。我将不胜感激任何帮助。

1 个答案:

答案 0 :(得分:0)

注意:(一般而言)profit = income - expense;而你所问的看起来很狡猾(例如something = profit - expense = income - 2 * expense),所以我会假设你所谓的“收入”就是你所说的“利润”。

不,您找不到max. income(x,y)min. expense(x,y)并在最后合并/优化它们,因为您可以预期收入和费用之间的关系(例如,随着费用增加收入增加)。

也;不要忘记解决这类问题的最佳方法是扩展和简化最终的功能。

一个非常简单的例子:

income = items * bonus + items * 0.9 * $123.45

expense = bonus * $1 + items * $99.00

profit = income - expense
       = (items * bonus + items * 0.9 * $123.45) - (bonus * $1 + items * $99.00)
       = items * bonus - bonus * $1 + items * 0.9 * $123.45 - items * $99.00
       = (items - 1) * bonus + items * (0.9 * 123.45 - 99.00)
       = (items - 1) * bonus + items * 12.105

换句话说;如果你能找到max. income(x,y)min. expense(x,y)并在最后组合/优化它们,你仍然不会想要,因为效率更低/更慢,更好/更快才能找到max. profit(x,y)