Автор работы: Пользователь скрыл имя, 13 Июня 2011 в 15:48, курс лекций
Математическое программирование представляет собой математическую дисциплину, которая занимается изучением экстремальных задач и разработкой методов их решения.
Минимальный тариф, равный 1, находится в клетке для переменной х13. Положим х13=160, запишем это значение в соответствующую клетку таблицы и исключим временно из рассмотрения строку А1. Потребности пункта назначения В3 считаем равным 30 ед.
В оставшейся части таблицы клетка с наименьшим значением тарифа находится на пересечении строки А3 и столбца В2, где с32=2. Положим х32=50 и внесем это значение в соответствующую клетку таблицы.
Временно исключим из рассмотрения столбец В2 и будем считать запасы пункта А3 равными 120 ед. После этого снова рассмотрим оставшуюся часть таблицы. В ней минимальный тариф находится на пересечении строки А3 и столбца В3 и равен 3. Заполним соответствующую клетку таблицы и аналогично заполняем (в определенной последовательности) клетки, находящиеся на пересечении строки А2 и столбца В1, строки А3 и столбца В4, строки А2 и столбца В4. в результате получим опорный план
При данном плане перевозок общая стоимость перевозок составляет
Для определения оптимального плана транспортной задачи разработано несколько методов, но наиболее часто используется метод потенциалов.
Общий
принцип определения
Теорема. Если для некоторого опорного плана транспортной задачи существуют такие числа U1, U2, …, Um, V1, V2, …, Vn, что
при
и
при
для всех i=1,m и j=1,n , то - оптимальный план транспортной задачи.
Определение. Числа Ui и Vj называются потенциалами соответственно пунктов назначения и пунктов потребления.
Сформулированная теорема позволяет построить алгоритм нахождения решения транспортной задачи. Он состоит в следующем. Пусть одним из рассмотренных выше методов найден опорный план транспортной задачи. Для каждого из пунктов отправления и назначения определяют потенциалы Ui и Vj . Эти числа находят из системы уравнений , где сij – тарифы, стоящие в заполненных клетках таблицы условий транспортной задачи.
Т.к. число заполненных клеток равно n+m-1, то система с n+m неизвестными содержит n+m-1 уравнений. Поскольку число неизвестных превышает на единицу число уравнений, одно из неизвестных можно положить равным произвольному числу, например U1=0, и найти последовательно из системы уравнений значения остальных неизвестных. После того, как все потенциалы найдены, для каждой из свободных клеток определяют числа (оценка свободных клеток). Если среди оценок нет отрицательных, то найденный опорный план является оптимальным. Если среди оценок есть оценки, равные нулю, то найденный опорный план является не единственным оптимальным планом. Если же для некоторой свободной клетки <0, то исходный опорный план не является оптимальным и необходимо перейти к новому опорному плану. Для этого рассматривают все свободные клетки, для которых <0, и среди данных чисел выбирают максимальное по абсолютной величине. Клетку, которой это число соответствует, следует заполнить.
Заполняя выбранную клетку, необходимо изменить объемы поставок, записанных в ряде других клеток и связанных с заполненной так называемым циклом.
Определение. Циклом в таблице условий транспортной задачи называется ломаная линия, вершины которой расположены в занятых клетках таблицы, а звенья вдоль строк и столбцов, причем в каждой вершине цикла встречается ровно два звена, одно из которых находится в строке, а другое – в столбце.
Если ломаная линия, образующая цикл, пересекается, то точки самопересечения не являются вершинами.
При правильном построении опорного плана для любой свободной клетки можно построить лишь один цикл. После того как для выбранной свободной клетки он построен, следует перейти к новому опорному плану. Для этого необходимо переместить грузы в пределах клеток, связанных с данной свободной клеткой. Это перемещение производят по следующим правилам:
В результате указанных выше перемещений грузов в пределах клеток, связанных циклом с данной свободной клеткой, определяют новый опорный план транспортной задачи.
Описанный выше переход от одного опорного плана транспортной задачи к другому ее опорному плану называется сдвигом по циклу пересчета.
Следует отметить, что при сдвиге по циклу пересчета число занятых клеток остается неизменным, а именно равным n+m-1. При этом если в минусовых клетках имеется два (или) более) одинаковых числа, то освобождают лишь одну из таких клеток, а остальные оставляют занятыми (с нулевыми поставками).
Полученный новый опорный план транспортной задачи проверяют на оптимальность, и т.д. Итерационный процесс после конечного числа шагов получают оптимальный план задачи.
Пример.
Три комбината строительных материалов
выпускают фундаментные блоки, а четыре
строительных управления нуждаются в
этих фундаментных блоках. Найти оптимальный
план перевозки груза от потребителя к
заказчику. Данные о запасах, потребностях
и тарифах на перевозку грузов приведены
в таблице.
Пункты отправления | Пункты назначения | Запасы | Потенциалы Ui | |||
B1 | B2 | B3 | B4 | |||
A1 | 8 | 7 | 10 | 6 | 45 | 0 |
35 | 10 | |||||
A2 | 9 | 6 | 8 | 7 | 45 | -1 |
15 | 30 | |||||
A3 | 5 | 10 | 7 | 9 | 50 | -2 |
20 | 30 | |||||
Потребности | 35 | 25 | 50 | 30 | 140 | |
Потенциалы Vj | 8 | 7 | 9 | 11 |
Найдем первый опорный план методом северо-западного угла. Задача закрытого типа. В результате произведенного распределения весь груз вывезен от поставщиков, а запросы потребителей полностью удовлетворены. Заполнены 6 клеток (m+n-1=6).
Матрица перевозки грузов имеет вид
Стоимость
перевозки при таком
F=8*35+7*10+6*15+8*30+7*
Проверим
оптимальность данного
Для
определения потенциалов
Произведем оценку свободных клеток, т.е проверим выполнение условия .
Т.к. среди оценок есть отрицательные (-5; -3; -1), то найденный опорный план не является оптимальным.
Для
улучшения плана
Произошло перераспределение груза в пользу клеток с меньшим тарифом. Запишем матрицу распределения груза:
Стоимость перевозки согласно новому опорному плану равна:
F=35*8+25*6+20*8+30*7+20*
Проверим данный план на оптимальность, для чего снова найдем потенциалы для заполненных клеток и оценим свободные клетки в новой таблице, заполненной согласно произведенному циклу пересчета.
Пункты отправления | Пункты назначения | Запасы | Потенциалы Ui | |||
B1 | B2 | B3 | B4 | |||
A1 | 8 | 7 | 10 | 6 | 45 | 0 |
35 | 10 | |||||
A2 | 9 | 6 | 8 | 7 | 45 | 4 |
25 | 20 | |||||
A3 | 5 | 10 | 7 | 9 | 50 | 3 |
30 | 20 | |||||
Потребности | 35 | 25 | 50 | 30 | 140 | |
Потенциалы Vj | 8 | 2 | 4 | 6 |
Для
определения потенциалов
Произведем оценку свободных клеток, т.е проверим выполнение условия .
Т.к. среди оценок есть отрицательные (-3; -3; -6), то найденный опорный план не является оптимальным.
Для
улучшения плана
Min( 35;20)
Строим новую таблицу
Пункты отправления | Пункты назначения | Запасы | Потенциалы Ui | |||
B1 | B2 | B3 | B4 | |||
A1 | 8 | 7 | 10 | 6 | 45 | 0 |
15 | 30 | |||||
A2 | 9 | 6 | 8 | 7 | 45 | -2 |
25 | 20 | |||||
A3 | 5 | 10 | 7 | 9 | 50 | -3 |
20 | 30 | |||||
Потребности | 35 | 25 | 50 | 30 | 140 | |
Потенциалы Vj | 8 | 8 | 10 | 6 |