Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

ЗАДАЧА 7. Назначения на критичный участок.

Задача 7.1.

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

Должн. 1

Должн. 2

Должн. 3

Должн. 4

Должн. 5

Канд. 1

8

7

5

3

4

Канд. 2

5

4

4

2

3

Канд. 3

8

2

7

4

4

Канд. 4

5

6

5

4

4

Канд. 5

8

3

7

9

4

Пример решения задачи 7.1.

Ввод:

A[i,j]

1`

2`

3`

4`

5`

6`

1

12

11

10

8

14

6

2

13

8

6

8

8

9

3

11

9

14

3

15

8

4

5

7

12

8

6

10

5

8

12

10

7

6

11

6

9

11

6

12

9

10

Инициализация:

f:=Б (большое число);

в цикле по i от 1 до 6

p[i]:=i;

если a[i,i]< f то f=a[i,i], i:=i+1;

получим:

p[i]={12,8,14,8,6,10};

f=6;

Общий шаг:

1-ая итерация

1. В цикле по i от 1 до 6

в цикле по j от 1 до 6

если a[i,j]> 6 то b[i,j]=1 иначе b[i,j]=0

(получим матрицу на рис. П7.1).

1`

2`

3`

4`

5`

6`

1

1

1

1

1

1

0

2

0

1

0

1

1

1

3

1

1

1

0

1

1

4

0

1

1

1

0

1

5

1

1

1

1

0

1

6

1

1

0

1

1

1

Рис. П7.1. 1-ая итерация.

2. Использовать АЛГОРИТМ НАХОЖДЕНИЯ МАКСИМАЛЬНОГО ПАРОСОЧЕТАНИЯ, ввод – матрица В, вывод – Nas_u. Nas_u={1,2,3,4,6,5}.

3. f_new:=Б (большое число);

В цикле по i от 1 до 6

если nas_u [i]¹-1 то

если a[i, nas_u[i]]<f_new то f_new:= a[i, nas_u[i]]

НЕ нашли? Не то? Что вы ищете?

при i=6 находится новый минимум: a[6,5]=9

иначе.. (не встречается по всем i)

f:=9

в цикле по i от 1 до M p[i]:= nas_u [i]

p[i]:= {1,2,3,4,6,5}

2-ая итерация

В цикле по i от 1 до 6

в цикле по j от 1 до 6

если a[i,j]> 9 то b[i,j]=1 иначе b[i,j]=0

(получим матрицу на рис. П7.2, а)

1`

2`

3`

4`

5`

6`

1

1

1

1

0

1

0

2

1

0

0

0

0

0

3

1

0

1

0

1

0

4

0

0

1

0

0

1

5

0

1

1

0

0

1

6

0

1

0

1

0

1

а) б)

Рис. П7.2. 2-ая итерация.

2. Использовать АЛГОРИТМ НАХОЖДЕНИЯ МАКСИМАЛЬНОГО ПАРОСОЧЕТАНИЯ, ввод – матрица В, вывод – Nas_u. Nas_u={2,1,5,3,6,4}, (рис. П7.2, б);

3. f_new:=Б (большое число);

В цикле по i от 1 до 6

если nas_u [i]¹-1 то

если a[i, nas_u[i]]<f_new то f_new:= a[i, nas_u[i]]

при i=1 находится новый минимум: a[1,2]=11

иначе.. (не встречается по всем i)

f:=11;

В цикле по i от 1 до M p[i]:= nas_u [i]

p[i]:={2,1,5,3,6,4}

3-яя итерация

1. В цикле по i от 1 до 6

в цикле по j от 1 до 6

если a[i,j]> 11 то b[i,j]=1 иначе b[i,j]=0

(получим матрицу на рис. П7.3, а)

1`

2`

3`

4`

5`

6`

1

1

0

0

0

1

0

2

1

0

0

0

0

0

3

0

0

1

0

1

0

4

0

0

1

0

0

0

5

0

1

0

0

0

0

6

0

0

0

1

0

1

 

а) б)

Рис. П7.3. 3-яя итерация.

2. Использовать АЛГОРИТМ НАХОЖДЕНИЯ МАКСИМАЛЬНОГО ПАРОСОЧЕТАНИЯ, ввод – матрица В, вывод –Nas_u. Nas_u={5,1,3,-1,2,4} (рис. П7.3, б)

3. f_new:=Б (большое число)

в цикле по i от 1 до 6

если nas_u [i]¹-1 то …(уже неважно)

иначе выход (происходит при i=4)

Вывод:

P={5,1,3,-1,2,4};

F=11.