Skip to main content

ModelCenter Custom Optimization Algorithm SDK 2026 R1

Create an algorithm index

Last update: 19.06.2026

This article outlines the lifecycle of an algorithm from its creation to its final disposal.

Algorithm lifecycle

  1. Algorithm created
  2. IAlgorithmHost set (see SetHost(IAlgorithmHost))
  3. Options are set
  4. Objectives are set (see SetObjectives(List<Objective>))
  5. OptConstraints are set (see SetConstraints(List<OptConstraint>))
  6. DesignVariables are set (see SetDesignVariables(List<DesignVariable>))
  7. Options are read for changes made by algorithm (warning status message notifying the user of the change should be sent by the algorithm) so updated options can be displayed on the output form)
  8. Checkpoint restored if one is specified (see RestoreCheckPoint(String))
  9. Run called
  10. ResultsReport retrieved (see note below)
  11. DetailsReport retrieved (see note below)
  12. Algorithm disposed (see Dispose)

Note: Both ResultsReport and DetailsReport can be called during the run to update the output form, so these properties must be thread safe. The ResultsReport can but is not required to update during the run, but the DetailsReport is expected to update during the algorithm's run to allow the user to monitor progress.

Connect with Ansys