- •Часть 2
- •Содержание
- •1. Рабочая программа курса "математические основы информатики"
- •Часть 2.
- •Предисловие
- •Практические занятия
- •Литература (основная)
- •Литература (дополнительная)
- •2. Краткий конспект лекций
- •2.1.Задачи целочисленного булева программирования
- •2.2. Каноническая и многомерная задачи о ранце и их интерпретации
- •2.3. Задача коммивояжера и ее интерпретации
- •2.4. Задачи о назначениях и их интерпретации
- •2.5. Задача целочисленного линейного программирования в общей постановке
- •2.6. Метод ветвей и границ
- •2.7. Общая схема метода ветвей и границ Джеффриона-Марстена
- •2.8. Решение канонической задачи о ранце методом ветвей и границ
- •2.9. Решение многомерной задачи о ранце методом ветвей и границ
- •2.10. Решение задачи коммивояжера методом ветвей и границ
- •2.11. Решение задачи целочисленного линейного программирования методом ветвей и границ
- •2.12. Решение задачи о ранце с использованием табличной схемы
- •2.13. Решение задачи о ранце с использованием рекуррентных соотношений динамического программирования
- •2.14. Решение задачи коммивояжера с использованием рекуррентных соотношений динамического программирования
- •2.15. Задачи теории расписаний
- •2.16. Задачи теории расписаний с одним обслуживающим прибором
- •2.17. Перестановочный прием в задачах теории расписаний
- •2.18. Теорема Лившица-Кладова
- •2.19. Задачи теории расписаний в общей постановке
- •2.20. Задача Джонсона. Графики Ганта
- •2.21.Постановка задачи теории расписаний как задачи частично-целочисленного линейного программирования
- •2.22. Сетевые модели. Расчет временных характеристик сетевых моделей
- •2.23. Потоки в сетях. Теорема Форда-Фалкерсона о максимальном потоке
- •2.24. Алгоритм Форда-Фалкерсона нахождения максимального потока в транспортной сети
- •2.25. Решение задачи о назначениях алгоритмом Куна
- •2.26. Минимаксные задачи о назначениях
- •2.27. Задачи о назначениях с индивидуальными предпочтениями
- •3. Задачник с решением типовых задач
- •3.1. Решение задачи о ранце
- •3.1.1. Решение задачи о ранце методом ветвей и границ
- •3.1.2. Решение задачи о ранце методом динамического программирования (табличная форма)
- •3.1.3. Решение задачи о ранце методом динамического программирования (рекуррентная схема)
- •3.1.4. Решить следующие задачи о ранце :
- •3.2. Решение задачи коммивояжера
- •3.2.1. Решение задачи коммивояжера методом ветвей и границ
- •3.2.2. Решение задачи коммивояжера с использованием рекуррентных соотношений динамического программирования
- •3.2.3. Решить задачи коммивояжера:
- •3.3. Решить задачу Джонсона для двух станков, построить график Ганта для оптимального расписания
- •3.4. Решение задачи о назначениях алгоритмом Куна
- •3.5. Решение минимаксных (максиминных) задач о назначениях
- •3.6. Решить задачи о назначениях с индивидуальными предпочтениями
- •3.7. Нахождение максимального потока в транспортной сети алгоритмом Форда-Фалкерсона
- •3.8. Расчет временных характеристик сетевых моделей
- •Рассчитать временные характеристики сетевой модели
- •4. Контрольные задания
- •5. Вопросы к экзамену
- •3.Задачи целочисленного булева программирования.
- •6.Задача коммивояжера и ее интерпретации.
- •8.Задача целочисленного линейного программирования в общей постановке.
3.3. Решить задачу Джонсона для двух станков, построить график Ганта для оптимального расписания
Алгоритм Джонсона построения оптимального расписания выполнения работ на двух станках включает в себя следующие шаги:
Шаг 1. Найти минимальную величину среди A(j) и B(j), j=1,2,...,n.
Шаг 2. Если минимум достигается на A(j), то деталь с номером j ставится на обработку самой первой, если на B(j), то деталь с номером j ставится на обработку последней, деталь с номером j исключается из рассмотрения, и процесс построения расписания продолжается с шага 1.
Построенные расписания наглядно отображаются с помощью так называемых графиков Ганта или Гант-карт.
График Ганта - это графическое отображения расписания, в котором каждому станку соответствует своя ось времени.
Пусть матрица времен выполнения работ на станках имеет вид:
-
j
A(j)
B(j)
1
1
2
2
3
4
3
4
2
4
2
3
5
4
2
6
3
1
7
2
3
8
2
3
Здесь A(j) и B(j), соответственно, времена обработки детали с номером j на первом и втором станке.
Оптимальное расписание определяется перестановкой r=(1,4,7,8,5,3,6).
График Ганта имеет вид:
1 |
4 |
4 |
7 |
7 |
8 |
8 |
2 |
2 |
2 |
5 |
5 |
5 |
5 |
3 |
3 |
3 |
3 |
6 |
6 |
6 |
|
|
|
ст1 |
|
1 |
1 |
4 |
4 |
4 |
7 |
7 |
7 |
8 |
8 |
8 |
2 |
2 |
2 |
2 |
5 |
5 |
3 |
3 |
|
6 |
|
|
ст2 |
Длина оптимального расписания F(r)=22.
Задача 3.1.
-
j
A(j)
B(j)
1
1
2
2
3
1
3
4
2
4
2
3
5
4
2
6
3
1
7
2
3
8
2
3
Задача 3.2.
-
j
A(j)
B(j)
1
3
2
2
3
4
3
4
4
4
2
3
5
4
2
6
3
4
7
2
3
8
2
3
Задача 3.3.
-
j
A(j)
B(j)
1
1
2
2
3
1
3
4
2
4
2
3
5
4
5
6
3
1
7
3
2
8
2
3
Задача 3.4.
-
j
A(j)
B(j)
1
1
2
2
3
4
3
1
2
4
2
1
5
4
4
6
3
1
7
2
3
8
2
3
Задача 3.5.
-
j
A(j)
B(j)
1
3
2
2
3
4
3
4
2
4
2
3
5
1
2
6
4
1
7
2
3
8
2
3
Задача 3.6.
-
j
A(j)
B(j)
1
1
2
2
3
4
3
1
2
4
2
3
5
1
2
6
6
1
7
2
3
8
2
1
Задача 3.7.
-
j
A(j)
B(j)
1
2
1
2
3
4
3
3
2
4
2
3
5
4
2
6
1
3
7
2
3
8
2
3
Задача 3.8.
-
j
A(j)
B(j)
1
1
2
2
2
4
3
4
2
4
3
1
5
4
2
6
3
1
7
3
1
8
2
3
Задача 3.9.
-
j
A(j)
B(j)
1
3
2
2
1
4
3
4
2
4
2
3
5
1
2
6
3
5
7
2
3
8
2
3
Задача 3.10.
-
j
A(j)
B(j)
1
4
2
2
3
1
3
4
2
4
2
3
5
1
2
6
3
4
7
2
6
8
2
3