Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции мисис-15.doc
Скачиваний:
60
Добавлен:
23.03.2016
Размер:
1.42 Mб
Скачать

§ 6 Задача о назначениях (assignment problem).

Пусть имеются n кандидатов и n работ.

Известны затраты с i j , связанные с выполнением

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

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

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

Построение математической модели:

хi j =1, если i -й кандидат назначен на j- ю работу

хi j =0, в противном случае.

По условию:

Легко видеть, что модель соответствует модели транспортной задачи из § 5, однако специальная форма записи модели позволила разработать более эффективный алгоритм (венгерский метод). Его суть:

1. Образовать таблицу затрат с.

2. В каждом столбце найти минимальный элемент и вычесть его из всех элементов этого столбца. Результаты записать в новую таблицу.

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

4. Проставить у нулей новой матрицы звездочки (*) так, чтобы в каждой строке и каждом столбце было по одному 0*. Если это возможно, то каждому 0* сопоставляем xij =1, остальным элементам 0 – оптимальное решение получено.

5. Если указанным способом нельзя проставить 0*, то провести в таблице минимальное число прямых через некоторые 0 , так, чтобы все нули оказались вычеркнутыми.

6. Выбрать наименьший не вычеркнутый элемент и вычесть его из каждого не вычеркнутого элемента. Прибавить этот элемент к каждому элементу на пересечении прямых. Перейти к п.4.

Пример 1

Менеджеру фирмы нужно организовать с минимальными затратами производство изделий 4-х типов на 4-х филиалах.

Задана таблица затрат:

1

4

6

3

9

7

10

9

4

5

11

7

8

7

8

5

Следуя алгоритму, получим:

0

0

0

0

8

3

4

6

3

1

5

4

7

3

2

2

0

0

0

0

5

0

1

3

2

0

4

3

5

1

0

0

Не получается расставить 0* так, чтобы в каждой строке и каждом столбце было по одному 0*!

0

0

0

0

5

0

1

3

2

0

4

3

5

1

0

0

0*

1

0

0

4

0

0*

3

1

0*

3

2

5

2

0

0*

Fmin = 1 +5 +10 +5 = 21

Решить задачу в EXCEL!

Графическая иллюстрация:

Рис. 6.1

Пример 2.

Мастер цеха должен оптимальным образом расставить четырех рабочих по четырем операциям. Из данных хронометража известно, сколько минут в среднем тратит каждый рабочий на выполнение каждой операции:

15

20

18

24

12

17

16

15

14

15

19

15

11

14

12

3

Следуем алгоритму:

4

6

6

21

1

3

4

12

3

1

7

12

0

0

0

0

0

2

2

17

0

2

3

11

2

0

6

11

0

0

0

0

0

2

2

17

0

2

3

11

2

0

6

11

0

0

0

0

0

2

0*

15

0*

2

1

9

2

0*

1

7

2

2

0

0*

Пример 3

Некоторая компания имеет 4 сбытовых базы и 4 заказа, которые необходимо оптимальным образом доставить различным потребителям. В таблице указана информация о расстояниях между каждой базой и потребителем :

База

расстояние, миль

1 2 3 4

A

68

72

75

83

B

56

60

58

63

C

38

40

35

45

D

47

42

40

45

Решить в EXCEL.

Пример 4

В распоряжении некоторой компании имеются 5 торговых точек и 5 продавцов. Эффективность работы продавцов в различных точках не одинакова:

База

объем продаж, ф. ст./тыс. шт.

1 2 3 4 5

A

68

72

75

83

69

B

56

60

58

63

59

C

38

40

40

45

27

D

47

42

47

45

36

E

62

70

68

67

70

Коммерческий директор должен распределить продавцов по торговым точкам, так, чтобы достичь максимального объема продаж.

Решить в EXCEL.