Введение 2
1. Теоретические аспекты исследования задачи 4
1.1. Постановка задачи 4
1.2 Методы решения задачи минимизации взвешенного количества запаздывающих требований 5
2. Реализация программы 9
2.1. Реализация консольного интерфейса 9
2.2. Реализация программной части 14
3. Экспериментальное исследование 22
3.1. Описание экспериментов 22
3.2. Анализ экспериментов 23
Заключение 28
Список литературы 29
Приложение 1 31
Теория расписаний - это одна из областей исследования операций, связанная с упорядочиванием отдельных работ (операций) по времени и/или по выполнителям, то есть приборам.
Целью решения является разыскивание разрешимых расписаний, при которых были бы соблюдены все ограничения, или составление оптимального расписания по определенному критерию оптимальности.
Популярная работа Генри Гантта 1903г. (Gantt H.L.), который предложил то, что в современном мире именуют диаграммами Гантта, подтолкнула на введение предоставленного направления в науку.
Методы и алгоритмы решения задач теории расписании” используются для решения задач комбинаторной оптимизации. Начало действенного теоретического рассмотрения и изучения задач теории расписаний пришлось на 50-е годы 20-ого века, так же следует упомянуть о работах Джонсона, Джексона и Смита, а также монографии, которые внесли значимый вклад.
Одними из основополагающих проблем нововведенного направления являлись классифицирование задач и указание их сложности. Именно Грэхэмом было рекомендовано максимально сложившееся на данный момент классифицирование задач теории расписании”. Довольно глубокие исследования по задачам теории расписании” и их сложности показаны в работах Гэри и Джонсона, Ленстры и др., Лоулера и др., Танаева и др., Брукера и др.
Большая часть изученных задач теории расписании” представляют собой NP-трудные задачи. Независимо от этого, практика требует решения таких задач.
Так как задачи для одного прибора близко связаны с классическими задачами из других областей дискретной математики, им выделяется особенный интерес в теории расписании”. Так же следует упомянуть, что одноприборные задачи - это частные случаи и подзадачи более сложных практических задач.
Планирование проектов, организация транспортных потоков, управление производством, ресурсами в вычислительных системах и т.д. - именно в этих областях часто используются задачи теории расписании”.
Многообразие методов решения задач теории расписании, а также существенные объемы обработки данных делают значимым для настоящего момента вопрос составления быстрых и результативных алгоритмов. Данная работа направлена на исследование двух приближенных алгоритмов решения задачи теории расписаний - минимизации взвешенного количества запаздывающих требований.
Заключения, сделанные в выводе данной работы, говорят о результате сравнения двух приближенных алгоритмов решения.
Для данной задачи достаточные условия оптимальности получены В.С. Танаевым и В.С. Гордоном [3]. В случае одновременного поступления алгоритмы решения разработаны Moore J.M., Kise H., Ibaraki T. и Mine H. в [8]. В случае одновременного поступления при условии возможности нумерации требовании” одновременно по неубыванию продолжительностей и не возрастанию весов предложен алгоритм В.С. Гордоном и В.С. Танаевым [1]. Решение задачи в случае единичных весов получено Kise H. [5], Maxwell W.I. [7], Lawler E.L. [6], Sidney J.B. [9].
Ключевые цели работы:
1) Создание программного продукта, который даст возможность изучить задачу минимизации взвешенного количества запаздывающих требовании” с помощью двух приближенных алгоритмов решения задачи.
2) Изучение задачи минимизации взвешенного количества запаздывающих требовании, которое заключается в сравнении результатов двух приближенных алгоритмов решения задачи.
Во время написания дипломного проекта была выполнена работа, состоящая из трех этапов:
1 этап: Исследование и изучение теоретического материала и аспектов задачи минимизации взвешенного количества запаздывающих требовании.
2 этап: Программная реализация двух модификаций на языке C++.
3 этап: Проведение экспериментальных исследовании” и анализ полученных данных.
На основании полученных результатов можно утверждать, что при маленьком количестве требований (до 4, включительно) лучше использовать вторую модификацию.
Следовательно, при большом количестве требований вторая модификация уже не так эффективна, как первая, поэтому лучше использовать первую. Так же при больших размерностях диапазонов ограничений лучшие использовать первую модификацию алгоритма.
1. Гордон В.С., Танаев В.С. Детерминированная система обслуживания с одним прибором и ступенчатыми функциями штрафа. -В кн.: Вычислит. Техн. В машиностроении.- Минск, 1971, сент., с. 3-8.
2. Лазарев А.А. Теория расписании”. Задачи и алгоритмы/А.А.Лазарев, Е. Р. Гафаров — Москва: МГУ им. М.В. ЛОМОНОСОВА, 2011. —222 с.
3. Танаев В.С., Гордон В.С. О построении расписании” с наименьшим взвешенным числом запаздывающих требовании”,- Изв. АН БССР. Сер.физ-матем.н., 1983, No6, с. 3-9.
4. Шульгина, О.Н. Своиства оптимальных расписании” и эффективные алгоритмы решения некоторых NP - трудных задач теории расписании” для одного прибора: диссертация / О.Н. Шульгина - Казань: КФУ, 2001- 103 с.
5. Kise H., Ibaraki T., Mine H. A solvable case of the one-machine scheduling problem with ready and due-times.-Oper.res., 1978, 26, No3, p.121-126.
6. LawlerE.L.Sequencingtominimizetheweightednumberoftardyjobs.-Rev. franc. Automat., inform., rech., oper., 1976, 10, No5, p. 27-33.
7. Maxwell W.I. On sequencing n jobs on one machine to minimize the number of late jobs.- Manag. Sci., 1970, 16, No5, p. 295-297.
8. Moore J.M. An n job, one machine sequencing algorithm for minimizing the number of late jobs.- Manag. Sci., 1968, 15, No1, p. 102-109.
9. Sidney J.B. An extension of Moore's due date algorithm.-Lect.Notes Econ. And Math. Syst., 1973, 86, P. 393-398.
II. Интернет-ресурсы:
1. habrahabr.ru- портал для людеи, занятых в IT.
2. http://cppstudio.com/cat/274/ - учебник «Язык программирования
C++»
3. https://code-live.ru/tag/cpp-manual/ - учебник «С++ с нуля»
4. ru.stackoverflow.com- форум вопросов и ответов для программистов.