0

我有一个非线性函数来最小化,它满足线性不等式约束和非负约束。我为此使用fmincon设置下限0

x >= 0尽管满足线性不等式约束,但我得到的答案似乎并不满足。我不确定我要最小化的函数是否是凸函数(它可能有局部最小值),但我认为这不会影响任何事情。

仅供参考,这是我正在使用的语法:

h = fmincon(@(x)constraint_test(x,s,Cov), A,b, [],[], 0,[])

constraint_test是要最小化的函数,所有其他变量 ( s,Cov,A,b) 都是已知的。

4

1 回答 1

0

该函数fmincon有一堆额外的输出

[X,FVAL,EXITFLAG,OUTPUT,LAMBDA] = fmincon(...)

其中EXITFLAGOUTPUT提供有关优化如何终止的各种信息。此外,您可以传入一个选项:

options = optimset('display', 'iter-detailed');

h = fmincon(..., options);

这将准确地向您展示fmincon在每次迭代中决定和执行的操作。

听起来它只是无法找到任何可行的解决方案,这在您分析这些输出时肯定会出现。

于 2012-10-09T07:50:36.377 回答