0 Votes

Getting started with AutoMOO

Last modified by Viktoria Rusanen on 2026/09/30 11:03

Although AutoMOO is designed to work for a variety of different types of optimization problems with minimal need for modifications from the user, it is still advisable for the user to follow certain practices when setting up and running an optimization case. This page therefore contains a collection of tips and advice for maximizing the usefulness of the optimization tool. Knowledge of the basic functionalities of IDA Parametric runs is assumed.

Initial analysis

Before starting the optimization, performing a preliminary analysis is useful to ensure that the optimization formulation makes sense. We recommend the two steps presented below.

Sensitivity analysis

It is often good to start with a sensitivity analysis. The primary goal of this is to make sure that the input parameters affect the output in a significant way. If some parameter does not influence the output significantly, it is advisable to remove it from the optimization formulation or modify its range.

Monte-Carlo simulation

A Monte-Carlo simulation uses probability to provide information about the general behavior of the objective function for different parameter values. This information can give an overall understanding of the performance of the model and potentially let the user reduce some parameter ranges, if values outside the range lead to poor objective function values or constraint violations. The results from the Monte-Carlo run can furthermore be used as initial points for the optimization.

Optimization problem formulation

The optimization problem is defined by the input parameters, the objective functions, and constraints. The optimization performance can often be improved by changing their formulation.

Input parameters

Input parameters can be either real-valued, integers or categorical items. The different types are treated differently by the optimization algorithm and will therefore affect the optimization in different ways.

Each real and integer parameter have a permissible range (min- and max-values). The optimization problem generally gets easier if a smaller range is used. The number of decimal places of a parameter that would otherwise be a real can be set with the Precision value. The optimization algorithm treats such parameters internally as integers (e.g., converting 0.1, 0.2, ... to 1, 2, ...). Unless the number of possible discrete combinations is small, the presence of discrete (categorical and integer) parameters often leads to harder optimization problems compared to problems over reals. It is therefore advisable to use this option sparingly, and, when possible, avoid categorical and integer parameters.

Objective function

In case the user can influence the objective function formulations, smooth functions without large constant regions are preferrable, since that simplifies the optimization problem.

In the presence of multiple objective functions, or constraints, proper scaling of the objectives is often essential. The scaling is applied by setting suitable min- and max-values for each objective function. This informs the optimization algorithm about the expected scale and range of the objectives and determines how the individual objectives are prioritized. If some objective in a multi-objective optimization seems neglected, modifying the scaling may help.

Constraints

The range and type of input parameters constitute input constraints of the optimization problem which has been discussed above. Output inequality constraints on user-defined functions are handled as soft constraints. This means that some constraint violation is permitted, if this leads to an improved objective function value: a result that slightly violates one of the constrainst but respects all other ones might be worthy to keep. The default penalty for deviation is calculated with squared distance and added to each objective functions. Either the constraint function, or the objectives, can be rescaled if a harder or looser constraint is sought.

1775114537060-672.png

User-defined optimization parameters

There are two parameters of the optimization algorithm that the user can set.

Number of initial points

The number of initial points defines both the number of random initial points used to initialize the optimization algorithm (unless initialized by previously evaluated runs), and the batch size, i.e., the number of parallel simulations that are used in the optimization. It is generally advisable to set this equal to the number of available processes. However, if many processes are available and the simulation time is very short, it could be better to use a smaller batch size since the additional time to calculate the parameters for many parallel processes eventually could exceed the simulation time.

Number of runs

Since it is possible to save data for previous runs, there is no need to use a fixed high value for this parameter, instead the user is encouraged to at least start with a smaller number and then do some manual inspection of the results. Just like a Monte-Carlo simulation, this can be valuable as a preliminary analysis and indicate potential modifications of the optimization formulation.

The total number of simulations that are needed depends on several factors, and it therefore hard to give general advice regarding how many is required. It is unfortunately also often hard to know whether an optimization case has converged to an optimum. But, to give some advice on this topic, we note two factors that should be considered.

Level of ambition

Are the absolutely best parameter values needed, or is it sufficient to identify promising configurations? In general, if there is significant uncertainty in the model (e.g., in boundary conditions or specifications), there is less need for thorough optimization.

Problem difficulty

The difficulty of the optimization problem is hard to know in advance. However, to give some idea of the number of simulations that is required, the table below provide rough estimates in the single- and multi-objective case.

Number of parametersNumber of simulations - single objectiveNumber of simulations - multi-objective
< 10100500
10 to 255002,500
> 252,50012,500
References
Encyclopedia
Helptext
Q&A Tips & Tricks Course material