Без заголовка
Терминология разная.
Но вот на этапе реализации, все сводится к модели в виде пространства параметров и набора ограничений в этом пространстве. Добавляем сюда солвер, который в этом пространстве перемещается учетом ограничений - и у нас уже порождающая модель.
Можно сделать и оптимизатор - т.е. когда солвер нашел решение, добавляем в модель новое ограничение, чтобы следующее решение было лучше найденного и ищем дальше.
Вобщем, все что я встречал из символических вычислений или оптимизационного софта, более менее укладывается в эту схему.
Даже математические вычисления типа итерационных методов решения уравнений вобщем-то так же работают: берем текущее приближение, смотрим в какую сторону двинуться дальше и на сколько.