Распределительный метод
Стр 1 из 2Следующая ⇒ Транспортная задача Рассмотрим простейшую постановку транспортной задачи. В m пунктах отправления А1, А2,..., Ат находится однородный груз, в количествах a1, a2,..., aт единиц (ед.) (например, тонн) соответственно. Потребность в этом грузе в п пунктах назначения В1, В 2,..., Вт составляет соответственно b1, b2,..., bт ед. груза. Стоимость перевозки ед. груза (удельная стоимость) из пункта Аi в пункт Вj (короче, из Аi в Bj) равна cij, i = 1, 2,..., т, j = 1, 2,..., n. Все эти данные можно свести в табл. 1, называемую матрицей перевозок, разграфив ее для удобства на клетки.
Таблица 1
Можно считать, что сумма a запасов в пунктах отправления равна суммарным потребностям b в пунктах назначения, т.е. . (1) Такая модель транспортной задачи называется закрытой. Если условие (1) не выполняется, т.е. модель открытая, то в случае, когда а > b, вводят фиктивный пункт назначения Bn+1, полагая bn+1 = a-b, ci,n+1 = 0, i=1, 2,..., m. Если, наоборот, а < b, то вводят фиктивный пункт отправления Am+1, полагая am+1 = b-a, cm+1,j = 0, j=1, 2,..., n. Пусть xij — неизвестный пока объем груза, который по плану перевозок следует доставить из Аi в Bj, i = 1, 2,..., т, j = 1, 2,..., n. Занесем неизвестные xij в табл. 1 и приступим к составлению ограничений. Возьмем какой-нибудь пункт отправления, например Аi. Весь груз из него должен быть вывезен (это следствие того, что модель закрытая), поэтому сумма неизвестных в i -ой строке табл. 1 должна равняться ai, т.е. xi1 + xi2 +... + xin = ai, i = 1, 2,..., m. Таким образом, получим систему линейных уравнении (2) для пунктов отправления. Аналогично, сумма неизвестных, стоящих в j -ом столбце табл. 1, должна равняться bj, т.е.
x1j + x2j +... + xmj = bj, j = 1, 2,..., n. В результате получим систему линейных уравнении (3) для пунктов назначения. Естественно, неизвестные в этих системах должны быть неотрицательны. x11 + x12 +... + x1n = a1, x21 + x22 +... + x2n = a2, (2) … xm1 + xm2 +... + xmn = am;
x11 + x21 +... + xm1 = b1, x12 + x22 +... + xm2 = b2, (3) … x1n + x2n +... + xmn = bn. Предполагая, что стоимость перевозок пропорциональна количеству перевозимого груза, общую стоимость перевозок можно выразить формулой . (4) Итак, для решения поставленной задачи требуется среди неотрицательных решений системы линейных уравнений (2)-(3) найти решение, дающееминимум форме z (4). Система линейных уравнений (2)-(3), состоит из (т + n) уравнений с т • n неизвестными, причем эта система линейно зависима, так как в силу условия (1) сумма первых m уравнений (подсистема (2)) совпадает с суммой остальных n уравнений (подсистема (3)). Это означает, что ранг системы (2)-(3) меньше, чем (m+n). Можно показать, что он равен m+n- 1, следовательно, базис системы уравнений (2)-(3) содержит m + n -1 неизвестных. Непосредственное применение симплекс-метода к решению сформулированной задачи ЛП затруднительно из-за большого числа переменных. Поэтому разработаны его модификации, учитывающие специфику транспортной задачи. Ниже будет рассмотрен распределительный метод решения транспортной задачи. Все необходимые вычисления по этому методу можно оформить с помощью матрицы перевозок. Решение транспортной задачи начинается с нахождения какого-либо допустимого базисного решения. Формирование начального плана методом северо-западного угла Самым простым способом отыскания исходного базисного решения является правило северо-западного угла. Такое название объясняется тем, что распределение груза в матрице перевозок идет слева направо и сверху вниз, что соответствует движению на географической карте с началом на северо-западе. Суть этого способа видна из следующего примера.
Пример 1. Исходные данные транспортной задачи сведены в табл. 2. Найти базисное решение по правилу северо-западного угла. Таблица 2.
Схема распределения груза по правилу северо-западного угла состоит в следующем. Попытаемся удовлетворить потребности пункта назначения В1 в 25 ед. груза (1-ая колонка плана перевозок xij) За счет пункта отправления А1 можно удовлетворить только 20 ед., т.е. полагаем x11 = 20. Недостающие 5 ед. для пункта В1 берем из пункта А2, т.е. х21 = 5. После этого план перевозок xij примет вид
В нижней строке и правом столбце указываем остаток нераспределенного груза. В строке для А1 и в столбце для В1 остаток равен нулю, т.е груз полностью распределен. За счет А2, где осталось 25 ед., удовлетворяем также В2, полагая x22 = 10. В столбце для В2 получаем остаток, равный нулю. Поэтому оставшиеся в А2 15 ед. отправляем в В3. Продолжая аналогичным образом, получим следующий план перевозок (в числителе клетки показаны значения cij, а в знаменателе – xij): Таблица 3.
Ненулевыми оказалось m+n -1= 4+5-1=8 клеток. Они соответствуют неизвестным x11, x21, x22, x23, x33, x34, x35, x45. (5) Можно показать, что систему уравнении вида (2)-(3) для данной задачи можно разрешить относительно указанных неизвестных (5), т.е. эти неизвестные образуют базис, а решение, полученное в табл. 3, является базисным для базиса (5). Клетки в матрице перевозок, отвечающие базисным неизвестным, принято называть базисными, а остальные - свободными. Для того чтобы базисные клетки отличить от свободных, будем выделять их более жирным шрифтом, помещая в знаменателе значение базисного неизвестного в базисном решении. В свободных клетках будем помещать в знаменателе нули. Полученный план перевозок имеет стоимость
Z = 5*20+3*5+7*10+8*15+1*20+4*5+3*20+7*15 = 100+15+70+120+20+20+60+105 = 510
Формирование начального плана методом наименьшей стоимости Распределение груза по правилу северо-западного угла производится в порядке номеров пунктов отправления и назначения и совершенно не учитывает удельные стоимости с,, перевозок. При распределении груза по методу наименьшей стоимости в первую очередь заполняется клетка с наименьшей удельной стоимостью, причем, если таких клеток несколько, то предпочтение отдается той, где может быть помещено большее количество груза. Рассмотрим метод на исходных данных примера 1. Укажем в знаменателе клеток – порядковый номер в упорядоченной по возрастанию последовательности cij. При одинаковых значениях cij приоритет устанавливаем по убыванию max(ai, bj) (значение приведено в скобках в числителе): Таблица 4.
Начинаем распределение с элемента х33 =35 (т.к. В3 может принять только такое количество груза), затем x15 = 20 и заносим в табл. 5. Так как запасы пункта A1 исчерпаны, то 1-я строка исключается из дальнейшего рассмотрения, так же как в 3-й столбец, поскольку потребности В3 также удовлетворены. В табл. 5 они для дальнейшего удобства отмечены крестиками в самом правом столбце и самой нижней строке. Таблица 5.
В оставшихся клетках табл. 4 наименьший порядковый номер в знаменателе равен 4 в клетке (3,5). Для пункта В5 остаток составляет 15 ед. груза, а в A3 – 10. Присваиваем х35 =10 и закрываем для распределения пункт A3. Из оставшихся клеток табл. 4 наименьший порядковый номер в знаменателе равен 5 в клетке (2,1). Присваиваем х21 =25 и закрываем для распределения пункт В1. Полученный план представлен в табл. 6.
Таблица 5.
В оставшихся клетках табл. 4 наименьший порядковый номер в знаменателе равен 7 в клетке (4,2). Для пункта В2 остаток составляет 10 ед. груза. Присваиваем х42 =10 и закрываем для распределения пункт В2. Далее присваиваем х24 =5 и закрываем для распределения пункт В4 и A2. Таблица 6.
Единственная незакрытая клетка (4,5). Присваиваем ей х45 =5. Окончательный план приведен в табл. 7. Таблица 7.
Распределение груза закончено. Подученное в табл. 7 решение оказалось вырожденным, так как содержит 7 ненулевых значений неизвестных вместо нужных 8 = m+n –1=4+5-1. Дня того чтобы иметь 8 базисных клеток, нужно в одну из незаполненных клеток (но не любую), например, в клетку с индексами (3, 4), поместить нуль. Получим табл. 8. В ней.8 базисных клеток для наглядности отмечены цветом. Значения базисных неизвестных в базисном решении равны x15 = 20, x21 = 25, x24 =5, x33 = 35, x34 = 0, x35 = 10, x42 = 10, x45 = 5. Таблица 8.
Стоимость перевозок Z = 1*20+3*25+6*5+1*35+4*0+3*10+3*10+7*5 = 20+75+30+35+30+30+35 = 255, Что в два раза меньше, чем для плана, полученного методом северо-западного угла.
Распределительный метод Решая транспортную задачу распределительным методом, переходят от одного базисного решения к другому таким образом, что стоимость перевозок уменьшается (не увеличивается). Такой переход осуществляется с помощью цикла пересчета свободной клетки. Циклом в матрице перевозок называется замкнутая ломаная линия, составленная из горизонтальных и вертикальных отрезков, вершины которой находятся в клетках таблицы,
Рис. 1
Приведем некоторые свойства циклов. Свойство 1. Число вершин в цикле четно. Припишем каждой вершине цикла знак "+" или "–" таким образом,.чтобы две соседние вершины имели разные знаки. Такой цикл назовем означенным. Будем для краткости называть клетку, в которую попала вершина означенного цикла со знаком "+", положительной, а клетку с вершиной, помеченной знаком "–" — отрицательной.
Свойство 2. В любой строке (столбце) матрицы перевозок, где находятся вершины означенного цикла, число положительных клеток равно числу отрицательных клеток. Свойство 3. Если в матрице перевозок размеров т на п, т ³ 2, п ³ 2 указать произвольным образом (m + n) клеток, то существует цикл, все вершины которого находятся необязательно во всех указанных клетках. Пусть дано некоторое решение системы уравнений (2)-(3). Внесем значения неизвестных, которые они принимают в этом решении, в соответствующие клетки матрицы перевозок. Построим в матрице перевозок некоторый цикл, означим его. Затем значения неизвестных, стоящие в положительных клетках, увеличим на некоторое число x0, а значения неизвестных, стоящие в отрицательных клетках, уменьшим на то же число x0. Такое преобразование матрицы перевозок называется сдвигом по данному циклу на число x0. Теорема 1. Сдвиг по циклу на некоторое число x0 , отличное от нуля, переводит одно решение системы уравнений (2)-(3) в некоторое другое решение этой системы. Действительно, по свойству 2 циклов сумма значений неизвестных в любой строке (столбце) матрицы перевозок, где находятся вершины цикла, остается неизменной при сдвиге по циклу. Пусть найдено некоторое базисное решение системы уравнений (2)-(3). Ему соответствует стоимость перевозок, определяемая формулой (4). Впишем значения базисных неизвестных в соответствующие клетки матрицы перевозок, отметив их цветом.
Теорема 2. Не существует цикла, все вершины которого находятся в базисных клетках. Предположим обратное: пусть такой цикл существует. Означим его и произведем сдвиг по этому циклу на некоторое число x0. Тогда базисные неизвестные изменят свои значения, т.е. по теореме 1 получим новое решение системы (2)-(3), в то время как свободные неизвестные не изменят свои значения (они по-прежнему равны нулю), что невозможно. Теорема 3. Для каждой свободной клетки существует, и притом единственный, цикл, одна вершина которого находится в данной свободной клетке, а все остальные — в базисных, необязательно во всех. Действительно, возьмем произвольную свободную клетку. Число базисных клеток вместе с взятой свободной равно (m+n). По свойству 3 циклов найдется цикл, все вершины которого находятся в этих (т +п) клетках, необязательно во всех, но по теореме 2 одна вершина обязательно попадет в данную свободную клетку. Покажем, что этот цикл единственный. Предположим, что нашелся другой цикл, одна вершина которого находится в данной свободной клетке, а остальные — в базисных. Тогда означим оба цикла так, чтобы их общая вершина в свободной клетке имела бы знак "+", и произведем по одному из циклов сдвиг на число x0 ¹0, – а по другому циклу — на число (–x0). В результате базисные неизвестные в тех клетках, где вершины циклов не совпадают, изменят свои значения, в то время как свободные неизвестные не изменят свои значения (они по-прежнему равны нулю), что невозможно. Цикл, существование и единственность которого для данной свободной клетки следует из теоремы 3, будем всегда означивать так, чтобы свободная клетка была положительной. Он называется циклом пересчета данной свободной клетки. Пусть в матрицу перевозок внесено некоторое допустимое базисное решение. Возьмем произвольную свободную клетку, например с индексами (i, j) (короче, клетку (i, j)), и построим для нее цикл пересчета, см. рис. 2. Осуществим сдвиг по циклу на некоторое число x0. Это приведет по теореме 1 к новому решению системы уравнений (2)-(3) и изменению стоимости перевозок, равному Dz = cijx0 – cikx0 + clkx0 – … + cstx0 – csjx0 = S (c+ij – c–ij) x0 (5) В формуле (5) через c+ij и c–ij символически обозначены удельные стоимости, находящиеся соответственно в положительных и отрицательных базисных клетках. Индексы i и j указывают на то, что в этих клетках находятся вершины цикла пересчета свободной клетки (i, j). Величина d ij = S (c+ij – c–ij) = cij – cik + clk – … + cst – csj (6) называется оценкой свободной клетки (i, j) для данного базисного решения. Она не зависит от величины сдвига x0. Экономический смысл оценки d ij свободной клетки (i, j) состоит в том, что она равна изменению стоимости перевозок при сдвиге по циклу пересчета свободной клетки (i, j) на единицу груза. Таблица 9.
Для примера обратимся к табл. 9. В ней построен цикл пересчета для свободной клетки (1, 1). Оценка этой клетки по формуле (6) равна d ij = c11 – c15 + c35 – c34 + c24 – c21 = 5 – 1 + 3 – 4 + 6 – 3 = 6. Это означает, что при сдвиге по построенному циклу единицы груза стоимость перевозок по сравнению со стоимостью плана перевозок табл. 9 возрастет на 6 единиц. Вернемся к общему случаю. Имеются три возможности для оценки свободной клетки. 1. Если d ij > 0, то Dz > 0, т.е. сдвиг в рассматриваемую свободную клетку (i, j) приводит к удорожанию перевозок, что удаляет от оптимального решения. 2. Если d ij = 0, то Dz = 0, т.е. сдвиг по циклу пересчета не влияет на стоимость перевозок. 3. Если d ij < 0, то Dz < 0, т.е. сдвиг в рассматриваемую свободную клетку (i, j) уменьшает стоимость перевозок. В этом случае следует определить максимальное значение x0, на которое можно произвести сдвиг по циклу пересчета. Оно находится из соображений неотрицательности решений и равно минимальному из значений x–ij – так символически можно обозначить значения базисных неизвестных в отрицательных клетках, т.е. x0 =min { x–ij } (7) Осуществим сдвиг по циклу пересчета данной свободной клетки на это число до (7). Базисную клетку, в которой достигается минимум (7), удалим из базиса и сделаем свободной. Ее место займет данная свободная клетка (i, j) со значением x0 неизвестного xij. Таким образом, подучим новое базисное решение. Значение формы z при переходе к новому решению уменьшится на величину – Dz = d ij x0. Из проведенных рассуждении следует важный вывод: базисное решение является оптимальным, если среди оценок свободных клеток нет отрицательных, причем, если все оценки свободных клеток положительны, то оптимальное решение единственно, если же некоторые оценки равны нулю, то оптимальное решение не единственно.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|