Targeting versus Optimization

Top  Previous  Next

The Targeter and the Optimizer are somewhat related, but the Optimizer has a much larger range of capability and customization options. The Targeter finds a feasible solution to the problem it is presented, then exits; but this feasible solution may not be an optimal solution. For some problems, this is perfectly sufficient, but sometimes, the "best" solution is desired. The Optimizer can be used in both cases - it can be configured to exit as soon as a feasible solution is found, or it can find a solution that is not just feasible, but optimal based on the definition of the objective function. Essentially, the Optimizer has all the functionality of the Targeter and more.


One difference between the Targeter and Optimizer is that the Targeter uses a command-based interface, and the Optimizer uses an object-oriented interface. The diagram below calls out different components of a targeting problem and their corresponding components in an optimization configuration.



1.Iterate Command - The Iterate command in the Targeter corresponds to the SaveObjectToProcess() and RestoreObjectsInProcess() methods on the Optimizer object.

2.Vary Command - The Vary command in the Targeter corresponds to the defining and updating StateVariables in the Optimizer.

3.Achieve Command - The Achieve command in the Targeter corresponds to defining and updating Constraints in the Optimizer.

4.Minimize or Maximize - The Minimize()/Maximize() method on the Optimizer object has no corresponding command in the Targeter. This capability is only available when using the Optimizer.



See Also

Targeting Guide

Iterate Command

Vary Command

Achieve Command

Targeting Examples