Implement algorithm execution
Last update: 19.06.2026The Optimization Tool calls the Run() method to start the execution of the algorithm.
When the Run method has been called, the problem definition has already been passed to the algorithm. It is recommended that the algorithm verify that the problem definition pass is suitable for the algorithm, and if it is not, an exception explaining the problem should be thrown.
When the algorithm requires a model evaluation from ModelCenter, it should call the EvaluateModel(Object[]) method. It is recommended to use the multi-dimensional EvaluateModel method whenever possible because it allows ModelCenter to run model evaluations in parallel. Before each EvaluateModel call the Halt property to see whether a halt has been requested by ModelCenter.
For single objective problems, the algorithm should call UpdateBestDesign(Object[]) as the optimization progresses so that the designs can be plotted in the convergence history. For multiobjective problems, the Pareto front of designs should be reported back to the Optimization Tool using the UpdateBestDesigns method.