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

Лабораторная работа №18 «Транспортная задача на минимум целевой функции»

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

Общая постановка задачи

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

В общем виде задачу можно представить следующим образом: в m пунктах производства А1, А2,…, Аm имеется однородный груз в количестве а1, а2,…, аm. Этот груз необходимо доставить в n пункты назначения В1, В2,…, Вn в количестве b1, b2,…, bn. Стоимость перевозки единицы груза (тариф или расстояния) из пункта Аi в пункт Вj равна Сij . Требуется найти план перевозки, обеспечивающий минимальную стоимость перевозки. При этом весь груз должен быть вывезен и все потребности удовлетворены.

Пусть Хij – количество груза перевозимого от i –ого поставщика к j-ому потребителю.

П ервая группа ограничений - весь груз должен быть вывезен:

Х11 + Х12 + …+ Х1n = а1

Х21 + Х22 + …+ Х2n = а2

……………………………………..

Хm1 + Хm2 + …+ Хmn = аm

Вторая группа ограничений – все потребности должны быть удовлетворены.

Х 11 + Х21 + …+ Хm1 = b1

Х12 + Х22 + …+ Хm2 = b2

……………………………………..

Х1n + Х2n + …+ Хmn = bm

Условия неотрицательности переменных

Хij  0, i = 1 m; j = 1 n

Целевая функция

min Z = C11Х11 + C12Х12 + …+ C1nХ1n + C21 Х21 + C22Х22 + …+ C2nХ2n + …+ CmnХmn

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

найти

при условиях:

(i = l, ..., m),

(1)

(j = 1, ..., n),

(2)

xij 0

(i = l, ..., m; j = l, ..., n).

Всякое неотрицательное решение систем уравнений (1)-(2), определяемое матрицей X=(xij ), называют опорным планом транспортной задачи, а план X*=(xij ), при котором функция Z принимает минимальное значение - называется оптимальным планом транспортной задачи.

Особенность транспортной задачи:

  • система ограничений есть система уравнений (т.е. транспортная задача задана в канонической форме);

  • коэффициенты при переменных системы ограничений равны единице или нулю;

  • каждая переменная входит в систему ограничений два раза: один раз – в систему (1) и один раз – в систему (2).

Для записи транспортной задачи принято использовать распределительную таблицу.

Потребности

Ресурсы

b1

bj

bn

а1

с11

х11

с1j

х1j

с1n

х1n

аi

сi1

хi1

сij

хij

сin

хin

аm

сm1

хm1

сmj

хmj

сmn

хmn

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

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

Для открытой модели может быть два случая:

а) суммарные запасы превышают суммарные потребности: ;

б) суммарные потребности превышают суммарные запасы: .

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

Открытая модель транспортной задачи решается приведением к закрытой модели. В случае (а), когда суммарные запасы превышают суммарные потребности, т.е. , вводится фиктивный потребитель (столбец Bn+1), потребности которого . В случае (б), когда суммарные потребности превышают суммарные запасы, т.е. , вводится фиктивный поставщик (строка Am+1), запасы которого .

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

Замечание 1. Прежде чем решать какую-нибудь транспортную задачу, необходимо сначала проверить, является ли задача закрытой, и только после этого непосредственно составлять распределительную таблицу для закрытой задачи.

Теорема 1. Любая транспортная задача, у которой суммарный объем запасов совпадает с суммарным объемом потребностей, имеет решение (то есть для любой транспортной задачи допустимая область не пуста).

Теорема 2. Транспортная задача всегда имеет оптимальный план (решение).

Теорема 3. Любой опорный план должен иметь ( ) положительных компонент (базисных переменных), так как ранг системы ограничений транспортной задачи равен ( ).

Методы определения первоначального опорного плана

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

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

Итак, пусть имеется m складов с запасами

и n пунктов

потребления с потребностями .

Пусть запасы и потребности

сбалансированы, то есть

Представим это в виде таблицы

Р п

...

 х12

 х13

 …

х1n 

 х22

 х22

 х23

 …

х2n 

 х32

 х32

 х33

 …

х3n 

...

...

... 

...

... 

 хm2

 хm2

 хm3

 …

хmn 

Начнем заполнение с клетки, расположенной вверху слева, то есть с "северо-западного угла". Вместо впишем число . Возможны два варианта.

  1. , то есть . Тогда, запланировав перевозку из первого склада в первый пункт потребления в объеме мы полностью используем первый склад и там ничего не останется. Поэтому все остальные перевозки из первого склада могут быть только нулевые.

Потребность в первом пункте потребления останется в объеме . Наша таблица примет вид:

Р п

...

0

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

  1. , то есть . Тогда, запланировав перевозку из первого склада в первый пункт потребления в объеме , мы полностью удовлетворим его потребности. Перевозить туда больше будет ничего не надо, поэтому остальные перевозки туда будут равны нулю.

В первом складе еще останется запасов продукта. Наша таблица примет вид:

Р п

0

...

0

0

0

0

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

3. Может представиться случай, когда а1 = в1. В этом случае строка или столбец исключаются произвольно, а новая потребность или новый ресурс равны нулю.

Р п

0

...

0

0

 

 

 

 

0

 

 

 

 

0

 

 

 

 

0

 

 

 

 

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

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

компонент (базисных переменных)

Клетки распределительной таблицы, в которые помещаем груз называются занятыми. Им соответствуют базисные переменные опорного решения. Остальные клетки – пустые (свободные). Им соответствуют свободные переменные.

Метод минимального элемента

Суть метода заключается в том, что из всей таблицы стоимостей (коэффициентов транспортных затрат) выбирают наименьшую и в клетку, которая ей соответствует, помещают меньшее из чисел и . Затем из рассмотрения исключают либо строку, соответствующую поставщику, запасы которого полностью израсходованы, либо столбец, соответствующий потребителю, потребности которого полностью удовлетворены. Из оставшейся части таблицы стоимостей снова выбирают наименьшую стоимость, и процесс распределения запасов продолжают, пока все запасы не будут распределены, а потребности удовлетворены.

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

Задача. Пусть на трех складах (А1, А2,А3) имеются запасы продукции в количестве 5, 2, 3 ед. соответственно. Потребители должны получить эту продукцию в количестве: В1 – 3 ед.; В2 – 4 ед.; В3 – 3 ед.

Расходы по перевозке единицы груза представлены матрицей (ден.ед.):

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

1. Проверим, является ли данная задача закрытой.

5 + 2 + 3 = 10 – сумма ресурсов;

3 + 4 + 3 = 10 – сумма потребностей.

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

2. Составляем распределительную таблицу и находим исходное опорное решение одним из методов. Например, методом наименьшего элемента в строке.

Потребности

Ресурсы

3

4

3

5

3

3

5

3

2

2

2

1

2

1

3

1

3

2

4

1

3. Проверяем найденное опорное решение на оптимальность.

Для этого применяем метод потенциалов:

  • определим потенциалы по формуле ui + vj = cij – для занятых клеток. u1 =0

  • подсчитаем характеристики (оценки) свободных клеток по формуле: ij = ui + vj - cij

  • при решении на минимум все характеристики должны быть неположительные, тогда получено оптимальное решение.

Потребности

Ресурсы

3

4

3

ui

5

3 _

3

5

3 +

2

0

2

2

1

2

1

-1

3

1 +

3

2

4 _

1

1

vj

3

2

3

12 =2+0-5=-3

21 =3-1-2=0

23 =-1+3-1=1

31 =3+1-1=3

Две оценки 23 и 31 положительные, следовательно, решение неоптимальное.

Переходим к преобразованиям однократного замещения.

4. Выбирается переменная, которая войдет в базис.

Выбирается клетка с наибольшей положительной оценкой. Это клетка (3,1). Для нее строится цикл. Если имеются несколько клеток с равными максимальными положительными значениями ij, то цикл строится для клетки с наилучшим с точки зрения целевой функции коэффициентом транспортных затрат (при решении на минимум для клетки с меньшими транспортными затратами).

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

таблице цикл выделен

5. Выбирается переменная, которая выйдет из базиса.

Около свободной клетки цикла ставится знак (+), затем поочередно проставляют знаки (-) и (+).

У вершин со знаком (-) выбирают минимальный груз (), т.е.  равно минимальному значению из значений базисных переменных в отрицательных (четных) вершинах (клетках) цикла:

= min{xij} в четных клетках цикла. = min{3; 1} = 1. Минимальный груз в клетке (3,3). Эта переменная выйдет из базиса, т.е. клетка станет свободной. Если имеются несколько равных значений базисных переменных в четных (отрицательных) вершинах цикла с минимальным значением, равным , то условимся выбирать из них переменную с наихудшим коэффициентом транспортных затрат и делать ее свободной, а значения остальных базисных переменных в этих вершинах после перемещения станут равными нулю.

Строим новую распределительную таблицу, в которой  прибавляют к грузам, стоящим у вершин со знаком (+), и отнимают от грузов у вершин со знаком (-). Все остальные компоненты плана перевозок, не входящие в цикл, остаются неизменными.

Потребности

Ресурсы

3

4

3

ui

5

3

2

5

3

3

0

2

2

1

2

1

-4

3

1

1

3

2

4

-2

vj

3

5

3

6. Новое опорное решение проверяют на оптимальность.

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

21 =3- 4-2= -3 33 =3-2- 4= -3

Так как все оценки неположительные, то получено оптимальное решение. Решение имеет альтернативный оптимум, т.к. 12 = 0.

min Z = 3*2+3*3+1*2+1*1+3*2=24 (ден.ед.)

Модификация метода потенциалов:

  • определим потенциалы по формуле ui + vj = cij – для занятых клеток. u1 =0

  • подсчитаем характеристики (оценки) свободных клеток по формуле: ij = - ui - vj + cij = cij-( ui + vj)

  • при решении на минимум все характеристики должны быть неотрицательные, тогда получено оптимальное решение.

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

Индивидуальные задания

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

  1. Получить исходное опорное решение методами: «северо-западного» угла, наименьшего элемента в строке, в столбце, в таблице. Подсчитать значение целевой функции при полученных исходных опорных решениях и сравнить.

  2. Получить оптимальное решение методом потенциалов, улучшая исходное опорное решение, полученное в п.1 и имеющее меньшее значение Z.

Поставщики

Ресурсы

Потребители

а

б

в

г

д

е

ж

Потребности

50

100

70

80

50

120

150

А

100

4

3

5

6

2

1

8

Б

150

2

1

8

3

7

6

4

В

50

7

3

9

10

8

4

7

Г

20

3

4

1

5

10

9

6

Д

50

6

7

2

3

4

8

5

Е

180

5

9

4

6

7

2

3

Список индивидуальных данных

Номер варианта

Поставщики

Потребители

Номер варианта

Поставщики

Потребители

1

А, Б, В

а, б, в, г

13

А, Б, В

б, д, ж

2

Б, В, Г

а, б, в

14

В, Г, Д, Е

б, д, ж

3

Б, В, Д

б, в, г

15

В, Г, Д, Е

в, г, ж

4

В, Г, Д, Е

а, б, в, г

16

А, Б, Д

а, б, ж

5

А, В, Г, Д

а, б, в

17

А, Г, Е

б, в, г, д

6

А, Б, Г

а, б, в, д

18

Б, В, Г, Е

б, в, г, ж

7

Г, Д, Е

б, в, г

19

А, Б, В

а, г, д, е

8

Б, В, Д

а, в, г, д

20

А, Б, В

а, г, д, е

9

Г, Д, Е

а, в, г, д

21

В, Г, Е

а, д, ж

10

Б, В, Г, Д

а, б, в, д

22

А, Г, Д, Е

а, б, д, ж

11

В, Г, Д, Е

б, г, е

23

Б, В, Г

а, д, е

12

А, Б, В

б, г, е

24

В, Д, Е

б, г, д, ж

Контрольные вопросы

  1. Какая транспортная задача называется: закрытой, открытой?

  2. Как свести открытую транспортную задачу к закрытой?

  3. Чему равно число основных (базисных) переменных закрытой транспортной задачи?

  4. Как определить исходное опорное решение методом «северо-западного угла»?

  5. Как определить исходное опорное решение методом наименьшего элемента?

  6. Как проверить найденное опорное решение транспортной задачи на оптимальность.

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

  8. Как осуществляется выбор переменной, выводимой из списка базисных переменных? Правила построения цикла.

  9. Какие особенности модифицированного метода потенциалов при решении задачи на поиск минимума целевой функции?

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