Модифицированный алгоритм Романовского быстрого нахождения приближённого решения однородной распределительной задачи
Автор: Нейдорф Рудольф Анатольевич, Жикулин Артм Александрович
Журнал: Advanced Engineering Research (Rostov-on-Don) @vestnik-donstu
Рубрика: Технические науки
Статья в выпуске: 6 (67) т.12, 2012 года.
Бесплатный доступ
Разработана модификация алгоритма Романовского приближённого решения однородной распределительной задачи, обладающая низкими требованиями к ресурсам по сравнению с исходным алгоритмом. Описаны внесённые в оригинальный алгоритм изменения, которые позволяют обеспечить более эффективную процедуру формирования загрузки исполнителей заданиями. Приведены результаты вычислительных экспериментов.
Теория расписаний, однородная задача, минимаксный критерий, метод ветвей и границ, дерево вариантов
Короткий адрес: https://sciup.org/14249906
IDR: 14249906 | УДК: 681.3.681.5
Modified Romanovsky algorithm for quick finding of approximate solution to homogeneous allocation problem
The modification of Romanovsky algorithm for the approximate solution to the homogeneous allocation problem is developed. The modification involves lower resource requirements as against the original algorithm. The changes in the original algorithm which permit to provide a more effective procedure of loading executors with tasks are described. The computational experiments are resulted.
Текст научной статьи Модифицированный алгоритм Романовского быстрого нахождения приближённого решения однородной распределительной задачи
Введение. Исследования в области классической теории расписаний (КТР) сохраняют актуальность, несмотря на большое количество научно-исследовательских работ, посвящённых этой теме [1, 2]. Для КТР характерны два типа задач, существенно отличающиеся постановкой задачи и методами решения: однородные (ОРЗ) и неоднородные (НРЗ) распределительные задачи (РЗ). Несмотря на более упрощённую форму, ОРЗ принадлежат к классу NP-полных задач с показательным ростом сложности при увеличении размерности. Одной из наиболее популярных и перспективных тем исследований является разработка эффективных приближённых алгоритмов, обладающих высокой скоростью решения РЗ.
Постановка задачи. В связи со сформулированной во введении проблемой в данной работе ставится задача создания приближённого алгоритма решения ОРЗ, который бы обладал достаточно хорошими точностными свойствами при низких требованиях к ресурсам. Общая математическая модель постановки и решения ОРЗ, предложенная в работе [3], выглядит следующим образом. Рассматривается исполнительная система (ИС), состоящая из m идентичных, параллельно работающих исполнителей Е = {elz...,em}. На вход ИС поступает множество п независимых за даний (работ) W = {и/1,...,и/я}, которые необходимо распределить между исполнителями. Изве'
стен ресурс выполнения каждого /-го задания г,, и он одинаков для любого >го исполнителя еу. Таким образом, множеству И/сопоставлено //-множество ресурсов R = {rlz...,r„}. Решением ОРЗ является множество Dw ={H/lz...,kl/m}z в котором подмножества заданий И/ = {wk jwk е И/)отвечают обязательному свойству:
Vj,^ е [l,m] Qm/; = И/; И/;р|И4=0. 7=1 j#k
Запланированная вариантом D™ загрузка заданиями каждого исполнителя еу оценивается ресурсом R., где Rj = ^rk; rk -.Wk eW] . В результате решению ОРЗ в виде конкретного варианта
D™ сопоставляется оценочное множество Dr = {/?lz...,/?m}. Для оценки решения РЗ формируется функция Qm \_Dr~\, отражающая требования к свойствам этого решения. Например, максимальная по ресурсу загрузка одного из исполнителей
Qm \DrA = maxf/?, | j = l,m]
L J r V 1 )
представляет собой оценку ресурсоёмкости решения и считается наиболее эффективной среди функционалов, а если в качестве ресурса выступает время, то выражение (1) является оценкой производительности ИС.
При любом критерии наилучшим способом конкретизации и обеспечения эффективности решения является оптимизационный подход. Например, от оценки (1) целесообразно задаться условиями минимальности значения в окончательном её решении. Это порождает минимаксный критерий (ММК) оптимизации:
<2™™ Гог1 = min maxi/?, | j = l,m).
L J E,W R l )
Современные методы решения ОРЗ. Одним из подходов к решению поставленной задачи является разработка нового алгоритма решения РЗ на основе уже существующего метода путём его модификации с целью повышения его эффективности. Для решения ОРЗ зарубежными и российскими учёными разработано множество алгоритмов — как точных, так и приближённых. Наиболее известным и широко распространённым точным методом решения является алгоритм Романовского (АР), описанный и исследованный во многих источниках [4], [5]. Методологически АР принадлежит к классу методов «ветвей и границ», которые значительно снижают ресурс решения РЗ по сравнению с алгоритмом прямого перебора. Однако в худшем случае алгоритм осуществляет проверку всех возможных вариантов решений, что приводит к большим объёмам вычислений для нахождения оптимума. Таким образом, даже для задач невысокой размерности получение оптимального решения за приемлемое время становится невозможным. Несмотря на этот недостаток, АР обладает высокой скоростью сходимости к области решений, близких к абсолютному оптимуму, по сравнению с другими точными алгоритмами. Это обусловлено грамотным применением в АР механизма отсечения бесперспективных ветвей поиска. Поэтому, по мнению авторов, в качестве базового метода для создания эффективного приближённого алгоритма решения ОРЗ наиболее целесообразно использовать АР.
Алгоритм Романовского точного решения ОРЗ. АР заключается в последовательных попытках получения распределения заданий по исполнителям так, что загрузка каждого исполнителя не превышала максимально допустимой загрузки исполнителя z. Для выделения последующих z-задач используется итеративная формула zk = Fz(fak_vfbk_^
где fa — нижняя граница (оценка снизу) поиска, fb — верхняя граница (оценка сверху) поиска, F, — функция изменения z, причём z. е (fa,, „fb^ Л, к — шаг итерации. Если на к-м шаге итерации z-задача имеет решение, то значение верхней границы изменяется, т. е. fbk =Qm, иначе изменяется значение нижней границы, т. е. fak = zk.
В результате последовательного рассмотрения z-задач происходит уменьшение интервала поиска оптимального распределения, которое завершается при выполнении условия fbk =fak+l
Для решения z-задач применяется метод ветвей и границ с односторонним обходом дерева вари антов. Если представить, что исполнители могут обеспечить ресурсами в количестве, равном z то у ИС должно оставаться свободное количество ресурсов slack = zm - R, где z — количество ресурса у исполнителя, т — количество исполнителей, R, — частичная загрузка исполнителей на определённом шаге алгоритма.
Задания назначаются исполнителям последовательно из списка заданий, в котором они упорядочены по уменьшению ресурса выполнения, таким образом, чтобы каждый раз назначалось задание с самым большим ресурсом выполнения. Назначение заданий продолжается при соблюдении условия slack > 0.
Иначе необходимо произвести отмену назначения текущего задания и попытаться назначить другое. В худшем случае алгоритму требуется перебрать все варианты для получения решения.
Модифицированный АР (МАР) быстрого нахождения приближённого решения ОРЗ. Основным недостатком АР является высокая требовательность к ресурсам при определённых условиях ОРЗ, поскольку в худшем случае он осуществляет перебор всех возможных вариантов решений, что ведёт к большим объёмам вычислений. Это присуще всем алгоритмам, построенным по схеме методов «ветвей и границ». Таким образом, для увеличения быстродействия АР наиболее целесообразно изменить алгоритм решения z-задачи, а итеративный принцип выделения z- задачи оставить без изменения. Более того, с целью получения наибольшей производительности разрабатываемого алгоритма решение z-задачи необходимо осуществлять по оригинальной стратегии АР до тех пор, пока не будет осуществлена отмена назначения текущего задания. Это обусловлено тем, что АР довольно быстро сходится к области решений, близких к абсолютному оптимуму.
Поскольку для решения z-задачи АР осуществляет односторонний обход дерева всех возможных решений, то при неблагоприятных условиях ОРЗ будет осуществлён перебор большого количества вариантов. Поэтому необходимо изменить способ перебора распределений заданий по исполнителям с целью минимизации вариантов, рассматриваемых алгоритмом при поиске решения. Таким образом, авторами предлагается внести следующие изменения в оригинальный алгоритм решения z-задачи.
Во-первых, необходимо назначать задания каждому >му исполнителю так, чтобы его загрузка /? была максимальна для значения z. Таким образом, необходимо формировать набор заданий И/, = {и^ | wk е W^, где W — множество ещё не назначенных исполнителям заданий с максимальным значением загрузки среди всех возможных комбинаций заданий из множества W . Тогда как в АР исполнителю назначается первая рассмотренная комбинация заданий, удовлетворяющих условию (2). В отличие от оригинального алгоритма, в разрабатываемом алгоритме назначается такой набор заданий, который минимизирует дефицит загрузки исполнителя. По мнению авторов, этот эвристический подход позволит значительно быстрее достигать решения, удовлетворяющего z.
Во-вторых, если для исполнителя е; не существует набора заданий и/; = {и^ |и^ eiv}, который удовлетворяет условию (2), то алгоритм осуществляет процедуру отката не к предыдущему исполнителю ejA, как в АР, а к первому исполнителю et. Эта стратегия позволит значительно сократить перебор вариантов решений за счёт максимального отсечения нижних ветвей дерева поиска. В то же время данный подход рассматривает широкий диапазон разнообразных решений, поскольку осуществляется проход по всем верхним ветвям дерева вариантов. Однако это не позволит перебрать все возможные решения, что в худшем случае может привести к пропуску искомого оптимума. Поэтому эта модификация АР является приближённым методом решения ОРЗ в отличие от исходного алгоритма.
Добавим вышеописанные изменения в оригинальный АР — и алгоритм решения z-задачи примет следующий вид.
Ш.1 Решаем z-задачу по оригинальной стратегии АР. Если на этапе выполнения алгоритма необходимо произвести отмену назначения текущего задания, т. е. не выполняется уело- вие (2), то осуществляем быстрый поиск решения z-задачи по модифицированной стратегии, т. е. переходим на Ш.2. Иначе решение z-задачи найдено, переходим на Ш.11.
Ш.2 W =W, j = 1.
Ш.З Пока j < т, иначе — на Ш.11.
Ш.4 Wtet = 0, R^ =0, где Wte5t — набор заданий, имеющих max значение загрузки V 1У, = {jv* | wk g И/j.
Ш.5 Осуществляем перебор всех возможных и/, = lwk I wk е И/1.
Ш.б Если Rj=z , где Rj — загрузка И/, то И/^ = И/, Rbest =R, — и переходим на Ш.8.
Ш.7 Иначе если slack > 0 и Rj. > Rbest , то Wbest = И/, Rbest =Rj — и переходим на Ш.Б.
Ш.8 Если Wbast не пустое множество, то Wbest назначается исполнителю е^, W = W /Wk, j = j +1 — и переходим на Ш.З.
Ш.9 Иначе для исполнителя е, не найден набор заданий, удовлетворяющих условию (2). Если у =1, то просмотрены все рассматриваемые варианты решений, т. е. решение не найдено. Поэтому — выход из алгоритма.
Ш.10 В противном случае осуществляем откат к первому исполнителю elz т. е. у =1,
W -И/, wbest = 0,Rbest =0, И/ = Wnext, где Wnext — набор заданий, который ещё не рассматривался алгоритмом, — и переходим на Ш.б.
Ш.11 Решение найдено, формируем результат.
Сравнительный анализ эффективности алгоритмов решения ОРЗ. Для сравнительного анализа эффективности алгоритмов решения ОРЗ помимо модифицированного и исходного АР также использовались метод критического пути (МКП) и эволюционно-генетический алгоритм (ЭГА). Эти алгоритмы являются приближёнными методами решения и характеризуются высокими ресурсно-точностными показателями среди алгоритмов этого класса. С целью исследования эффективности вышеуказанных алгоритмов были проведены вычислительные эксперименты при разных значениях параметров задачи. Такими параметрами являются: п — количество заданий, т — количество исполнителей, [zlzz2] — диапазон генерации ресурсов заданий. В качестве эволюционно-генетической модели используется модель, описанная в работе [5]. В ходе экспериментов были случайным образом сгенерированы по 100 векторов ресурсов заданий в диапазоне [zlzz2]. Для анализа точностных характеристик приближённых алгоритмов на малых размерностях ОРЗ используется процент нахождения оптимальных решений Р0ПТ, а ресурсных — среднее время выполнения алгоритма £"ф(в секундах) по 100 опытам (табл. 1).
По результатам, приведённым в таблице 1, видно, что точностные свойства МАР значительно лучше других приближённых алгоритмов. Поскольку при неблагоприятных условиях МАР находил оптимальные решения в 92 % случаев, тогда как МКП — 0 %, а ЭГА — 70 %. По ресурсным характеристикам МАР находится на уровне МКП и на порядок быстрее, чем АР и ЭГА.
Согласно исследованиям [5], для АР одним из самых неблагоприятных условий ОРЗ является случай, когда л? = 3, л = 17 и диапазон ресурсов заданий [25..30]. Поэтому проведены дополнительные вычислительные эксперименты, результаты которых подтвердили высокие точностные характеристики МАР: МАР в 100 % случаях находил оптимум, МКП — 0 %, ЭГА — 97 %.
Таблица 1
Результаты экспериментов на малых размерностях ОРЗ
|
m |
п |
k^z] |
АР |
МАР |
МКП |
ЭГА |
||||
|
Ропт |
tcp |
Ропт |
tcp |
Ропт |
tcp |
Ропт |
tcp |
|||
|
2 |
12 |
[50, 55] |
100 |
<0.001 |
100 |
<0.001 |
94 |
<0.001 |
100 |
0.171 |
|
2 |
12 |
[30, 65] |
100 |
<0.001 |
100 |
<0.001 |
36 |
<0.001 |
100 |
0.207 |
|
2 |
14 |
[50, 55] |
100 |
0.001 |
100 |
<0.001 |
92 |
<0.001 |
100 |
0.239 |
|
2 |
14 |
[30, 65] |
100 |
<0.001 |
100 |
<0.001 |
51 |
<0.001 |
100 |
0.196 |
|
3 |
13 |
[40, 60] |
100 |
0.896 |
99 |
<0.001 |
0 |
<0.001 |
99 |
0.245 |
|
4 |
12 |
[50, 55] |
100 |
0.032 |
1ОО |
<0.001 |
85 |
<0.001 |
1ОО |
0.221 |
|
4 |
12 |
[30, 65] |
100 |
0.249 |
92 |
<0.001 |
36 |
<0.001 |
89 |
0.264 |
|
4 |
14 |
[50, 55] |
100 |
25.329 |
1ОО |
<0.001 |
0 |
<0.001 |
96 |
0.280 |
|
4 |
14 |
[30, 35] |
100 |
3.618 |
99 |
<0.001 |
0 |
<0.001 |
70 |
0.333 |
Также проведены эксперименты на более высоких размерностях ОРЗ: m > 3, п > 31. Поскольку АР в поставленных экспериментах довольно часто не позволял получить решение за приемлемое время (менее 30 минут), в качестве показателя, оценивающего точностные характеристики алгоритмов, используется процент решений Рмин, имеющих минимальную оценку по опыту (табл. 2).
Таблица 2
Результаты экспериментов на больших размерностях ОРЗ
|
m |
n |
Ezi'zz] |
MAP |
МКП |
ЭГА |
|||
|
p ' мин |
tcp |
p ' мин |
tcp |
p ' мин |
tcp |
|||
|
3 |
31 |
[50, 55] |
1OO |
0.023 |
0 |
<0.001 |
57 |
0.795 |
|
3 |
31 |
[30, 65] |
1OO |
0.001 |
0 |
<0.001 |
93 |
0.703 |
|
3 |
51 |
[50, 55] |
1OO |
0.018 |
89 |
<0.001 |
1OO |
0.609 |
|
3 |
51 |
[30, 65] |
1OO |
0.002 |
73 |
<0.001 |
81 |
0.823 |
|
4 |
41 |
[40, 60] |
1OO |
0.092 |
0 |
<0.001 |
31 |
0.802 |
|
5 |
31 |
[50, 55] |
1OO |
0.010 |
0 |
<0.001 |
26 |
0.848 |
|
5 |
31 |
[30, 65] |
1OO |
0.001 |
0 |
<0.001 |
90 |
0.548 |
|
5 |
51 |
[50, 55] |
1OO |
0.087 |
0 |
<0.001 |
1 |
1.535 |
|
5 |
51 |
[30, 35] |
1OO |
0.002 |
0 |
<0.001 |
0 |
1.139 |
По результатам, приведённым в таблице 2, МАР не только подтвердил, но и значительно улучшил свои точностные характеристики по сравнению с другими алгоритмами. Во всех проведённых экспериментах МАР находил решение с min оценкой по опыту, тогда как в других алгоритмах этот показатель сильно изменялся: МКП — от 0 до 89 %, ЭГА — от 0 до 100 % . Однако среднее время расчёта значительно увеличилось по сравнению с ранее проведёнными экспериментами на малых размерностях ОРЗ, а именно: с 1 мс до 92 мс. Согласно этому факту, можно сделать предположение, что МАР имеет экспоненциальный рост времени выполнения относительно размерности задачи. Таким образом, необходимы дальнейшие исследования алгоритма для проверки этой гипотезы. Хочется отметить, что ни в одном опыте количество вариантов, рассматриваемых МАР, при поиске решений не достигло полного перебора, что указывает на эффективность внесённых изменений в АР.
Выводы. МАР обладает высокими ресурсно-точностными характеристиками при решении ОРЗ невысоких размерностей (т<5,л<51) по сравнению с другими приближёнными алгоритмами. Разработанный алгоритм позволяет в большинстве случаев получать решения с более низкой оценкой по ММК, чем МКП (в среднем в 67,9 % случаев) и ЭГА (25,3 %). К тому же время выполнения МАР во всех экспериментах не превысило 100 мс, что указывает на эффективность внесённых в АР изменений. Однако быстрый рост времени работы алгоритма относительно размерности задачи требует дальнейшего исследования и улучшения МАР.
Список литературы Модифицированный алгоритм Романовского быстрого нахождения приближённого решения однородной распределительной задачи
- Коффман, Э. Г. Теория расписания и вычислительные машины/Э. Г. Коффман. -Москва: Наука, 1984. -334 с.
- Конвей, Р. В. Теория расписаний/Р. В. Конвей, В. Л. Максвелл, Л. В. Миллер. -Москва: Наука, 1975. -360 с.
- Нейдорф, Р. А. Методологические проблемы теории расписаний/Р. А. Нейдорф, В. Г. Кобак//Системный анализ, управление и обработка информации: 1-й межвуз. сб. науч. ст./ДГТУ; ТТИ ЮФУ. -Ростов-на-Дону, 2007. -С. 101-108.
- Романовский, И. В. Алгоритмы решения экстремальных задач/И. В. Романовский. -Москва: Наука, 1977. -352 с.
- Будиловский, Д. М. Оптимизация решения задач теории расписаний на основе эволюционно-генетической модели распределения заданий: дисс.. канд. техн. наук. -Ростов-на-Дону, 2007. -212 с.