An *optimization parameter* (or a decision
variable, in the
terms of optimization) is a model parameter to be optimized. For
example, the number of nurses to employ during the morning shift in an
emergency room may be an optimization parameter in a model of a
hospital. The OptQuest Engine searches through possible values of
optimization parameters to find optimal parameters. It is possible to
have more than one optimization parameter.

Only a parameter of the top level agent of the optimization experiment can be an optimization parameter. So, in order to perform optimization, you must have at least one parameter in this agent. If you need to optimize parameters of embedded agents, you should use parameter propagation.

The dimension of the search area depends on the number of optimization parameters. Each new parameter expands the search area, thus slowing down the optimization. If you have N optimization parameters, their ranges form the N-dimensional square search area. Obviously, that area must be wide enough to contain the optimal point. However, the wider the range is, the more time is needed to find the optimum in the search area. On the other hand, suggested parameter values located near the optimal value can shorten the time it takes to find the optimal solution.During the optimization process, the parameter's value is changed in accordance with its type within an interval specified by lower and upper bounds. There are the following types of optimization parameters:

- Continuous parameter
- Discrete parameter
- Design parameter

*Continuous parameter* can take any value
from the interval.
The parameter precision determines the minimal value continuous
parameters can change.

*Discrete parameter* is represented by a
finite set of
decisions with essential direction: the parameter influences the
objective like a numeric parameter, but can take values from the
specified set only. It begins at a lower bound and increments by a step
size up to an upper bound.

Sometimes the range and step are exactly defined by the problem; but generally you will have to choose them. If you specify the step for the parameter, only the discrete points will be involved in the optimization, so it will be impossible to determine optimal parameter value more precisely than defined by the step. So, if you are not sure what the step should be, choose the Continuous rather than the Discrete parameter type.

*Design parameter* is represented by a
finite set of
decisions, where there is no clear sense of direction. Value of design
parameter represents an alternative but not a quantity. It begins at a
lower bound and increments by a step size up to an upper bound. Values
order is inconsequentional. Using design parameters you can model
choosing the best alternative from the catalog, where the choices are
not in a specific order. For example, a design parameter, which can
take values 0 or 1 (min=0, max=1, step=1) may represent a choice
between: a model has some element or has not.

Optimization parameters are defined in the Parameters section of the optimization experiment properties. The table already lists all parameters of the top level agent. By default, all of them are fixed, i.e. they are not varied by optimization process.

To make parameter a decision variable- Select the optimization experiment in the Projects view.
- On the Parameters section of the Properties view, go to the row of the Parameters table containing the parameter you want make a decision variable.
- Click the Type field and choose the type of the optimization parameter other than fixed. Depending on the type of the parameter, the list of possible values may vary: design, int, discrete for integer parameters; continuous and discrete for double, etc.
- Specify the range for the parameter. Enter the parameter’s lower bound in the Min field and the parameter’s upper bound in the Max field.
- For discrete and design parameters, specify the parameter step in the Step field.
- Suggest the initial value for the parameter in the Suggested field. Initially, the value is set to the parameter’s default value, but you can enter any other value here.

**How-To video:** Optimization
experiment