Constraint Solver
![](../../../Resources/Images/Windows/Evolver/windowConstraintSolverWatcher.png)
Figure 1 - Constraint Solver - Watcher Window
The Constraint Solver can enhance Evolver’s ability to handle model constraints. When Evolver runs an optimization, it is assumed that the initial solution is valid - that the starting adjustable cell values satisfy all the hard constraints. If this is not the case, the analysis will run many simulations before finding a first valid solution. The greater the number of constraints, the more difficult to find an initial valid solution.
Additionally, if an Evolver model contains multiple hard constraints, and the optimization process fails with all solutions invalid, Evolver will prompt the user to run the Constraint Solver. This runs an optimization in a special mode, in which the goal is to find a solution that satisfies all the hard constraints. The optimization progress is shown in the same way as in regular optimizations - through the Progress Window (Figure 2, below) or through the expanded Evolver Watcher (Figure 1, right) window.
shows the number of constraints that are met in the original and best solutions.
Please note: The Constraint Solver is particulary useful when optimizing with the Genetic Algorithm, whereas OptQuest optimizations do not generally require the use of the Constraint Solver.
When running in Constraint Solver mode the same tabs are available in the Evolver Watcher window. However, the Watcher contains one additional tab - the Constraint Solver tab. This tab shows the status of each hard constraint (Met or Not Met) for the Best Solution, the Original configuration, and Last solution. The table also includes a description and the formula for the constraint. Additionally, the Number of Constraints, the best result in terms of number of constraints met (including which trial generated that result), the original number of constraints met, the number of trials run, and the total running time of the analysis are listed below the table.
![](../../../Resources/Images/Windows/Evolver/windowConstraintSolverProgress.png)
Figure 2 - Constraint Solver - Progress Window
A Constraint Solver optimization stops automatically when a solution meeting all the hard constraints is found; it can also be stopped manually by clicking the Stop button in the progress window or in the Evolver Watcher (see below). After a Constraint Solver run completes, The Stopping Options tab will open with options to keep the Best, Original, or Last solution identical to normal optimizations.
Note there is no need to set up the Constraint Solver before an optimization. It uses all of the same the settings specified in the model. The only difference is the optimization goal - to find a solution that satisfies all the hard constraints.
Evolver Watcher Window Command Buttons
The toolbar at the bottom of the Evolver Watcher window includes the following options (from left to right):