- •Часть 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.Задача целочисленного линейного программирования в общей постановке.
2.15. Задачи теории расписаний
Изучением вопросов оптимального планирования и управления на сетевых структурах занимается теория расписаний - раздел дискретного программирования. Задачи теории расписаний, как правило, трудноразрешимы, хотя для некоторых из них существуют эффективные алгоритмы решения., К задачам теории расписаний относятся :
-задачи упорядочения - минимизации функций на перестановках,
-задачи согласования - определение длительностей выполнения работ при конфликтующих потребностях работ в ресурсах,
-задачи распределения - при альтернативных технологиях выполнения работ.
Мы в дальнейшем будем рассматривать лишь задачи теории расписаний, связанные с упорядочением работ.
2.16. Задачи теории расписаний с одним обслуживающим прибором
Общая постановка.
Пусть имеется n заявок на обслуживание. Они обслуживаются одним прибором, соответственно, за t(1), t(2),...,t(n) единиц времени. Предполагается, что все заявки пришли в систему одновременно и ожидают обслуживания. Пусть f(i,t) - функция штрафов за простой заявки с номером i, если её обработка завершится в момент времени t. Пусть r=( i(1),i(2),...,i(n)) - перестановка из n натуральных чисел {1,2,...,n}, которая определяет порядок обработки заявок. Пусть P -множество всех таких различных перестановок. Очевидно, что мощность этого множества есть n!. Обозначим через F(r) - суммарный штраф, получаемый за обработку заявок в порядке, определяемом перестановкой r. Тогда
F(r) = f(i(1),t(i(1)) + f(i(2), t(i(1)+t(i(2))) +...+f(i(n), t(i(1)) + t(i(2)) +...+t(i(n))).
При такой формализации задача одного обслуживающего прибора ставится как задача поиска такой перестановки из множества P, на которой достигает минимальное значение критерий задачи F.
Примеры задач одного обслуживающего прибора.
Задача директора.
Содержательное описание.
На прием к директору записалось несколько человек. Зная время на прием каждого, требуется в таком порядке принимать посетителей, чтобы суммарное время проведенное посетителями на приеме было минимально.
Математическая модель.
Исходные параметры модели.
Пусть i=1,2,...,m -номера посетителей, t(i) - время, необходимое на обслуживание посетителя с номером i, i=1,2,...,m. Функции штрафов имеют вид
f(i,t) = t, i=1,2,...,m.
Варьируемые параметры.
Обозначим через r=( i(1),i(2),...,i(n)) - перестановку из n натуральных чисел, определяющую порядок приема посетителей. Через P - обозначим множество всевозможных перестановок натуральных чисел {1,2,...,m}.
Ограничения математической модели.
r P . (1)
Постановка оптимизационной задачи.
Критерий оптимальности для задачи директора имеет вид:
F(r) = mt(i.1) + (m-1)t(i,2) + ...+ t(i,m) min. (2)
Задача мастера.
Содержательное описание.
Мастер, придя на работу, обнаружил неисправными несколько станков. Имея в своем распоряжении одну ремонтную бригаду, требуется определить такой порядок ремонта станков ( потери от простоя станков различны и зависят от производительностей станков такой), чтобы суммарные потери от простоя станков были минимальны.
Математическая модель.
Исходные параметры модели.
Пусть i=1,2,...,m -номера станков, t(i) - время, необходимое на ремонт станка с номером i, i=1,2,...,m. Функции штрафов имеют вид
f(i,t) = c(i)t, i=1,2,...,m.
Варьируемые параметры.
Обозначим через r=( i(1),i(2),...,i(n)) - перестановку из n натуральных чисел, определяющую порядок ремонта станков. Через P - обозначим множество всевозможных перестановок натуральных чисел {1,2,...,m}.
Ограничения математической модели.
r P .
Постановка оптимизационной задачи.
Критерий оптимальности для задачи мастера имеет вид:
F(r) =c(i(1))t((i),1) + c(i(2))[t(i(1))+t(i(2))]+...+c(i(m))[t(i(1))+t(i(2))+...+t(i(m))] min.