- •Глава 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. Сообщаем, что задача не имеет решения и переходим на конец алгоритма.
Конец алгоритма.