Аналитическая классификация моделей задач теории расписаний

advertisement
Министерство образования и науки Российской Федерации
МОСКОВСКИЙ ФИЗИКО-ТЕХНИЧЕСКИЙ ИНСТИТУТ
(государственный университет)
ФАКУЛЬТЕТ РАДИОТЕХНИКИ И КИБЕРНЕТИКИ
КАФЕДРА ИНФОКОММУНИКАЦИОННЫХ СИСТЕМ И
СЕТЕЙ
Аналитическая классификация моделей задач теории
расписаний
Выпускная квалификационная работа
на степень бакалавра
студента 617 группы
Данилина М.Н.
Научный руководитель
Потапов М.А., к.ф-м.н.
г. Долгопрудный
2010
Содержание
Содержание ............................................................................................................ - 2 Введение .................................................................................................................. - 3 1.1 Роль моделей в операционном методе ........................................................ - 4 1.2 Особенности построения моделей ............................................................... - 5 1.3 Специфика построения моделей задач ........................................................ - 6 Постановка задачи ................................................................................................ - 8 2.1 Качественная классификация задач области теории расписаний ............. - 9 2.2 Формы графического представления информации .................................. - 10 2.3 Постановки задачи области теории расписаний ...................................... - 11 2.4 Качественное описание модели задачи на вычислительные машины ... - 13 2.5 Классификация моделей задач ................................................................... - 14 2.5.1 Классификация по ресурсам ................................................................ - 14 2.5.2 Классификация по задачам................................................................... - 17 2.5.3 Описание целевых функций ................................................................. - 24 Прикладная задача ............................................................................................. - 27 3.1 Постановка задачи для составления односменного расписания на основе
системы NPShift ................................................................................................. - 27 3.2 Классификация модели задачи для односменного расписания .............. - 28 Заключение .......................................................................................................... - 32 Литература ........................................................................................................... - 33 -
-2-
Введение
В наше время любые задачи, связанные с планированием, расширением
масштабов какого-либо производства (совершенно любой и произвольной
области), усложнением проводимых действий и мероприятий или
координированием деятельности большого числа людей и объектов, являются
неотъемлемой частью жизни и функционирования любой крупной организации.
В ходе решения всех подобных задач зачастую в весьма противоречивых
условиях приходится принимать решения, нередко связанные с большими
материальными затратами и вовлекающие большое количество людей.
Принимаемые решения всегда направлены на достижение некоторых целей и
реализуются в рамках некоторой системы ограничений, обусловленных
конкретными обстоятельствами.
Как правило, одни и те же цели могут быть достигнуты различным
образом, с различными затратами труда и материальных ресурсов. Выбрать
наиболее экономичный и целесообразный путь, принять обоснованное,
наиболее правильное решение – это обычно не простая задача и ее решение
требует привлечения методов, которые принято объединять под общим
названием «исследование операций». Именно эти методы способствуют
выработке рациональных, обоснованных решений.
Метод исследования операций сформировался за последние тридцать
лет. В настоящее время этот метод – достаточно мощный инструмент
количественного анализа сложных целенаправленных процессов, протекающих
в различных сферах человеческой деятельности, и он способствует выработке
рациональных, обоснованных решений по управлению этими процессами.
Вполне очевидно, что без использования подобных приемов и способов
анализа систем, основываясь лишь чисто на эмпирическом опыте решения
подобных задач, трудно добиться наиболее оптимальных результатов. Именно
поэтому использование метода исследования операций является неотъемлемой
частью любой современной системы принятия решений.
С использованием операционного подхода оказалось возможным
разработать, например, эффективную методику управления транспортными
перевозками, решить ряд задач по распределению ресурсов и размещению
производительных сил, выработать наилучшие стратегии управления запасами.
-3-
Частным случаем методов исследования операций является направление,
связанное с исследованием, построением и анализом моделей календарного
планирования и разработкой методов принятия решений с использованием этих
моделей. Временная увязка всего множества действий, объектов, ресурсов,
сопряженных с достижением заданной цели, уже сама по себе достаточно
сложная задача. Если же речь идет о построении наилучшего календарного
плана за конкретный, весьма непродолжительный срок, то сложность подобной
задачи возрастает неизмеримо. Именно эта область представляет наибольший
интерес, так как любое крупное образование, включающее в себя множество
элементов и процессов их взаимодействия, обязательно встречается с
проблемой составления оптимальных расписаний.
Круг вопросов, связанных с построением наилучших календарных
планов (расписаний), особенно с разработкой математических методов
получения решений с использованием соответствующих моделей и
составляется основную задачу теории расписаний.
1.1 Роль моделей в операционном методе
При операционном подходе к поиску наиболее эффективных путей
достижения цели осуществляется построение моделей, в частности, моделей
математических. Таким образом, одной из основных проблем при
использовании операционного метода решения задач является анализ
используемых в нем моделей ситуаций, процессов и систем.
Модель — это любой образ, аналог (мысленный или условный) какоголибо объекта, процесса или явления («оригинала», прототипа данной модели).
Вообще говоря, модель представляет собой совокупность некоторого множества
и заданных на его элементах свойств и отношений. Любая модель обладает
следующими свойствами (по определению данному Ляпуновым А.А.):
o модель находится в некотором объективном соответствии с познаваемым
объектом (прототипом);
o модель способна замещать его в определенных отношениях;
модель дает при её исследовании, в конечном счете, информацию о самом
моделируемом объекте.
Модель всегда строится с определенной целью, которая оказывает
влияние на то, какие свойства объективного явления оказываются
-4-
существенными, а какие - нет. Как было сказано, в данном случае речь идет о
наиболее универсальном из видов моделирования - математическом, с помощью
которого в соответствие моделируемому процессу или системе ставится система
математических соотношений, выраженных в математических терминах и
сохраняющих существенные черты оригинала, решение которой позволяет
получить ответ на вопрос о поведении.
Математические модели в количественной форме, с помощью логикоматематических конструкций, описывают основные свойства объекта, процесса
или системы, его параметры, внутренние и внешние связи. Построение
математической модели заключается как раз в определении таких связей между
теми или иными процессами, элементами, явлениями и событиями, и создании
соответствующего математического аппарата, позволяющего выразить
количественно и качественно эту связь.
1.2 Особенности построения моделей
При операционном подходе математическая модель содержит описание
цели и условия проведения операции. На этапе построения модели тщательно
анализируется содержание операции, определяются необходимые действия,
выявляются условия их выполнения, оцениваются разнообразные ограничения
и так далее. Оценка и сравнение эффективности возможных способов действий
при достижении поставленной цели проводятся на основании построенной
модели. Эта же модель позволяет принять и наилучшее в рассматриваемой
ситуации решение.
Область теории расписаний как частное направление точно также
использует характерный для исследования операций модельный подход к
анализу реальных процессов. Исследуемые в теории расписаний модели
отражают специфические ситуации, возникающие при календарном
планировании различных видов целенаправленной человеческой деятельности.
Анализируемые в рамках исследований операций модели являются
разумным компромиссом между двумя весьма противоречивыми ситуациями. С
одной стороны, желательно, чтобы модель как можно более полно отражала
реальные процессы, с другой стороны, одна должна быть настолько простой,
чтобы можно было получить искомые результаты за практически приемлемое
время.
-5-
При построении математических моделей календарного планирования,
как, впрочем, и при операционном подходе к анализу иных видов
целенаправленной деятельности, серьезные затруднения вызывает
недостаточная информированность исследователя об анализируемом процессе.
Очень часто в теории расписаний рассматриваются ситуации, в которых
решения приходится принимать в условиях риска или неопределенности. Так,
при календарном планировании любой реальной задачи (например, военная
операция, составление расписания ремонтных бригад крупного
телекоммуникационного оператора) в лучшем случае известны распределения
вероятностей многих факторов, существенно влияющих на составление
календарного расписания.
Поэтому в дальнейшем при описании задач и моделей мы будем
подразумевать, что имеем дело с областью детерминированной теории
расписаний. То есть будем рассматривать модели, в которых четко описаны
цели, ограничения, а относительно неконтролируемых факторов выдвинуты
конкретные предположения, включенные в модель.
1.3 Специфика построения моделей задач
Обычно прототип модели оказывается довольно сложным и включает
такое число составляющих и событий, что ввести в модель всю их совокупность
не удается. Тогда при построении математической модели возникает задача
выявить и исключить из рассмотрения факторы, несущественно влияющие на
конечный результат. Таким образом, математическая модель обычно включает
значительно меньшее число факторов, чем в реальной действительности. На
основе наблюдаемых данных и экспериментов выдвигаются гипотезы о связи
между величинами, выражающими конечный результат, и факторами,
введенными в математическую модель. Конечной целью таких действий
является формулирование математической задачи, решение которой с
необходимой точностью выражает результаты, интересующие специалиста.
Такая модель заметно упрощает дальнейший анализ и исследование процессов,
которые происходят или могут происходить в системе, и поэтому процесс
построения модели является одной из основных задач при применении метода
исследования операций.
-6-
Разнообразие моделей, степень их общности и универсальности
постепенно увеличиваются, охватывая все более широкую сферу возможных
приложений – календарное планирование производства, обучения,
информационно-вычислительных процессов. По мере усложнения моделей
усложняются и методы принятия плановых решений с использованием этих
моделей. В свою очередь совершенствование методов, поиск новых подходов
открывает перспективы новым приложениям. Поэтому на сегодняшний день
крайне важно иметь некоторую общую «систему отсчета», классификацию
моделей, которая бы позволила проводить какие-либо аналогии и сравнения
между построенными задачами разных областей.
Большое разнообразие задач теории расписаний указывает на насущную
необходимость введения понятий, объектов и подмоделей, необходимых для
описания каждой задачи этой области в отдельности. Это может быть полезно
по нескольким причинам. Во-первых, классификация задач облегчает
представление и обсуждение задач этой области, ведь вместо громоздких и
неструктурированных понятий гораздо легче использовать ясные и короткие
формулировки. Точная и сжатая классификация позволяет четко уяснить
наиболее существенные характеристики задачи, избегая путанных и длинных
объяснений. Во-вторых, полная классификация задач области позволяет
выделить области задач, которые все еще открыты и не изучены. В-третьих,
классификация задач позволяет установить взаимосвязи между различными
задачами, которые оказываются однотипными.
Еще раз важно отметить, что классификация задач теории расписаний
должна быть с одной стороны гибкой, так как каждая задача в отдельности
имеет свою специфику, но так же и быть последовательной и разумно
организованной. Это позволит систематизировать уже существующие задачи и
даст некоторую свободу в описании различных аспектов задач.
-7-
Постановка задачи
Задачи области теории расписаний могут быть довольно различны.
Вообще говоря, любую целенаправленную деятельность всегда можно
рассматривать, как некоторый, протекающий во времени процесс, результатом
которого является достижение поставленных целей. Этот процесс включает
определенную совокупность действий, мероприятий, работ, условий и
ограничений, которые реализуются в некоторой существующей или специально
создаваемой системе.
Выполняемые действия, мероприятия, работы не являются
независимыми. Существуют определенные взаимосвязи, как между работами
рассматриваемой совокупности, так и между этими работами и работами,
реализуемыми вне рассматриваемой совокупности. Наличие такого рода
взаимосвязей между работами налагает определенные ограничения на
возможное протекание соответствующего целенаправленного процесса во
времени. Ту или иную работу оказывается возможным осуществить лишь при
наступлении вполне определенной ситуации в процессе выполнения работ
рассматриваемой совокупности.
Существенные ограничения налагает и та конкретная система, в которой
этот процесс реализуется. Систему можно и целесообразно представить в виде
некоторой совокупности определенным образом взаимосвязанных подсистем –
блоков. Точно также все множество работ может быть разделено на отдельные
работы. Оба этих разделения могут быть проведены с различной степенью
детализации и зависят от конкретно анализируемой ситуации. Степень
детализации работ и уровень «структуризации» системы обычно согласуются
между собой и с теми задачами, которые предполагается решать.
При реализации данной совокупности работ в данной определенной или
проектируемой системе необходимо закрепить определенные работы за
определенными блоками, согласовать длительности и затраты на выполнение
работ с поставленными условиями и установить порядок выполнения их во
времени.
-8-
2.1 Качественная классификация задач области теории расписаний
На сегодняшний день область календарного планирования включает
большое разнообразие задач. Возможная качественная классификация этих
задач может быть найдена в [5]. Так, например, наиболее изученным классом
задач теории расписаний являются задачи упорядочения. В этих задачах
распределение работ по блокам и длительности их выполнения предполагаются
заданными. Необходимо указать наиболее эффективную стратегию управления
очередями требований на выполнение работ каждым блоком.
Следующим классом задач являются задачи согласования. В них основное
внимание уделяется выбору длительности работ при заданном их
распределении по блокам. Задачи этого класса часто объединяют термином
«сетевое планирование».
Наконец, существует также класс задач распределения. Здесь предполагается,
что один и тот же блок может выполнять различные работы. Необходимо
указать наилучшее распределение работ по блокам.
Во всех перечисленных классах задач теории расписаний совокупность
работ и структура реализующей их системы предполагается заданными и
неизменными. Однако не следует забывать, что подобное предположение
является главным образом идеализацией и весьма сильным допущением, резко
упрощающим построение модели системы и ее анализ. В общем же случае
условия, в которых находится система, как-то: набор работ, количество блоков,
дополнительные ограничения (например, наличие используемых при
выполнении работ ресурсов) могут меняться с течением времени.
Приведенная классификация задач теории расписаний, в значительной
мере условна и скорее подчеркивает некоторые характерные особенности той
или иной задачи. При построении операционных моделей календарного
планирования в реальных ситуациях редко удается получить «чистую» задачу
упорядочения, согласования или распределения. Как правило, принятие
наилучших плановых решений сопряжено с рассмотрением задач, в которых
элементы упорядочения, согласования и распределения в значительной мере
переплетаются.
-9-
2.2 Формы графического представления информации
В книге [5] можно найти описание используемых форм представления
расписаний. На данный момент предложены различные способы. Наиболее
наглядными из них являются графические представления.
Исторически первым стало графическое представление в форме. На
данный момент существует
огромное количество
разнообразных дизайнов и
способов представления в виде
диаграмм Ганта. На рисунке слева
изображен пример одного из
представлений.
Каждый отрезок на диаграмме
соответствует отдельной задаче или подзадаче. Задачи и подзадачи,
составляющие план, размещаются по вертикали в соответствующем столбце.
Начало, конец и длина отрезка на шкале времени соответствуют началу, концу и
длительности задачи. На диаграмме может быть показана и последовательность
выполнения задач с помощью стрелок. Диаграмма может использоваться для
представления текущего состояния выполнения работ: часть прямоугольника,
отвечающего задаче, заштриховывается, отмечая процент выполнения задачи;
показывается вертикальная линия, отвечающая моменту «сегодня».
Часто можно увидеть представление расписаний в виде сетевых
графиков. Такие графики
могут быть представлены в
форме «работы-вершины».
Вершинами в них обозначены
отдельные работы, на которые
расщепляется общий
комплекс работ, а дуги
представляют информацию о взаимозависимости очередности выполнения
работ. Логическая взаимосвязь очередности выполнения работ, представленная
сетевым графиком, облегчает, прежде всего, распараллеливание комплекса
работ между исполнителями. Возможно представление сетевых графиков и в
форме «вершины-события», когда работы отображаются дугами, а вершины
- 10 -
представляют события и отделяют
работы друг от друга. От одного
представления всегда можно
перейти к другому. Но в
представлении «вершины-события»
иногда приходится вводить
фиктивные дуги, для
эквивалентного отображения очередности выполнения. Часто сетевые графики
строятся так, что расположение вершин по горизонтали соответствует времени
достижения состояния, соответствующего заданной вершине.
Формы графического представления очень наглядны, но все они обычно
сопровождаются и некоторыми таблицами с численными характеристиками.
Именно такое, табличное представление, является во многих случаях
общепринятым. В некоторой мере, оно тоже обеспечивает наглядность
результатов и не требует пояснений результатов, как например, расписание
учебных занятий.
Иногда в теории расписаний используется специфическая форма
представления расписаний посредством задания вектор-функций времени. Так,
например, для составления расписания работы двух станков можно задать
путем введения вектор-функции s(t )  {s1 (t ), s2 (t )} , компоненты, которой
описывают загрузку каждого из рабочих мест. Если s(t , )  0 в момент времени
t  t , , то рабочее место №1 не загружено. Если s(t , )  k , то на нем выполняется
операция с номером k. Аналогично и для второй компоненты.
Выбор той или иной формы представления определяется конкретными
условиями, в которых возникает необходимость в их составлении и
рассмотрении.
2.3 Постановки задачи области теории расписаний
Как видно из выше сказанного, наиболее характерными чертами любой
задачи теории расписаний является наличие некоторого количества работ и
блоков обработки, а также заданных условий. Каждая работа (требование,
процесс) обладает определенным набором характеристик: стоимость обработки
требования, длительность обработки требования, момент поступления
- 11 -
требования и так далее. Эти работы должны быть распределены по блокам,
которые тоже могут обладать некоторым набором характеристик (например,
быстродействие, тип выполняемых операций и так далее). А условия позволяют
сформулировать задачу оптимизации, которая будет решена для данного
расписания.
Можно взглянуть на постановку немного с другой точки зрения. Вопервых, можно рассматривать блоки, то есть обрабатывающие элементы
(например, бригады людей, вычислительные комплексы, станки) как некий тип
ресурсов, который требуется при выполнении той или иной задачи. Во-вторых,
можно рассматривать не распределение задач по блокам, а распределение
ресурсов, которые включают эти блоки по задачам. Это позволит сделать
постановку задачи более гибкой и, как следствие, применимой к более
широкому классу задач. Таким образом, сформулируем каноническую задачу
теории расписаний следующим образом:
o распределение ограниченных ресурсов по задачам во времени;
o решение оптимизационной задачи для этого распределения.
В таком виде постановка задачи теории расписаний, например, сформулирована
в [12].
Подавляющее большинство работ и исследований, посвященных области
задач теории расписаний, рассматривает наиболее обширную и прикладную
область, связанную с вычислительными машинами. В том числе и
подробнейшая работа, упомянутая мною чуть ранее, [12]. Действительно, эта
область на данный момент является наиболее существенной и требовательной к
составлению оптимальных календарных расписаний. Но на сегодняшний день
существует также насущная необходимость попробовать перенести достижения
этой области на широкий спектр задач теории расписаний. Именно поэтому, в
этой работе будет приведена общая классификация моделей задач теории
расписаний, которая может быть применена в принципе к любой задаче этой
области.
Покажем в качестве примера, не вдаваясь в подробности, каким образом можно
классифицировать модели задач на вычислительные машины, а потом на
основании этой классификации предложим обобщенную классификацию для
моделей всей области задач теории расписаний.
- 12 -
2.4 Качественное описание модели задачи на вычислительные машины
Модель задачи на вычислительные машины состоит из трех подмоделей, полей,
компонент: α | β | γ, где:
o поле α - характеристики вычислительных ресурсов в данной задаче. Оно
позволяет понять, имеем ли мы дело с задачей на отдельную машину,
каким-либо типом задач на параллельных машинах, или так
называемыми flow shop, job shop, general shop, open shop, mixed shop и
так далее;
o поле β – характеристики задач (процессов) и ресурсов. Оно включает
описание возможности прерываний, предшествования задач, времен
выполнения, директивных сроков, дополнительных ресурсов. Описание
дополнительных ресурсов описывается отдельным параметром, значение
которого может быть, например, °, чтобы подчеркнуть отсутствие
дополнительных ресурсов, или res λσρ, чтобы определить ограничения,
накладываемые на эти ресурсы. Если λ,σ,ρ = °, то число типов ресурсов,
ограничений на них и ограничения на запрос произвольны. Если ж,
например, λ,σ,ρ = k, то в задаче присутствует k различных типов
ресурсов, каждый из них доступен в размере k единиц и запрос ресурсов
каждой задачи чаще всего равен k единицам. Описание дополнительных
ресурсов в рамках подобного α | β | γ представления вычислительных
детерминированных машин, однако, не позволяет точно описать
широкий спектр задач, которые относятся к более специфичному и
сложному разделу теории расписаний;
o поле γ – критерии оценки, оптимизации. Здесь мы не будем приводить
обширный список этих критериев, однако, вернемся к нему позже.
Выше, мы привели короткое описание того, как могут быть
классифицированы задачи применительно к вычислительным машинам, не
вдаваясь в подробности, что кроется за каждым из этих полей. Более подробное
описание каждого из них можно найти, например, в книге [12]. Теперь
перейдем к общей классификации моделей.
- 13 -
2.5 Классификация моделей задач
Каноническая постановка задачи теории расписаний была дана выше, но
если опираться даже на интуитивное понятие задач теории расписаний, то
вполне очевидно, что ресурсы и задачи могут принимать большое разнообразие
форм. Действительно, выполнение задач (так же их можно назвать процессами
или activities) проекта может требовать использования различных типов
ресурсов (например, денег, людей, оборудования), а целевые функции (или
objectives) подобных задач могут быть совершенно различны (например,
минимизация времени выполнения проекта, стоимости и так далее).
Как было сказано ранее, для моделей задач на вычислительные машины
существует подробная и обширная классификация. Однако она подходит лишь
для узкого круга задач, для которого строилась, в то время как, задачи теории
расписаний в целом обладают другими, весьма специфичными особенностями.
Но эта вышеприведенная классификация была взята за основу для построения
найденной и описанной мной далее классификации моделей задач теории
расписаний в целом (см. [13]). Далее приведем описание подобной
трехкомпонентной классификации, то есть схема будет состоять из трех полей
подмоделей, α | β | γ, описание которых будет приведено далее.
2.5.1 Классификация по ресурсам
Характеристики ресурсов определяются подмоделью ресурсов α,
содержащей три составляющих элемента: α1, α2, α3.
Элемент α1  { ,1, m} показывает количество различных типов ресурсов:
α1 = ◦: в задаче не рассматриваются никакие типы ресурсов;
α1 = 1: присутствует один тип ресурсов;
α1 = m: количество различных типов ресурсов равно m.
Элемент α2  { ,1, T ,1T , v} указывает на определенный тип используемых
ресурсов, например, возобновляемы ли они или нет, а если да, то на каких
условиях. Вообще говоря, в задачах теории расписаний ресурсы могут быть
разделены на возобновляемые (или renewable), невозобновляемые (или
nonrenewable) и ограниченные по возобновляемости (или doubly-constrained).
- 14 -
o Возобновляемые ресурсы (например, работники, инструменты,
пространство, вычислительные комплексы) могут быть доступны на
одном периоде выполнения, но недоступны в другом, то есть они
возобновляются от периода к периоду. Такие ресурсы при выполнении
задач ограничены в каждый момент времени по общему количеству.
o Невозобновляемые ресурсы (например, деньги или сырьевые материалы)
напротив доступны в любой момент выполнения задачи, но ограничены
по количеству в рамках всего проекта.
o Ограниченные по возобновляемости ресурсы ограничены как по
периодам (например, денежный поток за период), так и на протяжении
всего проекта (например, общие расходы, общий объем загрязнений). То
есть в течение всего выполнения проекта объем задействованных
ресурсов такого типа не должно превышать некоторой величины за
период, так и какого-то объема в рамках всего проекта.
o На ряду с этими типами можно ввести тип частично (не)возобновляемых
(или partially (non)renewable) ресурсов. Более подробное описание этой
идеи можно найти, например, в [14] . К этому типу относятся ресурсы,
доступность которых определена на конкретных временных интервалах.
Для каждого типа ресурсов существует некоторый набор периодов,
каждый из которых характеризуется конкретной (невозобновляемой)
доступностью ресурса. То есть на заданном временном интервале у нас
есть конкретное количество невозобновляемых ресурсов, и мы можем
их использовать, но на другом временном интервале может оказаться,
что число этих ресурсов изменилось. Естественно, такой тип может
считаться некоторым общим типом, а все остальные типы,
рассматриваться как его частные случаи. Действительно, если говорится,
что ресурс такого типа всегда доступен в одинаковом количестве на
временном интервале в один период, то это просто возобновляемый
ресурс. Если же говорится, что ресурс такого типа доступен в заданном
количестве в течение времени порядка величины всего временного
горизонта и ничего более, то это невозобновляемый ресурс. И как
промежуточный вариант, когда определена доступность такого ресурса
на временных интервалах порядка периода и всего проекта
- 15 -
одновременно, приводит нас к ограниченным по возобновляемости
ресурсам.
Таким образом, по типу доступности ресурсы подразделяются на:
α2 = ◦: указание типа ресурса отсутствует;
α2 = 1: возобновляемые ресурсы, доступность которых определена для единицы
длины периода (час, день, неделя, смена);
α2 = T: невозобновляемые ресурсы, доступность которых определена для
временного горизонта проекта;
α2 = 1T: ограниченные по возобновляемости ресурсы;
α2 = v: частично (не)возобновляемые ресурсы, доступность которых меняется от
периода к периоду, т.е. они не возобновляются на некоторых периодах времени
(например, всего 5 единиц ресурса доступно на периодах с 1го по 5ый, 7 единиц
доступно на 6ом периоде, на периодах с 7го по 9ый доступно 0 единиц).
Элемент α3  { , va} описывает характер наличия ресурсов. В некоторых
задачах теории расписаний предполагается, например, что возобновляемые
ресурсы всегда наличествуют в постоянном количестве, в то время как в других
предполагается, что их количество меняется со временем. Таким образом, по
типу наличия:
α3 = ◦: возобновляемые ресурсы доступны в постоянном количестве;
α3 = va: доступность возобновляемых ресурсов меняется во времени.
Связь между различными типами параметров ресурсов показана ниже в
виде графов Gi (i  1, 2,3) . Узлы графов отражают конкретные предположения
относительно данных параметров. Стрелки показывают направление
усложнения задач. Эти графы построены с учетом сказанного выше о
возможных значениях элементов и также являются некоторым обобщением
опытных фактов.
- 16 -
v
m
1
1T
1
T
va
°
°
°
G1 (α1)
G2 (α2)
G3 (α3)
Рис.4
Направления усложнения задачи в зависимости от типов ресурсов
1. Если идти в графе G1 от ◦ к 1, то мы получим усложнение задачи, ведь
задаче без каких-либо дополнительных ресурсов, которые надо
учитывать, есть частный случай задачи с одним типом ресурсов.
Аналогично, переходя от одного типа дополнительных ресурсов к
нескольким, мы усложняем задачу.
2. Переходя в графе G2 от ◦ к 1 или T, мы усложняем задачу, так как
переходим от задачи без определения типа ресурсов к задаче, у которой
тип этих ресурсов вполне определен и это приходится учитывать.
Аналогично, идя дальше по стрелкам, мы усложняем задачу, изменяя тип
ресурсов.
3. Граф G3 показывает как усложняется задача при переходе от ресурсов с
постоянным количеством к ресурсам с изменяемым количеством.
2.5.2 Классификация по задачам
Следующая подмодель β описывает характеристики задач (так же их
можно назвать процессами или activities). Эта подмодель может быть условно
разделена на 8 элементов: β1,…, β8.
Элемент β1 { , pmtn, pmtn  rep} показывает, возможны ли прерывания
выполняемых задач, и если возможны, то каковы особенности. Понятие
«прерывание процесса (задачи)» отражает тот факт, что выполнение процесса
может быть остановлено и продолжено позже, по прошествии какого-либо
времени (preempt-resume). Однако не всегда такое возможно. Зачастую
- 17 -
прерванный процесс не может быть возобновлен с момента, на котором он был
остановлен, поэтому повторное его выполнение требует начать его с нуля
(preempt-repeat). Итак:
β1= ◦: процессы не могут быть прерваны;
β1= pmtn: процессы могут быть прерваны, а потом возобновлены;
β1= pmtn-rep: процессы могут быть прерваны, но повторный возврат к их
выполнению потребует их повторного выполнения с самого начала.
Элемент β2 { , cpm, miп, gpr , prob} показывает, накладываются ли на
процессы условия предшествования, задана ли очередность выполнения
заданий, и какова она. β2 может принимать следующие значения:
β2 = ◦: для процессов не заданы условия предшествования, то есть они не
упорядочены;
β2 = cpm: для процессов задана строгая последовательность выполнения типа
конец-начало (начало следующего процесса не может быть начато до окончания
предыдущего), например, как в
модели PERT (Project
Evaluation and Review
Technique). К этому же типу
относятся, например, и графы
типа деревьев, а также обратные
деревья. Как вариант возможно
задание списка
последовательности
выполнения всех процессов на множестве всех процессов с помощью
антирефлексивного отношения частичного порядка, например: Ji < Jj. Подобное
описание вообще говоря, является наиболее общим, а все остальные способы
представления частными случаями;
β2 = min: для процессов задана очередность выполнения типа начало-начало,
конец-начало, начало-конец, конец-конец с минимальными промежутками
времени (между двумя непосредственно связанными явлениями или
событиями);
- 18 -
β2 = grp: для процессов задана обобщенная очередность выполнения типа
начало-начало, конец-начало, начало-конец, конец-конец с минимальными и
максимальными временными промежутками. В данном пункте сделан упор на
разницу между использованием минимальных и максимальных временных
интервалов между двумя процессами. Дело вот в чем: максимальные временные
интервалы позволяют описать гораздо больший диапазон реальных условий
[15], которые возникают между выполняемыми процессами, чем минимальные
задержки. Однако использование модели с максимальными временными
задержками довольно часто приводит к NP-полным задачам. Это, например,
показано в такой работе как [7]. Вполне очевидно, что использование в модели
как минимальных, так и максимальных временных интервалов так же приводит
к NP-полным задачам. Поэтому коммерческие программные приложения чаще
всего не имеют возможности задания максимальных временных интервалов;
β2 = prob: особый подкласс «сетевых задач», в которых эволюция конкретного
проекта однозначно не определена заранее. К такому типу, например, относятся
сети типа GERT. Такое значение элемента β2 введено, чтобы предоставить
некоторую свободу в классификации.
Элемент β3  { , p j } указывает на особенность процессов с точки зрения
времени готовности к выполнению, в смысле момента времени, с которого
процесс может начать выполняться (release time). Так же этот элемент можно
рассматривать как момент времени, в который процесс приходит в систему:
β3 = ◦: все процессы имеют нулевое время готовности к выполнению;
β3 = pj: время может быть различно для различных процессов;
Элемент β4  { , cont , d j  d } отражает свойства времени выполнения,
длительности процесса. Он может принимать следующие значения:
β4 = ◦: время выполнения процессов есть некоторая произвольная целочисленная
величина;
β4 = cont: время выполнения процесса не является целочисленным, но также
является произвольным;
β4 = (dj = d): все процессы имеют длительность равную d.
- 19 -
Относительно данного элемента β4 следует еще внести некоторые уточнения и
дополнительные разъяснения, но это будет сделано позже, при рассмотрении
диаграмм, показывающих усложнение задачи.
Элемент β5  { , j ,  n } описывает директивные сроки (deadlines). В нашей
классификации введем три значения:
β5 = ◦: в модели для процессов не заданы директивные сроки;
β5 =  j : для каждого процесса в отдельности задан директивный срок;
β5 =  n : на весь проект в целом наложен некоторый директивный срок.
Элемент β6  { , vr , disc, cont, iпt} указывает на свойства потребления
ресурсов процессами. Очевидно, что могут быть ситуации, когда процессы
потребляют ресурсы в постоянном или в переменном количестве в ходе своего
выполнения. И так же возможны ситуации, в которых потребление ресурсов
является некоторой не дискретной величиной, то есть значение потребления
ресурса может принимать любую величину в заданном интервале. К такому
типу относятся, например, электрический ток или топливо. Некоторые модели
могут включать как использование дискретных, так и не дискретных количеств
ресурсов. Однако в некоторых других моделях предполагается, что для каждого
процесса есть некоторый допустимый диапазон интенсивности потребления
ресурсов (intensity of resource assignments). Исходя из этого диапазона,
определяется и длительность выполнения процесса. В этих моделях
предполагается, что все типы необходимых для выполнения процессов ресурсов
расходуются пропорционально на протяжении всего времени выполнения
процесса, то есть каждый процесс потребляет один и тот же набор ресурсов, и
степень его выполнения пропорциональна полному количеству ресурсов в этом
наборе. Поэтому в этих моделях вводят термин, который отражает скорость, с
которой процесс потребляет ресурсы, «интенсивность процесса» (intensity of the
activity). Эта интенсивность может принимать, в принципе, любое значение в
заданном интервале, то есть она ограничена сверху и снизу. Скорость же
выполнения процесса пропорциональна его интенсивности. В этом случае
потребление ресурсов процессом, есть функция времени.
- 20 -
Таким образом, в нашей классификации введем следующие типы
потребления ресурсов процессами:
β6 = ◦: процессы потребляют ресурсы в постоянном дискретном количестве (то
есть некоторое целое число на каждом моменте выполнения процесса);
β6 = vr: процессы потребляют ресурсы в переменном дискретном количестве (то
есть число потребляемых ресурсов отличается от момента к моменту);
Для тех случаев, когда длительность выполнения процесса определяется путем
вычисления на основании функции потребления ресурсов, вводятся следующие
значения элемента:
β6 = disc: потребление ресурсов процессами есть некоторая дискретная (discrete)
функция времени выполнения;
β6 = cont: потребление ресурсов процессами есть некоторая непрерывная
(continuous) функция времени выполнения;
β6 = int: потребление ресурсов проектом определяется на основании
интенсивности процесса.
Поскольку данная модель должна быть гибкой, то этот элемент, конечно
же, может быть дополнен какими-либо еще значениями на усмотрение любого
специалиста для его удобства, но мы не будем перечислять никаких
дополнительных значений, чтобы не загромождать модель.
Элемент β7 отражает возможность выполнения процессов проекта одним
или несколькими способами (то есть, например, выполнение вычислительных
задач на разных машинах).
Тип и число возможных способов выполнения процесса описываются
этим элементом. Иногда типы задач предполагают единственный способ
выполнения процесса. А иногда при решении задач возможны время/стоимость,
время/ресурс, ресурса/ресурса и/или обмены, которые позволяют выполнить
проект не одним способом. На данный момент существуют исследования
(например [17]), посвященные проблемам планирования, которые обобщают
тип множественных способов выполнения процессов до так называемых
разделений способов выполнений по особенностям (mode identity constraints), в
которых совокупность всех процессов разделена в несвязные подмножества, и
все процессы подмножества должны тогда быть выполнены одним способом.
- 21 -
Ресурсы же, требуемые для выполнения процессов подмножества, зависят от
процессов, которые включены в это подмножество.
Таким образом, введем следующие типы значений элемента:
β7 = ◦: процессы выполняются единственным образом;
β7 = mu: выполнения процессов может происходить не единственным образом;
β7 = id: процессы разделяются на подмножества по типам выполнения.
Наконец, крайний элемент этого поля β8 описывает особенности
вовлечение финансовых потоков (cash flow) при выполнении процессов проекта.
В большинстве случаев в ситуациях, когда необходимо учитывать денежные
потоки, они полагаются известными и либо их соотносят с процессами
выполнения, либо с какими-то событиями. Вообще говоря, обе эти ситуации
могут быть сведены к ассоциированию денежных потоков с узлами сетевых
графиков проекта (activity-on-node network) в представлении «вершинысобытия».
Часто предполагают, что денежные потоки имеют некоторую периодическую
основу и что они возникают через некоторые периоды времени или, что то же
самое, с заданной частотой. Возможны ситуации, когда и величина этих
потоков и время их возникновения заданы. Согласно тому, что мы сказали
раньше, будем считать, что данный элемент может иметь следующие значения:
β8 = ◦: в проекте не рассматриваются денежные потоки;
β8 = cj: процессы имеют поставленный им в соответствие произвольный
денежный поток;
β8 = cj+: процессы имеют поставленный им в соответствие положительный
денежный поток (positive cash flow) (ситуация, когда поток денег в систему в
ходе выполнения процессов выше, чем расход денег на выполнение процессов);
β8 = per: в проекте определены возникновения денежных потоков на
периодической основе;
β8 = sched: и размер потоков, и их времена определены.
Теперь рассмотрим, как будет усложняться решаемая задача с
изменением параметров модели, также как это было сделано для ресурсов.
Графы, которые показывают это, приведены на изображении ниже.
- 22 -
prob
gpr
°
cont
min
°
pmtn
ρj
dj=d
°
°
dj=1
G2 (β2)
G3 (β3)
pmtn-rep
G1 (β1)
δj
cont
δn
vr
°
°
G5 (β5)
cpm
conc
conv
lin
disc
int
G6 (β6)
G4 (β4)
id
cj
mu
cj+
°
G7 (β7)
per
°
sched
G8 (β8)
Рис.6
Направления усложнения задачи в зависимости от типов процессов
Для всех графов, за исключением графа G4 все вполне очевидно, если
исходить из сказанного выше. Для графа же G4 дадим некоторые пояснения, так
как он несколько более полон, чем было описано в соответствующем пункте.
Напомним, что элемент β4 отражает свойства времени выполнения процесса.
Граф имеет деление, первая ветвь содержит целочисленный случай, вторая те
случаи, когда время выполнения может принимать любое значение в заданном
интервале. Самым простым случаем является случай, когда длительность всех
процессов равна 1. Естественным усложнением ситуации является вариант,
когда все процессы имеют одинаковую длительность, но равную, например, d.
Далее усложнение происходит, когда длительность выполнения процессов
задана как некоторый диапазон, ограниченный сверху и снизу: {d, ... , d}или [d,
d] (для непрерывного и дискретного случаев). Далее эти задачи усложняются до
задач с произвольными дискретными и непрерывными значениями
длительностей, соответственно.
- 23 -
2.5.3 Описание целевых функций
Подмодель γ описывает оптимизационные критерии модели, целевые функции.
Они могут быть следующих типов: либо неубывающие функции относительно
моментов завершения процессов (так называемые regular performance measures,
или в других источниках early completion measures), либо неувеличивающиеся
функции относительно моментов завершения процессов (так называемые
nonregular performance measures, или в некоторых источниках free completion
measures). К первым, например, относятся такие функции как минимальная
длина расписания (minimization of the project duration (makespan)) или
запаздывание относительно директивных сроков. Ко вторым – функцию
опережения директивных сроков.
Таким образом, для подмодели γ возможны следующие варианты:
γ = reg: в модели рассматривается функция типа regular performance measures;
γ = nonreg: в модели рассматривается функция типа nonregular performance
measures.
Далее для того, чтобы облегчить понимание введем обозначения, которые нам
помогут разобраться в смысле описываемых функций:
Ci – время окончания i-го процесса;
di – директивное время окончания процесса;
wi – важность (вес, ценность, стоимость пребывания процесса в системе);
- функция показателя запаздывания задания.
По своему типу представления все целевые
функции могут быть разделены на два
следующих класса по своему способу
представления:
n
f (c)  max fi (ci ) и f (c)   fi (ci ) ,
i 1,.., n
i 1
предполагая, что в системе всего n процессов. Очевидно, что список всех
возможных целевых функций почти бесконечен, поэтому имеет смысл описать
лишь наиболее характерные и наиболее используемые из них. Функции будут
сгруппированы по типу:
- 24 -
makespan:
1. γ = Cmax: время окончания всех работ (длина расписания) (makespan). Так
же это время окончания выполнения последнего процесса системой:
Сmax  max Ci
i 1,.., n
flow time:
__
__
2. γ = w : среднее взвешенное время окончания работ: w 
1 n
 wiCi
n i 1
due date performance:
3. γ = Lmax : отклонение проекта от директивных сроков (maximum lateness):
Lmax  max(Ci  di )
i 1,..,n
4. γ = Tmax : запаздывание проекта относительно директивных сроков
(maximum tardiness): Tmax  max{Ci  di ,0}
i 1,..,n
5. γ = Еmax : опережение директивных сроков проекта (maximum earliness):
Emax  max{di  Ci ,0}
i 1,.., n
6. γ = tardy/early: взвешенное запаздывание/опережение сроков проекта:
n
 wi max(Ci  di , 0) или
i 1
n
 w max(d
i 1
i
i
 Ci , 0)
n
7. γ = nT : количество запоздавших по выполнению процессов: nT  U j
j 1
Замечание:
1) Существенная разница между запаздыванием (Ti) и
отклонением (Li) состоит в том, что последнее никогда не бывает
отрицательным. Так же понятно, что опережение директивных сроков (Еi) не
бывает положительным.
2) Функции отклонения (Li), запаздывания (Ti), а так же функция
показателя запаздывания задания (Ui) можно рассматривать как три основные
функции штрафов за нарушение директивных сроков. Об этом не было сказано
в соответствующем пункте, когда мы рассматривали характеристику процессов
– наличие директивных сроков, так как сказать об этом здесь было удобней.
- 25 -
levelling:
8. γ =
 sq.dev. :
квадратичное отклонение потребления ресурса для всех
типов ресурсов;
9. γ =
 jump :
взвешенное отклонение потребления ресурса для всех
типов ресурсов
10. γ =
 abc.dev. : абсолютное отклонение потребления ресурса для всех
типов ресурсов.
Замечание:
1) Не принципиально рассматриваем ли мы максимизацию или
минимализацию целевой функции, суть это одно и тоже. Однако, если не
оговорено обратного, будем считать, что мы рассматриваем минимализацию.
2) Все вышеприведенные примеры целевых функций могут быть
применены к проекту в отдельности, то есть при составлении расписания будет
лишь одна целевая функция. Этот случай называется в литературе single
objective functions. Однако может быть рассмотрена ситуация, в которой
необходимо использовать более, чем одну целевую функцию (multiple
objectives). Такие модели и задачи описаны, например, в работе [16].
- 26 -
Прикладная задача
Рассмотрим несколько примеров использования вышеприведенной
классификации:
1. Классическая задача нахождения наиболее длинного пути через сетевой
график (задача о нахождении критического пути) в PERT/CPM проектах с
окончание-начало ограничениями на последовательность выполнения
процессов с нулевым временным интервалом между процессами и известными
длительностями выполнения работ будет выглядеть как: cpm|Cmax.
2. Самая распространенная в области теории расписаний – составление
кратчайшего расписания при ограниченных ресурсах и общего вида
ограничениях на последовательность выполнения процессов, будет выглядеть в
нашей классификации так: m,1|gpr|Cmax.
3.1 Постановка задачи для составления односменного расписания на основе
системы NPShift
Теперь возьмем некоторую конкретную задачу и попробуем дать описать
модель этой задачи согласно нашей классификации. Рассмотрим задачу о
составлении односменного расписания, предоставленную для тестирования
системы NPshift. Постановка задачи для нее взята из соответствующего
документа (см. [17]) и выглядит следующим образом:


Постановка
Пусть дано:
n сотрудников
m рабочих мест

Период

Длина рабочей недели

Длительность рабочей недели

M
T
, на который нужно составить расписание
W
(обычно это 7). Предполагается, что
D
T
нацело делится на
W
(обычно это 5)
j - множество рабочих мест, на которых может находиться сотрудник
Требуется составить такое расписание, чтобы

Максимизировать занятость рабочих мест

Обеспечить выходные для сотрудников

Равномерно распределить нагрузку сотрудников по рабочим местам
j
Переменные и ограничения
Пусть
j
xijt
- псевдобулева переменная, принимающая значение 1 только в том случае, когда сотрудник
находится на рабочем месте
i
в смену
t.
Профессиональные ограничения
j i i  M j
 t xijt  0 ,
(1)
т.е. сотрудник не может работать на тех рабочих местах, на которых не умеет.
- 27 -
Ограничение загрузки оборудования
i t zit
Здесь
z it
x

j ,iM j
ijt
(2)
- псевдобулева переменная, принимающая значение 1 только в том случае, если рабочее место
занято в смену
i
t.
Ограничение количества смен сотрудника в день
j t   xijt  1
(3)
iM j
т.е. сотрудник не может находиться на тех рабочих местах, на которых он не умеет работать.
j w  1, T
 
 
Ограничение количества смен сотрудника в неделю
W
x
t1 w 1 W , wW iM j
ijt
D
(4)
Оптимальное количество смен на одном рабочем месте для сотрудника
j q j
 2 T W  D  M j 


2 M j


(5)
Данная формула данное округленное значение отношения общего возможного количества рабочих смен
сотрудника к количеству рабочих мест, на которых он может находиться.
Равномерное распределение смен сотрудника по рабочим местам
j i  M j  xijt  vij  T  q j
(6)
t
Здесь
T  v  - количество смен, на которое превышает оптимальное значение q
ij
рабочем месте

i . Переменная v ij vij  1, T

j сотрудником
j
на
включено в критерий (см. (7)), т.е. чем равномернее
распределение по рабочим местам, тем больше критерий.
Оптимизация
 v
j iM
ij
 1000   z it  max
i
j
(7),
t
В критерии оптимизации загрузка рабочих мест имеет первостепенное значение и поэтому учитывается с
коэффициентом 1000. Равномерность распределения учтена с коэффициентом 1.
Комментарий к модели
Ограничения (1) и (5) могут быть учтены непосредственно. Из модели вообще разумно исключить те
xijt ,
которые по ограничению (1) принимают значение 0. Ограничения (2), (3), (4) и (6) в совокупности
представляют собой задачу о многомерном рюкзаке. Некоторые сомнения могут возникнуть насчет
ограничения (2), но достаточно
z it
подставить в критерий и заменить ограничение (2) на неравенство:
i t   xijt  1
j ,iM j
В этом случае задача о многомерном рюкзаке принимает классическую форму.
3.2 Классификация модели задачи для односменного расписания
Опишем приведенную выше модель с точки зрения введенной
классификации. Для этого первоначально определим, что мы будем считать
- 28 -
работами (процессами), а что ресурсами. Целесообразно, представить
работников, имеющих специальности как типы ресурсов, а занятость рабочего
места в час как некоторую задачу (процесс), который требуют выполнения.
Дадим классификацию каждой из этих сущностей, ресурсов (работников) и
процессов (занятость рабочих мест в час), в отдельности, затем опишем
критерий оптимизации. Эти действия в совокупности и дадут искомую
классификацию приведенной модели.
Согласно приведенной классификации модель будет выглядеть
следующим образом:
m, 1,va | (dj = 1),  j | multiple, nT,
 abc.dev. . Теперь дадим этому пояснение:
Начнем с классификации ресурсов. Как мы условились, будем считать
работников ресурсами.
1. С точки зрения элемента α1, указывающего на количество различных
типов ресурсов, то в данном случае α1 = m. В постановке задачи сказано,
что «сотрудник не может работать на тех рабочих местах, на которых не
умеет», что означает, что существуют различные типы специальностей,
необходимых для работ за соответствующими рабочими местами. Так же
каждого человека приходится учитывать отдельно, что требует
необходимости вынесения их как разных типов ресурсов.
2. Исходя из постановки задачи, можно предположить, что элемент α2
имеет значение 1, так как рабочих вполне можно отнести к типу
возобновляемых ресурсов.
3. Относительно элемента α3 можно сказать, что α3 = vа, так как в любой
момент времени возможна ситуация, что либо есть рабочий, который
может занять данное рабочее место, либо такого рабочего нет.
Перейдем теперь к классификации процессов (занятости рабочих мест в
час).
1. Если мы воспринимаем занятость рабочего места в час как процесс, то в
любой момент времени оно может быть занято или свободно, и это его
состояние не может измениться до следующего момента, начала нового
- 29 -
часа. Поэтому можно предположить, что β1= ◦, то есть процесс не может
быть прерван, а потом возобновлен.
2. При постановке задачи нет никаких дополнительных условий, которые
бы означали, что существуют какие-либо ограничения на порядок
занятости рабочих мест. Поэтому элемент β2 = ◦.
3. С точки зрения времени готовности к выполнению, основываясь на
данных постановки задачи, можно предположить, что все времена равны
нулю. То есть рабочие места могут быть сразу же заняты. Таким
образом, β3 = ◦.
4. Поскольку мы рассматриваем занятость рабочего времени в час как
некоторый процесс, то с точки зрения элемента β4, который отражает
свойства времени выполнения процесса, β4= (dj = 1), то есть все времена
одинаковы и равны 1.
5. Если говорить о существовании директивных сроков в этой постановке
задачи, то введем их следующим образом: установим директивный срок
равным одному часу. Если же к концу часа на рабочем месте нет
работающего человека, то будем считать, что мы не успели закончить
процесс, и будем использовать функцию штрафа Uj. Поэтому элемент β5
= j .
6. Охарактеризуем потребляемость ресурсов рабочими местами в каждый
час. β6 = ◦, это означает, что рабочее место в каждый момент использует
вполне конкретное количество ресурсов – одного работника.
7. Элемент β7 = ◦. Работа, то есть занятость рабочего места в час, может
быть выполнена единственным образом – работником соответствующей
квалификации, который займет это рабочее место.
8. Элемент β8 = ◦. Согласно постановке задачи, в данном случае речь о
денежных потоках не идет.
Теперь рассмотрим целевые функции. Из постановки задачи, очевидно,
что мы имеем дело с ситуацией, в которой у нас требуется учитывать не одну, а
несколько целевых функций, так как требуется и загрузить как можно полнее
рабочие места, и равномерно распределить по ним сотрудников. Поэтому мы
- 30 -
имеем дело с multiple objectives. Относительно же конкретных целевых
функций, можно сделать следующие предположения:
o В качестве главной оптимизируемой функции взять γ = nT.
Действительно, ведь она будет согласно введенной функции
штрафов отражать количество часов, которые рабочие места
суммарно простаивали. И эту величину требуется
минимизировать, чтобы добиться максимальной загрузки рабочих
мест.
o
В качестве дополнительной целевой функции, которая будет
служить оценкой равномерности распределения работников по
рабочим местам, можно взять, например, γ =
 abc.dev. , это
позволит оценить занятость сотрудников.
Таким образом, только что мы привели пример, как можно
классифицировать произвольную задачу, опираясь на описанную схему. Однако
следует отметить некоторые трудности и недостатки, возникшие при этом. При
анализе модели возникает необходимость выявить существенные факторы и
сделать некоторые предположения, которые позволят эту классификацию
применить. Так же требуется перейти от уровня конкретных объектов,
описанных в постановке задачи, к уровню абстракции модели. Это может быть
сделано несколькими различными способами, даже на примере предыдущей
задачи. Именно поэтому конечный результат может быть весьма неоднозначен,
в некоторой мере результат зависит от конкретного человека, который пытается
классифицировать задачу.
- 31 -
Заключение
В данной работе приведена классификация задач теории расписаний.
Эта классификация отдельно рассматривает свойства используемых ресурсов,
выполняемых процессов и наиболее характерных целевых функций. Также в
работе приведена пара примеров задач, которые встречаются в области теории
расписаний, показано как приведенная классификация может быть применена
для их описания; охарактеризована некоторая произвольная задача,
поставленная для решения прикладной системой NPShift.
Необходимость ясного понимания структуры взаимосвязи различных
постановок задач области теории расписаний и большое количество вариаций
требует введения некоторой базовой классификации, которая позволит
идентифицировать задачи различных видов, основываясь на четких
представлениях об их структуре и взаимосвязи.
Классификация, найденная автором и приведенная в этой работе,
составлена из трех полей, каждое из которых в отдельности описывает свойства
ресурсов задач и целевых функций. Эта классификация была составлена так,
чтобы, с одной стороны, охватить большой диапазон существующих задач,
быть последовательной и логичной, а, с другой, быть достаточно гибкой в
понимании и расширении на любые возможные типы задач.
Введение и использование подобной классификации может послужить
нескольким целям:
o облегчению представления и обсуждения разнообразных задач с
использованием ясных и коротких формулировок;
o выявлению наиболее существенных характеристик задачи;
o выделению малоизученных областей;
o установлению взаимосвязи между различными задачами, которые
оказываются однотипными.
На практике, подобная классификация, конечно, не лишена неудобств и
недостатков (указывает только на наиболее существенные аспекты задач,
требует выдвижения дополнительных предположений и допущений
относительно модели и так далее), но в целом может быть весьма полезна при
проведении научных исследований.
- 32 -
Литература
1.
Коффман Э.Г., Теория расписаний и вычислительные машины, Москва, изд. «Наука»,
1984.
2.
Курс лекций «Введение в математическое моделирование» проекта «Интернет
университет информационных технологий», Губарь Ю.В.:
http://www.intuit.ru/department/calculate/intromathmodel/1/
3.
E.J. Pinker and R. C. Larson, Models of Flexible Workforces in Stochastic Service
Environments, the One-Job Case, 1995
4.
Herrman, J., Lee, C., Snowdon, J., A classification of static scheduling problems, Complexity
in Numerical Optimization, 203-253, 1993.
5.
Танаев В.С., Шкурба В.В., Введение в теорию расписаний, изд. «Наука», Москва, 1975.
6.
Виноградов И.М., Математическая энциклопедия, Москва, 1977
7.
Fondrevelle, J., Oulamara, A., Portmann, MC , Permutation flowshop scheduling problems
with maximal and minimal time lags, Computers and Operations Research, 2006
8.
Fondrevelle, J., Oulamara, A., Portmann, MC. - Minimizing makespan in flowshop with time
lags, 2004.
9.
Salewski, F. , Schirmer, A., A. Drexl, - Project Scheduling under Resource and Mode Identity
Constraints, 1996
10. Sprecher A. , Drexl A. - Solving Multi-Mode Resource-Constrained Project Scheduling
Problems by a Simple, General and Powerful Sequencing Algorithm, 1996.
11. Pinedo, M., 1995, Scheduling - Theory, Algorithms and Systems, Prentice-Hall, Inc.,
Englewood Cliffs, New Jersey.
Pinedo, M., 2008, Scheduling - Theory, Algorithms and Systems, Springer Science+Business
Media, LLC, New York.
12. Herroelen, W., E. Demeulemeester and B. De Reyck, 1997, Classification Scheme for
scheduling problems.
13. Drexl, A, 1997, Local search methods for project scheduling under partially renewable
resource constraints, Paper presented at the INFORMS San Diego Spring Meeting, May 4-7,
1997.
14. De Reyck, B., 1995, Project scheduling under generalized precedence relations - A review:
Part 1 and Part 2, Research Report 9517-9518, Department of Applied Economics,
Katholieke Universiteit Leuven.
- 33 -
15. Slowinski, R., B. Soniewicki and J. Weglarz, 1994, DSS for multiobjective project scheduling,
European Journal of Operational Research, 220-229.
16. Salewski, F. and S. Lieberam-Schmidt, 1996, Greedy look ahead methods for project
scheduling under resource and mode identity constraints, Proceedings of the Fifth
International Workshop on Project Management and Scheduling, Poznan, April 11-13, 20721l.
17. Постановка задачи для односменного расписания компании NPsoft: http://np-soft.ru/.htm
- 34 -
Download