SMA: Optimization

This module handles optimization parameters, the initial solution, the utility function, and control of the optimization process. The optimization algorithm is based on Osyczka (1984).

Elements

Input initial solution
The optimization requires an initial solution from which the algorithm starts improving step by step. This button brings up a window that lets the user specify the initial solution using slide bars.

See an example of the iterations by the Hooke and Jeeves direct search algorithm.

Number of reoptimizations
Because of the non-convexity of the optimization problem, locally optimal solutions may be reported in optimization runs. To improve solutions, optimization may be restarted several times from randomly generated initial solutions. The number of additional runs is given here.

Number of random points
Randomly generated points are used in two phases of the runs: To compose an initial solution for reoptimization; to produce additional points in the vicinity of a candidate optimum solution (the so-called neighborhood search).

Number of neighborhood searches
A neighborhood search is initiated in the vicinity of a candidate solution identified by the Hooke and Jeeves algorithm. The neighborhood search produces randomly a number of points around the candidate solution with a spread of 1/10 of the feasible range of variables. If the simulator creates a lot of local optima, it is possible that neighborhood searches would be restarted several times. This parameter sets a maximum number of neighborhood searches available.

Define utility function
This button brings up a window for specifying the utility function. This is relevant for stochastic optimization only.

Convergence tolerance
The termination criterion for optimization is given by the convergence tolerance. If the change in variables between successive iterations of the Hooke and Jeeves algorithm is less than the tolerance, the algorithm reports a solution. The tolerance is relative to the feasible ranges of variables.

Clear best value
This button clears the best objective function value that is used in the window showing the changes is in variables and function value during an optimization run.

Optimize
This button starts the optimization. During the run, a dynamic window pops up showing the changes in the objective function value and the variables optimized. When optimization ends, a new window emerges showing the optimum solution.
Stop
The stop button kills the optimization run.