2022 Вычислительные методы в дискретной математике № 58
ВЫЧИСЛИТЕЛЬНЫЕ МЕТОДЫ В ДИСКРЕТНОЙ МАТЕМАТИКЕ
УДК 519.8 DOI 10.17223/20710410/58/11
ПРИМЕНЕНИЕ МЕТОДОВ ИДЕМПОТЕНТНОЙ АЛГЕБРЫ В ГЕНЕТИЧЕСКОМ АЛГОРИТМЕ ДЛЯ РЕШЕНИЯ ЗАДАЧИ КАЛЕНДАРНОГО ПЛАНИРОВАНИЯ1
А. М. Булавчук, Д. В. Семенова Сибирский федеральный университет, г. Красноярск, Россия E-mail: abulavchuk@sfu-kras.ru, DVSemenova@sfu-kras.ru
Рассматривается задача календарного планирования инвестиционных проектов с ограниченными ресурсами в денежной форме. Критерием оптимального расписания начала для каждой из работ проекта выступает максимум чистой приведённой стоимости, при котором выполняются ограничения на достаточность средств и учитываются технологические взаимосвязи между работами. Данная задача является NP-трудной в сильном смысле. Доказано, что расписание проекта пред-ставимо в виде решения линейного уравнения над идемпотентным полукольцом. Установлено достаточное условие допустимости расписания с точки зрения частичного порядка работ и срока реализации проекта. Доказано, что каждое из расписаний проекта может быть представлено в виде произведения матрицы специального вида, рассчитанной на основе матрицы частичного порядка проекта, и вектора из идемпотентого полумодуля. Для координат вектора определены ограничения сверху и снизу, учитывающие сроки реализации работ. Приводится описание генетического алгоритма решения задачи. В его основе лежит эволюция популяции, особи которой представляют собой решения идемпотентного уравнения для матрицы частичного порядка проекта. Проведённые вычислительные эксперименты демонстрируют эффективность предложенного алгоритма.
Ключевые слова: задача календарного планирования, инвестиционный проект, NPV, идемпотентная алгебра, генетический алгоритм.
APPLICATION OF IDEMPOTENT ALGEBRA METHODS IN GENETIC ALGORITHM FOR SOLVING THE SCHEDULING PROBLEM
A. M. Bulavchuk, D. V. Semenova
Siberian Federal University, Krasnoyarsk, Russia
The resource-constrained project scheduling problem in monetary form is considered. The criterion for the optimal start schedule for each project activity is the maximum net present value, which fulfills the constraints on sufficiency of funds and takes into
1 Работа поддержана Красноярским математическим центром, финансируемым Минобрнауки РФ (Соглашение №075-02-2022-876).
account the technological relationship between the activities. This problem is NP-hard in a strong sense. It is proved that the project schedule can be represented as a solution of a linear equation over an idempotent semiring. A sufficient condition has been established for the admissibility of the schedule in terms of the partial order of work and the duration of the project. It is proved that each of the project schedules can be represented as a product of a matrix of a special form, calculated on the basis of the partial order matrix of the project, and a vector from an idempotent semimodule. For the coordinates of the vector, upper and lower limits have been determined, taking into account the timing of the activity. A description of the genetic algorithm for solving the problem is given. The algorithm is based on the evolution of a population whose individuals represent solutions of an idempotent equation for a partial order matrix of the project. The computational experiments demonstrate the effectiveness of the algorithm.
Keywords: scheduling problem, investment project, NPV, idempotent mathematics, genetic algorithm.
Введение
Одной из важных задач при разработке и реализации инвестиционных проектов является выбор оптимального расписания взаимосвязанных работ, которое удовлетворяет всем технологическим ограничениям, а также обеспечивает рациональное использование производственных ресурсов. Критерием оптимальности в этом случае могут выступать временные (длительность реализации проекта), денежные (совокупные затраты, прибыль) или иные характеристики проекта (эффективность использования ресурсов, экологичность производства) [1-4].
Практически важной разновидностью задачи календарного планирования являются постановки, в которых ресурсы проекта описываются денежными потоками. Обзор таких постановок приводится в [5, 6]. Одно из отличий в подходах заключается в выборе метода дисконтирования. Однако используемые в разных работах формулы непрерывных и сложных процентов легко конвертируются друг в друга. Важным отличием подходов являются особенности учёта компонентов потоков платежей. Например, эти потоки могут рассматриваться как регулярные или нерегулярные. Кроме того, существуют отличия в выборе целевой функции. Традиционно используемая в этом качестве прибыль может быть скорректирована, например, на величину штрафов за нарушение сроков выполнения работ.
В работе рассматривается задача календарного планирования инвестиционных проектов с ограниченными ресурсами в постановке, предложенной в [7]. В качестве критерия оптимальности выступает стоимость прибыли, приведённая к началу реализации проекта. Предполагается, что на множестве работ задан частичный порядок. Единственным ресурсом проекта выступает финансовый. Известны запасы средств, потребности в финансировании работ и доход, генерируемый ими, в каждый из целочисленных моментов времени. Деньги являются складируемым ресурсом. Кроме того, существует возможность получения дополнительного дохода от владения свободными средствами по заданной безрисковой ставке. Ограничения на запасы средств могут быть сняты введением возможности кредитования. Это означает также дополнительные затраты, связанные с выплатой процентов. Данная задача является NP-трудной в сильном смысле [7]. В [8] приведены алгоритмы решения этой задачи методом ветвей и границ, методами динамического программирования, а также гибридный алгоритм, объединяющий эти алгоритмы на разных этапах решения.
Данная работа является продолжением исследований по разработке эффективного генетического алгоритма для решения задачи календарного планирования инвестиционных проектов с ограниченными ресурсами в денежной форме [9]. Для упрощения применения генетических операторов предлагается использовать методы идемпотент-ной алгебры. Анализ свойств матрицы частичного порядка инвестиционного проекта позволил вывести соотношения, упрощающие генерацию популяции. Показано, что в терминах идемпотентной алгебры расписание проекта представимо в виде решения линейного уравнения над идемпотентным полукольцом. Установлено достаточное условие допустимости расписания с точки зрения частичного порядка работ и срока реализации проекта. Для формирования популяции предлагается использовать векторы из идемпотентного полумодуля, удовлетворяющие достаточному условию допустимости расписания. Приводятся результаты вычислительных экспериментов, подтверждающие результативность предложенного генетического алгоритма GASPIA (Genetic Algorithm for resource-constrained project Scheduling Problem using Idempotent Algebra methods).
1. Постановка задачи календарного планирования
Рассмотрим инвестиционный проект, предполагающий выполнение заданного количества работ за определённый промежуток времени. Каждая из работ характеризуется длительностью её выполнения, затратами ресурсов и доходами, которые она генерирует. Кроме того, известны технологические и организационные взаимосвязи между работами. Это, в частности, может выражаться в необходимости завершения одной работы до начала выполнения другой.
Источниками финансирования проекта являются собственные средства организации, а также доходы, возникающие в процессе его реализации. Для простоты будем считать, что все ресурсы проекта могут быть сведены к денежным. Бюджет проекта известен заранее. Будем считать, что в отсутствие достаточного объёма средств на выполнение любой из работ проект должен быть остановлен. Для оценки результатов реализации проекта воспользуемся показателем чистой приведённой стоимости (NPV). Данный показатель представляет собой стоимость прибыли от всех запланированных работ, дисконтированную к моменту начала инвестирования. Таким образом, рассматриваемая задача календарного планирования инвестиционного проекта заключается в нахождении оптимального времени начала каждой из работ, при котором выполняются ограничения на достаточность средств, взаимосвязь работ и обеспечивается максимум NPV.
Приведём математическую постановку задачи. Пусть V = {1, 2 ,...,N} — множество запланированных работ, связанных друг с другом отношением частичного порядка E. Каждая работа j = 1, 2,...,N характеризуется длительностью qj Е Z+. Обозначим через Cj (т) величину поступлений от j-й работы в момент времени т Е Е {0,1,... , qj}. Для отрицательных значений Cj(т) речь будет идти о расходах на выполнение работы.
Введём следующие обозначения:
— T — максимальная длительность проекта в целых периодах;
— K(t) — бюджет проекта в момент t Е {0,1,... , T — 1};
— г0 — ставка дисконтирования для одного периода;
— Nt — множество работ, выполняемых в интервале [t; t + 1).
Будем искать оптимальные сроки начала каждой из работ, которые образуют расписание выполнения проекта Б = (в1, в2,... , SN), где Sj —момент начала ]-й работы. Очевидно, что sj• Е {0,1,... , Т — qj}.
При применении формулы сложных процентов чистый приведённый доход от ]-й работы рассчитывается по формуле
Мру. = ^ С (т) (1)
г=0 (1 + Г0)Т'
Представленная ниже математическая постановка оптимизационной задачи сформулирована В. В. Сервахом и Е. А. Казаковцевой [7]:
мру (Б )=Е (Т^ ^ (2)
Si + qi ^ Sj, (г,]) Е Е; (3)
¿ста+та1 >0' г=0'Т--Т—1 (4)
Ограничениями в модели выступают условия частичного порядка (3) и требования достаточности средств (4). В последнем случае для каждого момента времени ¿* рассчитывается баланс расходов и поступлений с учётом возможности реинвестирования доходов предшествующих периодов. Допустимыми по бюджету считаются только те расписания, для которых названный баланс неотрицателен. Будем называть расписание допустимым по срокам, если для него выполняются органичения (3), а проект завершается до конца директивного срока. Расписание может быть допустимым по сроку, но недопустимым по бюджету.
Величина NРУ(Б) характеризует приведённую стоимость прибыли за весь срок реализации проекта при выбранном расписании Б. Отметим также, что при заданном расписании Б целевая функция NPУ(Б) есть линейная комбинация величин поступлений от каждой из работ:
N Я,
NPУ (Б) = ЕЕ aj (т (т).
j=1 Т=0
Здесь щ(т) = (1 + го)-(т+^').
2. Достаточное условие допустимости расписания проекта по срокам 2.1. Основные определения и обозначения и де м п о т е н т н о й ал г е б р ы Одним из популярных подходов к решению оптимизационных задач является применение методов идемпотентной математики. Основной алгебраической структурой идемпотентного анализа является общее определение идемпотентного полукольца [10]. Рассмотрим множество X, на котором определены операции сложения ф и умножения ©. Тройка {X, ф, ©} называется идемпотентным полукольцом, если для любых элементов множества выполняются следующие свойства:
— сложение и умножение ассоциативны;
— сложение коммутативно;
— сложение идемпотентно;
— умножение дистрибутивно относительно сложения.
Единичным будем называть такой элемент 1 Е X, что
х © 1 = 1 © х = х
для всех х Е X.
Нулевым будем называть такой элемент О Е X, что
х © О = О ф х = х
для всех х Е X.
Идемпотентным полумодулем над полукольцом X будем называть декартово произведение X1, для которого определены операции идемпотентного ассоциативного коммутативного сложения и умножения слева на скаляр, удовлетворяющие свойствам ассоциативности и дистрибутивности.
Пусть А Е Xnхn — квадратная матрица. Определим матрицы А+ и Ах как
А+ = I ф А Ах = АфА2ф-
п— 1 .
■ © А' Ап = А- А+,
(5)
(6)
где I — единичная матрица. Определим также матрицу А*, которая строится заменой на нулевые тех столбцов матрицы А+, которые не совпадают со столбцами матрицы Ах .
Будем называть псевдообратной для матрицы А матрицу А-, элементы которой равны
а-1, если а] = О,
г]
О,
если а] = О.
Будем называть матрицу А разложимой, если перестановкой столбцов вместе с такой же перестановкой строк она может быть приведена к блочно-диагональному виду
А
А
11 0
А21 А22
Ат1 Ат,2 • • • А
\ Ат1 Ат2
0 0
т
где 0 — блоки, состоящие из О. Такой вид будем называть нормальной формой разложимой матрицы.
Утверждение 1 [11]. Нормальная форма разложимой матрицы А может быть представлена в виде суммы А = ^ ф О, где
0
А21
А
т1
А
т,т— 1
0
0
А
О
11
0
Ат
0
Вспомогательные матрицы О+, О* рассчитываются по формулам (5) и (6); введём матрицу О = .
Обозначим через Тг Л сумму всех циклических произведений элементов матрицы Л. Согласно [11],
N
Тг Л = Л"
т=1
где ^ Л — след матрицы Л.
Приведём без доказательств несколько вспомогательных теорем. Теорема 1 [11]. Пусть х Е Хп — общее решение уравнения Л• х = х с матрицей Л, представленной в форме (7). Тогда справедливы следующие утверждения:
1) если Тг Л < 11, то уравнение имеет только тривиальное решение х = (0,... , 0);
2) если Тг Л = 1, то х = С+Б* для всех и Е Хп;
3) если Тг Л > 1, то х = для всех и Е Хп, причём имеется только тривиальное решение х = (0,... , 0), когда 10 = 0, где 10 — множество индексов г, для которых Тг Лц = 0.
Теорема 2 [11]. Для любой матрицы Л и вектора Ь = (0,..., 0) решение неравенства Лх ^ Ь имеет вид х ^ (Ь-Л)-.
2.2. П о и с к д о п у с т и м ы х р е ш е н и й Докажем, что в терминах идемпотентной алгебры поиск допустимых расписаний можно свести к решению линейных уравнений.
Отношение частичного порядка работ проекта может быть представлено в виде
■■
взвешенного ориентированного графа с матрицей смежности Л = (а^)^У7=1, где
qj•, если (г,]') Е Е, 0, если (г,]) ЕЕ и г = — то, если (г,]) ЕЕ и г =
Рассмотрим полукольцо Ктах,+ с операциями ф = тах и © = +. В этом полукольце нулевой элемент 0 = — то, единичный элемент 1 = 0, а элементы матрицы Л описываются соотношениями
{qj, если (г,]) Е Е, 1, если (г,]) ЕЕ и г = 0, если (г,]) ЕЕ и г =
Лемма 1. Матрица, описывающая частичный порядок работ инвестиционного проекта, является разложимой, а её нормальная форма имеет нижний треугольный вид.
Доказательство. Ориентированный граф называется сильносвязным, если любые две его вершины являются связанными [12]. Матрица является разложимой, если соответствующий ей граф не является сильносвязным [11, с. 26]. Ориентированный граф, соответствующий матрице Л, не является сильносвязным, поскольку наличие прямого пути между вершинами графа проекта означает отсутствие обратного пути. Следовательно, матрица Л является разложимой.
Выполним преобразования, необходимые для приведения к нормальной форме, для всех г и ], для которых ] > г и а^ > 0. Каждому ненулевому а^ соответствует нулевое значение aji. Таким образом, итогом преобразований станет нижняя треугольная матрица. ■
Лемма 2. Нормальная форма матрицы, описывающая частичный порядок работ инвестиционного проекта, представима в виде A = I ф F.
Доказательство. Из утверждения 1 следует, что нормальная форма матрицы частичного порядка работ проекта представима в виде A = D ф F. Согласно лемме 1, нормальная форма матрицы частичного порядка работ проекта имеет нижний треугольный вид. Тогда на диагонали матрицы D в разложении A = D ф F стоят блоки единичной размерности. Пусть в процессе приведения матрицы к нормальной форме мы поменяли местами столбцы i и j, а после этого переставили строки i и j. После таких преобразований элемент ац исходной матрицы займёт место элемента ajj и наоборот. Таким образом, диагональные элементы матрицы в нормальной форме останутся равными 1. Отсюда следует, что D — диагональная матрица, все диагональные элементы которой равны 1. Значит, D = I и A = I ф F. ■
Для каждой работы j Е {1,... , N} выполнение условий частичного порядка равносильно выполнению в смысле полукольца Rmax,+ неравенства
Sj ^ ají si ф aj2S2 ф ■ ■ ■ ф ajNsn• (9)
Для полумодуля Rmax + неравенство (9) можно переписать в матричном виде:
A ■ S ^ S.
Для нахождения расписания с минимальными возможными сроками начала работ рассмотрим уравнение
A ■ S = S. (10)
Лемма 3. Уравнение (10) имеет нетривиальное решение, если матрица A описывает частичный порядок работ инвестиционного проекта.
Доказательство. Согласно теореме 1, нетривиальное решение уравнения (10) для произвольной матрицы A существует, если выполняется равенство Tr A = 1. В смысле полукольца Rmax,+ след матрицы Am — максимальное расстояние вдоль всех циклических путей длины m. Поскольку речь идёт о работах в рамках проекта, циклические пути длины, отличной от нуля, отсутствуют. В противном случае каждая работа в цикле будет одновременно предшествовать другим работам и следовать за ними. Нулевому расстоянию вдоль циклических путей соответствует Tr A = 1 . Значит, условие существования нетривиального решения гарантированно выполняется. ■
Теорема 3. Решение уравнения (10) представимо в виде
S = A+u, (11)
где u — произвольный вектор из XN.
Доказательство. Согласно лемме 1, матрица частичного порядка работ инвестиционного проекта является разложимой, а её нормальная форма может быть представлена в виде A = D ф F. Согласно лемме 3, для матрицы частичного порядка работ инвестиционного проекта уравнение (10) имеет нетривиальное решение. По теореме 1 для нормальной формы разложимой матрицы A искомый вектор S находится по формуле S = G+D*u. Так как по лемме 2 для рассматриваемой матрицы проекта
D = I, то D+ = Dx = D* = I. Отсюда G = D+F = F, а G+D* = F+. С другой стороны, так как A = F ф I, то
A+ = I ф (F ф I) ф ••• ф (F ф I)N-1 = I ф F ф ••• ф Fn-1 = F+. Следовательно, G+D* = A+ и S = A+u. ■
Теорема 4 (достаточное условие допустимости расписания проекта по срокам). Пусть A — матрица частичного порядка работ инвестиционного проекта в нормальной форме, Q = (q1, ... , qN) —вектор длительностей выполнения работ, а Т — директивный срок завершения проекта. Тогда расписание S = A+u допустимо с точки зрения частичного порядка и срока реализации проекта, если для всех j = 1,... , N
umin ^ Uj ^ umax, (12)
где umin = (0,... , 0), umax = (b-A+)- и b — строка длины N, j-й элемент которой равен Т — qj.
Доказательство. Чтобы j-я работа была завершена в срок, она должна быть начата не позднее периода Т — qj. Составим из предельных сроков начала строку b. Поскольку, согласно теореме 3, расписание S представимо в виде (11), можем записать неравенство A+u ^ b. Согласно теореме 2, решением неравенства является вектор u ^ (b-A+)-. Отсюда umax = (b-A+)-. ■
3. Генетический алгоритм GASPIA 3.1. О п и с а н и е а л г о р и т м а
Задача календарного планирования с критерием максимизации приведённой прибыли является NP-трудной в сильном смысле [7]. Не вызывает сомнения, что применение эвристических методов к решению задачи является перспективным направлением исследований [13], в частности, следует отметить успешный опыт решения задачи календарного планирования с временным критерием с помощью генетического алгоритма [3]. Для решения задачи (1)-(4) предлагается генетический алгоритм GASPIA, впервые представленный в [9]. Моделирование эволюции исходной популяции в GASPIA осуществляется на основе результатов теорем 3 и 4. Опишем этапы алгоритма.
Каждую особь в популяции будем характеризовать с помощью генотипа и фенотипа. Под генотипом понимается набор независимых характеристик особи, интересующий нас в контексте задачи. Фенотип — это характеристика особи, определённая как функция от её генотипа. Пусть особи популяции представляют собой допустимые расписания работ по проекту. Тогда в качестве генотипа можно было бы рассматривать векторы S = (si, s2,... , Sn), компоненты которых определяют время начала соответствующей работы. Однако такой вариант генотипа затрудняет выполнение скрещиваний, поскольку компоненты родительских генотипов не могут быть произвольно смешаны без нарушения условий частичного порядка. В связи с этим в качестве генотипа особей будем рассматривать векторы u, координаты которых удовлетворяют соотношениям (12).
Такие векторы позволяют получать расписания, удовлетворяющие требованию порядка выполнения работ и предельному сроку завершения проекта. В процессе формирования исходной популяции необходимо сгенерировать нужное число векторов, удовлетворяющих соотношениям (12). Соответствующее вектору u расписание S будем определять с помощью формулы (11).
Помимо соответствия расписаний условиям частичного порядка необходимо обеспечить также выполнение бюджетных ограничений (4). Это можно сделать, например, включив штраф за нарушение ограничений в функцию приспособленности. Тогда в качестве фенотипа будет выступать размер ЖРУ проекта, скорректированный на величину штрафа:
N Яз с ,<т)
'<Б'=£ £ - М-'<*>• <13>
где М > 0 —достаточно большое число, а $<Б) равно 1, если хотя бы одно из ограничений (4) не выполняется. В противном случае $<Б) = 0. Если бюджетные ограничения не слишком жёсткие, то такой подход позволит исключать недопустимые по бюджету расписания на стадии отбора особей с наибольшим значением функции приспособленности. При малом количестве расписаний, допустимых по бюджету, применение генетического алгоритма будет затруднено ввиду отсутствия генетического разнообразия.
Рассмотрим особенности нахождения оптимального решения в зависимости от прибыльности или убыточности отдельных работ. Введём вспомогательный вектор С0, координаты которого рассчитываются по следующей формуле:
Ь, если ЖРУ ^ 0, Со ) = <
У ) |-1, если ЖРУ] < 0.
Если все компоненты вектора Со положительны, то все работы проекта приносят прибыль. Отсюда следует, что максимальное значение ЖРУ по такому проекту обеспечивает расписание, удовлетворяющее бюджетным ограничениям, с минимальными возможными сроками начала работ. Для прибыльных работ вклад в ЖРУ будет тем больше, чем раньше начинается работа, поскольку дисконтирующие множители находятся в прямой зависимости от срока начала работы. Если бюджетным ограничениям соответствует расписание Бт1П = А+ит1П, то именно оно обеспечивает оптимум целевой функции.
Если все компоненты С0 отрицательны, то все работы убыточны, а стоимость затрат можно уменьшить, отодвинув работы как можно дальше к концу срока. Очевидно, что минимум целевой функции в этом случае обеспечивает вектор Бтах = А+итах. Если расписание Бтах не удовлетворяет бюджетным ограничениям, то и все прочие расписания не будут допустимыми.
Описанные варианты проектов на практике встречаются редко. Для проектов сложной структуры часть работ предполагает только несение затрат на реализацию, тогда как другая часть обеспечивает поступление доходов. Учтём этот факт при построении правил скрещивания особей.
Процедурм скрещивания. При формировании генотипа потомков будем сравнивать компоненты генотипов родителей для одноимённых работ. Для пары родителей ик и и1 генотип потомка будет задаваться вектором икх1 с компонентами
и
кх1 = |тш{Со) ик, Со) ] | • (14)
3 I "]■> "3
Особи, появившиеся в результате скрещивания, соответствуют допустимым с точки зрения порядка работ расписаниям, но могут не соответствовать бюджетным ограничениям. На рис. 1 приведён пример скрещивания особей ик и и1. Белые круги соответствуют работам, для которых ЖРУ] < 0, а серые — работам, для которых ЖРУ] ^ 0. Применяя к векторам ик и и1 формулу (14), получим вектор-потомок икх1.
vk ( 3 с с с с с с о
3 с о с с с с о
3 О о с с с с о
|тш{(-1)-2,(-1).3}|=3
Рис. 1. Пример скрещивания особей ик и и1. Белые круги соответствуют работам, для которых Со = —1
Процедура мутации. Оператор мутации предназначен для внесения разнообразия в популяцию с целью избежать преждевременной сходимости алгоритма. В настройках алгоритма зададим долю особей популяции, генотип которых будет подвергаться мутации. В ходе применения оператора мутации будем заменять один случайно выбранный элемент генотипа так, чтобы выполнялись соотношения (12). Эта процедура также не ведёт к нарушению условий частичного порядка. Расписания, не удовлетворяющие бюджетным ограничениям, будут отсеиваться на стадии отбора лучших особей. Алгоритм мутации может быть описан следующим образом:
1) Выбрать в популяции вектор и.
2) Сгенерировать случайное число rnd_v Е [0,1].
3) Если rnd_v < pmut, где pmut — заданная вероятность мутации, выбрать случайный элемент вектора uj.
4) Заменить элемент uj случайным числом vmm ^ rnd_Vj ^ umax.
5) Повторить для всех особей популяции.
Отбор лучших особей. После применения генетических операторов число особей в популяции гарантированно возрастает. Кроме того, меняются характеристики особей, подвергнувшихся мутациям. Чтобы определить наиболее жизнеспособные особи, отсортируем популяцию в порядке убывания функции приспособленности (13). В популяцию следующего поколения попадает заданное число лучших особей. Поскольку функция приспособленности включает штраф за нарушение бюджетных ограничений, в следующее поколение будут преимущественно попадать особи, для которых ограничения не нарушаются. Критерием остановки алгоритма будем считать прохождение популяции через заданное число поколений.
3.2. В ы ч и с л и т е л ь н ы е э к с п е р и м е н т ы
Для проверки работы генетического алгоритма GASPIA написана программа на высокоуровневом языке программирования Python версии 3.9 в среде разработки IDLE. Все эксперименты проводились на персональном компьютере с процессором 2,3 GHz CPU и 8 Gb RAM с операционной системой Windows 10.
Вычислительные эксперименты проводились на моделях проектов из базы тестовых задач PSLIB [14]. Для примеров из набора j14 генерировались потоки платежей. Параметры потоков были подобраны таким образом, чтобы в одном случае все работы оказывались прибыльными, в другом были представлены как прибыльные, так и убыточные работы. Для серий из 100 экспериментов получены средние значения целевой функции в зависимости от типа потока платежей. Число поколений равно 50, а чис-
ло особей в популяции —100. Результаты экспериментов приведены в табл. 1. Точные решения поставленной задачи были найдены с помощью пакета программ IBM ILOG CPLEX. Для случая, когда все работы являются прибыльными, точному решению соответствует NPV = 46,654. Для смешанного варианта максимальное значение NPV составляет 31,224.
Таблица 1
Результаты экспериментов для проекта из 14 работ
Тип потока Максимум NPV Средняя NPV Отклонение, %
Прибыльный 46,654 45,859 1,705
Смешанный 31,224 30,830 1,263
Результаты экспериментов показывают, что алгоритм демонстрирует высокую точность даже для небольшого числа поколений и особей в популяции. В серии экспериментов были получены в том числе расписания, соответствующие точным решениям. Для смешанного потока платежей оценки влияния параметров алгоритма на отклонение от наилучшего решения приведены в табл. 2. Из табл. 2 видно, что с ростом числа поколений и размера популяций существенно улучшается качество найденных решений.
Таблица 2 Отклонение от точного решения, %
Поколения Особи
50 100 500
10 7,358 4,243 0,946
20 4,69 2,271 0,157
50 2,648 1,263 0,000
Обратим внимание также на структуру популяции с точки зрения допустимости расписаний по бюджету. На рис. 2 приведена динамика доли недопустимых расписаний в популяции для одного из экспериментов. Если в начальной популяции эта доля достаточно высока, то уже за первые несколько поколений она падает почти до нуля. В результате скрещивания и мутаций в дальнейшем в популяции продолжают появляться недопустимые расписания, но отбор позволяет их исключать.
Поколение
Рис. 2. Изменение доли допустимых по сроку, но недопустимых по бюджету расписаний
Благодаря включению штрафов за нехватку средств в функцию приспособленности алгоритм обеспечивает преимущество допустимым по бюджету расписаниям.
Однако если таких расписаний в популяции мало, результативность генетического алгоритма снижается.
ЛИТЕРАТУРА
1. Гимади Э. Х., Пузынина Н. М. Задача календарного планирования крупномасштабного проекта в условиях ограниченных ресурсов: Опыт построения математического обеспечения // Управляемые системы. 1983. Вып. 23. С. 24-32.
2. Гимади Э. Х., Залюбовский В. В., Севастьянов С. В. Полиномиальная разрешимость задач календарного планирования со складируемыми ресурсами и директивными сроками // Дискретный анализ и исследование операций. Сер. 2. 2000. Т. 7. Вып. 1. С. 9-34.
3. Гончаров Е. Н., Леонов В. В. Генетический алгоритм для задачи календарного планирования с ограниченными ресурсами // Автоматика и телемеханика. 2017. №6. С. 173-179.
4. Гончаров Е. Н., Мишин Д. В. Точный алгоритм для задачи календарного планирования с ограниченными ресурсами // Прикладная математика и фундаментальная информатика. 2017. Т. 4. №1. С. 43-53.
5. Hartmann S. and Briskorn D. An updated survey of variants and extensions of the resource-constrained project scheduling problem // Eur. J. Operat. Res. 2022. Iss. 1. P. 1-14.
6. HabibiF., Barzinpour F., and Sadjadi S. Resource-constrained project scheduling problem: review of past and recent developments //J. Project Management. 2018. V. 3. Iss. 2. P. 55-88.
7. Казаковцева Е. А., Сервах В. В. Сложность задачи календарного планирования с кредитованием // Дискретный анализ и исследование операций. 2015. Т. 22. №4. С. 35-49.
8. Сервах В. В., Сухих С. Л. Гибридный алгоритм для задачи календарного планирования с учетом реинвестирования прибыли // Автоматика и телемеханика. 2004. Вып. 3. С.100-107.
9. Bulavchuk A. M. and Semenova D. V. Genetic algorithm based on idempotent algebra methods for RCPSP // IEEE 15th Intern. Conf. AICT. 2021. P. 1-4.
10. Литвинов Г. Л., Маслов В. П., Соболевский А. Н. Идемпотентная математика и интервальный анализ // Вычислительные технологии. 2001. Т. 6. №6. С. 41-70.
11. Кривулин Н. К. Методы идемпотентной алгебры в задачах моделирования и анализа сложных систем. СПб.: Изд-во С.-Петерб. ун-та, 2009. 256с.
12. Омельченко А. В. Теория графов. М.: МЦНМО, 2018. 416с.
13. Кочетов Ю.А., Столяр А. А. Новые жадные эвристики для задачи календарного планирования с ограниченными ресурсами // Дискретный анализ и исследование операций. 2005. Т 12. №1. С. 12-36.
14. https://www.om-db.wi.tum.de/psplib/ — Project scheduling problem library. 2022.
REFERENCES
1. Gimadi E. Kh. and Puzynina N. M. Zadacha kalendarnogo planirovaniya krupnomasshtabnogo proyekta v usloviyakh ogranichennykh resursov: Opyt postroyeniya matematicheskogo obespecheniya [Problem of the calendar planning of a large-scale design under the conditions of limited resources: experience in the construction of software]. Upravliaemie Systemy, 1983, no. 23, pp. 24-32. (in Russian)
2. Gimadi E.Kh., Zalyubovskii V. V., and Sevast'yanov S. V. Polinomial'naya razreshimost' zadach kalendarnogo planirovaniya so skladiruyemymi resursami i direktivnymi srokami [Polynomial solvability of scheduling problems with storable resources and directive deadlines]. Diskretn. Anal. Issled. Oper., Ser. 2, 2000, vol. 7, no. 1, pp. 9-34. (in Russian)
3. Goncharov E. N. and Leonov V. V. Geneticheskiy algoritm dlya zadachi kalendarnogo planirovaniya s ogranichennymi resursami [Genetic algorithm for the resource-constrained project scheduling problem]. Avtomatika i Telemekhanika, 2017, no. 6, pp. 173-179. (in Russian)
4. Goncharov E. N. and Mishin D. V. Tochnyy algoritm dlya zadachi kalendarnogo planirovaniya s ogranichennymi resursami [Exact algorithm for the resource-constrained project scheduling problem]. Prikladnaya Matematika i Fundamental'naya Informatika, 2017, vol.4, no. 1, pp. 43-53. (in Russian)
5. Hartmann S. and Briskorn D. An updated survey of variants and extensions of the resource-constrained project scheduling problem. Eur. J. Operat. Res., 2022, iss. 1, pp. 1-14.
6. HabibiF., Barzinpour F., and Sadjadi S. Resource-constrained project scheduling problem: review of past and recent developments. J. Project Management, 2018, vol.3, iss.2, pp.55-88.
7. Kazakovtseva E. A. and Servakh V. V. Slozhnost' zadachi kalendarnogo planirovaniya s kreditovaniyem [Complexity of the project scheduling problem]. Diskretn. Analiz i Issled. Oper., 2015, vol.22, no. 4, pp. 35-49. (in Russian)
8. Servakh V. V. and Soukhikh S. L. Gibridnyy algoritm dlya zadachi kalendarnogo planirovaniya s uchetom reinvestirovaniya pribyli [Hybrid algorithm for scheduling with regard for reinvestment of profits]. Avtomatika i Telemekhanika, 2004, no.3, pp. 100-107. (in Russian)
9. Bulavchuk A. M. and Semenova D. V. Genetic Algorithm Based on Idempotent Algebra Methods for RCPSP. 2021 IEEE 15th Intern. Conf. AICT, 2021, pp. 1-4.
10. Litvinov G. L., Maslov V. P., and Sobolevsky A. N. Idempotentnaya matematika i interval'nyy analiz [Idempotent mathematics and interval analysis]. Vychislitel'nye Tekhnologii, 2001, vol. 6. no. 6. pp. 41-70. (in Russian)
11. Krivulin N. K. Metody idempotentnoy algebry v zadachakh modelirovaniya i analiza slozhnykh sistem [Methods of Idempotent Algebra in Problems of Complex Systems Modeling and Analysis]. St. Petersburg University Press, St. Petersburg, 2009. 255 p. (in Russian)
12. Omelchenko A. V. Teoriya grafov [Graph Theory]. Moscow, MCCME Publ., 2018. 416p. (in Russian)
13. Kochetov Y. A. and Stolyar A. A. Novye zhadnye evristiki dlya zadachi kalendarnogo planirovaniya s ogranichennymi resursami [New greedy euristics for the the resource constrained project scheduling problem]. Diskretn. Analiz i Issled. Oper., 2005, vol. 12, no. 1, pp. 12-36. (in Russian)
14. https://www.om-db.wi.tum.de/psplib/ — Project scheduling problem library, 2022.