Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

9111

.pdf
Скачиваний:
1
Добавлен:
25.11.2023
Размер:
2.28 Mб
Скачать

Таблица 11

Bj

 

 

 

 

 

 

 

B1

B2

Bn

 

Запасы

Ai

 

 

 

 

 

 

 

 

 

 

 

 

 

A1

c11

c12

c1n

 

a1

x11

x12

 

x1n

 

 

 

 

 

 

 

 

 

 

 

A2

c21

c22

c2n

 

a2

x21

x22

 

x2n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Am

cm1

cm2

cmn

 

am

xm1

xm2

 

xmn

 

 

 

 

 

 

 

 

 

 

 

Потребн

b1

b2

bn

 

ai b j

ости

 

Необходимое и достаточное условие разрешимости транспортной задачи

Для разрешимости транспортной задачи необходимо и достаточно, чтобы запасы груза в пунктах отправления были равны потребностям в грузе в пунктах назначения, то есть, чтобы выполнилось равенство (балансовые условия).

m

n

 

ai

bj

(38)

i 1

j 1

 

При выполнении условия (38) модель транспортной задачи называется закрытой. Если

m

n

условие (38) не выполняется, то есть ai

bj , то модель транспортной задачи называется

i 1

j 1

открытой.

В случае открытой транспортной задачи выполнение условия (38) достигается введением фиктивного поставщика или фиктивного потребителя с соответствующими тарифами равными нулю.

Любое решение транспортной задачи представляет собой распределение перевозок xij в транспортной таблице. Оптимальному решению транспортной задачи соответствует оптимальное распределение перевозок. Перераспределение перевозок в транспортной таблице осуществляется до тех пор, пока не будет найдено оптимальное распределение перевозок.

Определение исходного допустимого решения

Первоначальное распределение перевозок xij соответствует первому допустимому решению. Существуют различные методы получения первого допустимого решения.

1. Метод «северо-западного угла»

Метод заключается в том, что заполнение клеток таблицы начинают с левой верхней клетки (северо-западная часть таблицы) для перевозки x11 и продолжают вниз и вправо, заканчивая клеткой для перевозки xmn. При этом способе распределения на тарифы cij не обращают внимания.

2. Метод «наименьшей стоимости»

Метод заключается в том, что заполнение клеток таблицы начинают с клетки, имеющей наименьшую стоимость перевозки. Если таких клеток несколько, то следует выбрать любую из них.

Пример. Разрешить перевозки методом «наименьшей стоимости».

 

 

2 3 5

A : 50,30,20

 

 

 

C 1 4 2

 

B : 25,40,35

 

 

 

 

 

3 5 2

 

 

 

 

 

В данной задаче клетка (2,1) имеет наименьшую стоимость перевозок с21 = 1. Распределение перевозок начнем с нее, то есть в эту клетку поместим перевозку х21 = 25. Затем выбираем следующую клетку с наименьшей стоимостью. Таких клеток две – (2,3) и (3,3). В них стоимости перевозок одинаковые с23 = 2 и с33 = 2. Выбираем любую из них. Например, (2,3) и поместим в нее перевозку х23 = 5, поскольку на складе А2 осталось только 5 единиц груза. (Клетку (1,1) со стоимостью с11 = 2 не берем, так как потребности потребителя B1 полностью удовлетворены). Следующая клетка (3,3). В нее помещаем перевозку x33 = 20, так как потребителю B3 не хватает 20 единиц груза и на складе A3 имеется 20 единиц груза. Берем клетку (1,2) со стоимостью c12 = 3 и помещаем в нее перевозку x12 = 40. Проверяем балансовые условия. Потребители B1 и B2 полностью удовлетворили свои потребности, а потребителю B3 не хватает 10 единиц груза. Груз остался только на складе A1 в нужном количестве, поэтому в клетку (1,3) помещаем x13 = 10.

B

 

 

 

 

 

Запа

 

B1

 

B2

B3

 

 

 

 

сы

A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

3

5

 

 

A1

 

 

40

 

10

50

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

4

2

 

 

A2

 

25

 

 

5

30

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

5

2

 

 

A3

 

 

 

 

20

20

 

 

 

 

 

 

 

Потребно

25

 

40

35

 

 

сти

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

После заполнения транспортной таблицы следует обязательно проверить количество свободных (базисных) и пустых (свободных) клеток.

Замечание. Число заполненных клеток равно m + n – 1, а пустых клеток – m × n – (m + n – 1), где m количество пунктов отправления, n – количество пунктов назначения.

Если число заполненных клеток равно m + n – 1, то план является невырожденным. Если число заполненных клеток меньше этого значения, то план (решение) называется вырожденным. В случае вырожденности плана условно считают одну (или несколько) из пустых клеток занятой, записывая в нее нулевую перевозку так, чтобы число занятых клеток стало равным m + n – 1.

Перераспределение перевозок. Цикл пересчета

Перераспределение перевозок транспортной таблицы с целью улучшения решения происходит по циклу.

Определение. Циклом пересчета в транспортной таблице называют несколько клеток, соединенных замкнутой ломаной линией, которая в каждой клетке совершает поворот на

900.

Свойства цикла пересчета.

1) каждый цикл имеет четное число вершин;

2) одна вершина цикла находится в свободной (пустой) клетке (для которой образуется цикл), остальные клетки базисные (заполненные);

3)если ломанная линия, образующая цикл, пересекается, то точка самопересечения не является вершиной цикла;

4)для каждой свободной клетки можно построить цикл пересчета и притом единственный.

После того как для выбранной свободной клетки построен цикл, следует перейти к новому допустимому решению. Для этого необходимо переместить перевозки xij в пределах клеток, связанных циклом. Это перемещение перевозок производят по следующим правилам:

– каждой из клеток, связанных циклом со свободной клеткой, приписывают определенный знак, причем свободной клетке – знак «+», а всем остальным клеткам – поочередно знаки «–» и «+»;

– в свободную клетку перемещают меньшую из перевозок xij, находящихся в клетках со знаком «–», чтобы не нарушить условие не отрицательности перевозок xij. Одновременно это же число перевозок прибавляют к перевозкам, находящихся в клетках со знаком «+» и вычитают из клеток со знаком «–». В результате свободная клетка становится занятой (базисной), а клетка, в которой находилась меньшая перевозка xij стала свободной.

Замечания.

1)все описанные действия производятся над клетками, связанными циклом;

2)при переносе перевозок по циклу балансовые условия не нарушаются;

3)при переносе перевозки по циклу пересчета число занятых клеток остается неизменным, равным m + n – 1;

4)если в клетках со знаком «–» имеется две или более одинаковые перевозки xij, то освобождают одну из клеток, содержащих эту перевозку, а остальные оставляют занятыми нулевыми перевозками.

Метод потенциалов нахождения оптимального решения транспортной задачи

Предположим, что каждый пункт отправления A1 вносит за перевозку единицы груза какую-то сумму i , а каждый пункт назначения вносит сумму j . Эти платежи передаются

некоторому третьему лицу, например, перевозчику. Величины i и j свяжем равенствами

i j cij ,

где

cij

– тарифы для базисных

клеток. Можно доказать, что совокупность

уравнений

i

j

cij , составленных для

всех базисных переменных, представляют

совместную систему линейных уравнений, причем одну из переменных можно задавать произвольно и тогда остальные переменные из системы уравнений находятся однозначно.

~

, где

~

Обозначим через i j cij

cij назовем псевдостоимостями или косвенными

стоимостями (тарифами). Псевдостоимости находятся для всех свободных клеток.

Замечание. Платежи i и j

не обязательно должны быть положительны, поскольку не

исключено, что «перевозчик» сам платит тому или иному пункту какую-то премию за перевозку.

Теорема «о платежах».

Для заданной совокупности платежей i и j суммарная псевдостоимость перевозок при любом допустимом плане сохраняет одно и тоже значение

~ m n ~

L cijxij c const.

i 1 j 1

В этой формуле с зависит только от совокупности платежей и не зависит от того, каким именно допустимым планом пользуемся.

Теорема оптимальности.

~

, а для всех свободных клеток i

j

~

cij

Если для всех базисных клеток i j cij cij

cij

, то допустимый план является оптимальным и никаким способом улучшен быть не может. План, обладающий таким свойством, называется потенциальным, а соответствующие

ему платежи i и j – потенциальными.

Оценка цикла

~

. Если для всех свободных клеток

ij

неотрицательны, то

ij cij cij

решение оптимально.

Пример. Решить ТЗ методом потенциалов. Таблица 14

 

 

B

 

 

 

 

 

 

 

 

 

B1

B2

 

B3

Запасы

 

A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

3

 

1

 

 

 

 

 

30

30

 

 

 

60

 

 

 

 

-

 

 

 

 

 

 

 

 

 

 

+

 

 

 

 

 

 

 

 

 

 

 

 

 

4

2 +

 

5

-

 

 

A2

 

 

 

 

 

 

 

 

 

 

10

 

20

 

30

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Потребности

 

30

40

 

20

 

 

 

 

 

 

 

 

 

 

Таблица 15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

B

 

 

 

 

 

 

 

 

 

B1

B2

 

B3

Запасы

 

A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

3

 

1

 

 

 

A1

 

 

 

 

 

 

 

 

 

 

30

10

20

60

 

 

 

 

 

 

 

 

 

 

 

 

4

2

 

5

 

 

 

A2

 

 

 

 

 

 

 

 

 

 

 

30

 

 

30

 

 

 

 

 

 

 

 

 

Потребности

 

30

40

 

20

 

 

 

 

 

 

 

 

 

 

Табл. 14 задает исходное допустимое решение. Перейдем к построению новых допустимых решений, улучшающих друг друга методом потенциалов.

Определим платежи i и j , решив систему уравнений.

1 11 c11

2,

 

 

 

2

c22 3,

1

 

 

 

 

 

c

 

2,

 

2

2

22

 

 

 

 

 

 

 

 

 

c

 

5.

 

2

3

23

 

 

 

 

Значение одного из неизвестных зададим произвольно, например,

1

0 , тогда 1 2 ,

2 3 , 2 1,

6 6 . Зная платежи

i и

j ,

найдем псевдостоимости

~

для свободных

cij

клеток

 

 

 

 

 

 

 

 

 

 

 

~

1

3

6,

 

 

 

 

 

 

c13

 

 

 

 

 

 

~

2

1

1.

 

 

 

 

 

 

c21

 

 

 

 

Согласно

теореме об оптимальности решения

~

и, следовательно, исходное

c13 c13

решение не является оптимальным, и его можно улучшить путем переноса перевозки x23 = 20 по циклу, построенному для клетки (1,3). В результате получили новое допустимое решение, соответствующее табл. 15. Проверим это решение на оптимальность.

 

1 1 c11 2,

 

 

 

 

 

 

 

 

 

 

 

 

2 c12 3,

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c

 

1,

 

 

 

 

 

 

 

 

 

 

2

3

 

 

 

 

 

 

 

 

 

 

 

 

13

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c

 

2.

 

 

 

 

 

 

 

 

 

 

2

2

22

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Если 1 0 , то 1 2 , 2 3 ,

3 1 ,

2

1. Тогда

~

2 1

1,

~

2 3 0.

Согласно

c21

c23

теореме об оптимальности для всех свободных клеток

c

~

и c23

 

~

, и, следовательно,

21 c21

c23

решение в табл. 15 является оптимальным.

X min(30,10,20,0,30,0),

L min 2 30 3 10 1 20 2 30 150.

Решение транспортной задачи с помощью встроенного в Excel модуля «Поиск решения»

Четыре предприятия для производства продукции используют некоторое сырье. Спрос на сырье для каждого из предприятий составляет соответственно 120, 50, 190 и 110 у.е. Сырье сосредоточено в трех местах. Предложения поставщиков сырья равны 160, 140 и 200 у.е. На каждое предприятие сырье может завозиться от любого поставщика. Тарифы

 

7

8

1

2

 

 

 

 

 

 

 

 

 

 

C

4

5

9

8

 

 

 

 

9

2

3

6

 

 

перевозок известны и задаются матрицей

 

 

. Требуется составить план

 

 

 

 

 

 

перевозок, при котором общая стоимость перевозок будет минимальной.

Решение: Так как суммарные запасы превышают суммарные потребности (160 + 140 + 200 = 500 > 470 = 120 + 50 + 190 + 110), то вводим фиктивного потребителя b5,

потребность которого составляет 500 – 470 = 30. Составим экономико-математическую модель задачи:

xij − количество единиц груза, запланированных к перевозке от поставщика i к

потребителю j, i = 1, 2, 3; j = 1, 2, 3, 4, 5.

S = 7x11 + 8x12 + x13 + 2x14 + 4x21 + 5x22 + 9x23 + 8x24 + 9x31 + 2x32 + 3x33 + 6x34 + 0x15 + 0x25 + 0x35 min

x11 x12 x13 x14 x15 160x21 x22 x23 x24 x25 140

x31 x32 x33 x34 x35 200x11 x21 x31 120

x12 x22 x32 50x13 x23 x33 190

x14 x24 x34 110x15 x25 x35 30

xij 0, i 1,2,3; j 1,2,3,4,5

Рассмотрим технологию решения транспортной задачи, используя условия примера.

1)выберем адреса ячеек, в которые будет помещен результат решения (изменяемые ячейки) и оптимальное значение целевой функции;

Внашей задаче оптимальные значения хij будут помещены в ячейках В21:F23 (для удобства ссылок запишем в каждую из них 1), оптимальное значение целевой функции ‒ в ячейке G18 (см. рис. 11).

2)введем зависимость для целевой функции;

Вячейки B16:F18 вводим тарифы. Далее необходимо произвести следующие

действия:

поместить курсор в ячейку G18 (после решения задачи в данной ячейке будет находиться значение целевой функции);

запустить Мастер функций (значок fх);

в окне Категория выбрать Математические;

в окне Функция выбрать СУММПРОИЗВ;

нажать кнопку ОК;

в окне СУММПРОИЗВ указать адреса массивов, элементы которых

обрабатываются этой функцией. В задаче целевая функция представляет собой произведение удельных затрат на доставку груза (расположенных в блоке ячеек B16:F18)

иобъемов поставок для каждого потребителя (содержимое ячеек В21:F23). Для этого надо:

в поле Массив 1 указать адреса В21:F23;

в поле Массив 2 указать адреса B16:F18;

нажать кнопку ОК − подтверждение окончания ввода адресов массивов.

В поле ячейки G18 появится некоторое числовое значение, равное произведению единичных поставок на удельные коэффициенты затрат по доставке грузов (в данной задаче это число 64).

введем зависимости для ограничений;

выделим курсором ячейки B21:F21;

в главном меню выберем знак Σ;

аналогичные действия выполним с ячейками B22:F22 и B23:F23. В ячейках G21:G23 появятся пятерки;

в ячейки H21:H23 поместим числа 160, 140, 200.

Таким образом мы описали первые три ограничения в математической модели. Аналогично поступаем с остальными ограничениями:

выделим курсором ячейки B21:В23;

в главном меню выберем знак Σ;

аналогичные действия выполним с ячейками C21:C23, D21:D23, E21:E23, F21:F23. В ячейках B24:F23 появятся тройки;

в ячейки B25:F25 поместим числа 120, 50, 190, 110.

Рис. 11.

1) запустим команду Поиск решения;

Выберем команду меню Данные Поиск решения. В отрывшемся окне выполним следующие действия:

а) назначим ячейку для целевой функции (G18), укажем адреса изменяемых ячеек (В21:F23), установим флажок на минимум.

б) введем ограничения;

в) в строке Выберите метод решения выберем вариант «Поиск решения лин. задач симплекс-методом».

Теперь введены все необходимые условия для решения задачи:

Рис. 12.

Осталось поместить указатель мыши на кнопку Найти решение:

Рис. 13.

Ответ: от первого поставщика третьему предприятию следует перевезти 50 у.е. груза, четвертому предприятию – 110 у.е. груза;

от второго поставщика первому предприятию следует перевезти 120 у.е. груза;

от третьего поставщика второму предприятию следует перевезти 50 у.е. груза, третьему предприятию – 140 у.е. груза;

груз, предназначенный для пятого (фиктивного) потребителя остается у второго поставщика (20 у.е.) и третьего поставщика (10 у.е.).

Общая стоимость перевозок составит 1270 у.е. Рассмотрим примеры задач, близких к транспортной.

1.4. Сетевые модели

Рассматриваемые до этого транспортные модели и модели назначения являются представителями более общего класса моделей, описывающих движение между исходными пунктами и пунктами назначения, которые называются сетевыми моделями. Рассмотрим типовые задачи, связанных с этими типами моделей.

Модель перевозок с промежуточными пунктами.

Враспоряжении отдела сбыта компании имеется 10 генераторов, которые находятся

впункте 1. Эти генераторы необходимо доставить в пункты строительства, обозначенные как пункты 3 и 4. В пункте 3 требуется 3 генератора, в пункте 4 − семь. Из-за ограничений, касающихся наличия водителей, генераторы можно доставлять только по маршрутам, показанным на рис. 14. Какой из маршрутов будет выбран, определяется затратами, связанными с каждым маршрутом и его пропускной способностью.

Рис. 14.

Таблицы удельных затрат и пропускных способностей приводятся: cij – удельные затраты (стоимость перевозки одного генератора); uij – пропускная способность.

Пропускная

способность

пункты

1

2

3

 

 

4

5

 

 

 

 

 

 

 

 

1

 

10

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

4

 

 

3

3

 

 

 

 

 

 

 

 

3

 

 

 

 

 

2

 

4

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

3

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

Затраты

 

 

 

 

 

 

 

 

пункты

1

2

3

 

4

5

 

 

 

 

 

 

 

 

1

 

100

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

45

 

50

20

 

 

 

 

 

 

 

3

 

 

 

 

60

 

 

 

 

 

 

 

 

 

4

 

 

85

 

 

 

 

 

 

 

 

 

 

 

5

 

 

10

 

55

 

 

 

 

 

 

 

 

 

Задача состоит в том, чтобы составить план перевозок, который удовлетворит спрос с минимальными затратами при соблюдении ограничений по пропускной способности.

Замечание. Затраты складываются из стоимости топлива, пошлин и зарплаты водителям за среднее время пребывания в пути; также компания должна менять водителей

в каждом пункте маршрута. Из-за ограничений по наличию водителей существует верхняя граница пропускной способности.

Решение:

Пусть хij – число генераторов, отправляемых по дуге (i,j) (из узла i в узел j). Целевая функция:

f = c12x12 + c23x23 + c24x24 + c25x25 + c34x34 + c43x43 + c54x54 + c53x53 → min

Правило С каждым узлом связано уравнение баланса потоков, которое находится по

формуле: поток, выходящий из i, минус поток, входящий в i, равно предложение в узле i.

Таким образом, уравнение для каждого узла отражает условие материального баланса, принимая во внимание тот факт, что узел может быть точкой предложения, точкой спроса или ни тем, ни другим.

В соответствии с указанным правилом, находим систему ограничений:

x12 10

 

 

 

 

 

 

x

 

x

 

x

 

x

 

0

 

12

 

23

 

24

 

25

 

 

 

 

 

 

x23 x43 x53 x34 3

x

 

x

 

x

 

x

 

7

 

 

24

 

43

 

34

 

54

 

 

 

 

 

 

 

x

25

x

53

x

54

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

xij uij для всех дуг (i, j)

 

 

 

 

 

 

 

 

 

 

Реализация построенной модели в Excel показана на рис. 15. Рис. 15.

Далее заполняем окно Поиск решения (см. рис. 16). Рис 16.

Запустив Поиск решения на выполнение получим оптимальное решение задачи: Рис. 17.

Ответ: по дуге (1, 2) перевозим 10 генераторов; по дуге (2, 3) – 4 генератора; по дугам (2, 4) и (2, 5) – по 3 генератора; по дуге (3, 4) – 1 генератор; по дуге (5, 4) − 3 генератора. Затраты составят 1615 у.е.

Поиск кратчайшего пути

Задача нахождения кратчайшего пути возникает в сети, в которой с каждой дугой (i, j) связано число cij, интерпретируемое как расстояние (или стоимость, или время движения) от узла i к узлу j. Маршрут, или путь между двумя узлами – произвольная последовательность дуг, соединяющая данные узлы. Задача состоит в нахождении кратчайшего (требующего минимальных затрат, или минимального времени) пути из определенного узла в другой узел сети. Рассмотрим конкретный пример.

Фирма занимается регулярными поставками вина в семь различных пунктов. На рисунке 18 показаны эти пункты и соединяющие их маршруты. Каждой дуге на рисунке соответствует число, обозначающее расстояние между соединяемыми данной дугой узлами. Фирма считает, что суммарные затраты будут минимальными, если все поставки в любой заданный пункт будут осуществляться по кратчайшему маршруту. Найти кратчайший маршрут из исходного пункта Н в пункт 5.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]