[問題] 關於非線性問題的最佳化

作者: w12389034e (林小緯)   2016-01-11 11:08:04
如題
如果有一個非線性問題 變量為x 有八個
而且有邊界的設定:
x(1)+x(5)<=1800
x(2)+x(6)<=1200
x(3)+x(7)<=500
x(4)+x(8)<=1100
目標函數是
F = C1*[x(1)+x(4)]+C2*[x(2)+x(6)]+C3*[x(3)+x(7)]+C4*[x(4)+x(8)]
C1~C4都是常數
先前只有單變數的上下限限制 所以小弟使用lsqnonlin
求解效果還不錯 不過如果想要改成雙變數的上限下的話
lsqnonlin似乎做不到?
嘗試使用fmincon求解 結果跑出錯誤 如下
Error using fmincon (line 708)
User supplied objective function must return a scalar value.
翻了一下說明書 fmincon好像只能用在General smooth的問題?
問題很長 希望各位大大解惑 謝謝m(_ _)m
作者: tn00364361 (小氵斿)   2016-01-11 13:28:00
怎麼看起來好像應該是線性規劃的問題?
作者: sunev (Veritas)   2016-01-11 14:25:00
線性規劃請用 linprog
作者: LiamIssac (Madchester)   2016-01-11 19:15:00
What is the penalty fun?
作者: yugi2567 (coursera)   2016-01-11 19:36:00
你怎麼證明這就是最佳的?你有比較嗎?
作者: tn00364361 (小氵斿)   2016-01-12 10:19:00
所以penalty是非線性的嗎?
作者: LiamIssac (Madchester)   2016-01-12 15:14:00
你還是沒講你的penalty是什麼形式 問題應該出在那邊

Links booklink

Contact Us: admin [ a t ] ucptt.com