Reduce the objective function value in fmicon

1 view (last 30 days)
Akhil
Akhil on 2 Feb 2024
Edited: Matt J on 2 Feb 2024
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

Answers (2)

Matt J
Matt J on 2 Feb 2024
Edited: Matt J on 2 Feb 2024
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 on 2 Feb 2024
Moved: Matt J on 2 Feb 2024
Try different starting points, such as trying MultiStart

Categories

Find more on Get Started with Optimization Toolbox in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!