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

回答(2 个)

Matt J
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;

Walter Roberson
Walter Roberson 2024-2-2
移动:Matt J 2024-2-2
Try different starting points, such as trying MultiStart

类别

Help CenterFile 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!

Translated by