# Technical Brief

**ALAMO** usage in process optimization

In the case of large complex processes, a simulation can be dissaggregated into process blocks. Each block can be modeled separately, then combine with flexible constraints and connectivity variables to generate a final optimization model.

## Notation: Modeling a black-box or process block

Each process block or black-box will have some set of independent variables,

**ALAMO** Algorithmic Flowchart

For each output variable,

- Initial design of experiments: Evenly sample the design space to define an initial training set
- Model building: Build a low complexity surrogate model based on the current training set
- Adaptive sampling: By interrogating the system using Error Maximization Sampling (EMS), the training set is updated with new points sampled where the current model breaks down.
- Repeat steps 2 and 3, until no points can be found that violate the model.

In doing this, we aim to generate a model that is

- Accurate
- Simple and compact models for ease the final optimization
- Generated from a minimal data set of simulations or black-box function evaluations

**ALAMO** Standard Modeling

**ALAMO** does not need to know the functional form of the model in advance. To identify the functional form, **ALAMO** allows for a large set of *potential* basis functions that can be found from polynomials, engineering experience, physical phenomena, and statistical fitting functions. Next, by combining optimization techniques and statistical methods, we are able to find a subset of basis functions that accurately model the data without overfitting or using unnecessary terms.

**ALAMO** Standard Adaptive Sampling

After building the current iterate’s model, **ALAMO** searches the design space to find where our model breaks down using Error Maximization Sampling (EMS). As the name suggests, EMS solves the black-box problem shown below:

Here, the black-box solver SNOBFIT is used to maximize the relative error. During this process, new function evaluations with high model mismatch are added to the training set. **ALAMO** will then sample the simulation at these new locations, and rebuild the model.

If, during this step, no points that violate the model can be found, we will consider our model sufficiently accurate.

## Related publications

- A. Cozad, N. V. Sahinidis and D. C. Miller, Learning surrogate models for simulation-based optimization, AIChE Journal, 60, 2211-2227, 2014.
- A. Cozad, N. V. Sahinidis and D. C. Miller, A combined first-principles and data-driven approach to model building, Computers and Chemical Engineering, 73, 116-127, 2015.
- Z. T. Wilson and N. V. Sahinidis, The ALAMO approach to machine learning, Computers and Chemical Engineering, 106, 785-795, 2017.

## Third party software used

The error maximization adaptive sampling routine in ALAMO uses SNOBFIT, a derivative-free optimization solver. More details about this routine can be found in the SNOBFIT page and the paper: W. Huyer and A. Neumaier, Snobfit -- Stable Noisy Optimization by Branch and Fit, ACM Trans. Math. Software 35 (2008), Article 9.

SNOBFIT's quadratic subproblems are solved using MINQ, which is described in:

A. Neumaier, MINQ -- General definite and bound constrained indefinite quadratic programming. Web document (1998).