
- •Н. В. Алексенко р. И. Воробьева
- •Оглавление
- •Введение
- •1. Основные методы решения задач линейного программирования
- •1.1. Введение в линейное программирование
- •1.1.1. Общая задача оптимизации
- •1.1.2. Задачи линейного программирования
- •1.1.3. Стандартная и каноническая задачи линейного программирования
- •1.2. Графический метод решения задачи линейного программирования
- •1.3. Симплекс-метод
- •1.3.1. Идея симплекс-метода
- •1.3.2. Алгоритм симплекс-метода
- •Алгоритм симплекс-метода
- •Алгоритм поиска первоначального опорного плана
- •1.4. Двойственность в линейном программировании
- •1.4.1. Постановка двойственной задачи
- •1.4.2. Теоремы двойственности
- •1.4.3. Двойственный симплекс-метод
- •1.4.4. Экономическая интерпретация задачи, двойственной задаче об использовании ресурсов
- •Исходная задача
- •Двойственная задача
- •1.5. Вопросы для самопроверки
- •2.1. Постановка задачи
- •2.2. Построение первоначального опорного плана транспортной задачи методом наименьших затрат
- •2.3. Проверка найденного опорного плана на оптимальность
- •2.4. Переход от одного опорного плана транспортной задачи к другому
- •2.5. Альтернативный оптимум
- •2.6. Открытая модель транспортной задачи
- •2.7. Приложение транспортной задачи к решению некоторых экономических задач
- •2.8. Вопросы для самопроверки
- •3. Целочисленное программирование
- •3.1. Общая постановка задачи
- •3.2. Метод отсечения Гомори
- •3.3. Графический метод решения задачи целочисленного программирования
- •3.4. Вопросы для самопроверки
- •4. Теория игр
- •4.1. Основные понятия
- •4.2. Решение игр 2 х 2 в смешанных стратегиях графическим способом
- •4.3. Решение игр 2 х n графическим способом
- •4.4. Решение игры n х 2 графическим способом
- •4.5. Сведение матричной игры m X n к задаче линейного программирования (решение любой матричной игры)
- •Функции дохода
- •6.2. Способы представления графов
- •6. 3. Некоторые задачи теории графов
- •6.3.1. Поиск кратчайшего пути в графе
- •Алгоритм поиска кратчайшего пути
- •6.3.2. Поиск кратчайшего гамильтонова цикла
- •6.4. Вопросы и задачи для самопроверки
- •7. Оптимизация сетевого графика
- •7. 1. Сетевая модель. Основные понятия
- •7.2. Основные требования к сетевому графику
- •7.3. Расчет временных параметров сетевого графика
- •7.3.1. Расчет параметров событий
- •Учитывая введенное в п.7.1 определение критического пути и введенные формулы (7.1–7.3), можно записать алгоритм нахождения критического пути.
- •7.3.2. Расчет параметров работ
- •7.3.3. Сетевое планирование в условиях неопределенности
- •7.4. Вопросы и задачи для самопроверки
- •8. Решение задач на компьютере
- •8.1. Решение задач с использованием системы Mathcad
- •8.2. Решение задач линейного программирования с помощью приложения Excel
- •Заключение
- •Библиографический список
- •Приложение
- •Алексенко Наталья Владимировна
- •Воробьева Раиса Ивановна
- •Математика
- •Основные задачи
- •Математического программирования
- •И реализация их на компьютере
- •644099, Омск, ул. Красногвардейская, 9
Алгоритм симплекс-метода
Записываем задачу линейного программирования в канонической форме, составляем первую симплекс-таблицу и находим начальный опорный план.
Найденный опорный план исследуем на оптимальность, проверяя f-строку:
а) если в f-строке нет отрицательных элементов, то план оптимален и можно по таблице описать решение. Если при этом нет и нулевых элементов, то оптимальный план единственен; если же есть хотя бы один нулевой, то оптимальных планов бесконечно много;
б)
если в f-строке
есть хотя бы один отрицательный элемент,
которому соответствует столбец
неположительных
элементов, то целевая функция не имеет
максимума, т. е.
;
в) если в f-строке есть хотя бы один отрицательный элемент, а в его столбце есть хотя бы один положительный, то опорный план не является оптимальным и переходим к пункту 3.
Переход к новому опорному плану осуществляется в следующем порядке:
а
)
из отрицательных элементов f-строки
выберем наибольший по модулю пусть это
,
назовем соответствующий ему столбец с
номером s
разрешающим
и будем помечать ;
б
)
в разрешающем столбце выберем положительный
элемент
по минимальному
отношению свободных членов
к соответствующим положительным
коэффициентам разрешающего столбца
.
Пусть
.
Положительный
элемент
разрешающего
столбца, на котором достигается минимум
называется
разрешающим
элементом,
будем помечать его квадратиком,
соответствующую строку с номером r
, будем называть разрешающей
строкой и
помечать ;
в)
переменные
и
,
отвечающие разрешающей строке и
разрешающему столбцу меняем местами;
г)
разрешающий элемент
заменяем ему
обратным
;
д) остальные элементы разрешающей строки делим на ;
е)
остальные элементы разрешающего столбца
делим на
;
ж) элементы, не принадлежащие разрешающей строке и разрешающему столбцу, вычисляем по правилу «прямоугольника»:
,
где
– пересчитанный
элемент.
Э
лементы,
входящие в эту формулу, расположены в
вершинах воображаемого прямоугольника,
элемент
,который
нужно пересчитать и разрешающий элемент
лежат на диагонали
этого прямоугольника.
Эта
диагональ называется главной, тогда
пересчитанный элемент
равен разности произведений элементов
главной и побочной диагоналей, деленной
на разрешающий элемент.
Переходим к пункту 2.
Очевидно, процесс заканчивается, когда f-строка последней таблицы (не считая свободного члена) не содержит отрицательных элементов. Последний столбец последней таблицы дает ответ: оптимальный план и оптимальное значение целевой функции.
Замечание. При переходе к следующей таблице рекомендуется вначале найти f–строку: если она не содержит отрицательных элементов, то нужно лишь найти последний столбец (ответ).
Напомним, что задача на вычисление минимума приводится к задаче на вычисление максимума заменой f на (–f), при этом
.
Каноническая задача линейного программирования может иметь не совсем специальный вид, когда свободные члены каких- либо уравнений системы ограничений (1.3.5) отрицательны. В этом случае нужно найти допустимый первоначальный опорный план, а затем начать алгоритм симплекс-метода.