fmincon fails when I increase the lower and upper bounds

조회 수: 3 (최근 30일)
Abinav
Abinav 2021년 1월 28일
답변: Nipun 2024년 4월 17일
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.

답변 (1개)

Nipun
Nipun 2024년 4월 17일
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

카테고리

Help CenterFile Exchange에서 Solver Outputs and Iterative Display에 대해 자세히 알아보기

제품


릴리스

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by