Модифицированный алгоритм Романовского быстрого нахождения приближённого решения однородной распределительной задачи

Автор: Нейдорф Рудольф Анатольевич, Жикулин Артм Александрович

Журнал: Вестник Донского государственного технического университета @vestnik-donstu

Рубрика: Технические науки

Статья в выпуске: 6 (67) т.12, 2012 года.

Бесплатный доступ

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

Теория расписаний, однородная задача, минимаксный критерий, метод ветвей и границ, дерево вариантов

Короткий адрес: https://sciup.org/14249906

IDR: 14249906

Текст научной статьи Модифицированный алгоритм Романовского быстрого нахождения приближённого решения однородной распределительной задачи

Введение. Исследования в области классической теории расписаний (КТР) сохраняют актуальность, несмотря на большое количество научно-исследовательских работ, посвящённых этой теме [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 с.
Статья научная