[问题] 关于非线性问题的最佳化

楼主: 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