BobyqaOpt

This block finds the least value of a function of many variables by applying a trust region method that forms quadratic models by interpolation. Some freedom is usually present in the interpolation conditions, which are taken up by minimizing the Frobenius norm of the change to the second derivative of the model, beginning with the zero matrix. The values of the variables are constrained by upper and lower bounds.

    BobyqaOpt

Library

Optimization

Description

This block implements the Bobyqa optimization program in reverse communication mode. When activated, the block expects to receive on its input ports respectively the value of the optimization vector p and the associated cost. It produces then a value of p either for the next iteration expecting a cost evaluation or as the optimal solution.

At the final iteration the block generates an output event and produces the optimal value of p and the associated cost. Otherwise the block forces a re-initialization of the simulation.

For more details, please refer to the section on Optimization in the Extended Definitions for Advanced Users.

Parameters

BobyqaOpt_0

NameLabelDescriptionData TypeValid Values

xL

Variables lower bounds

Matrix of size Mx1

xU

Variables upper bounds

Matrix of size Mx1

RhoBeg

Initial value of the trust region

Matrix of size 1x1

RhoEnd

Final value of the trust region

Matrix of size 1x1

Npt

Number of interpolation conditions

Scalar

MaxIter

Maximum number of iterations

Scalar

minmax

Compute max instead of min

Number

0
1

Ports

NameTypeDescriptionIO TypeNumber

p0

explicit

input

1

cost

explicit

input

2

p

explicit

output

1

cost_opt

explicit

output

2

Port 5

activation

input

1

end

activation

output

1

Diagram

BobyqaOpt

See Also