- •Содержание
- •Предисловие
- •Глава I. Начала линейного программирования
- •§1. Задача линейного программирования. Типичные задачи линейного программирования, их математические модели.
- •1.1 . Задача линейного программирования
- •1.2. Типичные злп и их математические модели
- •1.3. Упражнения.
- •§2. Общая злп. Канонический вид злп.
- •§3. Теоретические основы решения злп. Геометрическая интерпретация злп. Идея аналитического решения
- •3.1. Теоретические основы решения злп
- •2.2. Канонический вид злп
- •3.2. Геометрическая интерпретация злп
- •3.4. Идея аналитического решения злп
- •3.5. Теоретические основы решения злп (продолжение)
- •§4. Симплекс-метод решения злп
- •4.1. Алгоритм симплекс-метода
- •4.2. Симплекс-таблицы.
- •§5. Метод искусственного базиса
- •5.1. Суть метода искусственного базиса
- •Глава II. Двойственность и целочисленность в линейном программировании. Транспортная задача.
- •§1. Теория двойственности
- •1.1. Задача, приводящая к паре двойственных задач
- •1.2. Пара симметричных двойственных задач
- •1.3. Пара несимметричных двойственных задач
- •1.4. Теоремы двойственности
- •1.5. Упражнения.
- •§2. Элементы целочисленного программирования
- •2.1. Постановка и геометрическая интерпретация
- •2.2. Метод Гомори
- •2.3. Упражнения.
- •§3. Транспортная задача
- •3.1. Постановка и математическая модель транспортной задачи
- •3.2. Теоретические основы решения транспортной задачи
- •3.3. Алгоритм метода потенциалов.
- •3.3.1. Основные пункты алгоритма:
- •3.3.2. Построение первоначального опорного плана.
- •3.3.4. Переход к новому опорному плану (построение очередного опорного плана).
- •3.3.5. Метод наименьших затрат построения первоначального опорного плана.
- •3.4. Сведение задачи открытого типа к задаче закрытого типа
- •3.5. Упражнения.
- •Задание лп-4
- •Задание лп-5
- •Задание лп-6
- •1. Приводим задачу к каноническому виду.
- •Задание лп-4
- •Задание лп-5
- •Задание лп-6
3.4. Идея аналитического решения злп
Ясно, что геометрический подход к решению ЗЛП годится только в случае, когда ОДР можно изобразить на плоскости. В общем случае такой подход не годится. В дальнейшем мы рассмотрим аналитический, так называемый симплекс-метод решения ЗЛП. А в этом разделе мы рассмотрим решение задачи, так сказать, «подручными» средствами, которые ярко демонстрируют идею симплекс-метода.
Решим наш предыдущий пример, одновременно проводя параллель с введёнными выше понятиями:
4x1+x2 max
Приведём задачу к каноническому виду:
4x1+x2 max
Так
как определитель матрицы
,
составленной из коэффициентов при
переменных x3,
x4,
x5
не равны нулю, то эти переменные
базисные, а переменные x1
и x2
свободные. Положив x1=x2=0,
получим базисное решение X1=(0;
0; 24; 24; 12). Оно является допустимым: xj≥0
при всех j=1,
2, …, 5. Оно также является базисным, и
даже опорным. Число отличных от нуля
координат этого решения равно r=3.
Значит, оно является невырожденным.
Базисом опорного решения являются
векторы
A3=
,
A4=
,
A5=
.
Согласно 3.1.4 любое опорное решение ЗЛП является угловой точкой ОДР, а согласно 3.1.2 целевая функция достигает экстремума в угловой точке. Поэтому мы можем проверить, не является ли это опорное решение решением задачи. Целевая функция в данном опорном решении принимает значение ноль. Коэффициенты целевой функции при свободных переменных положительны. Это означает, что стоит только начать менять хотя бы одну свободную переменную (так как x1≥0 и x2≥0, то они при изменении непременно принимают положительные значения), то значение функции сразу начнёт увеличиваться. Следовательно, опорное решение X1 не является оптимальным, и переводом одной из свободных переменных x1 или x2 в базисные мы добьёмся увеличения значения целевой функции.
Мы заинтересованы не только в росте значения целевой функции, но и в том, чтобы этот рост происходил как можно быстрее. Поэтому будем менять (увеличивать) значение x1, коэффициент при котором больше коэффициента при x2. Другими словами, переведём x1 из свободных в базисные.
В свою очередь, какая-то из базисных переменных должна перейти в число свободных. Какая?
Для того, чтобы определить, какая, выразим в системе ограничений-уравнений базисные переменные через свободные:
Из
первого выражения (
)
вытекает, что x1
мы можем увеличивать до
=12.
Как только x1
станет больше 12, так сразу x3<0,
что недопустимо. Вообще, ясно, что x1
мы можем менять (увеличивать) до min
,
,
=6
(здесь
означает, что во втором выражении x1
можем увеличивать сколько угодно, и x4
будет оставаться больше 0). Как только
x1=6,
так сразу (при x2=0)
x5=0.
А это означает, что x5
и x1
примут значения в том опорном решении,
где x1,
x3,
x4
базисные, а x2
и x5
свободные. Поэтому x1
переводим из свободных в базисные, а x5
из базисных в свободные. Поэтому из
последнего выражения выразим x1
через x2
и x5,
и подставим его выражение в остальные
и в целевую функцию:
.
Теперь подставляем выражения для x1 в выражение для x3, x4 и целевой функции:
=
,
то есть x3= .
=
,
то есть x4= .
=
=
,
то
есть
.
Таким образом, наша задача принимает вид
max
При
x2=x5=0
получаем новое опорное решение (опорный
план) X2=(6;
0; 12; 72; 0), при котором F=24.
Так как в
коэффициент при x2
положителен, то, меняя (то есть по сути
увеличивая) x2,
добьёмся дальнейшего увеличения значения
целевой функции
.
Поэтому переведём x2
из свободных в базисные. Так как min
,
,
=2
достигается в выражении для x3,
то x2
вводим в число базисных вместо x3.
Выражаем x3
через x3,
x5
и подставляем его выражение в выражения
для x1,
x4
и в целевую функцию:
.
=
,
то есть x1= .
=
,
то есть x4= .
=
=
,
то есть .
Таким образом, наша задача принимает вид
max
При x3=x5=0 получаем опорное решение X2=(9; 2; 0; 90; 0), в котором целевая функция принимает значение F=38. Это значение уже увеличить невозможно, так как коэффициенты при переменных отрицательны, и любое изменение (увеличение) значений свободных переменных ведёт к уменьшению значения целевой функции.
Как видим, мы получили то же решение, что и в геометрическом методе.
