matlab的FMINCON解在上界终止

matlab的FMINCON解在上界终止,matlab,optimization,curve-fitting,nonlinear-optimization,Matlab,Optimization,Curve Fitting,Nonlinear Optimization,我正在使用FMINCO SQP运行优化算法,以优化8个变量的问题。以下是参数: g = [g1 g2 g3 g4 g5 g6 g7 g8] %my variables lb = [0 0 0 0 0 0 0 0]; ub = [1 1 1 1 1 1 1 1]; 目标函数的最小化定义为: sse = sum((test results - calculated)).^2; 受线性约束: A = [1,1,1,1,1,1,1,1]; b = 1; ceq = []; 优化过程的目的是拟合如

我正在使用FMINCO SQP运行优化算法,以优化8个变量的问题。以下是参数:

g = [g1 g2 g3 g4 g5 g6 g7 g8] %my variables
lb = [0 0 0 0 0 0 0 0];
ub = [1 1 1 1 1 1 1 1];
目标函数的最小化定义为:

sse = sum((test results - calculated)).^2; 
受线性约束:

A = [1,1,1,1,1,1,1,1];
b = 1;
ceq = [];
优化过程的目的是拟合如图所示的曲线。
蓝线代表测试结果,洋红是从优化变量获得的曲线

问题:虽然我能够根据需要拟合曲线,但优化后的变量的值最终位于上限。我已经为
fmincon
实现了以下代码:

options = optimset('Display', 'iter','Algorithm','sqp', 'TolX',1e-10, 'TolFun', 1e-20,'MaxIter', 10000000000,'MaxFunEvals', 10000000000);

[y,fval,exitflag,output] = fmincon('objective', ginit, A,b,[],[],lb,ub,[], options);

有谁能给我提供一个稳健的方法来克服优化解决方案在上限终止的问题吗?您能告诉我这个问题背后的原因吗?

除了max非常准确的评论之外,您是否确定您的意思是:

sse=总和((测试结果-计算)。^2)

与此相反:

sse=总和((测试结果-计算))^2


除了max非常准确的评论之外,您是否肯定您的意思是:

sse=总和((测试结果-计算)。^2)

与此相反:

sse=总和((测试结果-计算))^2


为什么处于上限是不好的?这通常表明您的搜索空间太窄(即您的上限太低)。你很可能会以错误的权衡而告终。。。这并不一定是一个精确的拟合到您的曲线部分(如您的图像所示)。这取决于你如何制定目标函数为什么处于上限是不好的?这通常表明您的搜索空间太窄(即您的上限太低)。你很可能会以错误的权衡而告终。。。这并不一定是一个精确的拟合到您的曲线部分(如您的图像所示)。这取决于你如何制定目标函数