Автор работы: Пользователь скрыл имя, 23 Октября 2012 в 02:34, курс лекций
Конспект лекций по курсу "Математическое программирование" для студентов профессионального направления 6.030509 (504, 601) дневной и заочной форм обучения / Составители: В.Г.Визинг, Н.А. Макоед -Одесса: ОНАПТ, 2007.- 60 с.
Рис. 4.1.
Для отыскания оптимального решения исходной задачи воспользуемся второй теоремой двойственности. Для этого запишем систему равенств (4.7) и (4.8)
Подставив у1=2, у2=1, после очевидных преобразований получим систему
Решив полученную систему, найдем х1= 9/19; х2=34/19; х3=0; fmin= 7.
Симплекс-методом можно решить любую ЗЛП. Но есть такие ЗЛП, которые можно решить более простыми методами. К таким задачам относится транспортная задача. Примером транспортной задачи является задача о перевозках, задача о назначениях, задача развития и размещения одно- и многопродуктовых отраслей.
Имеется m пунктов отправления А1, А2,..., Аm, в которых сосредоточен некоторый груз в количествах а1,а2,...,аm и n пунктов назначения В1, В2,..., Вn, в которые требуется завезти этот груз в количествах b1,b2,...,bn , причем
. Известны стоимости cij перевозки единицы
груза из пунктов Аi в пункты Вj ( ; ). Предполагается, что
а) товар является
однородным и делимым, т.е. потребителю
безразличен источник получаемого
товара, а перевозки могут
б) стоимость перевозки груза из одного пункта в другой пропорциональна количеству перевозимого груза.
Требуется составить такой план перевозок из пунктов Аi в пункты Вj, при котором затраты на перевозки были бы наименьшими.
Исходные данные задачи обычно представляются в виде транспортной таблицы (табл. 5.1).
Пн По |
В1 |
В2 |
. . . |
В3 |
Запасы |
А1 |
С11
|
С12
|
. . . |
С1n
|
а1 |
А2 |
С21
|
С22
|
. . . |
С2n
|
а2 |
. . . |
. . . |
. . . |
. . . |
. . . |
. . . |
Аm |
Сm1
|
Сm2
|
. . . |
Сmn
|
аm |
Потребности |
в1 |
в2 |
. . . |
вn |
Стоимости cij проставляются в правых верхних углах соответствующих клеток.
Составим математическую модель задачи. Пусть xij – количество груза, перевозимого из пункта Аi в пункт Вj. Целевая функция задачи (общая стоимость перевозок) записывается следующим образом:
Систему ограничений записываем, руководствуясь тем, что:
а) запасы пунктов отправления должны быть исчерпаны;
б) потребности пунктов назначения должны быть удовлетворены;
в) перевозки могут быть только неотрицательными.
Таким образом, ограничения задачи имеют вид:
Мы видим, что задача о перевозках является ЗЛП.
Транспортной задачей
Отметим следующую особенность транспортной задачи как ЗЛП специального вида: система уравнений разбита на две группы (5.2) и (5.3) так, что каждая переменная входит ровно в одно уравнение группы с коэффициентом 1.
Уравнения (5.2) называются горизонтальными, уравнения (5.3) -вертикальными.
Любой набор значений переменных xij называется планом перевозок. План перевозок называется допустимым, оптимальным или опорным, если он является допустимым, оптимальным или опорным планом ЗЛП (5.1 - 5.4).
Транспортная задача, как и любая
задача линейного программирования,
может быть решена симплекс-методом.
Однако
благодаря указанной выше особенности
транспортной задачи, для неё
существуют более простые методы решения,
один из которых – метод
потенциалов - мы изучим.
Существует несколько методов отыскания опорного плана транспортной задачи, например,
а) метод северо-западного угла;
б) метод минимального элемента в строке;
в) метод минимального элемента.
Пусть имеется транспортная задача (5.1 - 5.4). Хотя в системе (5.2 - 5.3) m+n уравнений, опорный план содержит только m+n–1 базисных переменных. Это объясняется тем, что одно из уравнений является следствием остальных, и в жордановой форме m+n–1 уравнений.
Опишем метод отыскания исходного опорного плана, называемый методом минимального элемента.
Возьмем клетку (Аi,Вj) с наименьшей стоимостью перевозок. Проставим в нее перевозку, равную min(ai,bj). Затем "уменьшаем" транспортную таблицу, руководствуясь правилами:
а) если в таблице только один ПО Аi и один ПН Вj, то алгоритм останавливается;
б) если в таблице один ПО Аi и несколько ПН, то исключаем Вj , считая в "меньшей" таблице запас пункта Аi равным 0;
в) если в таблице один ПН Вj и несколько ПО, то исключаем Аi, считая в "меньшей" таблице потребность пункта Вj, равной 0;
г) если в таблице несколько ПО и несколько ПН, то исключаем либо ПО Аi, полагая в "меньшей" таблице потребность ПН Вj равной 0, либо исключаем ПН Вj, полагая запас ПО Аi равным 0.
Подобные шаги проделывают до тех пор, пока не будут исключены все строки и столбцы.
В результате применения метода минимального элемента некоторые клетки заполнены, некоторые – нет. Заполненные клетки называются базисными (даже если стоит 0), незаполненные – свободными. Докажем, что число базисных клеток равно m+n-1.
Действительно, на каждом шаге, кроме последнего, исключаем либо строку, либо столбец. На последнем шаге исключаем и строку, и столбец. Так как число строк и столбцов в сумме равно m+n, то всего будет проделано m+n-1 шагов, а на каждом шаге заполняется одна клетка, т.е. число базисных клеток m+n-1.
Воспользуемся примером (табл. 5. 2).
Пн По |
В1 |
В2 |
В3 |
В4 |
Запасы |
А1 |
10 4 |
15 3 |
5 |
7 |
25 |
А2 |
2 |
5 1 |
8 |
6 |
5 |
А3 |
0 4 |
9 |
30 3 |
15 2 |
45 |
Потребности |
10 |
20 |
30 |
15 |
75=75 |
Рассмотрим произвольную клетку (Аi, Вj) - клетку транспортной таблицы с наименьшей стоимостью перевозок - клетку (2.2). Проставим в неё перевозку x22=min(a2,b2)=min(20,5)=5. После этого запас пункта А2 полностью исчерпан. Исключим мысленно из таблицы вторую строку. В меньшей транспортной таблице потребность пункта В2 положим равной 25–10=15. Рассматриваем клетку с минимальной стоимостью новой таблицы. Руководствуясь тем же правилом, проставляем в неё перевозку х34=15. Потребность пункта В4 полностью удовлетворена, и мы исключаем из таблицы четвертый столбец, а в полученной транспортной таблице запас пункта А3 делаем равным 45–15 = 30. В клетку (3,3) с минимальной стоимостью, равной 3, проставляем перевозку х33=min(30,30)=30. При этом одновременно исчерпывается запас пункта А3 и удовлетворяется потребность пункта В3.
Переходя к новой таблице, нельзя одновременно убрать и столбец, и строку. Нужно убрать либо столбец, либо строку. Уберем, например, столбец. Третья строка еще не исключена из таблицы, запас пункта А3 полагаем равным 0, поэтому в клетку (3,1) с минимальной стоимостью, равной 4, ставим перевозку х31=min(10,0)=0. После этого исключаем третью строку из рассмотрения. Далее полагаем х12=min(15,25)=15, исключаем второй столбец, а запас пункта А1 делаем равным 25-15=10. Наконец, в клетку (1,1) проставляем х11=10. Исходный опорный план найден. Базисными переменными являются х11, х12, х22, х31, х33, х34. Значения базисных переменных в опорном плане равны перевозкам, проставленным в соответствующих клетках. Опорный план является вырожденным, так как х31=0. Число базисных переменных равно m+n–1, т.е. 3+4–1=6.
Метод минимального элемента усваивается очень легко. Чтобы убедиться в этом, проделайте самостоятельно такой пример (табл. 5.3.):
Пн По |
В1 |
В2 |
В3 |
Запасы |
А1 |
2 |
3 |
1 |
40 |
А2 |
4 |
2 |
5 |
60 |
А3 |
3 |
2 |
6 |
50 |
Потребности |
70 |
40 |
40 |
150=150 |
У вас должен получиться результат, зафиксированный в таблице 5.4.
Пн По |
В1 |
В2 |
В3 |
Запасы |
А1 |
2 |
3 |
40 1 |
40 |
А2 |
20 4 |
40 2 |
0 5 |
60 |
А3 |
3 50 |
2 |
6 |
50 |
Потребности |
70 |
40 |
40 |
150=150 |
5.4. Циклы пересчета
5.4.1. Понятие цикла пересчета
Пусть имеется транспортная задача (5.1 - 5.4) и соответствующая таблица 5.1. Циклом называется замкнутая ломаная линия, вершины которой лежат в клетках таблицы, а звенья попеременно принадлежат то строке, то столбцу.
Легко убедиться, что каждый цикл имеет четное число вершин, равное удвоенному числу горизонтальных звеньев.
Цикл называется означенным, если его вершинам попеременно приписаны знаки "+" и "–".
Пусть имеется некоторый опорный план перевозок. Циклом пересчета называется означенный цикл, одна из положительных вершин которого лежит в свободной клетке, а все остальные вершины - в базисных клетках.
Можно показать, что для любой свободной клетки существует единственный цикл пересчета (при данном опорном плане перевозок), проходящий через эту свободную клетку.
В таблице 5.4 пунктиром показан один цикл пересчета, который проходит через свободную клетку (1,1).
5.4.2. Максимально допустимый сдвиг по циклу пересчета.
Сдвигом на величину h ≥ 0 по циклу пересчета называется увеличение на число h перевозок, стоящих в положительных вершинах цикла, и уменьшение на число h перевозок, стоящих в отрицательных вершинах.
Так как в каждой строке
и каждом столбце транспортной таблицы
количество положительных вершин равно
количеству отрицательных
вершин цикла, то при сдвиге на любое число
h условия (5.2) и (5.3)
не нарушаются. Чтобы не нарушалось условие
(5.4), величина сдвига
не должна превышать минимальной перевозки,
стоящей в отрицательной
вершине цикла.
Информация о работе Конспект лекций по курсу «Математическое программирование»