The termination condition determines when the algorithm should finish. For
example, the solver should terminate when the maximal number of iterations or
some other given timeout value is reached. Moreover, it can stop the search
process when the current solution is good enough, e.g., all variables are
assigned and/or some other solution parameters are in the required ranges.
For example, the solver can stop when all variables are assigned and less
than 10% of the soft constraints are violated. Termination of the process by
the user can also be a part of the termination condition.

This library is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation; either version 3 of the
License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not see .