- •Оглавление
- •1. Предмет математического программирования. Линейное программирование
- •1.1. Введение. Предмет математического программирования
- •1.2. Линейное программирование. Общие понятия
- •1.3. Построение математических моделей простейших экономических задач
- •1.4. Замена неравенств уравнениями
- •1.5. Основные виды записи задач линейного программирования
- •Задание для самостоятельной работы
- •2. Графическое решение задачи линейного программирования
- •2.1. Свойства решений задач линейного программирования
- •2.2. Основные случаи графического решения задач линейного программирования
- •Задания для самостоятельной работы
- •3. Симплексный метод решения задач линейного программирования
- •3.1. Построение начального опорного плана
- •3.2. Симплексные таблицы. Признак оптимальности опорного плана
- •3.3. Переход к нехудшему опорному плану
- •1 Итерация:
- •Задания для самостоятельной работы
- •4. Двойственность в линейном программировании
- •4.1. Понятие двойственности
- •4.2. Двойственный симплексный метод
- •Задания для самостоятельной работы
- •5. Элементы теории матричных игр
- •5.1. Матричные игры с нулевой суммой
- •5.2. Максиминные и минимаксные стратегии игроков
- •5.3. Чистые и смешанные стратегии и их свойства
- •5.4. Приведение матричной игры к задаче линейного программирования
- •1 Стр доминирует над 3 стр
- •Задание для самостоятельной работы
- •6. Транспортная задача линейного программирования
- •6.1. Постановка транспортной задачи и ее математическая модель
- •6.2. Закрытая и открытая модели транспортной задачи
- •6.3. Построение исходного опорного плана
- •1. Метод северо-западного угла
- •2. Метод «минимального элемента»
- •6.4. Метод потенциалов решения транспортной задачи, признак оптимальности опорных планов
- •6.5. Решение транспортной задачи с открытой моделью
- •Задания для самостоятельной работы
- •7. Элементы сетевого планирования
- •7.1. Основные понятия
- •7.2. Временные параметры сети (рассмотрим на примере)
- •Задания для самостоятельной работы
- •8. Решение задач линейного программирования с использованием эвм
- •Задание для самостоятельной работы
- •Список используемой литературы
- •400005, Г. Волгоград, просп. Им. В. И. Ленина, 28, корп. 1.
- •403874, Г. Камышин, ул. Ленина, 5.
2. Метод «минимального элемента»
Сущность этого метода состоит в том, что просматривая тарифы в таблице, в 1-ю очередь заполняется клетка с минимальным значением тарифа. При этом в клетку записывают максимально возможное значение поставки.
Рассмотрим тот же пример (табл. 32).
Таблица 32
|
В1 |
В2 |
В3 |
ai |
А1 |
3 800 |
5 – |
6 – |
800 |
А2 |
7 – |
2 700 |
4 – |
700 |
А3 |
4 200 |
3 400 |
5 400 |
1000 |
А4 |
6 – |
4 – |
7 500 |
500 |
bj |
1000 |
1100 |
900 |
|
Просматриваем тарифы: min тариф в клетке (2; 2), поэтому в эту клетку помещаем х22 = min (700; 1100) = 700; во 2-й строке ставим прочерки, так как запас зерна в районе А2 израсходован. Просматриваем оставшиеся клетки в таблице. Наименьшие тарифы имеют клетки (1; 1) и (3; 2) с11 = с32 = 3. В клетку (1; 1) помещаем х11 = min (800; 1000) = 800, а в клетку (3; 2) – х32 = min(1000; 1100 – 700) = 400. В первой строке и во 2-м столбце ставим прочерки.
Просматриваем тарифы в оставшихся клетках: наименьший тариф в клетке (3; 1). Загружаем ее х31= min (1000 – 800; 1000 – 400) = 200. В первом столбце ставим прочерки, т. к. его мощность В1 использована полностью. Смотрим тарифы далее. Наименьший в клетке (3; 3). Загружаем ее:
х33 = min(1000 – 200 – 400; 900) = 400.
Загружаем клетку (4; 3): х43 = min(900 – 400; 500) = 500. Получили план Х0, для которого Z(Х0) = 3 · 800 + 2 · 700 + 4 · 200 + 3 · 400 + 5 · 400 + 7 · 500 = 11300 тыс. руб.
6.4. Метод потенциалов решения транспортной задачи, признак оптимальности опорных планов
1. Теорема о потенциалах: Если план Х*= транспортной задачи является оптимальным, то ему соответствует система из (m+n) чисел , удовлетворяющих условиям для и для . Числа называются потенциалами соответственно i-го поставщика и j-го потребителя.
Из теоремы вытекает, что для получения оптимального плана транспортной задачи необходимо выполнение следующих условий:
1) каждой занятой клетке распределительной таблицы соответствует сумма потенциалов, равная тарифу этой клетки, то есть
;
2) каждой свободной клетке соответствует , то есть сумма потенциалов не превышающая тариф этой клетки.
Так как всех занятых клеток должно быть m + n – 1; то следует решить систему m + n – 1 уравнений с (m+n) неизвестными. Система неопределенная и, чтобы найти частные решения, одному из потенциалов придаем определенной значение обычно равное 0.
Для исследования плана на оптимальность для каждой свободной клетки проверяется условие .
Если хотя бы одна свободная клетка не удовлетворяет данному условию, то опорный план не является оптимальным, его можно улучшить за счет загрузки этой клетки. Если таких клеток несколько, то наиболее перспективной для загрузки является клетка, для которой разность (оценка) между тарифом клетки и суммой её потенциалов наименьшая, то есть .
Пример 25. Пусть для клеток (i; к) и (i; t) имеем оценки, Sik = = – 5; Sit= – 10.
Наиболее потенциальной является клетка (i, t).
Если для всех свободных клеток оценки Sit ≥ 0, то опорный план перевозок оптимален.
2. Если для опорного плана перевозок указанное условие оптимальности не выполняется, то за счет загрузки перспективной свободной клетки строится замкнутый цикл с вершинами в загруженных клетках. Вершинам этого цикла условно приписываются знаки: свободной клетке «+», а следующей по часовой или против часовой стрелки «–», следующей «+» и так далее.
В клетках цикла с «отрицательными» вершинами выбирается наименьшее значение количество груза λ, которое и перемещается по клеткам этого цикла: прибавляется к поставкам в положительных вершинах и вычитается из поставок в отрицательных вершинах (в результате чего баланс цикла не нарушится).
Пример 26 (рис. 17).
|
λ = min xij = min (20, 60) = 20 |
Рис. 17
В общем случае цикл представляет собой замкнутую ломаную линию, состоящую из звеньев (отрезков), пересекающихся под прямым углом. Каждое звено соединяет две клетки строки (столбца). Цикл включает одну свободную клетку, остальные клетки цикла заняты. В цикле всегда четное число клеток. Если из занятых клеток образуется цикл, то план перевозок не является опорным. Цикл строится только для свободной клетки.
Итак сформируем алгоритм решения транспортной задачи методом потенциалов:
Построить опорный план по одному из правил: метод северо-западного угла, метод минимального элемента.
2. Вычислить потенциалы поставщиков и потребителей , решив систему уравнений вида для занятых клеток.
3. Вычислить оценки Sij для всех свободных клеток по формуле:
.
Если все Sij ≥ 0, то полученный план – оптимальный, при этом если все Sij > 0, то этот план единственный.
Если хотя бы одна оценка Sij = 0, имеем бесчисленное множество оптимальных планов с одним и тем же значением целевой функции.
4. Если хотя бы одна оценка Sij < 0, то план неоптимальный. Переходим к другому плану. Для этого выбираем и эта соответствующая клетка будет перспективной. Строим для нее цикл. Получаем новый план. Для нового плана находим потенциалы и т. д.
Пример 27. С трех складов А1, А2, А3, необходимо доставить овощи в пять торговых точек В1, В2, В3, В4, В5. Требуется закрепить склады за торговыми точками так, чтобы общая сумма затрат на перевозку была min. Числовые данные занесены в табл. 33.
Таблица 33
Склады |
Торговые точки |
Объем вывоза, т |
||||
В1 |
В2 |
В3 |
В4 |
В5 |
||
Стоимость перевозки 1 т груза в тыс. руб. |
||||||
А1 |
7 |
3 |
5 |
4 |
2 |
40 |
А2 |
6 |
2 |
3 |
1 |
7 |
150 |
А3 |
3 |
5 |
2 |
6 |
4 |
100 |
Объем потребности, т |
20 |
80 |
90 |
60 |
40 |
290 290 |
Решение:
Исходное опорное решение получим, например, по методу «минимального элемента» (табл. 34). Получен опорный вырожденный план, так как число занятых клеток должно быть m + n – 1 = 3 + 5 – 1 = 7, а у нас это число равно 6. В одну из свободных клеток помещаем 0, и считаем ее занятой. Поместим число 0, например, в клетку (1; 2) с наименьшим тарифом. План будет опорным, так как из занятых клеток не образуется циклов.
Таблица 34
|
В1 |
В2 |
В3 |
В4 |
В5 |
аi |
Ui |
А1 |
7 – |
3 0 |
|
|
|
40 |
0 |
А2 |
6
–
10 |
2
80 |
3
+
– |
|
|
150 |
– 1 |
А3 |
3
+
10 |
5
– |
3 –
10 |
|
|
100 |
– 4 |
bi |
20 |
|
90 |
60 |
40 |
|
|
Vj |
7 |
|
6 |
2 |
2 |
|
|
2. Для определения потенциалов составляем уравнение из заполненных клеток:
Замечание. Потенциалы можно считать и непосредственно по табл. 33, используя только заполненные клетки. Определим оценки свободных клеток:
S11 = 7 – (0 + 7) = 0, S13 = 5 – (0 + 6) = –1 < 0,
S14 = 4 – (0 + 2) = 2 > 0, S23 = 3 – (– 1 + 6) = – 2 < 0,
S25 = 7 – (– 1 + 2) = 6 > 0, S32 = 5 – (– 4 + 3) = 6 > 0,
S34 = 6 – (– 4 + 2) = 8 > 0, S35 = 4 – (– 4 + 2) = 6 > 0.
Перспективными являются клетки (1; 3) и (2; 3) с оценками S13 = – 1 и S23 = – 2, наиболее потенциальной является клетка (2; 3), так как – 2 < – 1. Строим для клетки (2; 3) цикл непосредственно в таблице. В цикл войдут клетки (2; 3), (2; 1), (3; 1), (3; 3).
Наименьшее количество груза, стоящее в вершинах цикла с отрицательным знаком λ = min (10; 90) = 10. В результате смещения λ по циклу получим новый план (табл. 35).
Таблица 35
|
В1 |
В2 |
В3 |
В4 |
В5 |
аi |
Ui |
А1 |
|
|
|
|
|
40 |
0 |
А2 |
|
|
|
|
|
150 |
– 1 |
А3 |
|
|
|
|
|
100 |
– 2 |
bj |
20 |
80 |
90 |
60 |
40 |
|
|
Vj |
5 |
3 |
4 |
2 |
2 |
|
|
Для нового плана определяем новые потенциалы, используя только заполненные клетки и новые оценки свободных клеток:
S11 = 7 – (5 + 0) = 2 > 0;
S13 = 5 – (4 + 0) = 1 > 0; S14 = 4 – 2 = 2 > 0; S25 = 7 – 1 = 6 > 0;
S32 = 5 – 1 = 4 > 0; S34 = 6 – 0 = 6 > 0; S35 = 4 – 0 = 4 > 0.
Оценки всех свободных клеток неотрицательны, значит план оптимальный. Так как все оценки S > 0, то он единственный.
Запишем оптимальный план:
Х* = , т. е. со склада А1 надо поставить 40 т овощей в магазин В5, со склада А2 – 80 т в магазин В2, 10 т в магазин В3, 60 т в магазин В4 и со склада А3 20 т в магазин В1, 80 т. в магазин В3. При этом издержки перевозок:
min Z = Z(x*) = 2 · 40 + 2 · 80 + 3 · 10 + 1 · 60 + 3 · 20 + 2 · 80 = = 520 тыс. руб.