2) Для каждого ограничения находим геометрическое место точек,
удовлетворяющих этому ограничению. Выделим пересечение полученных
множеств. Получившееся в результате множество есть область допустимых
решений (ОДР).
3) Если ограничения противоречивы, то ОДР окажется пустым множеством.
4) Если ОДР - пустое множество, то делаем вывод: задача не имеет решения
(неразрешимость 1), и алгоритм завершает работу.
5) Целевую функцию приравняем к произвольной константе C. Получим
уравнение, определяющее однопараметрическое семейство кривых. Эти
кривые называются линиями уровня.
6) Изобразим 2-3 кривых из этого семейства. Выберем из них одну кривую и
зафиксируем на ней некоторую точку.
7) Находим градиент целевой функции в точке, выбранной в пункте 6.
Градиент – это вектор, координаты которого равны частным производным
первого порядка целевой функции. Градиент нелинейной функции зависит
от точки.
8) Рисуем найденный градиент в виде вектора, исходящего из точки,
выбранной в пункте 6.
9) Мысленно перемещаемся по линиям уровня при максимизации в
направлении градиента (при минимизации в направлении, противоположном
градиенту) до линии уровня, по отношению к которой ОДР располагается
по одну сторону.
10) Если при сколь угодно длительном перемещении такое положение не
достижимо, делаем вывод о неограниченности целевой функции в ОДР
сверху при максимизации (снизу при минимизации) (это –
неразрешимость 2), и алгоритм завершает работу.
11) Если указанное в пункте 9 положение найдено, то в этом положении
находим точки, которые лежат на пересечении линии уровня и ОДР. Они