2017-07-03 141 views
0

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

回答

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)就可以更好/更快。

+0

Brendan,谢谢你的详细解答。 – sukhalid

+0

这是我现在面对的补充问题,我们可以使用多目标进化算法来解决单个目标优化问题。这是否可能,也是合理的?如果不是那么我们如何去做。我的首选是使用SPEA2,我可以使用它来最大化目标函数。 – sukhalid