Reduce the objective function value in fmicon
1 次查看(过去 30 天)
显示 更早的评论
options = optimoptions('fmincon', 'Display', 'iter', 'Algorithm', 'interior-point','MaxFunctionEvaluations',100000000,'MaxIterations', 100000000,'PlotFcns',@optimplotfval);
For this objective function value is coming in the order of e+10,
Optimization completed because the objective function is non-decreasing in
feasible directions, to within the value of the optimality tolerance,
and constraints are satisfied to within the value of the constraint tolerance.
please suggest a way to reduce the objective function value
0 个评论
回答(2 个)
Matt J
2024-2-2
编辑:Matt J
2024-2-2
For this objective function value is coming in the order of e+10
You seem to think this value is large and far from the optimum, but there's no reason for the rest of us to think so. We haven't seen the value of the objective function at any other points, and so have no basis for comparison. You should plot your objective along a line connecting your initial point x0 to the final point xfinal found by fmincon, as one way to assess the reduction.
g=@(t) objective( (1-t)*x0+t*xfinal );
t=union(1, linspace(0,2,20) );
plot(t,arrayfun(g,t),'o--'); xlabel t; ylabel Objective;
0 个评论
Walter Roberson
2024-2-2
移动:Matt J
2024-2-2
Try different starting points, such as trying MultiStart
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Get Started with Optimization Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!