主题:【求助】一个非线性最小化问题 -- 喜欢喝冰茶
共:💬7 🌺3
有3个未知数,x,y,z;4个表达式,形式都一样:ax^2+bxyz+c ,只不过有4组a,b,c。
而且x,y,z都各在固定的区间内,例如x in [x0,x1],y in [y0,y1], z in [z0,z1]。
问题是如何找出一组或多组x y z,
min(Sum(abs(ai*x^2+bi*x*y*z+ci))),i= 1,2,3,4
Matlab或者其他软件有什么现成的toolbox能干这个?
知道河里牛人多,麻烦指点一下,多谢!
Matlab 有优化的工具箱,你可以查一下帮助。Excel 也有一个优化的工具,用的是GRG方法,对此问题也可以用。
1.直接用fmincon in matlab
2.y和z是对称的,可以合并为一个变量(对constrain有影响)。两个变量的问题,直接gridding,brutal force计算landscape,都可以直接画出来。
3.let x1=x^2, x2=xyz,就是一个受约束线性规划。
“形式都一样:ax^2+bxyz+c=0 ,”
要是ai*x^2+bi*x*y*z+ci都等于0了,就没有最小化问题了……
找到的是globle的,不是local的?假如对运算次数有一定限制的话,如果这个global minimum在一个非常窄的井底怎么办涅?
您说得3的话,是否能保证等价,毕竟x,y,z有区间限制。如果等价的话,俺个人比较倾向于这种办法。
可应用库恩-塔克定理求解。
如果是非线性规划,可能有多个局部最优解。