- •Линейное программирование.
- •Основная задача линейного программирования.
- •Графический метод решения задачи линейного программирования.
- •Теорема:
- •Cимплекс-метод.
- •Способы нахождения начального базисного решения.
- •Пример:
- •Пример:
- •3 Итерация (оптимум)
- •Теорема:
- •Транспортная задача.
- •Пример:
- •Проверка на оптимальность. Метод потенциалов.
- •Задача о назначениях.
- •Пример:
- •Задача коммивояжера. Метод ветвей и границ.
- •Сетевые задачи.
- •Пример:
- •Решение.
- •Задача о максимальном потоке.
- •Динамическое программирование.
- •Пример:
- •Решение.
- •Решение.
- •Задачи о маршрутизации.
- •Классификация игр.
- •Антагонистические матричные игры.
- •Решение матричной игры в чистых стратегиях.
- •Пример:
Графический метод решения задачи линейного программирования.
Свойства ЗЛП:
Допустимое множество (удовлетворяющее системе-ограничений и условию неотрицательности переменных) ЗЛП либо пусто (система ограничений несовместна), либо является выпуклым подмножеством пространства Rn;
Если допустимое множество ЗЛП не пусто, а целевая функция ограничена сверху для задачи максимизации (снизу для задачи минимизации) на этом множестве, то ЗЛП имеет оптимальное решение;
Оптимальные решения ЗЛП (если они существуют) всегда находятся на границе допустимого множества и образуют выпуклое подмножество пространства Rn.
Множество точек называется выпуклым, если оно вместе с любыми двумя точками содержит и их произвольную выпуклую линейную комбинацию.
Пусть имеется n точек А1, А2, …, Аn. Точка А – выпуклая линейная комбинация, если выполняются условия:
,
,
,
Геометрический смысл этого определения состоит в том, что выпуклому множеству вместе с его двумя произвольными точками полностью принадлежит отрезок, их соединяющий.
Угловыми точками выпуклого множества называются точки, не являющиеся выпуклой комбинацией двух различных точек множества.
Графическим методом можно решать задачу линейного программирования с двумя переменными.
Известно, что геометрическое место точек, координаты которых удовлетворяют системе линейных неравенств, образуют выпуклый многоугольник (возможно, незамкнутый), называемый многоугольником решений.
Оптимальное решение, если оно единственно, достигается в вершине многоугольника (угловой точке); если таких решений бесконечно много – во всех точках некоторой стороны (в том числе, в ограничивающих эту сторону вершинах).
Алгоритм таков:
Построить множество допустимых решений, а в общем случае оно представляет собой выпуклый многоугольник. Если ограничения в задаче несовместны, множество допустимых решений является пустым множеством, а задача поиска экстремума не имеет смысла.
Найти градиент целевой функции. В силу ее линейности градиент постоянен и может быть построен в любой точке координатной плоскости (как правило, он строится в начале координат).
Провести линию уровня функции, перпендикулярную градиенту.
Передвигать линию уровня параллельно самой себе до касания с множеством допустимых решений. Точки касания являются точками экстремума.
Теорема:
Значения целевой функции в точках линии уровня увеличиваются, если линию перемещать параллельно начальному положению в направлении градиента, и убывают при перемещении в противоположном направлении.
Классифицировать точки касания с использованием свойств градиента.
Замечание: Графически можно решать и задачи с ограничениями типа равенств, если число ограничений на единицу или на два меньше числа переменных. Способ решения заключается в следующем: необходимо свести исходную задачу к задаче с одной или двумя переменными соответственно. Для этого следует выразить целевую функцию и базисные переменные через свободные и воспользоваться условием неотрицательности переменных, свойственным для задач линейного программирования.
Пример:
Решить графически ЗЛП:
Воспользуемся алгоритмом. В задаче "а" (рис. 1,а) в точке А = (0; 1) достигается максимум, а в точке В = (1; 0) - минимум. Очевидно, и минимум, и максимум единственные.
В задаче "б"(рис. 1,6) в точке С = (1; 0) достигается максимум, а на отрезке АВ - минимум, т.е. имеется бесконечное множество решений.
В задаче "в" (рис. 1,в) в точке А = (1; 1)г достигается максимум, а минимума нет, так как множество допустимых решений в направлении антиградиента (наискорейшего убывания функции) не ограничено.
Рис.1
Пример:
Найти максимум и минимум в задаче
Решается
каноническая задача. Переменные х3
и х4
являются базисными. Выразим базисные
переменные через небазисные (свободные)
и используем условие
:
х3=2+ х1 -х2≥0,
х4=4 - х1 -х2≥0,
х1 , х2 ≥0;
Выразим целевую функцию через небазисные (свободные) переменные:
f(х) = - х1 +2х2 - 2 - х1 + х2 - 4 + х1 +х2 =-6 - х1 +4х2;
Решим полученную задачу линейного программирования
f(х) = =-6 - х1 +4х2 →extr,
2+ х1 -х2≥0,
4 - х1 -х2≥0,
х1 , х2 ≥0;
Для
этого построим соответствующее множество
допустимых решений X. Затем найдем
градиент:
f(x)
= (-1;4), проведем линию уровня функции
перпендикулярно градиенту, и будем
передвигать ее параллельно самой себе
до касания с множеством допустимых
решений.
Рис.2
Итак, по рисунку 2 определяем решение: максимум достигается в точке С(1,3), а минимум в точке D(4,0). Соответствующие значения целевой функции находим путем подстановки значений оптимума в уравнение для f(x).
