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

1 次查看(过去 30 天)
The functions are 1)Fmincon 2)Objective Function 3)Constraint Function. Also in which step does it make use of Initial Guess

采纳的回答

Walter Roberson
Walter Roberson 2019-7-17
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.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Optimization 的更多信息

标签

产品


版本

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by