- •Н. В. Алексенко р. И. Воробьева
- •Оглавление
- •Введение
- •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
2.4. Переход от одного опорного плана транспортной задачи к другому
Наличие свободных клеток, в которых , при проверке опорного плана на оптимальность свидетельствует о том, что полученное решение не оптимально и для уменьшения значения целевой функции надо перейти к другому опорному решению. Для этого нужно перераспределить грузы, переместив поставку из занятой клетки в одну из свободных клеток, в которой нарушено условие оптимальности. Свободная клетка становится занятой, а одна из ранее занятых клеток – свободной. При этом потребуется изменить поставки и в других занятых клетках так, чтобы сохранился баланс по строкам и столбцам. Свободные клетки, в которых нарушено условие оптимальности, т. е. будем называть в дальнейшем отмеченными клетками. С этой целью для одной из отмеченных клеток строится цикл – упорядоченный набор клеток со свойствами:
любые две соседние клетки цикла лежат в одной строке или столбце;
любые три соседние клетки цикла не лежат в одной строке или столбце;
последняя клетка цикла лежит в той же строке или столбце, что и первая клетка этого цикла.
Например:
Имеет место следующее утверждение: для каждой отмеченной клетки существует содержащий ее цикл, все остальные клетки которого занятые, при этом такой цикл единственный.
Около отмеченной клетки цикла ставится знак (+), затем поочередно в клетках цикла проставляются знаки (–) и (+). Из клеток со знаком (–) выбирают клетку с минимальной перевозкой . Эту перевозку добавляют к клеткам со знаком (+) и вычитают из клеток со знаком (–). В результате отмеченная клетка становится занятой, а одна из занятых – свободной, т. е. число занятых клеток остается неизменно равным . Перевозки в занятых клетках, не входящих в цикл, сохраняются.
В результате перераспределения груза получим новый опорный план. Этот план проверяем на оптимальность, и т.д. до тех пор, пока не получим оптимальный план.
Если
при пересчёте по циклу освобождается
несколько занятых клеток, то только
одна из них объявляется свободной, та,
у которой наибольший тариф
,
в остальных освободившихся клетках
пишут «0» и считают их занятыми.
Если наименьшая перевозка по клеткам со знаком минус равна нулю, то соответствующая занятая минусовая клетка объявляется свободной, а отмеченная клетка, объявляется занятой, и в ней пишут «0», т.е. перемещают по циклу нулевую перевозку.
Рассмотрим переход от одного опорного плана к другому на примере 1. При проверке плана на оптимальность (табл. 2.5) мы получили две отмеченные клетки (3, 2) и (3, 4).
Построим цикл для клетки (3, 4) (рис. 2.1).
Минимальная
перевозка среди клеток со знаком (–)
равна
.
Её
прибавляем к перевозкам в (+) клетках
цикла и вычитаем из перевозок в (–)
клетках цикла (рис.
2.2).
В занятых клетках, не входящих в цикл перевозки сохраняются.
Получим
новый опорный план
,
при этом суммарная стоимость перевозок
(усл.
ден. ед.)
(3, 4)
Проверим полученный план Х2 на оптимальность. Для этого запишем его в таблицу поставок, найдем потенциалы по занятым клеткам и проверим условие оптимальности для свободных клеток (табл.2. 6).
Таблица 2.6
Потенциалы второго опорного плана
Условие оптимальности нарушено для клетки (3,2):
Следовательно, клетку (3,2) считаем отмеченной и для нее строим цикл, он изображен в табл. 2.6 ломаной с вершинами, отмеченными (+) и (–) попеременно, |
vj xi |
0 |
–2 |
–4 |
–3 |
5 |
5 |
4 |
1 20 |
2 40 |
|
4 |
4
1 |
2 25 – |
5 |
3 |
|
7 |
7 25 – |
5 >35
+ |
5 |
4 10 |
каждое звено ломаной лежит в строке или столбце, причем в каждой строке или столбце лежит не более чем по одному звену ломаной.
Произведем перераспределение грузов по циклу и получим новое опорное решение, которое занесем в таблицу (табл. 2.7).
Проверим его на оптимальность. Критерий оптимальности выполняется во всех клетках таблицы поставок.
Таблица 2.7
Потенциалы оптимального плана
Следовательно, найденное решение оптимальное.
Итак,
|
vj ui |
1 |
–1 |
–1 |
0 |
2 |
5 |
4 |
1 20 |
2 40 |
|
3 |
4 40 |
2 0 |
5 |
3 |
|
4 |
7
|
3 25 |
5 |
4 10 |
Стоимость транспортных расходов равна
(усл.
ден. ед.).
При
переходе от одного опорного плана к
другому транспортные расходы уменьшаются
каждый раз на число равное
,
где х
– перевозка,
перемещаемая по циклу,
–
оценка отмеченной клетки, для которой
построен цикл.
В
нашем примере уменьшение транспортных
расходов составили
;
Пример
2. Рассмотрим
еще одну транспортную задачу с матрицей
затрат
;
запасами 6, 3 и 4 соответственно; спросом
4, 5, 1 и 3 соответственно.
Решение.
При решении этой задачи возникает
ситуация, когда число занятых клеток
меньше чем
.
Составим первоначальный опорный план методом наименьших затрат, заполняя таблицу поставок (табл. 2.8.). Для удобства укажем последовательность заполнения клеток таблицы.
Полученный план перевозок содержит только пять занятых клеток.
Недостающую клетку заполняют нулем, чтобы не нарушить баланс (по строкам и столбцам).
Для этого выбирают клетку с наименьшим тарифом, но следят за тем, чтобы в каждой строке и столбце было не менее чем по одной занятой клетке. Однако, недостающую клетку можно заполнить нулем и на этапе вычисления потенциалов.
Таблица 2.8
План перевозок
Число занятых клеток должно быть равным .
|
|
|
|
|
|
Запасы постав- щиков |
|
6 |
4 3 |
9
|
8 3 |
6 |
|
|
5
|
3 2 |
2 1 |
8 |
3 |
|
|
2 4 |
3
|
6 |
8
|
4 |
|
Спрос потребителей |
4 |
5 |
1 |
3 |
13 13 |
Положим
потенциал
,
тогда
и
.
Из уравнения
для занятой клетки (2, 2) имеем
.
Для занятой клетки (2, 3)
,
откуда
.
Дальнейший процесс вычисления потенциалов
невозможен, т. к. для занятой клетки (3,
1) неизвестен ни один из потенциалов
.
Чтобы найти хотя бы один из этих
потенциалов нужно заполнить нулем
(занять) одну из свободных клеток первого
столбца или третьей строки. Учитывая
условие наименьшей стоимости заполняем
нулем клетку (3, 2); получаем шесть занятых
клеток и это позволяет вычислить
недостающие потенциалы (см.
табл. 2.9).
Таблица 2.9
Потенциалы плана перевозок
Для
клетки (3, 2)
|
vj ui |
3 |
4 |
3 |
8 |
0 |
6 |
4 3 |
9
|
8 3 |
|
–1 |
5
|
3 2 |
2 1 |
8 |
|
–1 |
2 4 |
3 0 |
6 |
8
|
Полученный
опорный план удовлетворяет следующему
критерию оптимальности:
– для занятых клеток;
– для
свободных клеток.
Следовательно
при этом транспортные расходы на все
перевозки составят
(усл.
ден. ед).

5
+
.