fmincon fails when I increase the lower and upper bounds
1 view (last 30 days)
Show older comments
Hi,
I am running an optimisation routine with two variables. The solution converges to an optimal value when I use a very small range for my second variable but when I increase the bounds the solver fails saying, ''the size of the current step is less than the value of the step size tolerance but constraints are not satisfied to within the value of the constraint tolerance." However, it converged with the same options and step size tolerance when the bounds were small. Can someone explain the reason for this error and how to solve this?
Thanks.
0 Comments
Answers (1)
Nipun
on 17 Apr 2024
Hi Gekkouga,
I understand that you are facing an "infeasible solution" error while using the "fmincon" function in MATLAB.
Based on the shared information, the solver converges to a feasible solution for a specific lower and upper bound. However, as the bounds are increased, the solver is unable to provide with a solution.
"fmincon" is a gradient based solver based on the bounds provided. When changing the bounds, the gradient range may change affecting the solution. Since the bounds are increased, I assume that both lower and upper bound values are increased.
On increasing the lower bound, some range of the initial bound will be skipped. It may happen that the solution point lies in this skipped bound region for a specific set of equations and constraints.
Without knowing the equations and constraints, it is not possible to comment exactly on the cause of this error.
Hope this helps.
Regards,
Nipun
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!