- •Часть II
- •Глава 6
- •6.1. Понятие оптимального выбора
- •6.2. Задача оптимального выбора
- •6.3. Классификация задач и методов оптимального выбора
- •Глава 7
- •7.1. Выбор в условиях определенности
- •7.2. Задача управления запасами
- •7.4. Задача линейного программирования
- •7.3. Математическое программирование
- •7.5. Геометрический метод решения задачи линейного программирования
- •7.6. Симплексный метод решения задачи линейного программирования
- •Глава 8
- •8.1. Оптимальный выбор по многим критериям
- •8.2. Построение множества эффективных вариантов
- •1. Последовательное сравнение критериев по важности. Лпр упорядочивает все критерии по предпочтительности, допустим, и каждому критерию fk приписы
7.5. Геометрический метод решения задачи линейного программирования
Рассмотрим задачу линейного программирования в стандартной форме. Известен так называемый геометрический метод решения задачи линейного программирования. Поясним существо этого метода для имеющего наглядное представление случая двух свободных и любого числа базисных переменных.
Б
удем
считать переменные
х1 и
х2
свободными, а остальные переменные —
базисными. Разрешим систему р = п — 2
линейных алгебраических уравнений
(7.5) относительно переменных x3,х4,
..., xп,
т. е. выразим базисные переменные x3,x4,
...,
хп
через
свободные переменные
х1 и
х2.
Получим новую систему, состоящую из р
линейных уравнений:
где каждая базисная
переменная
Рассмотрим плоскость, заданную осями координат х1 и х2 (рис. 7.2, а), и изобразим на ней область допустимых решений Ха. Поскольку каждая переменная хi (i = 1,2, .. . ,n) неотрицательна, допустимые решения должны лежать в неотрицательном квадранте плоскости (х1, х2), образованном двумя осями координат х1 = 0, х2= 0. Положим хз = 0. Из первого уравнения системы линейных уравнений (7.6) получаем уравнение прямой
Рис.
7.2. Область допустимых решений: а
— имеется единственное оптимальное
решение; б — допустимых решений нет
линии
Допустимые решения должны лежать не
ниже этой прямой линии в полуплоскости
Положительное направление в каждой
полуплоскости обозначено на рис. 7.2,
а стрелкой.
Выполним то же
самое для остальных базисных переменных
x4, ... ,xп.
В результате будут построены n
— 2 прямые линии хз
= 0,
Х4 = 0,
..., хп
= 0, каждая из
которых определяет допустимую
полуплоскость
где может лежать решение задачи
линейного программирования. Таким
образом, область допустимых решений
Ха
представляет собой многоугольник,
являющийся общей частью всех допустимых
полуплоскостей Xi > 0 (i
= 1,2, ...,n).
В зависимости от того, как пересекаются друг с другом допустимые полуплоскости, может получиться много разнообразных форм области допустимых решений, где будет иметься единственное оптимальное решение (см. рис. 7.2, а) или много оптимальных решений. Может оказаться, что допустимое множество Ха пусто (см. рис. 7.2, б). Это означает, что система линейных уравнений (7.5) несовместна при неотрицательных значениях переменных Хi.
П
ерейдем
к поиску оптимального решения задачи
линейного программирования, считая,
что оно существует. Выразим критерий
оптимальности
у = f(х)
через свободные переменные
х1 и
х2:
и
ли
в более простой форме
о
тбросив
постоянное слагаемое уо, не влияющее
на оптимальные значения переменных.
Построим на плоскости (x1,
х2)
так называемую опорную прямую
При параллельном перемещении опорной прямой величина уо будет изменяться (возрастать или убывать). Величина этого изменения зависит от коэффициентов Y1 и Y2 при переменных х1 и х2.
Б
удем
перемещать опорную прямую в сторону
увеличения значения уо. В некоторой
точке А* функция уо может достичь своего
максимального значения (см. рис. 7.2,
а). Назовем эту
точку
опорной.
Координаты опорной точки определяют
оптимальные значения переменных
по которым из уравнений (7.6) можно
найти оптимальные значения остальных
переменных
задающих оптимальное решение
исходной задачи линейного программирования, и оптимальное значение целевой функции
П
ример
7.3. Рассмотрим
задачу линейного программирования
в стандартной форме, где требуется
максимизировать значение целевой
функции
max,
при наличии ограничений:
Выберем переменные х1 и Х2 в качестве свободных. Выразим через них критерий оптимальности у и все остальные базисные переменные Х3, Х4, Х5, х6.
Положим все базисные переменные равными нулю и построим на плоскости (х1,х2) прямые линии: х3 = 0, х4 = О, x5 = 0, x6 = 0 (см. рис. 7.2, а). Построим множество допустимых значений Ха, которое составляет общую часть шести неотрицательных полуплоскостей
Построим на плоскости (х1, х2) опорную прямую уо = х1 + 2х2= 0 и станем перемещать ее параллельно самой себе в направлении увеличения уо- Линии уровня функции у о = х1 + 2x2 показаны на рис. 7.2, а штрихпунктиром.
Функция уо достигает максимального значения у0=8 в опорной точке A* с координатами
Из уравнений
(7.7) получаем итоговое оптимальное
решение задачи:
х1= 4,
В изображенном на рис. 7.2, а
случае оптимальный вариант решения
единственен, причем оптимальные значения
переменных
В общем случае оптимальных вариантов
решения может быть бесконечно много,
если максимум критерия оптимальности
достигается не в одной опорной точке,
а на отрезке, параллельном опорной
прямой (рис. 7.3, а), на прямой или на луче.
Оптимальный вариант решения может и не
существовать даже тогда, когда имеется
бесконечно много допустимых решений
(рис. 7.3, б).
Итак, оптимальное решение общей задачи линейного программирования (если оно существует) достигается при такой
совокупности значений переменных x1, x2 .., хп, где, по крайней мере, две переменные равны нулю (являются координатами точки пересечения двух допустимых полуплоскостей), а остальные неотрицательны. Область допустимых решений образует в n-мерном пространстве выпуклый многогранник, называемый симплексом.
