- •Е.В. Макарова
- •Введение
- •Практическое задание № 1. Задача распределения ресурсов
- •Элементы теории.
- •Элементы теории.
- •Контрольные вопросы
- •Практическое задание № 2. Транспортная задача
- •Контрольные вопросы
- •Практическое задание № 3. Задача о назначениях
- •Контрольные вопросы
- •Практическое задание № 4. Определение наикратчайшего пути между вершинами ориентированного графа с циклами
- •Контрольные вопросы
- •Практическое задание № 5. Размещение проектируемого объекта
- •Контрольные вопросы
- •Практическое задание № 6. Задача об изготовлении стержней
- •Контрольные вопросы
- •Практическое задание № 7. Определение границ интервала поиска оптимума одномерной функции
- •Элементы теории.
- •Контрольные вопросы
- •Практическое задание № 8. Определение оптимума одномерной функции. Методы исключения интервалов. Метод деления интервала пополам
- •Элементы теории
- •Контрольные вопросы
- •Практическое задание № 9. Определение оптимума одномерной функции. Методы исключения интервалов. Метод золотого сечения
- •Элементы теории.
- •Контрольные вопросы
- •Индивидуальные задания для самостоятельной работы Задание 1
- •Задание 2
- •Задание 3
- •Задание 4
- •Задание 5
- •Задание 6
- •Задание 7
- •Задание 8
- •Задание 9
- •Задание 10
- •Заключение
- •Список рекомендуемой литературы
Контрольные вопросы
С помощью какого метода решается задача о назначениях?
При каких условиях удовлетворяются ограничения в задаче о назначениях?
Как записывается целевая функция и математическая модель в задаче о назначениях?
По какому правилу и почему необходимо преобразовывать матрицу (С)?
Каким образом образуются нули в строках матрицы (С)?
Каким образом образуются нули в строках матрицы (-С)?
Какой алгоритм решения матрицы используют для получения допустимого решения при нахождении нулей на одном и том же месте?
Как находится допустимое решение задачи о назначениях?
Практическое задание № 4. Определение наикратчайшего пути между вершинами ориентированного графа с циклами
Задание. Определить наикратчайший путь между вершинами на графе с циклами, представленном на рис. 4.1.
Рис. 4.1.
1. По последней цифре номера зачетной книжки (студенческого билета) выбрать номер варианта.
2. По номеру варианта выбрать исходные данные (табл. 4.1).
Таблица 4.1
№ варианта |
Задание |
0 |
Между вершиной 2 и вершиной 5 |
1 |
Между вершиной 1 и вершиной 5 |
2 |
Между вершиной 3 и вершиной 7 |
3 |
Между вершиной 3 и вершиной 6 |
4 |
Между вершиной 2 и вершиной 7 |
5 |
Между вершиной 2 и вершиной 3 |
6 |
Между вершиной 1 и вершиной 6 |
7 |
Между вершиной 4 и вершиной 7 |
8 |
Между вершиной 6 и вершиной 1 |
9 |
Между вершиной 6 и вершиной 3 |
Решить задачу двумя способами:
1) при помощи преобразования матрицы;
2) методом Ньютона с помощью «Поиска решения».
Работа рассчитана на 2 аудиторных часа.
Пример 4. Определить наикратчайший путь между вершиной 1 и вершиной 7 на графе с циклами, представленном на рис. 4.1.
Задание 1. Решение задачи при помощи преобразования матрицы
Для решения транспортной задачи в процедуре EXCEL «Поиск решения», представим ее как транспортную задачу с промежуточными пунктами. Будем считать, что транспортные расходы при перевозке одной единицы груза равны (в условных единицах) расстояниям между вершинами. Одна единица груза отправляется из вершины 1 (исходный пункт) и должна прибыть в вершину 7 (пункт назначения). Вершины 2, 3, 4, 5, 6 рассматриваются как промежуточные пункты, которые являются одновременно и исходными пунктами и пунктами назначения.
Требуется определить такую последовательность вершин, по которым должна перемещаться единица груза, отправленная из вершины 1, при которой стоимость транспортных расходов будет минимальна и груз попадет в вершину 7.
Так как транспортные расходы при перемещении груза из одной вершины в другую равны расстоянию между вершинами, то последовательность вершин, при которой транспортные расходы будут минимальными, определяет наикратчайший путь из вершины 1 в вершину 7. Матрица транспортных расходов, соответствующая данному графу, представлена в табл. 4.2.
Таблица 4.2
Исходные пункты |
Пункты назначения |
Количество груза отправленного из пункта | |||||
2 |
3 |
4 |
5 |
6 |
7 | ||
1 |
2 |
4 |
4 |
3 |
М |
М |
1 |
2 |
0 |
М |
3 |
М |
2 |
М |
0 |
3 |
М |
0 |
5 |
9 |
М |
М |
0 |
4 |
5 |
4 |
0 |
5 |
14 |
М |
0 |
5 |
М |
4 |
3 |
0 |
4 |
25 |
0 |
6 |
6 |
М |
13 |
6 |
0 |
4 |
0 |
Количество груза прибывшего в пункт |
0 |
0 |
0 |
0 |
0 |
1 |
|
Буквой М обозначается случай, когда между соответствующими вершинами нет пути. В качестве М берут число, значительно большее самого большего пути. В данной задаче наибольший путь между 5-й и 7-ой вершинами, поэтому можно взять, например, М = 50. Для промежуточных пунктов 2, 3, 4, 5, 6 должны быть предусмотрены буферные емкости В, которая должна быть не меньшей, чем количество груза, перемещаемого в сети, описываемой графом. В данной задаче В = 1. После введения буферных емкостей в первый столбец и нижнюю строку таблицы и замены М = 50, получим транспортную задачу, представляющую задачу о назначениях (табл. 4.3).
Таблица 4.3
Исходные пункты |
Пункты назначения |
Количество груза отправленного из пункта | |||||
2 |
3 |
4 |
5 |
6 |
7 | ||
1 |
2 |
4 |
4 |
3 |
50 |
50 |
1 |
2 |
0 |
50 |
3 |
50 |
2 |
50 |
1 |
3 |
50 |
0 |
5 |
9 |
50 |
50 |
1 |
4 |
5 |
4 |
0 |
5 |
14 |
50 |
1 |
5 |
50 |
4 |
3 |
0 |
4 |
25 |
1 |
6 |
6 |
50 |
13 |
6 |
0 |
4 |
1 |
Количество груза прибывшего в пункт |
1 |
1 |
1 |
1 |
1 |
1 |
|
Последовательные преобразования матрицы транспортных расходов показаны на рис. 4.2, 4.3, 4.4.
Рис. 4.2 |
|
Рис. 4.3. |
Рис. 4.4.
На рис. 4.2 показаны результаты вычитания минимального элемента первой строки (он равен 2) из первой строки, на рис. 4.3 приведены результаты вычитания минимального элемента из шестого столбца (он равен 4) и результат вычеркивания строк и столбцов с нулями. На рис. 4.5 показаны результаты вычитания из не вычеркнутых элементов минимального элемента (он равен единице) и результат вычеркивания строк и столбцов второй раз.
-
0
1
1
0
47
43
0
49
2
49
1
45
51
0
5
9
50
46
6
4
0
5
14
46
51
4
3
0
4
21
7
50
13
6
0
0
Рис. 4.5
На рис. 4.6 приведены окончательные результаты преобразования и результаты допустимого выбора из множества нулей.
-
0
0
0
0
46
42
0
48
1
48
0
44
52
0
5
10
50
46
7
4
0
6
14
46
51
3
2
0
3
20
8
50
13
7
0
0
Рис. 4.6.
Перенеся эти результаты на исходную таблицу (табл. 4.3), получим новую таблицу 4.4.
Таблица 4.4
Исходные пункты |
Пункты назначения |
Количество груза, отправленного из пункта | |||||
2 |
3 |
4 |
5 |
6 |
7 | ||
1 |
2 |
4 |
4 |
3 |
М |
М |
1 |
2 |
0 |
М |
3 |
М |
2 |
М |
0 |
3 |
М |
0 |
5 |
9 |
М |
М |
0 |
4 |
5 |
4 |
0 |
5 |
14 |
М |
0 |
5 |
М |
4 |
3 |
0 |
4 |
25 |
0 |
6 |
6 |
М |
13 |
6 |
0 |
4 |
0 |
Количество груза, прибывшего в пункт |
0 |
0 |
0 |
0 |
0 |
1 |
|
Наикратчайший путь из вершины 1 в вершину 7 определяется следующей траекторией: 1 → 2 → 6 → 7
Длина наикратчайшего пути равна: 2 + 2 + 4 = 8.
Задание 2. Решение задачи в процедуре MS EXCEL «Поиск решения»
1) Ввод данных. Переносим данные задачи в MS EXCEL. Результаты заполнения таблицы EXCEL можно увидеть на рис. 4.7.
В ячейках B4 : G9 введены длины путей из исходных пунктов в пункты назначения.
Ячейки B12 : G17 являются изменяемыми ячейками для нашей процедуры.
В ячейках B18 : G18 находятся суммы значений соответствующих столбцов изменяемых ячеек. Так в ячейке B18 находится сумма ячеек B12 : B17. Аналогично в ячейках:
в С18 находится сумма ячеек С12 : С17;
в D18 находится сумма ячеек D12 : D17;
в E18 находится сумма ячеек E12 : E17;
в F18 находится сумма ячеек F12 : F17;
в G18 находится сумма ячеек G12 : G17.
Рис. 4.7.
В ячейках H12 : H17 находятся суммы значений соответствующих строк изменяемых ячеек. Так в ячейке H12 находится сумма ячеек B12 : G12. Аналогично в ячейках :
в H13 находится сумма ячеек B13 : G13;
в H14 находится сумма ячеек B14 : G14;
в H15 находится сумма ячеек B15 : G15;
в H16 находится сумма ячеек B16 : G16;
в H17 находится сумма ячеек B17 : G17.
Целевая функция заносится в ячейку I3 и вычисляется по формуле «СУММПРОИЗВ (B4:G9 ; B12:G17)».
2) Заполнение окна процедуры «Поиск решения».
целевая функция : I3;
значение целевой функции : min;
изменяемые ячейки : B12 : G17;
ограничения задачи :
B18 : G18 = 1 и H12 : H17 = 1;
B12 : G17 0 (ячейки должны иметь положительные значения).
В окне «Параметры» установить «Линейная модель», что соответствует решению задачи симплекс-методом. Результаты заполнения окна показаны на рис. 4.8:
Рис. 4.8.
3) Выполнив процедуру «Поиск решения» в первоначальной таблице (см. рис. 4.8) получим следующие результаты (рис. 4.9).
Рис. 4.9.
Эти результаты совпадают с решением данной задачи при помощи преобразования матрицы транспортных расходов:
1 → 2 → 6 → 7 , длина = 8.