目标函数是非线性的,其中包括平方和的开根,然后再做除法,总之很复杂.
不过约束条件都是线性的,可以表达成 C'x<b 的形式,这里C,x都是向量。

现在调用fmincon的代码如下:
[x,fval] = fmincon(@(x) lamda(x,C1,C2,C3,f1_b,f2_u,f3_u,f1_opt,f2_opt,f3_opt), x0, AA, BB,[],[],bx,ux);
其中AA,BB分别为不等式左右两端构成的矩阵或向量,bx,ux为x的上下限约束,
lamda是目标函数。

所遇到的问题是:
优化结果中的x,总是超出我对它的限制,即不在[bx,ux]的范围内!

command窗口中的信息为:
---Warning: Large-scale (trust region) method does not currently solve this type of problem, switching to medium-scale (line search).
Optimization terminated: no feasible solution found. Magnitude of search
direction less than 2*options.TolX but constraints are not satisfied.

请问高手们,为什么给定了bx,ux,却不能限制x的范围!!!
多谢多谢!