Автор работы: Пользователь скрыл имя, 13 Июня 2011 в 15:48, курс лекций
Математическое программирование представляет собой математическую дисциплину, которая занимается изучением экстремальных задач и разработкой методов их решения.
В общем виде задачу можно представить следующим образом: в m пунктах производства А1, А2, ,Аm имеется однородный груз в количестве соответственно а1,а2, , аm. Этот груз необходимо доставить в n пунктов назначения B1, B2, …, Bn b1, в количестве соответственно b2, …, bn. Стоимость перевозки единицы груза (тариф) из пункта Ai в пункт Bj равна cij.
Требуется составить план перевозок, позволяющий вывезти все грузы и имеющий минимальную стоимость.
Математическая модель задачи выглядит следующим образом:
Пусть xij – количество груза, перевозимого из пункта Ai в пункт Bi.
Целевая функция имеет вид: (1)
при следующих системах ограничений:
(2)
(3)
Определения:
1. Всякое матричное решение систем (2) и (3), определяемое матрицей Х(xij), называется планом транспортной задачи.
2. Решение, при котором функция (1) принимает минимальное значение, называется оптимальным планом транспортной задачи.
3. Суммарным
количеством груза у
4. Если общая потребность в грузе равна запасу груза ( = ), то модель такой транспортной задачи называется закрытой. Если это условие не выполняется, то модель задачи называется открытой.
Теорема.
Для разрешимости транспортной задачи необходимо и достаточно, чтобы запасы груза в пунктах отправления были равны потребностям в грузе в пунктах назначения, т.е чтобы выполнялось условие = .
Обычно условия транспортной задачи записываются в виде таблицы:
Потреб.
Постав. |
B1 | B2 | … | Bn | Запасы |
A1 | c11 | c12 | … | c1n | a1 |
x11 | x12 | x1n | |||
A2 | c21 | c22 | … | c2n | a2 |
x21 | x22 | x2n | |||
… | … | … | … | … | |
Am | cm1 | cm2 | … | cmn | am |
xm1 | x21 | xmn | |||
Потребности | b1 | b2 | … | n1 | = |
cij - тарифы на перевозку груза от поставщика Ai к потребителю Bj
В случае превышения запасов над потребностью ( > ) вводится фиктивный потребитель Bn+1 с нулевыми тарифами на перевозку от всех поставщиков (ci n+1=0).
Аналогично, если потребности превышают запасы, ( < ), то вводится фиктивный поставщик Am+1 с нулевыми тарифами (cm+1 j=0).
Число переменных транспортной задачи с m-пунктами отправления и n-пунктами назначения равно m·n, а число уравнений равно m+n.
При условии выполнения баланса запасов и потребностей число линейно независимых уравнений равно (m+n-1).
Если в опорном плане число отличных от нуля переменных равно m+n-1, то план называется невырожденным. Если это число меньше m+n-1, то план называется вырожденным.
Для решения транспортной задачи существует несколько способов.
Рассмотрим три из них:
Пусть имеется
таблица исходных данных задачи:
Потреб.
Постав. |
B1 | B2 | … | Bn | Запасы |
A1 | c11 | c12 | … | c1n | a1 |
x11 | x12 | x1n | |||
A2 | c21 | c22 | … | c2n | a2 |
x21 | x22 | x2n | |||
… | … | … | … | … | |
Am | cm1 | cm2 | … | cmn | am |
xm1 | x21 | xmn | |||
Потребности | b1 | b2 | … | bn1 | = |
При нахождении опорного плана транспортной задачи методом северо-западного угла на каждом шаге рассматривают первый из оставшихся пунктов отправления и первый из оставшихся пунктов назначения. Заполнение клеток таблицы условий начинается с левой верхней клетки для неизвестного x11 («северо-западный угол») и заканчивается клеткой для неизвестного xmn, т.е. идет как бы по диагонали таблицы.
Заполним таблицу, начиная с левого верхнего угла, двигаясь далее по строке вправо, или по столбцу вниз. В клетку (1; 1) занесем меньшее из чисел a1 и b1 , т.е. .
Если a1 > b1, то x11=b1 и первый столбец «закрыт», т.е. потребности первого потребителя удовлетворены полностью. Далее движение продолжаем по первой строке. В соседнюю клетку (1; 2) записываем меньшее из чисел a1-b1 и b2 , т.е. .
Если же b2>a1, то аналогично «закрывается» первая строка и далее переходим к заполнению соседней клетки (2; 1), куда заносим . Этот процесс продолжается до тех пор, пока на каком-то этапе не исчерпаются ресурсы am и потребности bn .
В
методе северо-западного угла не учитывается
величина затрат (т.е. тарифы), поэтому
исходное опорное решение может
быть далеким от оптимального.
Пример.
На три базы А1, А2, А3
поступил однородный груз в количествах,
соответственно равных 140, 180 и 160 ед. Этот
груз требуется перевезти в пять пунктов
назначения В1, В2, В3,
В4, В5 соответственно в количествах
60, 70, 120, 130 и 100 ед. Тарифы перевозок единицы
груза с каждого из пунктов отправления
в соответствующие пункты назначения
указаны в следующей таблице:
Пункты оправления | Пункты назначения | Запасы | ||||
В1 | В2 | В3 | В4 | В5 | ||
А1 | 2 | 3 | 4 | 2 | 4 | 140 |
А2 | 8 | 4 | 1 | 4 | 1 | 180 |
А3 | 9 | 7 | 3 | 7 | 2 | 160 |
Потребности | 60 | 70 | 120 | 130 | 100 | 480 |
Найти план перевозок.
Решение. Здесь число пунктов отправления m=3, а число пунктов назначения n=5. Следовательно, опорный план задачи определяется числами, стоящими в 5+3-1=7 заполненных клетках.
Заполнение
таблицы начнем с клетки для неизвестного
х11, т.е. попытаемся удовлетворить
потребности первого пункта назначения
за счет запасов первого пункта отправления.
Т.к. запасы пункта А1 больше, чем
потребности пункта В1, то полагаем
х11=60, записываем это значение
в соответствующей клетке таблицы и временно
исключаем из рассмотрения столбец В1,
считая при этом запасы пункта А1
равными 80.
Пункты отправления | Пункты назначения | Запасы | ||||
В1 | В2 | В3 | В4 | В5 | ||
А1 | 2 | 3 | 4 | 2 | 4 | 140 |
60 | 70 | 10 | ||||
А2 | 8 | 4 | 1 | 4 | 1 | 180 |
110 | 70 | |||||
А3 | 9 | 7 | 3 | 7 | 2 | 160 |
60 | 100 | |||||
Потребление | 60 | 70 | 120 | 130 | 100 | 480 |
Рассмотрим первые из оставшихся пунктов отправления А1 и назначения В2. Запасы пункта А1 больше потребностей пункта В2. Положим х12=70, запишем это значение в соответствующей клетке таблицы и временно исключим из рассмотрения столбец В2. В пункте А1 запасы считаем равными 10 ед. Снова рассмотрим первые из оставшихся пунктов отправления А1 и назначения В3. Потребности пункта В3 больше оставшихся запасов пункта А1. Положим х13=10 и исключим из рассмотрения строку А1. Значение х13=10 запишем в соответствующую клетку таблицы и считаем потребности пункта В3 равными 110 ед.
Далее переходим к заполнению клетки для неизвестного х23 и т.д. Через шесть шагов остается один пункт отправления А3 с запасом груза 100 ед. и один пункт назначения В5 с потребностью 100ед. Соответственно имеется одна свободная клетка, которую и заполняем, полагая х35=100. в результате получаем опорный план
Согласно
данному плану перевозок, общая
стоимость перевозок всего
Таким
образом в методе северо-западного
угла на каждом шаге потребности первого
из оставшихся пунктов назначения удовлетворялись
за счет запасов первого из оставшихся
пунктов отправления.
Сущность метода минимального элемента состоит в выборе клетки с минимальным тарифом (если таких клеток несколько, то следует выбрать любую из них).
Этот метод, как правило, позволяет найти опорный план транспортной задачи, при котором общая стоимость перевозок груза меньше, чем общая стоимость перевозок при плане, найденном для данной задачи с помощью метода северо-западного угла. Поэтому наиболее целесообразно опорный план транспортной задачи находить методом минимального элемента.
Пример. Четыре предприятия данного экономического района для производства продукции используют три вида сырья. Потребности в сырье каждого из предприятий соответственно равны 120, 50, 190 и 110 ед. Сырье сосредоточено в трех местах его получения, а запасы соответственно равны 160, 140, 170 ед. На каждое из предприятий сырье может завозиться из любого пункта его получения. Тарифы перевозок являются известными величинами и задаются матрицей
Составить
такой план перевозок, при котором
общая стоимость перевозок
Решение.
Исходные данные запишем в виде таблицы.
Пункты отправления | Пункты назначения | Запасы | |||
В1 | В2 | В3 | В4 | ||
А1 | 7 | 8 | 1 | 2 | 160 |
160 | |||||
А2 | 4 | 5 | 9 | 8 | 140 |
120 | 20 | ||||
А3 | 9 | 2 | 3 | 6 | 170 |
50 | 30 | 90 | |||
Потребности | 120 | 50 | 190 | 110 | 470 |