# Optimization¶

Solves the optimization problem of continuous/discrete variables, given a model function $$f(x)$$ given the form:

\begin{split}\begin{align} &\underset{x}{\operatorname{maximize}}& & f(x) \\ &\operatorname{subject\;to} & &g_i(x) \leq 0, \quad i = 1,\dots,m \end{align}\end{split}

Where:

• $$f: \mathbb{R}^n \rightarrow \mathbb{R}$$: is the objective function to be maximized over the $$n$$-variable vector $$x$$

• $$g_i(x) \leq 0$$: are a set of inequality contraints to be satisfied.

## Usage¶

e["Problem"]["Type"] = "Optimization"

## Compatible Solvers¶

This problem can be solved using the following modules:

## Variable-Specific Settings¶

These are settings required by this module that are added to each of the experiment’s variables when this module is selected.

Granularity
• Usage: e[“Variables”][index][“Granularity”] = real number

• Description: Specifies the granularity of a discrete variable, a granularity of 1.0 means that the variable can only take values in (.., -1.0, 0.0, +1.0, +2.0, ..) where the levels are set symmetric around the initial mean (here 0.0).

Name
• Usage: e[“Variables”][index][“Name”] = string

• Description: Defines the name of the variable.

## Configuration¶

These are settings required by this module.

Num Objectives
• Usage: e[“Problem”][“Num Objectives”] = unsigned integer

• Description: Number of return values to expect from objective function.

Objective Function
• Usage: e[“Problem”][“Objective Function”] = Computational Model

• Description: Stores the function to evaluate.

Constraints
• Usage: e[“Problem”][“Constraints”] = List of Computational Model

• Description: Stores constraints to the objective function.

## Default Configuration¶

These following configuration will be assigned by default. Any settings defined by the user will override the given settings specified in these defaults.

{
"Constraints": [],
"Has Discrete Variables": false,
"Num Objectives": 1
}


## Variable Defaults¶

These following configuration will be assigned to each of the experiment variables by default. Any settings defined by the user will override the given settings specified in these defaults.

{
"Granularity": 0.0
}