
- •Вырожденность и зацикливание при решении задач линейного программирования
- •Связь между решениями прямой и двойственной задач
- •Основные теоремы двойственности и их экономическое содержание
- •Графический метод решения задач нелинейного программирования
- •2.1 Градиентные методы решения задач
- •Основы теории массового обслуживания
- •Потоки событий
- •Уравнения Колмогорова для вероятностей состояний. Финальные вероятности состояний
- •Классификация систем массового обслуживания
- •Задачи теории массового обслуживания
- •Одноканальная смо с отказами
- •6.3. Одноканальная смо с ожиданием и ограниченной очередью
- •6.6. Многоканальная смо с ожиданием
- •Процессы размножения и гибели
Графический метод решения задач нелинейного программирования
Графический метод можно использовать для решения задачи НП, которая содержит две переменных х1 и х2, например задачи следующего вида:
Z = f(x1, x2) → min (max);
gi(x1, x2) ≤ bi,
.
Чтобы найти ее оптимальное решение, нужно выполнить следующие действия:
1. Найти ОДР, определяемую ограничениями задачи. Если окажется, что эта область пуста, то это означает, что задача не имеет решения.
2. Построить семейство линий уровня целевой функции f(х1, х2) = C при различных значениях числового параметра С.
3. При решении задачи на минимум определить направление убывания, а для задачи на максимум — направление возрастания линий уровня ЦФ.
4. Найти точку ОДР, через которую проходит линия уровня с наименьшим в задаче на минимум (соответственно, наибольшим в задачи на максимум) значением параметра С. Эта точка будет оптимальным решением. Если ЦФ не ограничена снизу в задаче на минимум (сверху — в задаче на максимум), то это означает, что задача не имеет оптимального решения.
5. Найти координаты точки оптимума и определить в ней значение ЦФ.
Отметим, что в отличие от задачи ЛП точка оптимума в задаче НП не обязательно находится на границе ОДР. Ею также может быть внутренняя точка этого множества.
2.1 Градиентные методы решения задач
Методы, в основе которых лежит свойство градиента функции в точке (вектора частных производных, вычисленного в точке) как указателя направления наибольшего роста функции в окрестности точки называются градиентными.
Используя градиентный метод, можно найти решение любой задачи нелинейного программирования. Применение этого метода в общем случае позволяет найти точку локального экстремума. Поэтому более целесообразно использовать его для нахождения решения задач выпуклого программирования. Процесс нахождения решения задачи с помощью градиентного метода состоит в том, что начиная с некоторой точки осуществляется последовательный переход к некоторым другим точкам до тех пор, пока не будет найдено приемлемое решение исходной задачи.
Градиентные методы могут быть подразделены на две группы.
- К первой группе относятся методы, при использовании которых исследуемые точки не выходят за пределы области допустимых решений задачи. В данном случае наиболее распространенным является метод Франка - Вульфа.
- Ко второй - методы, при использовании которых исследуемые точки могут как принадлежать, так и не принадлежать области допустимых решений. Однако в результате реализации итерационного процесса находится точка области допустимых решений, определяющая приемлемое решение. Наиболее часто используются метод штрафных функций и метод Эрроу - Гурвица.
При нахождении решения задачи градиентными методами итерационный процесс продолжается до тех пор, пока градиент функции в очередной точке не станет равным нулю или же пока не выполнится неравенство , где (точность полученного решения).
Вообще говоря, градиентные методы можно применять к любой задаче нелинейного программирования. Но они приводят лишь к локальному экстремуму, а поэтому оказываются более эффективными при решении задач выпуклого программирования, где всякий локальный экстремум есть одновременно и глобальный.
В качестве основной в теории выпуклого программирования обычно рассматривается задача отыскания вектора который удовлетворяет условиям:
и доставляет глобальный минимум функции
функции предполагаются гладкими и выпуклыми.
Если-- вогнутая функция, а -- выпуклые функции, то получаем соответственную задачу: найти вектор удовлетворяющий условиям и доставляющий глобальный максимум функции
Множество точекудовлетворяющих условиям формулированных задач, является выпуклым.
Таким образом, задачи выпуклого программирования являются задачами минимизации выпуклой функции (или максимизации вогнутой функции) на выпуклом множестве, определяемом указанными выше условиями.
Если функциядифференцируема в точкето градиентом в точке называется n-мерный вектор
Градиент в каждой точке, в которой он существует, направлен по нормали к линии уровня поверхности (рис. 1) и показывает направление наискорейшего возрастания функции в данной точке. Если градиент отличен от нуля, то он указывает направление, небольшое перемещение по которому будет увеличивать значение функции
Вектор
противоположный градиенту, называется антиградиентом и указывает направление наискорейшего убывания
Для выпуклой функции необходимым и достаточным условием оптимальности точки является равенство нулю градиента функции в этой точке, т. е.
Градиентный метод основан на простой идее. Если заранее известно, чтоимеет в допустимой области единственный экстремум, то поиск точки, в которой он достигается, целесообразно проводить так. В допустимой области взять произвольную точкуи с помощью градиента (антиградиента) определить направление, в которомвозрастает (убывает) с наибольшей скоростью (рис. 2).
Сделав небольшой "шаг" в найденном направлении, перейти в новую точку . Потом снова определить наилучшее направление для перехода в очередную точкуи т.д. Иначе говоря, надо построить последовательность точек так, чтобы она сходилась к точке экстремума х*, т. е. для точек последовательности выполнялись условия
Величина "шага" из точки по направлению градиента (антиградиента ) определяется значением параметра в уравнении прямой
проходящей через параллельно градиенту (антиградиенту). Значение можно выбрать исходя из конкретных условий
задачи или руководствуясь следующими соображениями: перемещение по прямой (7) в новую точку сопровождается изменением функции на величину которая зависит от выбранного значениязначение при котором приращение достигает наибольшей величины, можно определить, используя необходимый признак экстремума
Градиентные методы, как правило, дают точное решение за бесконечное число шагов и только в некоторых случаях -- за конечное.