************************************************** The "Optimization" tab ************************************************** This tab allows you to optimize the metamodel objective function, subject to the constraints that you have created (also metamodels). In addition, the bounds of the Manipulated Variables (MVs) that you defined at the "Sampling" tab are automatically incorporated to the optimization problem as box constraints. You can also: * Modify the NLP (IpOpt) solver parameters * Modifiy the infill criteria algorithm parameters, implemented in *Metacontrol* to refine your kriging response * Inspect each iteration of the infill criteria algorithm in real time * At the end of the run, see your results in a concise panel. Here is an overview of this tab: .. figure:: ../images/otm_main.png :align: center *Metacontrol* "Optimization" tab. There are five main panels on this tab: * Adaptive sampling setup *panel* * NLP solvers options *panel* * Perform optimization *panel* * Control *panel* * Results *panel* Adaptive sampling setup *panel* =============================== On this panel you will setup the main parameters for the Adaptive Sampling (infill criteria) algorithm. .. figure:: ../images/adaptive_sampling.png :align: center Configuring adaptive sampling algorithm. You can setup values for: * *First* and *Second* contraction factors * *Maximum* contraction tolerance * Feasibility constraint tolerance * Penalty factor for the objective function * Refinement tolerance * Termination tolerance * Maximum function evaluations * The kriging regression model used in the adaptive sampling algorithm .. IMPORTANT:: For a explanation on how each parameters affects the optimization run, refer to our theoretical backgrounds section. NLP solvers options *panel* ============================ You can select the NLP solver and configuring its parameters at this section. Currently, we support IpOpt inside *Metacontrol* natively. .. figure:: ../images/nlp_solvers.png :align: center Configuring NLP Solvers Parameters. Perform optimization *panel* ============================ At this panel you can start your optimization run, or abort it at any moment. .. figure:: ../images/perform_optimization.png :align: center Start/abort optimization run. Performing an optimization run ------------------------------- After configuring the adpative sampling and NLP parameters, you can click on "Start" under the "Perform optimization" *panel* in order to begin the metamodel optimization. You can see at the Control panel the iterations in real time, and each step performed by the algorithm. Control *panel* ================ This is how the control *panel* looks like during an optimization run in *Metacontrol*: .. figure:: ../images/opt_control_panel.png :align: center Control *panel* output. The control panel shows (being updated in real time) the operations performed by the adaptive sampling algorithm, the decision variables values (MVs) at each iteration, the actual and predicted objective function values, and the largest infeasiblity (constraint) violation for that iteration. At the end of the optimization run, *Metacontrol* will inform you how many points are within the trust-region. .. IMPORTANT:: To understand how the algorithm works, refer to our theoretical backgrounds section. Results *panel* ================ The results *panel* gives a summary of the results of your optimization problem, such as * Final decision variables values * Constraint expressions values * Objective function value .. figure:: ../images/opt_results.png :align: center Results *panel* , a summary of your optimization run. Interpreting constraints results --------------------------------- As stated before at the previous section, the constraints are written in *Metacontrol* in the form: .. math:: g(x) \leq 0 Therefore, if a constraint has, after the optimization run, a negative value, it indicates that this constraint is **inactive**. On the other hand, constraints values equals 0 indicate that for the problem created, this constraint is active. This information is important because Active-Constraint Control is a mandatory step in Self-Optimizing control methodology. In the example above, all nonlinear constraints were inactive. Three decision variables (MVs), on the other hand, were active at their lower bounds (*mcct*, *f1t* and *f2t*).