Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab_praktikum_chast2.doc
Скачиваний:
51
Добавлен:
18.11.2019
Размер:
5.03 Mб
Скачать

Лабораторная работа № 20 Видоизменения транспортной задачи (блокировка перевозок, ограничение пропускной способности).

Теоретическая часть

В некоторых задачах могут быть условия, которые с помощью специальных приемов приводятся к формулировке задач транспортного типа. Полученная таким способом задача решается по известному алгоритму. Рассмотрим некоторые из них.

Блокировка перевозок.

Если перевозки от i –го отправителя к j-му потребителю запрещены (например, из-за плохих дорог), то в качестве коэффициента транспортных затрат в клетке (i,j) следует взять большое число М (М→∞). В оптимальном решении (на min) клетка (i,j), как правило, будет свободной. Если же эта клетка все же окажется базисной, то это указывает на неразрешимость задачи из-за запрещенных перевозок.

Ограничение пропускной способности.

Пусть, например, требуется учесть ограниченную пропускную способность дороги от i-го отправителя к j-му потребителю.

В этом случае следует столбец j-го потребителя в распределительной таблице разделить на две части. В одном из новых столбцов указать потребность, равную ограниченной пропускной способности, а в другом – оставшуюся величину потребности. В клетке, соответствующей перевозке от i-го отправителя к j-му потребителю, заблокировать перевозку, т.е. поставить коэффициент М. В этом случае ограниченная пропускная способность дороги автоматически будут учитываться при решении задачи.

Пример выполнения работы

Задача 1 . Имеется три поставщика с ресурсами А1=3; А2=5; А3=2 и три потребителя с потребностями В1=4; В2=4; В3=2. Известны затраты на транспортировку груза от каждого поставщика к потребителю. От поставщика А2 к потребителю В2 можно доставить груз только в количестве 2 ед. Составить оптимальный план перевозки груза от поставщиков к потребителям так, чтобы транспортные затраты были минимальные.

Транспортная задача является закрытой, так как сумма ресурсов равна сумме потребностей (3+5+2=4+4+2)

Учитывая условие, что от поставщика А2 к потребителю В2 можно доставить груз только в количестве 2 ед., распределительная таблица будет иметь следующий вид.

потребн.

ре-

сурсы

В1

4

В2

4

В3

2

2

2

А1

3

3

4

4

5

А2

5

2

3

М

6

А3

2

1

4

4

5

Найдем исходное опорное решение методом "наименьшего элемента в строке".

потребн.

ре-

сурсы

В1

4

В2

4

В3

2

ui

2

2

А1

3

3

3

4

4

5

0

А2

5

2

1

3

2

М

6

2

-1

А3

2

1

4

4

2

5

0

-2

vj

3

4

6

7

Z=3*3+2*1+3*2+6*2+4*2+5*0 =37

12=4+0-4=0 23=6-1-М=5-М

13=6+0-4=2 31=3-2-1=0

14=7+0-5=2 32=4-2-4=-2

Решение неоптимальное, т.к. две оценки положительные. Две клетки имеют равные положительные оценки. Это клетки (1,3) и (1,4). Выбираем клетку с меньшими транспортными затратами (эта клетка войдет в базис), то есть клетку (1,3). Для этой клетки строим цикл и выбираем минимальный груз у вершин со знаком "-".

потребн.

ре-

сурсы

В1

4

В2

4

В3

2

2

2

А1

3

3

- 3

4

4

+

5

А2

5

2

+ 1

3

2

М

6

- 2

А3

2

1

4

4

- 2

5

+ 0

 = min {3, 2, 2} = 2

Минимальный груз, равный двум, находится в клетках (2,4) и (3,3). Выбираем клетку с большим коэффициентом транспортных затрат, т.к. переменная этой клетки выйдет из базиса. Это клетка (2,4). Выполняем преобразования однократного замещения.

потребн.

ре-

сурсы

В1

4

В2

4

В3

2

ui

2

2

А1

3

3

1

4

4

2

5

0

А2

5

2

3

3

2

М

6

-1

А3

2

1

4

4

0

5

2

0

vj

3

4

4

5

12=4+0-4=0 23=4-1-М=3-М

14=5+0-5=0 31=3+0-1=2

24=5-1-6=-2 32=4+0-4=0

Решение неоптимальное, т.к. оценка клетки (3,1) положительная. Для этой клетки строим цикл.

потребн.

ре-

сурсы

В1

4

В2

4

В3

2

2

2

А1

3

3

- 1

4

4

+ 2

5

А2

5

2

3

3

2

М

6

А3

2

1

+

4

4

- 0

5

2

 = min {1,0} = 0. Минимальный груз в клетке (3,3).Эта клетка станет свободной. Выполняем преобразования однократного замещения.

потребн.

ре-

сурсы

В1

4

В2

4

В3

2

ui

2

2

А1

3

3

1

4

4

2

5

0

А2

5

2

3

3

2

М

6

-1

А3

2

1

0

4

4

5

2

-2

vj

3

4

4

7

12=4+0-4=0 24=7-1-6=0

14=7+0-5=2 32=4-2-4=-2

23=4-1-М=3-М 33=4-2-4=-2

Решение снова неоптимальное, т.к. оценка клетки (1,4) положительная.

Для этой клетки строим цикл.

потребн.

ре-

сурсы

В1

4

В2

4

В3

2

2

2

А1

3

3

- 1

4

4

2

5

+

А2

5

2

3

3

2

М

6

А3

2

1 +

0

4

4

5 -

2

 = min {1,2} = 1. Минимальный груз соответствует значению переменной клетки (1,1). Эта клетка станет свободной. Выполняем преобразования однократного замещения.

потребн.

ре-

сурсы

В1

4

В2

4

В3

2

ui

2

2

А1

3

3

4

4

2

5

1

0

А2

5

2

3

3

2

М

6

1

А3

2

1

1

4

4

5

1

0

vj

1

2

4

5

11=1+0-3=-2

12=2+0-4=-2 32=2+0-4=-2

23=4+1-М=5-М 33=4+0-4=0

Решение оптимальное, т.к. оценки неположительные и альтернативное, т.к. оценка 33=0

min Z = 4*2+5*1+2*3+3*2+1*1+5*1= 31 (в исходном опорном решении транспортные затраты составляли 37 ед.)

Оптимальный план грузоперевозок.

Поставщики

Потребитель В1

Потребитель В2

Потребитель В3

А1

-

2

1

А2

3

2

-

А3

1

-

1

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

Задача 2. Имеется три поставщика с ресурсами А1=3; А2=5; А3=2 и три потребителя с потребностями В1=4; В2=4; В3=2. Известны затраты на транспортировку груза от каждого поставщика к каждому потребителю. От поставщика А2 к потребителю В2 можно доставить груз только в количестве 1 ед. Составить оптимальный план перевозки груза от поставщиков к потребителям так, чтобы транспортные затраты были минимальные.

Транспортная задача является закрытой, так как сумма ресурсов равна сумме потребностей (3+5+2=4+4+2)

Учитывая условие, что от поставщика А2 к потребителю В2 можно доставить груз только в количестве 1 ед., распределительная таблица будет иметь следующий вид.

потребн.

ре-

сурсы

В1

4

В2

4

В3

2

1

3

А1

3

3

4

4

5

А2

5

2

3

М

6

А3

2

1

4

4

5

Найдем исходное опорное решение методом "наименьшего элемента в строке".

потребн.

ре-

сурсы

В1

4

В2

4

В3

2

ui

1

3

А1

3

3

3

4

4

5

0

А2

5

2

1

3

1

М

1

6

2

-1

А3

2

1

4

4

2

5

-М+3

vj

3

4

М+1

7

Z=3*3+2*1+3*1+М*1+6*2+4*2 =34+M

12=4+0-4=0 13=М+1+0-4=М-3 31=3-М+3-1=5-М

14=7+0-5=2 32=4-М+3-4=-М+3 34=7-М+3-5=5-М

Решение неоптимальное, т.к. две клетки имеют положительные оценки. Это клетки [1,3] и [1,4]. Выбираем клетку с наибольшей положительной оценкой (эта клетка войдет в базис), то есть клетку [1,3]. Для этой клетки строим цикл [1,3]-[1,1]-[2,1]-2,3] и выбираем минимальный груз у вершин со знаком "-".

 = min {3, 1} = 1

Минимальный груз, равный единице, находится в клетке [2,3]. Выполняем преобразования однократного замещения. Получаем следующую таблицу.

потребн.

ре-

сурсы

В1

4

В2

4

В3

2

ui

1

3

А1

3

3

2

4

4

1

5

0

А2

5

2

2

3

1

М

6

2

-1

А3

2

1

4

4

2

5

0

vj

3

4

4

7

12=4+0-4=0 23=4-1-М=3-М 34=7+0-5=2

14=7+0-5=2 31=3+0-1=2

24=5-1-6= -2 32=4+0-4=0

Решение неоптимальное, т.к. три оценки положительные. Три клетки имеют равные положительные оценки. Это клетки [1,4], [3,1] и [3,4]. Выбираем клетку с меньшими транспортными затратами (эта клетка войдет в базис), то есть клетку [3,1]. Для этой клетки строим цикл [3,1]-[3,3]-[1,3]-[1,1]-[3,1] и выбираем минимальный груз у вершин со знаком "-".

Минимальный груз, равный двум, находится в клетках [1,1] и [3,3]. Выбираем клетку с большим коэффициентом транспортных затрат, т.к. переменная этой клетки выйдет из базиса. Это клетка [3,3]. Выполняем преобразования однократного замещения. Получим таблицу:

потребн.

ре-

сурсы

В1

4

В2

4

В3

2

ui

1

3

А1

3

3

0

4

4

3

5

0

А2

5

2

2

3

1

М

6

2

-1

А3

2

1

2

4

4

5

0

vj

3

4

4

7

12=4+0-4=0 23=4-1-М=3-М 33=4+0-4=0 34=7+0-5=2

14=7+0-5=2 32=4+0-4=0

Решение неоптимальное, т.к. две оценки положительные. Для клетки [3,4] клетки строим цикл. Это [3,4]-[2,4]-[2,1]-[3,1]-[3,4].  = min {2,2} = 2. Минимальный груз в клетках [2,4] и [3,1]. Клетка [2,4] станет свободной, так как у неё коэффициент транспортных затрат больше, чем у клетки [3,1]. Выполняем преобразования однократного замещения.

Получим таблицу:

потребн.

ре-

сурсы

В1

4

В2

4

В3

2

ui

1

3

А1

3

3

0

4

4

3

5

0

А2

5

2

4

3

1

М

6

-1

А3

2

1

0

4

4

5

2

-2

vj

3

4

4

7

12=4+0-4=0 23=4-1-М=3-М 33=4-2-4=-2

14=7+0-5=2 24=7-1-6=0 32=4-2-4= -2

Решение неоптимальное, т.к. есть положительная оценка в клетке [1,4]. Для неё строим цикл. Это [1,4]-[1,1]-[3,1]-[3,4]-[1,4].  = min {2,0} = 0. Минимальный груз в клетке [1,1]. Она становится свободной, а клетка [1,4] – базисной.

Выполняем преобразования однократного замещения. Получим таблицу:

потребн.

ре-

сурсы

В1

4

В2

4

В3

2

ui

1

3

А1

3

3

4

4

3

5

0

0

А2

5

2

4

3

1

М

6

1

А3

2

1

0

4

4

5

2

0

vj

1

2

4

5

12=2+0-4=-2 23=4+1-М=5-М 32=0+2-4= -2

14=1+0-3= -2 24=5+1-6=0 33=4+0-4=0

Решение оптимальное, т.к. оценки неположительные и альтернативное, т.к. оценка 24 = 33 = 0

min Z = 4*3+5*0+2*4+3*1+1*0+5*2= 33 ед. (в исходном опорном решении транспортные затраты составляли 34+М ед.)

Оптимальный план грузоперевозок.

Поставщики

Потребитель В1

Потребитель В2

Потребитель В3

А1

-

3

0

А2

4

1

-

А3

0

-

2

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

Индивидуальное задание

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