2017-07-03 137 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