简体   繁体   中英

Some issues with fmincon in matlab

I was using Matlab's fmincon but the optimization stopped with the following message

fmincon stopped because the size of the current step is less than
the selected value of the step size tolerance.

I have TolX set to 10^-10 and Tolfun to 10^-10 as well

I checked the logs and the first-order optimality was 198. Therefore this is definitely not the optimum solution. What could possibly go wrong?

Further, I used different version of matlab R2013b and R2014a and for the same code and data, they have different results. Is there something wrong with fmincon in matlab R2013b?

When you have a question about the difference between two versions of Matlab or, as in this case, two toolbox versions, the first place to check is release notes: for Matlab and for the Optimization toolbox . Indeed, it seems that fmincon was updated . Do you specify an 'Algorithm' ? If not, the difference may be due the different default in R2014a. In this case, you may be able to specify the use of the 'interior-point' algorithm in R2013b and get better results.

You can read about the algorithms used by fmincon here .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM