Введение 2
1. Теоретические аспекты исследования задачи 5
1.1. Постановка задачи 5
1.2. Приближенный и точный алгоритмы 6
2. Реализация программы 9
2.1. Реализация консольного интерфейса 9
2.2. Реализация программной части 14
3. Экспериментальное исследование 33
3.1. Описание экспериментов 33
3.2. Анализ экспериментов 35
Заключение 37
Список литературы 38
Приложение 1
Теория расписаний является одним из разделов исследования операций. Данное направление в науке берет свое начало с известной работы Генри Гантта 1903г. (Gantt H.L.), предложившего то, что сегодня называют диаграммами Гантта, которые встречаются во многих работах по теории расписаний. Методы и алгоритмы решения задач теории расписаний применяются для решения задач комбинаторной оптимизации. С 50-х годов 20-го века началось активное теоретическое исследование задач теории расписаний, следует отметить работы Джонсона, Джексона и Смита, а также монографии.
Одним из главных вопросов нового направления была классификация задач и установление их сложности. Наиболее устоявшаяся на нынешний день классификация задач теории расписаний была предложена Грэхэмом и др. Достаточно полные обзоры по задачам теории расписаний и их сложности представлены в работах Гэри и Джонсона, Ленстры и др., Лоулера и др., Танаева и др., Брукера и др. [1, С.9]
Подавляющее большинство исследованных задач теории расписаний являются 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) Исследование задачи минимизации взвешенного количества запаздывающих требований, заключающееся в сравнении результатов приближенного и точного алгоритма и оценке точности приближенного алгоритма
В процессе написания дипломного проекта была проделана работа в 3 этапа:
1. Изучение теоретических аспектов задачи минимизации взвешенного количества запаздывающих требований.
2. Реализация точного алгоритма и приближенного алгоритма с двумя модификациями в программном проекте.
3. Осуществление экспериментальных исследований и анализ полученных результатов.
Исходя из результатов исследования и анализа алгоритмов, можно сделать вывод, что при небольшом количестве требований лучше использовать второй метод. Значение его целевой функции часто совпадало с оптимальным значением, а если не совпадало, то не сильно от него отличалось (большинство неоптимальных решений попадают в первую группу). Однако при большом количестве требований второй метод сильно уступает первому методу, причем, когда требований становится больше 50 целевая функция второго метода всегда больше целевой функции первого.
1. Гордон В.С., Танаев В.С. Детерминированная система обслуживания с одним прибором и ступенчатыми функциями штрафа.-В кн.: Вычислит. Техн. В машиностроении.- Минск, 1971, сент., с. 3-8.
2. Лазарев, А. А. Теория расписаний. Задачи и алгоритмы / А. А. Лазарев, Е. Р. Гафаров — Москва: МГУ им. М.В. ЛОМОНОСОВА, 2011. — 222 с.
3. Танаев В.С., Гордон В.С. О построении расписаний с наименьшим взвешенным числом запаздывающих требований.- Изв. АН БССР. Сер.физ-матем.н., 1983, №6, с. 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, №3, p.121-126.
6. Lawler E.L. Sequencing to minimize the weighted number of tardy jobs.- Rev. franc. Automat., inform., rech., oper., 1976, 10, №5, 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, №5, 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, №1, 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/- учебник «C++ с нуля»
4. ru.stackoverflow.com- форум вопросов и ответов для программистов.