Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задача про призначення.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
370 Кб
Скачать
☆

2. Алгоритм угорського методу

Приклад 1

У проектну фірму надійшло замовлення на складання проектів перебудови трьох споруд. Виконати кожен з цих проектів може один з трьох проектантів фірми, однак час виконання роботи кожним робітником буде різним (див. табл. 1.). Розподілити роботи між проектантами таким чином, щоб замовленя було виконано якомога раніше.

1 проект

2 проект

3 проект

1-й робітник

15 діб

10 діб

9 діб

2-й робітник

9 діб

15 діб

10 діб

3-й робітник

10 діб

12 діб

8 діб

  1. В кожному рядку знаходимо мінімальний елемент і віднімаємо його від йнших елементів рядка.

1 проект

2 проект

3 проект

min

1-й робітник

15

10

9

9

2-й робітник

9

15

10

9

3-й робітник

10

12

8

8

1 проект

2 проект

3 проект

1-й робітник

6

1

0

2-й робітник

0

6

1

3-й робітник

2

4

0

  1. В отриманій матриці в кожному стовпчику знайдемо мінімальний елемент і віднімемо його від інших елементів відповідних стовпчиків.

1 проект

2 проект

3 проект

1-й робітник

6

4

0

2-й робітник

0

6

1

3-й робітник

2

4

0

min

0

1

0

1 проект

2 проект

3 проект

1-й робітник

6

0

0

2-й робітник

0

5

1

3-й робітник

2

3

0

В останній таблиці нульові елементи, що підкреслені, визначають оптимальний розв’язок: перший проект виконає 2-й робітник, 2-й проект – 1-й робітник, 3-й проект – 3-й робітник. Всі ці проекти виконаються в мінімально можливий термін діб.

В деяких випадках нульові елементи, що отимані на першому та другому кроках алгоритму угорського методу не дозволяють безпосередньо отримати припустимий розв’язок. В таких випадках застосовують додаткові кроки для отримання оптимального розв’зку.

Приклад 2

Припустимо, що в попередньому прикладі представлено чотири робітники та замовлення на виконання чотирьох проектів

1 проект

2 проект

3 проект

4 проект

1-й робітник

1 діб

4 діб

6 діб

3 доби

2-й робітник

9 діб

7 діб

10 діб

9 діб

3-й робітник

4 діб

5 діб

11 діб

7 діб

4-й робітник

8 діб

7 діб

8 діб

5 діб

Виконання перших двох кроків алгоритму угорського методу призводить до такої таблиці:

1 проект

2 проект

3 проект

4 проект

1-й робітник

0

3

2

2

2-й робітник

2

0

0

2

3-й робітник

0

1

4

3

4-й робітник

3

2

0

0

Нульові елементи даної таблиці не дозволяють призначити кожному робітнику певний проект. Так, наприклад, якщо ми призначимо першому виконавцю роботу 1, з подальшогу розгляду виключається перший стовпчик, і тоді в рядку для третього робитника не залишиться нульових елементів. В таких випадках виконують такі додаткові кроки:

  1. В останній таблиці проводять мінімальну кількість горизонтальних і вертикальних по рядках прямих з метою викреслення всіх нульових елементів.

1 проект

2 проект

3 проект

4 проект

1-й робітник

0

3

2

2

2-й робітник

2

0

0

2

3-й робітник

0

1

4

3

4-й робітник

3

2

0

0

  1. Знаходять найменший невикреслений елемент і віднімають його від інших невикреслених елментів і додають до елементів, що знаходяться на перетині проведених на попередньому кроці прямих.

В нашому прикладі це елемент 1 (перетин 3-го робітника і 2-го проекту). Результатом описаних вище дій є таблиця:

1 проект

2 проект

3 проект

4 проект

1-й робітник

0

2

1

1

2-й робітник

3

0

0

2

3-й робітник

0

0

3

2

4-й робітник

4

2

0

0

Оптимальний розв’язок показаний підкресленими нулями. Отже, ми отримали таке розподілення робіт між працівниками (табл. 1):

Таблиця 1

Оптимальне розподілення робіт між працівниками

№ проекту

виконавець

1

1

2

3

3

2

4

4

Якщо нова отримана таблиця не дозволяє побудувати припустимий розв’язок, повторюють крок 1 додаткового алгоритму.