Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Алгоритм метода потенциалов.Содержание книги
Поиск на нашем сайте Числа ui (i =1, 2, …, m) и vj (j =1, 2, …, n) из Теоремы 3.2.5 называются потенциалами задачи. Метод потенциалов основан на использовании этих чисел. 3.3.1. Основные пункты алгоритма: 1) Построить первоначальный опорный план. 2) Проверить план на оптимальность. Если критерий оптимальности не выполнен, то перейти к пункту 3). В противном случае задача решена. Перейти к пункту 5). 3) Перейти к очередному опорному плану. 4) Перейти к пункту 2). 5) Вычислить стоимость перевозок. Распишем подробно основные пункты алгоритма. 3.3.2. Построение первоначального опорного плана. Мы познакомимся с двумя методами построения первоначального опорного плана.Мы здесь рассмотрим метод северо-западного угла (ниже, в пункте 3.3.5 познакомимся с так называемым методом наименьшей стоимости). Суть метода (северо-западного угла) поясним на задаче с Таблицей 3.1. Начинаем заполнять таблицу планом с «северо-западного угла». Пример 4. У первого поставщика имеется 90 единиц груза, а первому потребителю нужно 70 единиц. Поэтому можем спланировать перевозку 70 единиц груза от первого поставщика к первому потребителю: вписываем в клетку (1, 1) 70 и как бы вычёркиваем первого потребителя - он «получил своё» и в дальнейшем распределении груза не участвует: ставим знак «-» над первым столбцом:
У первого поставщика осталось 20 единиц груза, а второму потребителю всего нужно 30. Поэтому вписываем эти 20 единиц в клетку (1, 2), вычеркнув первую строку (у первого поставщика все 90 единиц груза использованы, и он выбывает из дальнейшего распределения поставок):
Второму потребителю требуется ещё 10 единиц, которые мы «заберём» у второго поставщика (у него их имеется 30 единиц): вписываем 10 в клетку (2, 2) и вычеркнем второй столбец:
У второго поставщика осталось ещё 20 единиц груза, и третьему потребителю требуется как раз 20 единиц. Вписав эти 20 единиц в клетку (2, 3) вычёркиваем только одного участника, скажем, второго поставщика, хотя фактически из распределения груза выбывают одновременно второй поставщик и третий потребитель. Вычёркивание на одном шаге только одного участника обеспечивает участие второго в следующем шаге заполнения таблицы, и в результате будет заполнено в точности m + n -1 клеток:
Так как третий потребитель ещё не вычеркнут, то вписываем 0 в клетку (3, 3) и вычёркиваем третьего потребителя:
Наконец, на последнем, 3+4-1=6-м шаге, вписываем 40 в клетку (3, 4) и вычёркиваем обоих участников - третьего поставщика и четвёртого потребителя:
Получили первоначальный опорный план (Таблица 3.2). 3.3.3. Проверка плана на оптимальность производится по следующей схеме: 1) Вычислить потенциалы ui (i =1, 2, …, m) и vj (j =1, 2, …, n). 2) Проверить условие оптимальности (3.3). Более подробно: 1) Потенциалы вычисляются решением системы (3.2), где cij - стоимости перевозок для заполненных клеток. Эта система состоит из m + n уравнений с m + n неизвестными. Ранг системы равен m + n -1, так как матрица этой системы транспонирована по отношению к матрице ограничений транспортной задачи (3.1), ранг которой равен m + n -1 (Теорема 3.2.2). Поэтому эта система имеет одну свободную неизвестную, и, вообще говоря, имеет бесконечное множество решений. Присвоив какой-то неизвестной, скажем, неизвестной u 1, какое-то значение, например, 0 (u 1=0), мы найдём однозначно определённые значения остальных ui и vj. При этом удобно решать систему не традиционным способом (например, методом исключения Гаусса), а, так сказать, «не отходя от таблицы»: справа от таблицы на уровне соответствующей строки последовательно выписываем очередное найденное значение ui, а под соответствующим столбцом - очередное найденное значение vj. Продемонстрируем это на нашем примере (Таблица 3.1). А именно, Пример 5. Найдём потенциалы ui и vj для первоначального опорного плана (Таблица 3.2). Справа от таблицы на уровне первой строки записываем 0:
В первой строке заполнены клетки (1, 1) и (1, 2). Стоимости в этих клетках равны соответственно c 11=1 и c 12=3. Поэтому v 1= c 11- u 1=1-0=1 и v 2= c 12- u 1=3-0=3. Значения v 1=1 и v 2=3 записываем под первым и вторым столбцами соответственно:
Во втором столбце кроме клетки (1, 2) заполнена клетка (2, 2). По ней определяем u 2= c 22- v 2=3-3=0. Записываем u 2=0 справа от таблицы на уровне второй строки:
Во второй строке кроме клетки (2, 2) заполнена клетка (2, 3). По ней определяем v 3= c 23- u 2=1-0=1. Записываем значение v 3=1 под третьим столбцом:
В третьем столбце кроме клетки (2, 3) заполнена клетка (3, 3). По ней определяем u 3= c 33- v 3=4-1=3, и записываем u 3=3 справа от таблицы на уровне третьей строки:
Наконец, по клетке (3, 4) определяем v 4= c 34- u 3=2-3=-1, и записываем его под четвёртым столбцом:
Таким образом, u 1=0, u 2=0, u 3=3, v 1=1, v 2=3, v 3=1, v 4=-1. 2) После нахождения потенциалов ui (i =1, 2, …, m) и vj (j =1, 2, …, n) необходимо проверить выполнение условия (3.3) для всех пустых клеток (для заполненных клеток потенциалы найдены из условия ui + vj = cij; поэтому для заполненных клеток проверка условия (3.3) нужна разве что только для проверки правильности найденных потенциалов. Имеем u 1+ v 3=0+1=1<4= c 13, u 1+ v 4=0-1=-1<5= c 14, u 2+ v 1=0+1=1<5= c 21, u 2+ v 4=0-1=-1<2= c 24, u 3+ v 1=3+1=4>2= c 31, u 3+ v 2=3+3=6>1= c 32, Таким образом, u 1+ v 3< c 13, u 1+ v 4< c 14, u 2+ v 1< c 21, u 2+ v 4< c 24, но u 3+ v 1> c 31 и u 3+ v 2> c 32, то есть условие (3.3) выполнено не для всех клеток, и нельзя утверждать, что данный опорный план оптимален. 3.3.4. Переход к новому опорному плану (построение очередного опорного плана). Для перехода к другому опорному плану (построения очередного опорного плана) поступают следующим образом: 1) Находят оценки D ij = ui + vj - cij для клеток (i, j), в которых условие (3.3) нарушается. 2) Выбирают клетку с максимальным из них (по Теореме 3.2.6 это обеспечивает максимальное уменьшение значения целевой функции). 3) Строят помеченный цикл из выбранной (пустой) клетки. Если клеток с максимальным D ij >0 несколько, то выбирают ту, в которой стоимость перевозок наименьшая. Если и таких клеток несколько, то выбирают любую. 4) Из выбранной клетки осуществляют сдвиг по циклу. Пример 6. В нашем примере: 1) Найдём оценки для клеток для клеток (i, j), в которых условие (8.3) нарушается (напоминаем, что u 3+ v 1> c 31 и u 3+ v 2> c 32, и условие (8.3) нарушается в клетках (3, 1) и (3, 2)): D31= u 3+ v 1- c 31=3+1-2=2, D32= u 3+ v 2- c 32=3+3-1=5. 2) Выбираем клетку с максимальным из D ij >0: Это - (3, 2): D32>D31. 3) Из клетки (3, 2) строим помеченный цикл:
4) Осуществляем сдвиг по циклу: минимальное содержимое клеток со знаком «-» оказалось равном 0, то есть этот 0 мы будем вычитать из клеток со знаком «-» и прибавлять в клетки со знаком «+». Фактически опорный план не изменится, но изменится система заполненных клеток (что тоже влияет на ход решения задачи!):
Далее мы доведём решение задачи до конца: 2.1) Найдём потенциалы. Сначала присваиваем u 1=0 и по заполненным клеткам первой строки определяем v 1= c 11- u 1=1-0=1 и v 2= c 12- u 1=3-0=3. Теперь по заполненным клеткам второго столбца (а они оказались заполненными все) определяем u 2= c 22- v 2=3-3=0 и u 3= c 32- v 2=1-3=-2. Далее, по заполненной клетке второй строки определяем v 3= c 23- u 2=1-0=1. Наконец, по заполненной клетке третьей строки определяем v 4= c 34- u 3=2-(-2)=4. Найденные потенциалы записываем в клетках справа и снизу таблицы:
2.2) Проверяем условие оптимальности для пустых клеток: u 1+ v 3=0+1<4= c 13, u 1+ v 4=0+4<5= c 14, u 2+ v 1=0+1<5= c 21, u 2+ v 4=0+4>2= c 24, u 3+ v 1=-2+1<2= c 31, u 3+ v 3=-2+1<4= c 33, и условие оптимальности нарушается в единственной клетке (2.4). 2.3) Строим помеченный цикл из клетки (2, 4):
2.4) Имеем m =
3.1) Ищем потенциалы: u 1=0, v 1= c 11- u 1=1-0=1 и v 2= c 12- u 1=3-0=3, u 3= c 32- v 2=1-3=-2, v 4= c 34- u 3=2-(-2)=4, u 2= c 24- v 4=2-4=-2, v 3= c 23- u 2=1-(-2)=3:
3.2) Проверяем условие оптимальности для пустых клеток: u 1+ v 3=0+1<4= c 13, u 1+ v 4=0+4<5= c 14, u 2+ v 1=-2+1<5= c 21, u 2+ v 2=-2+3<3= c 24, u 3+ v 1=-2+1<2= c 31, u 3+ v 3=-2+3<4= c 33. Таким образом, условие оптимальности ui + vj £ cij выполнено, то есть данный план оптимален. Вычислим, во сколько обойдутся перевозки при данном плане: 70×1+20×3+20×2+10×2+10×1+50×2=320. Ответ: Матрица перевозок: 3.3.5. Метод наименьших затрат построения первоначального опорного плана. Так же, как и с методом северо-западного угла, с методом наименьших затрат построения первоначального опорного плана познакомимся на конкретном примере задачи Таблицы 3.1. В отличие от метода северо-западного угла, в этом методе на очередном шаге из оставшихся клеток заполняется клетка с самыми дешёвыми перевозками. Но, как и в методе северо-западного угла, на каждом шаге, за исключением последнего, вычёркивается только один участник. Наименьшая стоимость перевозок - в клетках (1, 1), (2, 3) и (3, 2). Заполняем, по возможности, эти клетки, вписывая соответственно 70, 20 и 30, и вычёркивая соответственно первый, третий и второй столбцы:
Из оставшихся клеток наиболее дешёвыми являются клетки (2, 4), (3, 1) и (3, 4) со стоимостями c 24= c 31= c 34=2. Клетка (3, 1) не может участвовать при заполнении плана, так как первый столбец вычеркнут. В клетку (2, 4) вписываем 10 (так как у второго поставщика осталось только 10 единиц груза), вычеркнув второго поставщика, и клетку (3, 4) вписываем 10 (так как у третьего поставщика также осталось 10 единиц груза, а четвёртому потребителю требуется ещё 30 единиц груза), вычеркнув третьего поставщика:
Невычеркнутыми, остались первая строка и последний столбец, что означает, что осталось заполнить только одну клетку (1, 4). Вписываем в неё 20:
3.3.6. В заключение пункта 3.3 резюмируем алгоритм метода потенциалов: 1) Построить первоначальный опорный план. 2) Проверить план на оптимальность. Для этого: 2.1) Вычислить потенциалы ui (i =1, 2, …, m) и vj (j =1, 2, …, n). 2.2) Проверить условие оптимальности ui + vj = cij (i =1, 2, …, m, j =1, 2, …, n). Если критерий оптимальности не выполнен, то перейти к пункту 3). В противном случае задача решена. Перейти к пункту 5). 3) Перейти к очередному опорному плану. Для этого: 3.1) Найти оценки D ij = ui + vj - cij для клеток (i, j) ui + vj > cij. 3.2) Выбрать клетку с максимальным D ij >0. 3.3) Из выбранной клетки построить помеченный цикл. 3.4) Осуществить сдвиг по циклу. 4) Перейти к пункту 2). 5) Вычислить стоимость перевозок. Пример 6. Решить транспортную задачу. Первоначальный опорный план построить методом наименьших затрат.
Решение. 1) Построим первоначальный опорный план (методом наименьших затрат). Самые дешёвые перевозки - в клетках (1, 2), (2, 1) и (2, 4). Из них по полной «загрузим» первые две, после чего оставшиеся 20 единиц груза второго поставщика впишем в клетку (2, 4):
Из оставшихся клеток самыми дешёвыми являются перевозки со стоимостью 4. Из всех клеток с этой стоимостью не вычеркнутой является клетка (3, 2), куда вписываем 10 (второму ещё потребителю требуется 10 единиц груза):
Из оставшихся двух невычеркнутых клеток (3, 3) и (3, 4) сначала вписываем в клетку (3, 4) 20 (так как она дешевле клетки (3, 3), и четвёртому ещё требуется 30 единиц груза, а у третьего поставщика их 80 единиц), а затем остальные 50 вписываем в клетку (3, 3):
21) Проверим план на оптимальность. Для этого 2.11) Найдём потенциалы:
Присваиваем u 1=0 и по заполненной клетке (1, 2) первой строки определяем v 2= c 12- u 1=3-0=3. По заполненной клетке (3, 2) второго столбца определяем u 3= c 32- v 2=4-3=1. Далее, по заполненным клеткам (3, 3) и (3, 4) третьей строки определяем v 3= c 33- u 3=6-1=5 и v 4= c 34- u 3=5-1=5. Теперь по заполненной клетке (2, 4) второй строки определяем u 2= c 24- v 4=4-3=1. Наконец, по заполненной клетке (2, 1) второй строки определяем v 1= c 21- u 2=3-1=2. 2.21) Проверяем условие оптимальности для пустых клеток: u 1+ v 1=0+2<6= c 11, u 1+ v 3=0+5>4= c 13, u 1+ v 4=0+4=4= c 14, u 2+ v 2=1+3=4= c 22, u 2+ v 3=1+5>5= c 23, u 3+ v 1=1+2<4= c 33, и условие оптимальности нарушается в клетках (1, 3) и (2, 3): u 1+ v 3> c 13, u 2+ v 3> c 23. 3.11) Вычисляем оценки клеток, в которых нарушается условие оптимальности (D13= u 1+ v 3- c 13=0+5-4=1, D23= u 2+ v 3- c 23=1+5-5=1). 3.21) Оценки оказались одинаковыми: выбираем клетку с наименее дешёвыми перевозками. 3.31) Строим помеченный цикл из выбранной клетки (1, 3):
3.41) Перемещаем по циклу 50 единиц груза. Получили очередной опорный план:
22) Проверим план на оптимальность. Для этого 2.12) Найдём потенциалы. Присваиваем u 1=0 и по заполненной клетке (1, 3) первой строки определяем v 3= c 13- u 1=4-0=3. По заполненной клетке (3, 3) третьего столбца определяем u 3= c 33- v 3=6-4=2. Далее, по заполненным клеткам (3, 2) и (3, 4) третьей строки определяем v 2= c 32- u 3=4-2=2 и v 4= c 34- u 3=5-2=3. Теперь по заполненной клетке (2, 4) второй строки определяем u 2= c 24- v 4=3-3=0. Наконец, по заполненной клетке (2, 1) второй строки определяем v 1= c 21- u 2=3-0=3:
2.22 - 3.32) Проверяем условие оптимальности для пустых клеток: u 1+ v 1=0+3<6= c 11, u 1+ v 2=0+2<3= c 13, u 1+ v 4=0+3<4= c 14, u 2+ v 2=0+2<4= c 22, u 2+ v 3=0+4<5= c 23, u 3+ v 1=2+3>4= c 33, и условие оптимальности нарушается в единственно клетке (3, 1), из которой строим помеченный цикл.
3.42) Осуществляем сдвиг по циклу:
23) Проверим план на оптимальность. 2.13) Найдём потенциалы:
2.23) Проверив условие оптимальности, убеждаемся, это условие выполнено, и задача решена. 5) Вычисляем стоимость перевозок: 50×4+10×3+50×3+30×4+60×4=740. Ответ: Матрица перевозок:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Последнее изменение этой страницы: 2016-04-08; просмотров: 526; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.128 (0.011 с.) |