In what order the transfer of functions take place in Fmincon?

3 views (last 30 days)
The functions are 1)Fmincon 2)Objective Function 3)Constraint Function. Also in which step does it make use of Initial Guess

Accepted Answer

Walter Roberson
Walter Roberson on 17 Jul 2019
fmincon is invoked first and controls all the other calls.
The initial value will never be used if it does not fit within the lb/ub constraints: those have priority even for the initial call.
fmincon will call the objective function once with the lb/ub corrected initial guess and will use that to validate that the objective is sane.
fmincon will then generate some new initial points that fit within lb/ub and will call the objective function with them. During this initial series, the constraint function is not called.
The values from the initial series are used to calculate a gradient.
Once the initial gradient is formed, the objective function might be called any number of times in a row, and the nonlinear constraint may be called any number of times in a row. Any given call to the objective function with a location is not necessarily followed by a call to the nonlinear constraint function with exactly the same position, and any given series of calls to the nonlinear constraint function will not necessarily be followed by a call to the objective function on any of the locations tested. The algorithm may use projections of locations instead of exact matches between the two functions.
You can track all this yourself by putting in display statements in the objective function and the nonlinear constraint function.

More Answers (0)

Categories

Find more on Nonlinear Analysis in Help Center and File Exchange

Products


Release

R2019a

Community Treasure Hunt

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

Start Hunting!