Научная статья на тему 'Об обобщенной математической постановке задач проектного планирования'

Об обобщенной математической постановке задач проектного планирования Текст научной статьи по специальности «Математика»

CC BY
442
64
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ТЕОРИЯ РАСПИСАНИЙ / ПРОЕКТНОЕ ПЛАНИРОВАНИЕ / SCHEDULING THEORY / PROJECT PLANNING AND SCHEDULING

Аннотация научной статьи по математике, автор научной работы — Аничкин Антон Сергеевич, Семенов Виталий Адольфович

Задачи теории расписаний и проектного планирования находят широкое применение в научных и индустриальных областях. В статье обсуждаются возможности обобщенной математической постановки задач проектного планирования и их эффективного решения эвристическими алгоритмами полиномиальной сложности

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Аничкин Антон Сергеевич, Семенов Виталий Адольфович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Generalized mathematical statement of project scheduling problems

Theory of scheduling and project planning is widely used in diverse scientific and industrial areas. In this paper we discuss a generalized mathematical statement of project scheduling problems and describe an efficient heuristic algorithm of polynomial complexity for their solving

Текст научной работы на тему «Об обобщенной математической постановке задач проектного планирования»

13. Rodzin S. Smart Dispatching and Metaheuristic Swarm Flow Algorithm // Computer and Systems Sciences International. 2014. Vol. 53. No. 1. P. 109-115.

Clustering MRI images: bio stochastic algorithm ant colony

Sergey Ivanovich Rodzin, [email protected], PhD, Professor, Southern Federal University, Olga Nikolaevna Rodzina, [email protected], Senior Teacher, Southern Federal University, Samer El-Khatib, postgraduate, Southern Federal University,

Proposed bio stochastic ant clustering method of medical magnetic resonance imaging, which allows you to improve the quality and speed of processing. Experimental results obtained on the basis of these MRI images World Library. The optimal values of the parameters that determine the accuracy of the clustering method with regard to the possible noise images.

Keywords: method of ant colony, clustering, MRI image, optimization. УДК 004.023

ОБ ОБОБЩЕННОЙ МАТЕМАТИЧЕСКОЙ ПОСТАНОВКЕ ЗАДАЧ ПРОЕКТНОГО ПЛАНИРОВАНИЯ

Антон Сергеевич Аничкин, науч. сотр., e-mail: [email protected],

Виталий Адольфович Семенов, д-р. физ.-мат. наук, проф., зав. отделом,

e-mail:[email protected],

Федеральное государственное бюджетное учреждение науки Институт Системного

Программирования РАН (ИСП РАН), http://www.ispras.ru

Задачи теории расписаний и проектного планирования находят широкое применение в научных и индустриальных областях. В статье обсуждаются возможности обобщенной математической постановки задач проектного планирования и их эффективного решения эвристическими алгоритмами полиномиальной сложности.

Ключевые слова: теория расписаний; проектное планирование.

1. Введение

Теория расписаний и методы проектного планирования находят широкое применение в научных и индустриальных областях, связанных с управлением производством, организацией транспортных потоков, управлением вычислительными ресурсами. Однако многообразие существующих математических моделей и перманентное появление новых приводит к необходимости обобщения классов прикладных задач и применения универсальных подходов к их решению. Необходимость подобных обобщений возникает, в частности, при создании перспективных систем календарно-сетевого планирования индустриальных проектов, в которых задачи составления расписаний решаются в расширенной постановке с учетом разнообразных факторов, влияющих на ход выполнения проектных работ. В такой постановке учитываются не только типовые отношения предшествования между работами и простые ресурсные ограничения, но и директивные сроки, рабочие календари, условия финансового и логистического обеспечения проектных работ, специфические требования их пространственно-временной согласованности. Примерами подобных требований могут служить особенности монтажа элементов конструкций возводимого сооружения, условия резервирование рабочих зон при организации проектных работ, правила размещения и использования оборудования. Учет всех перечисленных выше факторов крайне важен для масштабных индустриальных программ, в которых риски организационных и технологических ошибок чрезвычайно высоки, а сроки и бюджеты жестко ограничены.

Задачи теории расписаний обычно описываются общепринятой нотацией Грэхема которая представляет собой комбинацию трёх основных характеристик, определяющих тип условий задачи. Кратко поясним ее, используя привычные для теории расписаний термины «задание», «операция» и «машина». В проектном планировании для этих понятий применяются термины «составная работа», «работа» и «ресурс».

Первая характеристика а описывает модель операций и модель машин (модель исполнения работ и модель ресурсов для проектного планирования). Предопределенные значения задают, например, постановки «рабочего цеха», «потоковой линии», «открытой линии». Дополнительный параметр обычно определяет число машин. В ресурсном планировании он применяется также для уточнения общего количества доступных ресурсов и их типа как возобновимых, невозобновимых, частично возобновимых, логистических или непрерывно разделяемых.

Вторая характеристика @ описывает модель исполнения операций. Она обычно задается одним или несколькими значениями, которые определяют допустимость прерываний, наличие отношений предшествования, задание директивных сроков на начало и завершение операций, а также возможность пакетирования операций.

Наконец, третья обязательная характеристика у определяет целевую функцию, минимум которой должен достигаться на составленном расписании. При поиске допустимого расписания целевая функция может использоваться для оценки качества найденного приближенного решения. Типовые значения у соответствуют целевой функции для минимизации времени завершения всех операций, наибольшей задержки завершения операции, общего взвешенного времени завершения операций, общего взвешенного запаздывания операций и общих взвешенных опережений и запаздываний операций. Выбор целевых функций в задачах проектного планирования существенно шире, поскольку оптимизационная задача может ставиться как задача выравнивания используемых ресурсов или как задача минимизации общей или приведенной стоимости проекта. Допустим выбор целевых функций, направленных на достижение многокритериальных показателей проекта.

Примечательно, что задачи проектного планирования RCPSP (Resource-Constrained Project Scheduling Problem) в значительной степени обобщают постановки теории расписаний и поэтому алгоритмы проектного планирования часто рассматриваются в качестве универсальных инструментов для их решения. Тем не менее, в зависимости от индивидуальных характеристик задачи вычислительная сложность составления расписания может существенно варьироваться и поэтому для частных постановок обычно применяют специальные алгоритмы. Например, задача проектного планирования RCPSP, являющаяся NP-полной, редуцируется к частным постановкам «открытой линии», «рабочего цеха» или «потоковой линии», имеющим полиномиальную сложность при небольшом числе машин, простых моделях обслуживания и отсутствии директивных сроков.

Вместе с тем, на практике возникает необходимость в обобщении задач проектного планирования, обусловленная особенностями осуществления проектной деятельности разными организациями и индустриальными сообществами, различиями в представлении проектных данных, а также альтернативными способами математической формализации задач проектного планирования. Большое число существующих программных приложений для календарно-сетевого планирования и управления проектами с близкими функциями подтверждает этот факт. В качестве таких приложений следует указать популярные программные системы Oracle Primavera, MS Project, Synchro, Spider Project, Gemini, Merlin, Zoho Projects, ManagePro, обеспечивающие автономную работу планировщиков и управленческого персонала на изолированных компьютерах или групповую работу в корпоративной сети. Ряд систем конфигурируется в виде универсальных Интернет-сервисов и web-клиентов к ним. К подобным решениям относятся сервисы Smartsheet, GanttPro, Asana, Acunote, Teamweek, Bitrix24, Jira, ISETIA. Приме-

чательно, что почти все приложения реализуют алгоритмы для поиска критического пути или вычисления критических работ, а большая часть приложений — алгоритмы решения задач RCPSP в расширенных постановках. В типовых приложениях речь идет о проектных планах, содержащих десятки тысяч работ, поэтому для решения задач RCPSP применяются приближенные, основанные на эвристиках алгоритмы полиномиальной сложности. Применение точных методов при составлении оптимальных расписаний для проектных планов с числом работ выше сотни не представляется возможным из-за экстремально высокой вычислительной сложности задач RCPSP.

В представленной работе предпринимается попытка математического обобщения и формализации задач проектного планирования с учетом особенностей расширенных постановок RCPSP, встречаемых в программных приложениях. Ожидается, что полученные результаты позволят разработать программно-инструментальную среду общего назначения, обеспечивающую задание условий и эффективное решение разнообразных классов задач проектного планирования. Развитые инструментальные возможности среды позволят относительно просто адаптировать ее к новым постановкам прикладных задач.

В разделе 2 приводится классическая постановка задач RCPSP, и кратко упоминаются алгоритмы их приближенного решения. Недостатки и ограничения математической постановки детально обсуждаются в разделе 3, в котором особое внимание уделяется вопросам структуризации проектного плана и моделям исполнения работ. Кратко обсуждаются вопросы математической формализации, связанные с заданием альтернативных целевых функций оптимизационной задачи и возможным переопределенным характером системы наложенных алгебраических ограничений. Раздел 4 посвящен математической формализации обобщенной задачи проектного планирования GCPSP (Generally Constrained Project Scheduling Problem), а также доказательству некоторых утверждений о достаточных условиях существовании решения. В разделе 5 описывается алгоритм приближенного решения задач GCPSP, который можно рассматривать в качестве развития известного алгоритма линейной диспетчеризации. Формулируется утверждение об эквивалентности алгоритмов в случаях, когда обобщенная задача редуцируется к классической постановке RCPSP. В заключении кратко резюмируются результаты и определяются возможные направления для дальнейших исследований.

2. Классическая постановка RCPSP

Рассмотрим классическую постановку задач RCPSP, следуя работам [1, 2, 3].

Пусть проект состоит из N работ, R возобновимых ресурсов и L связей с соответствующими индексами i = 1,2, ...,N, г = 1,2, ...,R и I = 1,2, ...,L соответственно. Пусть задано время старта проекта t0, а для каждой работы i определено ее время выполнения di >0 и количества потребляемых ей ресурсов >0. Требуется найти расписание проекта (время старта каждой работы Xj, i = 1,2, ...,N), при котором минимизируется время выполнения всего проекта.

Уточним условия задачи. Потребление работой i ресурса г в количестве означает, что с началом выполнения работы данное количество ресурса становится недоступным для использования в других работах, а с ее окончанием — высвобождается. Одна работа может потреблять несколько разных ресурсов. Один ресурс может одновременно использоваться несколькими работами при условии, что его суммарное потребление не превышает доступное количество Qr >0. Пусть /(t, г) ={/ = 1, ..,п | Xj < t < Xj + dj & qir — множество индексов работ, выполняемых в момент времени t> t0 и использующих ресурс г. Тогда условие корректного потребления ресурса г и необходимое условие существования решения задачи может быть выражено следующим образом:

^ 4i,r ^Qr iei(t,r)

Наконец, связи определяют бинарные отношения предшествования между работами таким образом, что работа-последователь не может стартовать до того, как работа-предшественник завершится. Пусть — индекс работы-предшественника, участвующего в связи I, а i® — индекс работы-последователя, участвующего в связи I. Тогда данное отношение имеет вид + di . Тогда задача RCPSP формализуется

следующим образом:

min ( max (х; +

i=l,...N 1

при

Xj >t0,i = 1, ...,N

Xi(l) +di(l) <xtm,l = 1,2, ...,L

V t>t0 имеет место £te/(t,r) 4i,r <Qr,r = 1,2, ..-,R

Неизвестные переменные в постановке задачи обычно целочисленные, поскольку на практике обычно используется дискретное представление временных параметров. Задача считается корректно поставленной, если заданные связи не образуют циклов и уровни потребления ресурсов индивидуальными работами не превышают их общедоступное количество. В противном случае система алгебраических ограничений может оказаться переопределенной, а задача — не иметь решений. В случае отсутствия ресурсных ограничений задача RCPSP естественным образом редуцируется к задаче поиска критического пути или вычисления критических работ.

На сегодняшний день существует несколько популярных алгоритмов приближенного решения задач RCPSP. Наиболее известным является последовательный алгоритм составления расписания, иногда называемый алгоритмом последовательной диспетчеризации [4]. Он позволяет за фиксированное количество шагов построить согласованное расписание или убедиться в его отсутствии, если в проектном плане есть неразрешимые ограничения. На каждом шаге алгоритма выбирается одна из работ, предшественники которой уже обработаны и для них определены времена старта и завершения. Для выбранной на основе эвристических правил работы вычисляется наиболее ранее допустимое время старта и осуществляется переход к следующей работе. В предположении отсутствии циклов последовательность работ с обработанными предшественниками всегда существует, а для работ всегда может быть определено время старта, согласованное со всеми наложенными ограничениями.

Алгоритм относительно прост и допускает многочисленные варианты, что делает его привлекательным для программной реализации. Один из вариантов заключается в попытке составить расписание в предположении отсутствия ресурсных ограничений и определить ранние и поздние даты выполнения работ, как это делается при поиске критического пути [4]. Затем проводится анализ ресурсных ограничений с учетом допустимых задержек индивидуальных работ. Можно ожидать, что для большей части работ ресурсные ограничения разрешатся таким способом. При этом следует предусмотреть возможность перезапустить или продолжить процесс составления расписания для оставшихся конфликтных работ и их последователей. Иначе применение алгоритма на практике может оказаться довольно рискованным. Другой известный вариант алгоритма основан на выделении групп несвязанных между собой работ и на их одновременном анализе [1]. Было установлено, что в ряде случаев он приводит к более качественным приближенным решениям. Однако реализация данного варианта сопряжена с дополнительными расходами на перераспределение работ по группам и согласование частных расписаний, что может оказаться критичным для больших проектных планов.

Все упомянутые выше алгоритмы имеют полиномиальную сложность и обеспечивают поиск приближенных решений для индустриально значимых задач, размерность которых может составлять десятки и сотни тысяч неизвестных переменных. На практике часто требуется удостовериться в качестве получаемых решений, для чего желательно получить оптимальные решения, хотя бы для подобных задач низкой раз-

мерности. В этом случае можно применить точные комбинаторные алгоритмы с известными оптимизационными приемами типа «альфа-бета-отсечения» или «метода ветвей и границ» [5]. Например, лучший из известных точных алгоритмов Брукера за приемлемое время может решать задачи размерности не больше 60 [6]. По результатам сравнения приближенных и точных решений можно скорректировать параметры применяемых алгоритмов и настроить их эвристики с тем, чтобы обеспечить надлежащее качество результатов и при решении задач высокой размерности. К сожалению, теоретические исследования дают слишком грубые оценки, не позволяющие судить о качестве приближенных решений, полученных известных алгоритмами.

3. Ограничения классической постановки

Хотя приведённая математическая постановка ЯСРБР является классической для теории расписаний и прикладных дисциплин, связанных с календарно-сетевым планированием и управлением проектной деятельностью, она имеет ряд принципиальных ограничений для широкого практического использования. На необходимость решения задач проектного планирования в расширенной постановке указывают авторы работы [3]. В нашей обзорной статье [7] достаточно детально рассмотрены особенности прикладных задач, не учитываемые классической постановкой. В настоящем разделе мы неформально определяем обобщённый класс задач проектного планирования, который мог бы допускать альтернативные критерии и сложные модели исполнения работ, наложения связей, привлечения ресурсов, календарей, финансов при составлении расписаний. В конечном итоге подобные расширения приводят к новым видам целевых функций и функциональных ограничений для решаемых оптимизационных задач.

Опишем главные отличия, характеризующие обсуждаемый класс задач, более систематическим образом.

Во-первых, в нем допускается задание работ различных видов, таких как простые активности, вехи начала и завершения работ, «короткие гамаки», «длинные гамаки», а также составные работы, обеспечивающие иерархическую многоуровневую структуризацию проектного плана. При этом предполагается, что работы могут исполняться в обычном режиме, в режиме с прерываниями, с профильным использованием ресурсов, с учётом накладных временных затрат, в альтернативных мультимодальных режимах, а также с учётом компромиссов. При задании условий задачи может указываться также статус работ, как планируемых, стартованных, прерванных, возобновлённых или завершённых, а также процент выполнения для незавершённых работ.

Во-вторых, взаимосвязи работ могут устанавливать отношения предшествования не только между окончанием предшествующей работы и началом последующей работы, но также и между любыми событиями, связанными с их началом и завершением. Для формируемых взаимосвязей «начало-начало», «начало-окончание», «окончание-начало» и «окончание-окончание» могут быть установлены минимальные и максимальные величины задержки, пересчитанные в календарные даты с использованием рабочих календарей проекта. Примечательно, что величины задержек могут отрицательными, а взаимосвязи могут устанавливаться и для составных работ, обеспечивая тем самым возможность составления расписаний при крупноблочной структуризации проектного плана и при его последующей детализации. Важным аспектом составления расписания для актуализируемого проектного плана является учет нарушенных взаимосвязей и возможность восстановить отношения предшествования, хотя бы для оставшихся частей незавершённых работ. Подобные ситуации приводят к неоднозначной интерпретации ограничений и нуждаются в более строгой формализации.

В-третьих, исполнение работ и привлечение ресурсов в рамках проектной деятельности обычно осуществляется на основе календарей, определяющие графики работы. В обсуждаемых задачах предполагается использование модели календарей, в которой рабочие интервалы могут задаваться на основе регулярных и исключительных правил с требуемой точностью и дискретизацией представления временных параметров.

При фиксировании трудоёмкости работы и доминирующего ресурса ее продолжительность может определяться доступным количеством ресурса, а не только рабочим календарём.

В-четвертых, для работ могут быть заданы явные временные ограничения, определяющие алгебраические условия их начала и завершения. Ограничения могут задаваться условиями типа «начать не раньше», «завершить не позже», «начать в фиксированную дату» и т.п., так и спецификаторами «выполнить как можно раньше» или «выполнить как можно позже». Кроме того, каждой работе могут быть приписаны правила выравнивания, устанавливающие условия начала или завершения работы строго в начале или конце рабочего интервала (часа, дня, недели, месяца, года и т.п.) независимо от возможности исполнить работу несколько раньше или позже. Важной особенностью обсуждаемых задач является возможность задания временных ограничений для составных работ, что, как и в случае с взаимосвязями, обеспечивает возможность составления расписаний при крупноблочной структуризации проектного плана. Наконец, система наложенных алгебраических ограничений может оказаться переопределённой и не иметь решений. Это означает, что должен быть задан непротиворечивый способ разрешения подобных ситуаций, например, с использованием приоритетов, приписанных индивидуальным ограничениям.

В-пятых, ресурсная модель должна допускать использование невозобновимых, ограничено-возобновимых, частично возобновимых, логистических, непрерывно разделяемых, исключительных ресурсов, а также ресурсов с переменной доступностью. Возобновимые ресурсы обычно моделируют использование персонала и техники, которые могут объединяться в «бригады». Ресурсы, связанные с персоналом определенной специализации и квалификации, могут формировать соответствующие «компетенции». Невозобновимые ресурсы обычно ассоциируют с расходными материалами, для которых могут определяться цепочки поставок. Финансовое обеспечение проектной деятельности также может моделироваться невозобновимыми ресурсами, ассоциируемыми, например, с банковскими счетами участвующих в проекте организаций. Количество доступных ресурсов может быть нефиксированным и зависеть от времени, например, как в случае поставок материалов или привлечения дополнительных инвестиций в ходе реализации проекта.

В-шестых, допускается выбор альтернативных целевых функций для минимизации временных показателей проекта, обеспечения консервативности и устойчивости расписания к задержкам, минимизации затрат на возобновимые ресурсы, минимизации невозобновимых ресурсов, минимизации общей стоимости проекта, максимизации чистой приведённой стоимости, а также достижения многокритериальных показателей проекта.

В-седьмых, задача проектного планирования может решаться в инкрементальной постановке, когда требуется скорректировать расписание с учетом измененных условий исходной задачи или при актуализации данных непосредственно на проектной площадке в режиме реального времени.

4. Математическая формализация задач ОСР8Р

Обсудим предлагаемый способ математической формализации задач проектного планирования. Следуя ему, оптимизационная задача ставится на множестве допустимых решений, связанных с частной задачей удовлетворения ограничений с приоритетами (или предпочтениями). В отличие от ЯСРБР мы не уточняем семантику неизвестных переменных, например, как времён начала, завершения, прерывания и возобновления работ или их продолжительностей. Также не конкретизируем вид целевой функции и функциональных ограничений, например, в виде явных временных или ресурсных условий. Вместо этого определяем обобщённый класс задач ОСРБР в математически нейтральной форме в рамках общих предположений относительно свойств целевой функции, вида алгебраических ограничений и способа их разрешения относительно тех

или иных переменных. Таким способом определяемый класс задач ОСРБР расширяет условия классической постановки ЯСРБР и удовлетворяет основным требованиям к прикладным постановкам, перечисленным в предыдущем разделе.

Определение 1. Четверку множеств {Б,Х, С,Р) назовем задачей в ограничениях с приоритетами, где Б = {Б± Хй2 Х...ХБП} — домен, определяющий область допустимых значений множества переменных задачи Х = {х1,х2,...,хп} ЕБ, х^ ЕБ^, ¿ = 1,2,...,п; С = {с1(Х1),с2(Х2), .,ст(Хт)} — множество предикатов Су(Ху), } =

1,2, ...,т, определенных на подмножествах переменного X,- = ]х.(;),х.(;),..,х.(;) [с х и

11 12 1к у J

называемых ограничениями задачи; Р = {р±,Р2,.,Рт} — множество натуральных чисел ру Е^, называемых приоритетами ограничений. Пусть = ,..-Ак^} — {1,2, ...,п] — множество индексов подмножества переменных Х^. Тогда будем говорить, что переменная задачи х^, 1</ <п участвует в ограничении Су(Ху), 1 <} <т или ограничение ассоциировано с переменной, если /Е 1{Ху). Ограничение Су(Ху) будем называть удовлетворённым при любом множестве значений переменных X? —X* Е Б, при котором соответствующий предикат принимает значение «верно».

Определение 2. Пусть {Б,Х, С,Р) — задача в ограничениях с приоритетами. Значения переменных X* Ей, при которых все ограничения задачи удовлетворены, будем называть решением задачи. Пусть С*(Х) — множество ограничений, которые удовлетворены при значениях переменных X. Тогда X* является решением задачи, только если С*(Х*) = С.

Определение 3. Пусть {Б,Х, С,Р) — задача в ограничениях с приоритетами. Значения переменных X* ЕБ будем называть согласованным решением задачи в ограничениях с приоритетами, если, по крайней мере, хотя бы одно ограничение удовлетворено и не существует других значений переменных У, повышающих максимальный приоритет разрешенных ограничений: С*(Х*) и для любого неразрешенного ограничения Су ЕС\С*(Х*), ру ЕР не существует значений У = {У1,У2,.,Уп} Ей, У^ X*, таких что удовлетворяется каждое ограничение ск ЕС*(У), рк ЕР с приоритетом рк >ру.

Определение 4. Пусть {Б,Х, С,Р) — задача в ограничениях с приоритетами. Значения переменных X* ЕБ будем называть локально согласованным решением задачи в ограничениях с приоритетами, если, по крайней мере, хотя бы одно ограничение удовлетворено и согласованы приоритеты разрешённых ограничений относительно каждой переменной: С*(Х*) ^0, а также для любой переменной х^ ЕХ и для любого ассоциированного с ней неудовлетворённого ограничения Су(Ху)ЕС\С*(Х*), ру ЕР, /Е /(Ху) не существует значения переменной у£ ЕД, у£ такого, что удовлетворяется каждое ассоциированное с переменной ограничение ск Е С*(У), ркЕР, /Е 1{Хк) с приоритетом рк >ру, где множество значений переменных У = {х**,х|,..,у£,..,х^}.

Определение 5. Обобщённой задачей проектного планирования ОСРБР будем называть задачу оптимизации целевой функции проекта на множестве локально согласованных расписаний. Для определённости ограничимся следующей математической постановкой

ттДХ) ХЕБ*

где ^Р — целевая функция, Б* —2п — множество локально согласо-

ванных решений системы ограничений с,-(Х-), X,- = ]х.(;),х.(;),..,х.(;) [ — X с приорите-

Ч 12 1к у J

тами ру Е^,} = 1,2, ..., т.

Предполагается, что ограничения разрешимы относительно переменных одним из нижеприведенных способов:

:}(Х}) & х.ц) =д,-\х.а),х а),...,ха) ) (ограничения А)

4 у 12 1з 1ку у

Х.Ц) Е0/" (х.(;),х.(;),.,х.(;) ) (ограничения В)

11 у 12 1з ikj у

Х.(;) ЕЯ/ (Х.(;)) || Х.(;) ЕЯ/ (Х.(;) )||-||Х.С/) ЕЯ/ (х.(;))

(ограничения С)

(4) для любого упорядочивания переменных ограничения Х^, пред-

ставимого биекцией множеств индексов я^: (1,2, ..., ^у]^!/^/^...,^!,

(1)

(2) (3)

сто

Ей

"1

+

имеет ме-

Б

л^.к,-

,х_(7),.,х_(у) ) (ограничения Б) У

(5) х.(;) ЕЙ,- (х. (;) ,.,х. (;) I (ограничения Е).

11 у 12 Lkj у

где Е£, О*(л к Е2 — подмножества целых чисел, содержащие открытые положительные интервалы, а ЕХ — подмножества целых чисел, содержащие открытые отрицательные интервалы.

Естественным визуальным представлением задачи ОСРБР является двудольный направленный граф С(Х,С,Я), где X — множество вершин, ассоциированных с переменными задачи, С - множество вершин, ассоциированных с ограничениями задачи, и Я — множество рёбер графа, соединяющих вершины ограничений с соответствующими вершинами переменных следующим образом. Если переменная задачи х£ участвует

в ограничении су в качестве независимой переменной, то ребро является входящим в вершину ограничения (в применяемой нотации х£ ^Су). Если переменная задачи х£ является зависимой переменной ограничения Су, то ребро входит в вершину переменной (су ). Если ограничение Су предусматривает правила разрешения относительно каждой своей переменной х£, то ребра между соответствующими вершинами будем представлять как двунаправленные и записывать х£ ^Су. Будем также говорить, что переменная прямо предшествует переменной х^ или , если существует такое ограничение задачи Су, что х^ ^Су .

На Рис. 1 представлен пример графа задачи ОСРБР, на котором темными кружками отображены переменные задачи, а большими светлыми кругами — ограничения. Однонаправленные и двунаправленные ребра указывают характер зависимостей между переменными, который связан со способами разрешения ограничений.

В предположении, что граф задачи ацикличен, план разрешения системы ограничений представляется в виде перестановки переменных я: {1,2, ...,п} ^ {1,2, ...,п], в соответствии с которой они могут быть последовательно выражены друг через друга или уточнена область их допустимых значений в соответствии с наложенными ограничениями. Циклом в данном случае называется упорядоченный набор пар вершин

£ С{Х,С,Я), такой, что вершины-переменные и

Рис. 1. Пример графа задачи ОСР8Р, отображающего взаимосвязи между переменными и ограничениями

X/

СЛ

X,-

сь,-,х\

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

с1к

вершины-ограничения соединены последовательно направленными ребрами от вершины к вершине Суг для всех I = 1,..,к, от вершины к вершине х£г+1 для всех I = 1,..,к — 1, и от вершины к вершине . Заметим, что двунаправленные ребра не включаются в цикл. План разрешения системы ограничений визуально будем отображать на графе задачи, приписывая индексы упорядочивания переменных соответствующим вершинам.

Сформулируем достаточные условия разрешимости системы ограничений с приоритетами и существования решения для связанной с ней обобщенной задачи проектного планирования ОСРБР.

Утверждение. Пусть ф,Х,С,Р) — обобщенная задача ОСРБР. Решение задачи всегда существует, если

(1) целевая функция задачи f(X) не убывает по каждой переменной;

(2) граф задачи в{Х, С, И) ацикличен;

(3) ограничения (А) имеют наивысший приоритет, а приоритеты ограничений (В), (С) и (Б) выше приоритета ограничений (Е);

(4) ни одна переменная задачи не ассоциирована с более чем одним ограничением (А) в качестве зависимой переменной;

(5) каждая переменная задачи участвует, по крайней мере, в одном ограничении (А), (В), (С) или (Б) в качестве зависимой переменной.

Доказательство.

Прежде всего, покажем, что система ограничений задачи разрешима и множество допустимых значений для переменных задачи не пусто. Допустимость значений будем интерпретировать в терминах локальной согласованности переменных в соответствии с назначенными приоритетами ограничений. В предположении ацикличности графа задачи существует упорядочивание переменных, при котором допустимые значения или область допустимых значений для переменных с большими индексами выражаются через соответствующие значения переменных с меньшими индексами. Покажем, что при обходе переменных по возрастанию индексов всегда существует непустое множество допустимых значений переменной, удовлетворяющее ограничения с входящими ребрами в вершину-переменную. Рассмотрим следующие взаимоисключающие случаи для определения области допустимых значений переменной:

- У вершины-переменной отсутствуют входящие ребра. В этом случае область допустимых значений переменной - все множество целых чисел.

- Имеется входящее ребро от унарного ограничения (Л). В этом случае переменная принимает единственное допустимое значение в соответствии с явной функцией разрешения ограничения, независимо от других наложенных ограничений (В), (С) и (П), которые имеют меньший приоритет. Наличие нескольких ограничений (Л) условиями утверждения исключаются.

- Имеются входящие ребра от ограничений (В) и (С) и отсутствует входящее ребро от ограничений (Л). Независимо от назначенных приоритетов для переменной задачи всегда существует положительный полуинтервал, удовлетворяющий данным ограничениям. Ограничения (П) имеют меньший приоритет и поэтому либо нарушаются, либо удовлетворяются путем уточнения допустимой области переменной в виде интервала или точки.

- Входящие ребра только от ограничений (П) не могут существовать в силу принятых допущений.

Таким образом, множество локально согласованных решений системы ограничений с приоритетами не пусто, причем они ограничены снизу. В силу неубывания целевой функции задачи по каждой из переменной ее минимум достигается на данном множестве и обобщенная задача проектного планирования ОСРБР имеет решение.

5. Алгоритм приближенного решения задач GCPSP

Опишем алгоритм приближенного решения задач проектного планирования в постановке GCPSP. Его можно рассматривать в качестве обобщения известной схемы последовательной диспетчеризации работ.

На каждом шаге алгоритма к = 1,2, ...,п определяется одна из переменных задачи Xj, (G l(X). При этом выбор очередной переменной подчиняется следующей общей схеме. Пусть /passive — КЮ — множество индексов переменных, значения которых определены к началу шага к, а ¡active — кю — множество индексов неопределенных переменных, все прямые предшественники которых содержатся в /passive или вовсе не имеют предшественников. Таким образом, имеют место следующие соотношения между рабочими множествами: /passive active = $ и если i G ¡active, то либо не существует j G 1(Х) такого что Ху ^Xj, либо для каждого j G 1(Х) такого что Ху ^Xj, имеет

место j G Ipassive .

Тем самым, множество I(X)\(IPAssive Ulactive) включает в себя индексы тех переменных, которые не участвовали в анализе до текущего шага и должны быть определены на следующих шагах алгоритма.

На начальном шаге инициализируются вспомогательные множества /passive — $ и 1active = G 3 j G I(X),Xj ^Xj j. В силу условий описанного выше утверждения граф задачи ацикличен, множество переменных, не имеющих предшественников, не пусто и алгоритм корректно стартует. На каждом шаге алгоритма отбирается активная переменная Xj, i G ¡active , определяется ее значение и корректируются рабочие множества индексов таким образом, что активная переменная перемещается из iactive в 1passive , а множество iactive пополняется новыми переменными, все предшественники которых уже находятся в /passive . Поскольку коррекция рабочих множеств осуществляется на каждом шаге алгоритма для поиска пополняемых переменных достаточно проанализировать только предшественников последователей переменной Xj. Таким образом, при переходе к следующему шагу рабочие множества корректируются следующим образом:

IACTIVE = UcTIVE\{^},

1PASSIVE =IpASSIVE U^L

1ACTIVE = 1ACTIVE G IPASSIVE UACTIVE) \ xi xj ^xk,j G ¡PASSIVe\

Выборка активной переменной из множества /active выполняется на основе эвристических правил вида i'H i", где i',i" G ¡active, определяющих линейный порядок на множестве переменных и позволяющих на текущем шаге выбрать переменную, наиболее предпочтительную для достижения оптимума целевой функцией. Иногда правила задают частичный порядок на множестве переменных. В подобных случаях можно определить иерархическую стратегию Н = {Яг}, I = 1,2, ...,L, заключающуюся в последовательном применении элементарных правил Яг в ожидании того, что одно из них позволит вынести окончательный вердикт о предпочтении одной переменной над другой. Если ни одно из правил не позволяет установить это, то приоритетной может считаться та переменная, которая имеет наименьший индекс. Очевидно, что порядок применения элементарных правил в рамках иерархической стратегии может влиять на упорядочивание переменных и качество приближенного решения задачи. Алгоритмом допускается широкий набор эвристических правил, применяемым в задачах RCPSP [8]. Ниже мы приводим математически эквивалентную интерпретацию некоторых популярных правил, сохраняя их оригинальные названия:

- LIS (Least Immediate Successors): выбрать переменную с наименьшим количе-ством непосредственных последователей;

- MIS (Most Immediate Successors): выбрать переменную с наибольшим количе -ством непосредственных последователей;

- MTS (Most Total Successors): выбрать переменную с наибольшим количеством всех последователей;

- LTS (Least Total Successors): выбрать переменную с наименьшим количеством всех последователей;

- LSC (Longest Successors Chain): выбрать переменную с наибольшим числом переменных в цепочках последователей;

- SSC (Shortest Successors Chain) выбрать переменную с наименьшим числом переменных в цепочках последователей;

- SPT (Shortest Process Time): выбрать переменную с наименьшей разностью Xj среди всех пар Ху ^Xj, связанных ограничениями вида (A) и (B). Здесь Xj — активная переменная, значение которой определяется в предположении ее отбора, а Ху — ее непосредственный последователь, значение которого рассчитывается на основе правила разрешения соответствующего ограничения и выбора минимально допустимого значения;

- LPT (Longest Process Time): выбрать переменную с наибольшей разностью Ху — Xj среди всех пар Ху ^Xj, связанных ограничениями вида (A) и (B).

Значение для выбранной активной переменной определяется, исходя из требования минимизации целевой функции при условии удовлетворения максимального количества ассоциированных с ней ограничений. В случаях, когда система ограничений является переопределенной, ограничения разрешаются последовательно в соответствии с заданными приоритетами. В предположениях описанного выше утверждения всегда существует способ обеспечить локальную согласованность решения, при которой в первую очередь разрешаются ограничения с высокими приоритетами, а затем, если возможно, ограничения с низкими приоритетами.

В самом деле, после построения множеств /passive и ¡active и выбора активной переменной Xj, iE Iactive все независимые переменные ассоциированных с ней ограничений (A), (B), (C), (D) и (E) находятся в множестве /passive и поэтому их значения уже определены и могут быть использованы для расчета допустимых значений Xj.

В случае наложенного ограничения вида (A) переменная принимает единственное значение в соответствии с правилом разрешения ограничения

xi =9] \x.<j),X (j),^,X (j) I, где {i^A^.-.-.i^l^lpAssivE, независимо от других

у z 1з Lkj у J }

наложенных ограничений.

В случае ограничений вида (B), (C), (D) для переменной Xj вначале определяется допустимое множество значений как пересечение множеств интервалов

D* для всех j таких, что Су ^Xj. Пересечение не пусто, поскольку

множества включают в себя положительные полуинтервалы. Значение переменной выбирается, исходя из требования минимизации целевой функции по данной переменной. В случае неубывания целевой функции точка минимума всегда существует, а если она не единственна, то выбирается наименьшее значение. Переменные задачи обычно семантически связаны с датами исполнения и сроками, которые предпочтительно сократить даже при достижении целевой функцией минимума. Таким образом, значение выбранной переменной в этом случае определяется следующим образом:

Xj =min х

х<Е Р D+lx.y.x.a,.....хф)

Cj^Xi J 7

Анализ ограничений (C) и (D) имеет свои особенности. Чтобы удовлетворить ограничение вида (C) достаточно выполнить соответствующее условие для одной зави-

симой переменной. Действительно, попытка распространить условие x¿(j) -Df (x.coj

на все зависимые переменные может оказаться обременительной для поиска качественного приближенного решения. Поэтому алгоритм предусматривает иную схему. Ограничение разрешается только для самой последней обрабатываемой переменной ограничения и только в том случае, если оно не было автоматически удовлетворено в результате определения значений предыдущих переменных. С этой целью для каждого ограничения вида (С) рассчитывается и хранится статус его выполнения, а также ведётся подсчет числа обработанных ограничений. Такая схема обеспечивает разумную стратегию удовлетворения ограничений и минимизации целевой функции в случаях, когда переменные связаны между собой множественными ограничениями.

Для активной переменной все ассоциированные с ней ограничения (D) удовлетворяются в рамках общей схемы, поскольку они могут быть разрешены относительно любой переменной независимо от переменных множества I(X)\IPASSIVE, значения которых на текущем шаге алгоритма еще не определены.

В наихудшем случае описанный алгоритм имеет квадратичную вычислительную сложность 0(п2) от количества переменных задачи п, поскольку на каждом шаге алгоритма из множества активных переменных, мощность которого ограничена п, необходимо выбирать наиболее предпочтительную переменную путём последовательного применения эвристических правил. Данная полиномиальная оценка приемлема для решения прикладных задач высокой размерности.

Можно показать, что любая задача RCPSP принадлежит классу задач проектного планирования GCPSP, а приведённый приближенный алгоритм проектного планирования сводится к алгоритму последовательной диспетчеризации работ в случае задач RCPSP. Вместе с тем, область практического применения рассмотренной обобщенной постановки GCPSP существенно шире, поскольку охватываются прикладные задачи проектного планирования в расширенных постановках с учётом альтернативных критериев составления расписаний, сложных моделей исполнения работ, многопараметрических взаимосвязей, многочисленных особенностей привлечения ресурсов, применения календарных графиков, финансового и логистического обеспечения проектных работ.

Заключение

Авторы считают, что в данной работе новыми являются следующие положения и результаты: предложена, формализована и обоснована обобщенная математическая постановка задач проектного планирования GCPSP, сформулированы и доказаны достаточные условия разрешимости задач данного класса, а также предложен эффективный приближенный алгоритм для их решения. В рамках дальнейших исследований предполагается реализовать данный алгоритм в составе программно-инструментальной среды общего назначения, обеспечивающей задание условий и эффективное решение разнообразных прикладных классов задач проектного планирования.

Литература

1. Kolisch R. Serial and parallel resource-constrained project scheduling methods revisited: Theory and computation // European Journal of Operational Research. Vol. 90. 1996. PP. 320-333.

2. Kolisch R., Sprecher A. PSPLIB - A project scheduling library // European Journal of Operational Research, Vol. 96. 1996. PP. 205-216.

3. Лазарев А.А., Гафаров Е.Р. Теория расписаний. Задачи и алгоритмы. М: МГУ им. М. В. Ломоносова, 2011. 222 с.

4. Kelley James E.Jr., Walker Morgan R. Critical-Path Planning and Scheduling // Proceedings of the eastern joint computer conference, 1959, с. 160-173.

5. Land A.H., Doig A.G. An automatic method of solving discrete programming problems. // Econometrica, том 28, выпуск 3, 1960, с. 497-520.

6. Brucker P., Knust S. Complex scheduling. // Springer, Берлин, 2006, 342 с.

7. Аничкин А. С., Семенов В.А.. Современные модели и методы теории расписаний и кален-дарно-сетевого планирования // Труды Института системного программирования РАН, Т. 26. Вып. 3. 2014. С. 212-262. 8. Kolisch R. Project Scheduling under Resource Constraints: Efficient Heuristics for Several Problem Classes // Springer. Berlin, 1995. 212 p.

Generalized mathematical statement of project scheduling problems

Anichkin Anton Sergeevich, Researcher, Institute for System Programming RAS (ISP RAS,)

Semenov Vitaly Adolfovich, Prof., Dr., Institute for System Programming RAS (ISP RAS,)

Theory of scheduling and project planning is widely used in diverse scientific and industrial areas. In this paper we discuss a generalized mathematical statement of project scheduling problems and describe an efficient heuristic algorithm ofpolynomial complexity for their solving.

Keywords: scheduling theory; project planning and scheduling.

УДК 658.314.7:330.115

ОРГАНИЗАЦИЯ КЛИЕНТООРИЕНТИРОВАННОГО УПРАВЛЕНИЯ ТРАНСПОРТНЫМИ ПРЕДПРИЯТИЯМИ

Сергей Александрович Савушкин, канд. физ.-мат. наук, ст. науч. сотр., ведущий научный сотрудник, email: [email protected], Институт проблем транспорта им. Н. С. Соломенко РАН,

http://www.iptran.ru, Александр Иннокентьевич Искоростинский, науч. сотр.,

e-mail: [email protected], Институт проблем управления им. В.А. Трапезникова РАН,

http://www.ipu.ru, Алеся Валерьевна Лемешкова, мл. науч. сотр., e-mail: [email protected], Институт проблем транспорта им. Н. С. Соломенко РАН, http://www iptran.ru

Исследованы модели и методы практической реализации клиентоориентированного адаптивного управления, в котором учитываются интересы и требования как внешних, так и внутренних клиентов. Инструментами реализации являются системы технологических аудитов, каталогизации, стандартизации и контроля.

Ключевые слова: железнодорожный транспорт, организация, система, технология, процесс, управление, адаптация, клиентоориентированность, аудит, каталог услуг

В условиях быстрых изменений, управление транспортными процессами должно гибко подстраиваться к потребностям клиентов рынка транспортных услуг, одновременно учитывая возможности железнодорожного транспорта (ЖДТ), цели холдинга «РЖД» и другие факторы. Клиентоориентированность - важнейший элемент новой Стратегии управления качеством холдинга «РЖД». Клиентоориентированное управление должно быть адаптивным, в т.ч. самообучающимся или обучаемым (настраиваемым) с помощью экспертов или лиц, принимающих решения (ЛПР).

Принципиальная схема клиентоориентированного управления. Теоретической основой исследований вопросов повышения эффективности управления крупномасштабной компанией является теория больших транспортных систем [1-4]. В качестве

i Надоели баннеры? Вы всегда можете отключить рекламу.