The procedure for requesting AWR support has changed. Please read all about the new AWR product support process.
Page tree

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


  • You can run optimization from the API.

  • One common application is to run several iterations of multiple types of optimization, see see How To Run Multiple Optimizers

Code Snippets

Setting Optimizer Type

Code Block

  • The number will the number in the list when you open the optimizer in the user interface.

  • We don't recommend setting optimizer by number as this order could change.

  • Alternately, you can set by the name




Code Block
Project.Optimizer.Type="Gradient Optimization"




  • You can write a simple script to print out all the types.

Code Block



 Sub Main
     For i = 1 To Project.Optimizer.TypeCount
          Debug.Print Project.Optimizer.TypeName(i)
     Next i
End Sub


The output of this will be in the debug window


 Pointer - Robust Optimization
Pointer - Train an Optimizer
Pointer - Run Trained Optimizer
Pointer - Gradient Optimization
Random (Local)
Gradient Optimization
Conjugate Gradient
Simplex Optimizer
Genetic (Uniform Mutation)
Genetic (Gaussian Mutation)
Simulated Annealing (Simplex)
Simulated Annealing (Local)
Random (Global)
Direction Set Method

* Alternately, you can write a function to call the optimizer by name and have it return the index if the name is matched, an example is shown below.


Code Block


Running the Optimizer

  • simple to start, write a loop to check to see if running on when to continue.