
- •Глава I. Линейное программирование.
- •Примеры задач линейного программирования.
- •Различные формы задачи лп
- •Определение 3. Каноническая задача лп называется симплексной, если:
- •Связь между различными типами задачи лп.
- •Вначале сведём общую задачу к однородной. В соответствии с определением 1 п.1.3 для этого достаточно каждое ограничение вида равенства: ,
- •1.5. Графический метод решения задачи лп.
- •1.6. Выпуклые множества на плоскости и в пространстве.
- •1.7. Геометрическая интерпретация однородной задачи линейного программирования.
- •1.8. Симплекс-метод решения задачи линейного программирования.
- •1.8.1. Пример решения задачи линейного программирования симплекс-методом.
- •Алгоритм симплекс-метода.
- •1.9. Геометрическая интерпретация симплекс-метода.
- •1.10. Основные теоремы.
- •1.11. Методы получения 1-го опорного решения.
- •1.12. Пара симметричных двойственных задач.
- •1.13. Правила перехода к двойственной задаче.
- •1.14. Теоремы двойственности.
- •1.15. Экономический смысл двойственных оценок. Методы нахождения двойственных оценок.
- •1.16. Условие устойчивости двойственных оценок.
- •Глава II. Транспортная задача
- •2.1. Замкнутая модель транспортной задачи.
- •2.2. Другие модели транспортной задачи.
- •Глава III. Игровые методы и модели.
- •3.1. Понятие об игровых моделях.
- •3.2. Постановка игровых задач.
- •3.3. Методы и модели решения игровых задач. Принцип минимакса.
- •3.4. Решения игр в смешанных стратегиях.
- •3.5. Геометрический метод.
- •3.6. Метод линейного программирования.
- •3.7. Игровые модели в условиях коммерческого риска.
- •3.8. Игровые модели в условиях коммерческой неопределенности.
- •Контрольные вопросы.
Алгоритм симплекс-метода.
Изложим теперь этот метод решения, в общем виде.
Пусть дана симплексная форма задачи ЛП, то есть каноническая задача ЛП, матрица системы которой имеет разрешенный вид, свободные члены неотрицательны и целевая функция зависит только от свободных переменных:
(1)
Здесь мы считаем
свободными переменные
.
Запишем функцию
в виде уравнения:
,
(2)
Уравнениям (1) и (2) соответствует первая симплекс-таблица:
|
|
|
….. |
|
|
….. |
|
|
|
0 |
1 |
0 |
….. |
0 |
|
….. |
|
|
|
0 |
0 |
1 |
….. |
0 |
|
….. |
|
|
(3) |
….. |
….. |
….. |
….. |
….. |
….. |
….. |
….. |
….. |
|
0 |
0 |
0 |
….. |
1 |
|
….. |
|
|
|
1 |
0 |
0 |
….. |
0 |
|
….. |
|
|
|
Начало алгоритма симплекс-метода.
Шаг 1. По симплекс-таблице находим опорное решение. На первом шаге это будет:
и
(4)
Шаг 2.
Проверяем условие оптимальности
полученного опорного решения. Если
последняя (индексная) строка таблицы
(3) не содержит отрицательных элементов,
то есть, все коэффициенты целевой
функции
неположительные:
то опорное решение является оптимальным.
Решение задачи заканчивается, и мы
переходим к шагу 9.
Если условие
оптимальности:
,
не выполнено, то продолжаем решение
задачи.
Шаг 3.
Выбираем номер
одного из столбцов, содержащих
отрицательные элементы в индексной
строке. Соответствующий столбец объявляем
ведущим.
Шаг 4.
Определяем минимальное допустимое
отношение
для каждой строки по правилу:
где
- номер ведущего столбца.
Шаг 5.
Выбираем номер
ведущей строки с минимальным допустимым
отношением
.
Соответствующую
строку называем ведущей. Если такой
выбор невозможен, то есть все
,
то заканчиваем решение, поскольку в
этом случае задача не имеет решения.
Переходим к шагу 10.
Шаг 6.
Делим ведущую строку на ключевой элемент
,
стоящий на пересечении ведущей строки
и ведущего столбца. В результате на
месте ключевого элемента
получаем единицу:
.
Шаг 7. Из каждой строки таблицы, кроме ведущей, вычитаем ведущую строку, умноженную на элемент текущей строки, стоящий в ведущем столбце. В результате получаем, что все элементы ведущего столбца, кроме ключевого, равного единице, равны нулю, то есть ведущий столбец превратился в базисный. При этом оказывается, что один из базисных столбцов превратился в свободный (именно, тот, который содержал 1 в ведущей строке). Нами получена новая симплекс-таблица, отличающаяся от прежней набором базисных столбцов.
Шаг 8. Переходим к шагу 1.
Шаг 9. Объявляем, что получено оптимальное решение и выводим результаты решения. Затем переходим на конец алгоритма.
Шаг 10. Сообщаем, что задача не имеет решения и переходим на конец алгоритма.
Конец алгоритма.
1.9. Геометрическая интерпретация симплекс-метода.
Мы уже знакомы с геометрической интерпретацией задачи линейного программирования (п. 1.6.). Рассмотрим теперь симплекс-метод также с геометрической точки зрения. Суть дела проясняет следующая теорема.
Теорема. Каждое опорное решение канонической задачи ЛП. Является угловой точкой области допустимых решений. Наоборот, каждая угловая точка ОДР канонической задачи ЛП является опорным решением.
Доказательство.
Докажем первое утверждение теоремы.
Пусть
- угловая точка. Пусть отрезок
целиком лежит в ОДР, и его середина
совпадает с
:
(1)
Векторное равенство (1) равносильно системе равенств для координат
(2)
Если
- свободная переменная опорного решения
,
то из (2) следует, что
(3)
Поскольку
и
- допустимые решения, то
и
Сумма двух отрицательных чисел может
равняться нулю, только, если эти числа
сами равны нулю:
и
(4)
Это означает, что
и
также являются опорными решениями с
тем же набором свободных и, следовательно,
базисных переменных. Но такое решение
может быть только одно. Следовательно,
,
то есть отрезок
,
представляет из себя точку. Таким
образом, мы показали, что не существует
отрезка
целиком лежащего в ОДР и содержащего
в качестве своей внутренней точки.
Утверждение доказано.
Доказательство второго утверждения довольно сложное и мы его не приводим.
Итак, мы видим, что симплекс-метод геометрически означает переход от одной угловой точки к другой, в которой значение целевой функции больше (или равно) предыдущему значению. Поскольку целевая функция растет только в направлении вектора роста, то движение по угловым точкам совершается в симплекс-методе в том же направлении.