Отчёт по практике: Разработка и реализация эвристики для решения задачи теории расписаний
Описание
Оглавление
1.1.Содержательное описание проблемы.. 4
2.1.Обзор существующих методов. 5
2.2.Описание решения методом полного перебора. 5
2.3.Описание решения эвристическим методом.. 5
3.1.Функциональные возможности программы.. 8
3.4.Планирование эксперимента. 9
3.5.Выводы по результатам эксперимента: 9
Приложение 1. Код основных модулей. 12
Приложение 2. Результаты эксперимента. 18
Введение
Теория расписаний –
Задачи упорядочения -
Задачи одного прибора -
Я считаю, что изучение данной темы является актуальным, задачи о теории расписаний остаются актуальными в самых разных областях.
Целью моей работы является:
1. Изучение основных понятий, связанных с теорией расписаний.
2. Рассмотреть задачу расписаний в системе с одним обслуживающим прибором и методы нахождения оптимальных и «хороших» решений.
3. Разработать и реализовать собственную эвристику.
4. Провести эксперименты.
5. Сделать вывод.
Задача теории расписаний является NP-полной задачей.
1. Постановка задачи
Содержательное описание проблемы
Пусть работы множества N = {1, 2, ..., n} обслуживается одним прибором. Каждая работа i, iÎN характеризуется моментом поступления di, длительностью обслуживания ti , директивным сроком Di , коэффициентом штрафа fi за каждый такт нарушения директивного срока.
В каждый момент времени прибор обслуживает не более одного требования. Порядок обслуживания требований произвольный. Прерывания в обслуживании каждого отдельного требования не допускаются.
Мат. модель
Исходные параметры:
Пусть N = {1, 2, ..., n} – множество работ подлежащих выполнению,
= (t1, t2,…, tn) – вектор длительностей выполнений работ,
= (d1, d2,…, dn) – вектор моментов поступлений работ,
= (D1, D2,…, Dn) – вектор директивных сроков,
= (f1, f2,…, fn) – вектор коэффициентов штрафов.
Варьируемые параметры:
= (x1, x2, …, xn) – вектор моментов начала выполнения.
= (y1, y2, …, yn) – вектор моментов окончания выполнения.
Ограничения:
1. yi=xi+ti , iÎN – выполнение работы на машине производится без прерываний;
2. xj ³ xi+ ti или xi ³ xj+ tj , i,jÎN – на машине одновременно может выполняться только одна работа;
3. xi³di , iÎN – выполнение работы не может начаться раньше начального срока;
Постановка задачи
Решается задача минимизация стоимости нарушений директивных сроков.
Критерий:
F= → min
минимизация длительности нарушений директивных сроков, где
Алгоритмическая сложность решения задачи O(n!).