
- •Курсовая работа
- •Введение
- •I. Задачи линейного программирования
- •1.1.Графическое решение задач линейного программирования
- •1.2. Решение задач линейного программирования симплекс-методом
- •1.3. Транспортная задача
- •Пример решения задачи по закреплению группы потребителей за несколькими поставщиками.
- •1.4. Задача о назначениях
- •Пример решения задачи о назначениях венгерским методом.
- •1.5. Задача о ранце
- •Пример решения задачи о ранце методом ветвей и границ.
- •II. Модели нелинейного программирования.
- •1 Подраздел метод «золотого сечения»
- •Пример решения задачи нелинейного программирования методом «золотого сечения».
- •2 Подраздел методы спуска
- •Метод покоординатного спуска
- •Градиентные методы
- •Пример решения задачи нелинейного программирования методами спуска: методом покоординатного спуска и градиентным методом.
- •Заключение.
Пример решения задачи о назначениях венгерским методом.
Постановка задачи: имеется 5 бригад с номерами М1, М2, М3, М4, М5. Они способны выполнить 5 видов работ с номерами Т1, Т2, Т3, Т4, Т5. Известно, что в силу разной квалификации на выполнение этих работ им потребуется различное время. Себестоимость выполнения каждой бригадой определённых видов работ представлена в таблице 1.
Таблица 1.
-
Бригада
Виды работ
Т1
Т2
Т3
Т4
Т5
М1
1
1
3
2
1
М2
5
2
3
1
3
М3
4
5
1
2
4
М4
1
7
1
3
5
М5
2
10
1
4
6
Необходимо распределить бригады таким образом, чтобы общая себестоимость выполнения всех работ была минимальной.
Решение.
Данная задача о назначениях будет решена венгерским методом.
Алгоритм решения:
Подготовительный шаг: Получение нулей в каждой строке и каждом столбце матрицы.
Матрица себестоимостей выполнения работ каждым работником имеет вид:
1
1 3 2 1 1
5 2 3 1 3 1
Сij = 4 5 1 2 4 1
1 7 1 3 5 1
2 10 1 4 6 1
Находим наименьший элемент в каждой строке (в нашей задаче 1), который вычитаем из всех элементов строки.
Получаем новую матрицу, у которой в каждой строке и в каждом столбце есть хотя бы один нулевой элемент:
0 0 2 1 0
4 1 2 0 2
С1 = 3 4 0 1 3
0 6 0 2 4
1 9 0 3 5
Первый шаг: Проверка числа независимых нулей в полученной матрице.
Н
еобходимо
вычеркнуть все нули в матрице минимальным
числом линий.
0
0 2 1 0
4 1 2 0 2
С1 = 3 4 0 1 3
0 6 0 2 4
1 9 0 3 5
Получаем 4 линии зачёркивания, то есть это означает, что число независимых нулей в матрице меньше размерности задачи (4<5).
Второй шаг: Выбираем из не зачёркнутых элементов самый маленький: γ = 1. Строим новую матрицу с учётом равенства (1.1).
0 0 3 1 0
4 1 3 0 2
С2 = 3 3 0 0 2
0 6 1 2 4
0 8 0 2 4
В озвращаемся к первому шагу, то есть, проверяем на оптимальность полученную матрицу С2. Получаем 4 линии зачёркивания, а соответственно 4 независимых нуля, что снова меньше размерности матрицы (4<5). Следовательно, переходим к шагу второму. Самый наименьший среди не зачёркнутых элементов γ = 1. Строим новую матрицу с учётом равенства (1.1).
1
0 4 2 0
4 0 3 0 1
С3 = 2 2 0 0 1
0 5 1 2 3
0 7 0 2 3
Возвращаемся к первому шагу, то есть, проверяем на оптимальность полученную матрицу С3. Получаем 5 линий зачёркивания, а соответственно 5 независимых нулей, что равно размерности задачи (5=5). Это означает, что оптимальное решение уже получено. Независимые нули выделены и подчёркнуты в матрице С3.
Д ля окончательной записи полученного решения необходимо в матрице С3 вместо независимых нулей поставить единицы, а вместо остальных элементов – нули. Соответствующая матрица «назначений» имеет вид:
0 0 0 0 1
0 1 0 0 0
Сопт = 0 0 0 1 0
1 0 0 0 0
0 0 1 0 0
Таким образом, для того чтобы получить минимальные затраты Ф* = С15 + С22 + С34 + С41 + С53;
Ф* = 1 + 2 + 2 + 1 + 1 = 7;
необходимо назначить первую бригаду на пятый вид работы, вторую бригаду - на второй вид работы, третью бригаду – на четвёртый вид работы, четвёртую бригаду – на первый вид работы, пятую бригаду – на третий вид работы.
ЗАДАНИЯ для выполнения лабораторной работы
(Табл. 3.1)
Имеется 5 бригад и 5 видов работ, которые необходимо распределить между бригадами, при чем каждая работа может быть выполнена только одной бригадой, а каждая бригада может быть назначена только на один участок; сij – длительность ведения работ, если i-ая бригада назначена на j-ый участок.
Таблица 3.1
Вариант |
Бригада |
Виды работ |
||||
1 |
2 |
3 |
4 |
5 |
||
1 |
1 |
3 |
4 |
2 |
2 |
1 |
2 |
4 |
5 |
3 |
1 |
3 |
|
3 |
4 |
3 |
1 |
1 |
1 |
|
4 |
3 |
1 |
2 |
2 |
2 |
|
5 |
1 |
3 |
1 |
2 |
1 |
|
2 |
1 |
1 |
1 |
3 |
2 |
1 |
2 |
5 |
2 |
3 |
1 |
3 |
|
3 |
4 |
5 |
1 |
2 |
4 |
|
4 |
1 |
7 |
1 |
3 |
5 |
|
5 |
2 |
10 |
1 |
4 |
6 |
|
3 |
1 |
2 |
5 |
16 |
2 |
2 |
2 |
0 |
7 |
8 |
5 |
10 |
|
3 |
4 |
17 |
6 |
3 |
3 |
|
4 |
6 |
11 |
11 |
7 |
8 |
|
5 |
6 |
12 |
2 |
13 |
12 |
|
4 |
1 |
11 |
1 |
6 |
3 |
7 |
2 |
6 |
14 |
10 |
4 |
5 |
|
3 |
13 |
0 |
15 |
9 |
13 |
|
4 |
5 |
8 |
15 |
4 |
5 |
|
5 |
12 |
12 |
14 |
15 |
7 |
|
5 |
1 |
1 |
7 |
0 |
1 |
6 |
2 |
2 |
1 |
8 |
1 |
6 |
|
3 |
8 |
6 |
7 |
2 |
0 |
|
4 |
6 |
3 |
2 |
10 |
9 |
|
5 |
9 |
2 |
3 |
5 |
7 |
|
6 |
1 |
13 |
15 |
11 |
13 |
8 |
2 |
5 |
5 |
9 |
5 |
8 |
|
3 |
6 |
10 |
0 |
19 |
19 |
|
4 |
10 |
5 |
14 |
16 |
2 |
|
5 |
1 |
11 |
11 |
19 |
1 |
|
7 |
1 |
13 |
21 |
7 |
4 |
4 |
2 |
22 |
19 |
12 |
14 |
12 |
|
3 |
20 |
15 |
13 |
16 |
8 |
|
4 |
14 |
6 |
20 |
8 |
3 |
|
5 |
14 |
12 |
9 |
9 |
16 |
Продолжение табл. 3.1
Вариант |
Бригада |
Виды работ |
||||
1 |
2 |
3 |
4 |
5 |
||
8 |
1 |
10 |
11 |
6 |
10 |
12 |
2 |
14 |
7 |
17 |
9 |
4 |
|
3 |
12 |
15 |
10 |
12 |
8 |
|
4 |
9 |
12 |
7 |
9 |
10 |
|
5 |
12 |
6 |
10 |
11 |
13 |
|
9 |
1 |
18 |
8 |
3 |
5 |
9 |
2 |
21 |
21 |
3 |
3 |
12 |
|
3 |
19 |
13 |
18 |
25 |
0 |
|
4 |
13 |
21 |
18 |
18 |
16 |
|
5 |
0 |
24 |
12 |
2 |
18 |
|
10 |
1 |
10 |
11 |
0 |
3 |
12 |
2 |
14 |
7 |
4 |
6 |
17 |
|
3 |
18 |
5 |
4 |
13 |
15 |
|
4 |
8 |
11 |
6 |
4 |
12 |
|
5 |
18 |
8 |
1 |
1 |
0 |
|
11 |
1 |
1 |
7 |
4 |
1 |
9 |
2 |
3 |
7 |
4 |
4 |
5 |
|
3 |
8 |
0 |
2 |
4 |
4 |
|
4 |
9 |
4 |
1 |
5 |
8 |
|
5 |
9 |
5 |
4 |
1 |
3 |
|
12 |
1 |
1 |
2 |
3 |
5 |
5 |
2 |
5 |
1 |
1 |
2 |
2 |
|
3 |
5 |
0 |
5 |
0 |
0 |
|
4 |
3 |
0 |
5 |
0 |
4 |
|
5 |
1 |
0 |
1 |
5 |
1 |
|
13 |
1 |
1 |
7 |
8 |
1 |
6 |
2 |
1 |
7 |
9 |
1 |
2 |
|
3 |
5 |
3 |
9 |
1 |
4 |
|
4 |
8 |
6 |
4 |
4 |
2 |
|
5 |
8 |
10 |
1 |
10 |
10 |
|
14 |
1 |
0 |
29 |
18 |
25 |
20 |
2 |
0 |
26 |
20 |
22 |
10 |
|
3 |
5 |
12 |
27 |
22 |
28 |
|
4 |
15 |
9 |
6 |
17 |
0 |
|
5 |
17 |
9 |
3 |
14 |
8 |
|
15 |
1 |
9 |
7 |
27 |
0 |
18 |
2 |
8 |
7 |
3 |
10 |
8 |
|
3 |
11 |
0 |
4 |
12 |
20 |
|
4 |
10 |
6 |
18 |
1 |
16 |
Окончание табл. 3.1
Вариант |
Бригада |
Виды работ |
||||
1 |
2 |
3 |
4 |
5 |
||
|
5 |
22 |
21 |
13 |
7 |
7 |
16 |
1 |
1 |
7 |
8 |
1 |
6 |
2 |
2 |
5 |
9 |
8 |
7 |
|
3 |
5 |
3 |
9 |
3 |
1 |
|
4 |
8 |
6 |
9 |
4 |
2 |
|
5 |
3 |
10 |
1 |
10 |
11 |
|
17 |
1 |
4 |
7 |
8 |
1 |
1 |
2 |
3 |
9 |
9 |
2 |
8 |
|
3 |
5 |
3 |
11 |
1 |
4 |
|
4 |
5 |
6 |
4 |
4 |
2 |
|
5 |
8 |
7 |
1 |
9 |
3 |
|
18 |
1 |
9 |
7 |
8 |
1 |
6 |
2 |
5 |
7 |
7 |
4 |
1 |
|
3 |
5 |
3 |
9 |
2 |
4 |
|
4 |
11 |
6 |
5 |
4 |
7 |
|
5 |
8 |
10 |
1 |
1 |
10 |
|
19 |
1 |
1 |
5 |
8 |
7 |
6 |
2 |
2 |
7 |
9 |
8 |
3 |
|
3 |
3 |
4 |
8 |
1 |
4 |
|
4 |
8 |
6 |
4 |
4 |
2 |
|
5 |
8 |
10 |
1 |
7 |
6 |
|
20 |
1 |
1 |
7 |
8 |
9 |
10 |
2 |
2 |
5 |
9 |
6 |
3 |
|
3 |
3 |
5 |
9 |
1 |
4 |
|
4 |
4 |
3 |
4 |
10 |
12 |
|
5 |
8 |
10 |
1 |
10 |
11 |
|
21 |
1 |
2 |
5 |
8 |
6 |
11 |
2 |
11 |
9 |
4 |
3 |
7 |
|
3 |
5 |
7 |
8 |
12 |
2 |
|
4 |
12 |
2 |
14 |
5 |
7 |
|
5 |
6 |
9 |
1 |
8 |
7 |
|
22 |
1 |
9 |
7 |
6 |
5 |
3 |
2 |
19 |
12 |
13 |
15 |
11 |
|
3 |
9 |
11 |
14 |
12 |
8 |
|
4 |
7 |
5 |
9 |
4 |
8 |
|
5 |
3 |
7 |
5 |
3 |
4 |
|
23 |
1 |
9 |
5 |
4 |
2 |
6 |
2 |
6 |
4 |
7 |
5 |
9 |
|
3 |
1 |
8 |
11 |
5 |
9 |
|
4 |
6 |
10 |
8 |
4 |
2 |
|
5 |
7 |
11 |
8 |
7 |
9 |
|
24 |
1 |
3 |
6 |
7 |
6 |
11 |
2 |
8 |
11 |
5 |
7 |
14 |
|
3 |
9 |
12 |
6 |
9 |
10 |
|
4 |
5 |
9 |
5 |
6 |
8 |
|
5 |
2 |
8 |
7 |
3 |
5 |
|
25 |
1 |
15 |
9 |
8 |
17 |
4 |
2 |
12 |
11 |
11 |
15 |
9 |
|
3 |
17 |
7 |
12 |
13 |
11 |
|
4 |
11 |
8 |
17 |
11 |
18 |
|
5 |
13 |
12 |
14 |
9 |
14 |