Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Инж.творчество / Лекции / Л-5(1 час)Задача о назначениях.doc
Скачиваний:
36
Добавлен:
29.03.2015
Размер:
132.61 Кб
Скачать

Случаи, когда число претендентов не равно количеству мест.

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

Представим, что один рабочий, например 4, уволился. Тогда нам необходимо расставить трех рабочих, имея четыре вакансии. При этом, конечно, общая цель назначений остается неизменной. Введем ус­ловно фиктивного рабочего, характеристики которого будут нулевые, т. е. все

C4j = 0 (j=1, 2, 3, 4). Тогда получается таблица:

Таблица 2.8.6

Исполнители

Задача

1

2

3

4

1

48

20

42

22

2

28

44

20

30

3

30

34

40

38

4

0

0

0

0

Данная проблема решается так же, как и в общем случае, только мы уже не будем совершать этап 2 (понятно, не правда ли?). Опти­мальное решение будет х12 —х23 — х3144=1. Четвертый станок ока­зался незанятым.

А теперь представим ситуацию, когда число рабочих больше числа станков. Она свидетельствует о том, что один рабочий не будет иметь места. Как произвести назначение в этом случае и кого надо уволить, если цель остается неизменной? Для разрешения этой ситуации вво­дится фиктивный станок, на котором показатели работы равны нулю. В нашем случае будем считать, что станок 3, например, больше не используется. Это может быть отображено данными следующей таб­лицы.

Таблица 2.8.7

Исполнители

Задача

1

2

3

4

1

48

20

0

22

2

28

44

0

30

3

30

34

0

38

4

22

38

0

26

Здесь мы уже не будем выполнять этап 1. Постарайтесь сами по­лучить оптимальное решение х12 = х24 — х33 — х41 = 1.

Случай, когда некоторые назначения невозможны.

Предположим, что некоторые назначения невозможны, например,

второй рабочий не может выполнять работу на третьем станке. В этом случае, так же, как мы поступали в параграфе II. 4, в соответствующую клетку заносится большое число М. Это автоматически приводит к тому, что клетка окажется незанятой в оптимальном решении.

Задача о назначениях на максимум целевой функции.

Если мы столкнулись с проблемой назначения, в которой надо получить максимум целевой функции, то алгоритм венгерского ме­тода имеет некоторые особенности. Прежде всего заметим, что вен­герский метод позволяет решить задачи о назначениях на минимум. Для того, чтобы применить этот метод, нужно каким-то образом све­сти данную задачу на максимум к задаче на минимум целевой функ­ции. В задаче на максимум предпочтительнее выбирать клетки с наи­большими Сij , в то время как в задаче на минимум — клетки с наи­меньшими Сij. Оптимальное решение получалось в нулевых клетках последней преобразованной матрицы. Рассмотрим особенности этой задачи на конкретном примере.

Пусть Сij — числа, характеризующие прибыль, которую приносит каждый i-ый рабочий, если он работает на j-ом месте. Матрица такой задачи имеет вид:

Таблица 2.8.8

Исполнители

Задача

1

2

3

4

1

40

29

31

37

2

28

22

41

36

3

32

31

43

41

4

37

34

35

27

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

Таблица 2.8.9

Исполнители

Задача

1

2

3

4

1

0

11

9

3

2

13

19

0

5

3

11

12

0

2

4

0

3

2

10

Элементы таблицы III. 24 уже имеют другой смысл. Это не чистые прибыли, а потери прибыли от максимально возможной. Ясно, что для того, чтобы достичь наибольшей прибыли, необходимо избежать потерь прибыли или, если это не удается, иметь их как можно мень­шими. А это значит, что мы от задачи на максимум ( таблица III. 23) перешли к задаче на минимум (таблица III. 24).

В итоге, оптимальное решение данной задачи будет:

x11= x23 = x34 =x42 = 1