В.ВМеньших, доктор Е.Ю.Никулина
физико-математических наук, профессор
ОЦЕНКИ ДЛИТЕЛЬНОСТИ ВЫПОЛНЕНИЯ ЗАПРОСА В РАСПРЕДЕЛЕННЫХ СИСТЕМАХ ОВД МЕТОДОМ ВЕТВЕЙ
И ГРАНИЦ
Введение.
В ходе создания единой информационно-телекоммуникационной системы органов внутренних дел возникает необходимость выбора оптимальных вариантов конфигурации отдельных подсистем. Общая модель оптимизации выбора вариантов предложена в [1]. Однако в этой работе не рассматриваются вопросы оценки отдельных параметров модели. Одним из важнейших параметров является Т — время выполнения типового запроса.
Типовой запрос представляет собой совокупность частично-упорядоченных операций, выполняемых несколькими исполнителями (например, узлами информационной системы). Оценка времени выполнения такого запроса предполагает решение задачи оптимального упорядочения данной совокупности операций, что относится к классу задач теории расписаний, где осуществляется минимизация временного параметра.
Одним из наиболее распространенных методов решения поставленной задачи теории расписаний является метод ветвей и границ [2, 3]. Однако очень часто возникают ситуации, при которых времена выполнения отдельных операций мало отличаются друг от друга. Это позволяет осуществить решение рассматриваемой задачи теории расписаний при дополнительном ограничении: времена выполнения отдельных операций ti считаются равными единице времени.
Данная работа посвящена разработке варианта метода ветвей и границ решения задачи теории расписаний с учетом указанного ограничения.
1. Общая схема метода ветвей и границ.
В основе метода ветвей и границ лежит идея последовательного разбиения множества допустимых вариантов на подмножества. На каждом шаге метода элементы разбиения подвергаются проверке для выяснения, содержит данное подмножество оптимальное решение или нет. Проверка осуществляется посредством вычисления оценки снизу до для целевой функции на данном подмножестве. Если оценка снизу не меньше рекорда дг - наилучшего из найденных решений, то подмножество может быть отброшено. Проверяемое подмножество может быть отброшено еще и в том случае, когда в нем удается найти наилучшее решение. Если значение целевой функции на найденном решении меньше рекорда, то происходит смена рекорда. По окончании работы алгоритма рекорд является результатом его работы.
Если удается отбросить все элементы разбиения, то рекорд — оптимальное решение задачи. В противном случае, из неотброшенных подмножеств выбирается наиболее
перспективное (например, с наименьшим значением нижней оценки), и оно подвергается разбиению. Новые подмножества вновь подвергаются проверке и т.д.
Множество информационных отношений между взаимосвязанными операциями задается с помощью матрицы N = (п^), s, t = 1,...,п
п.и =
1, если при выполнении операции t используются результаты выполнения операции я; (1)
0 — в остальных случаях.
Процесс построения оптимального расписания заключается во введении дополнительных причинно-следственных отношений, определяющихся уже не процессом передачи информации от одной операции к другой, а искусственным их упорядочиванием в связи с принадлежностью отдельному исполнителю.
В случае составления расписания процесс нахождения каждого варианта можно интерпретировать как введение причинно-следственных отношений
N = (п^), .,t = 1,...,п , т.е. дуг между операциями одного исполнителя.
Под методом ветвей и границ понимается ни один какой-то метод, а множество вариантов, имеющих общую схему выбора оптимального решения. Все варианты метода ветвей и границ отличаются друг от друга лишь описанием правил ветвления, оценки частичных решений и обхода дерева решений. Природа этих правил такова, что в общем случае нельзя говорить об их эффективности во всех ситуациях. Проверку эффективности этих правил можно осуществить только статистически или исходя из логических рассуждений.
Ниже предлагаются новые правила оценки, ветвления и обхода дерева решений, использующие полученные в работе результаты исследования простых диспетчеров и их эффективность.
2. Правило ветвления.
Оно представляет собой способ задания последовательности:
N С N и N * £ N и N2 £ ... £ N и N (2)
Учитывая, что оценки частичных решений удобно производить, принимая во внимание локальные свойства графов отношений, будем производить ветвление по ярусам ярусно-параллельной формы (ЯПФ) [3].
Введем определение простого и составного яруса.
Разделим все ярусы графов отношений N и Ni }на два класса — простые и составные.
Ярус назовем простым, если
1) все предыдущие ярусы с меньшим номером являются простыми или вовсе отсутствуют (для первого яруса);
2) ярус содержит не более одной операции одного исполнителя.
Остальные ярусы будем относить к разряду составных.
Опишем процесс построения последовательности (2.1). Если граф отношений N не содержит составных ярусов, то дерево решений включает в себя только одну вершину, т.е. N = 0.
Рассмотрим граф, построенный по отношению N и N1. Найдем составной ярус с минимальным номером г и преобразуем его по следующему правилу: среди множества
л
п.. =
операций каждого исполнителя в ярусе с номером г выбирается операция, удовлетворяющая следующим свойствам:
1) является одной из ранее не выбранных операций;
2) имеет наибольший приоритет в соответствии с некоторым правилом Рг дерева решений.
Выбранные вершины (их не более одной для каждого исполнителя) оставляем в ярусе г, а остальные переводим в ярус г+1, добавив дуги от выбранных операций к остальным операциям одного и того же исполнителя. Таким образом, речь идет о ярусах
*
уже нового графа, построенного по отношению N и Nk и NЛ, где
Л
N л = (п^ )', ] = 1,..., п отношение, задаваемое по следующему правилу:
1, если в ярусе г была выбрана операция ',
а . — другая операция того же исполнителя в ярусе г; (3)
0, если иначе.
Примем, что + 1 = и N Л.
*
Процесс ветвления заканчивается, когда граф отношения N и Nk не содержит составных ярусов.
Очевидно, что процесс ветвления в соответствии с данным правилом конечен; на каждом шаге увеличивается число простых ярусов в точности на 1;число всех операций конечно, а ярус не может содержать менее одной вершины.
3. Правило оценки.
В соответствии с общей схемой метода ветвей и границ оценка частичных решений должна обладать следующими свойствами:
1) не превышать длину оптимального расписания;
2) монотонно возрастать по мере разбиения множества решений на подмножества. Обратимся к оценкам частичных решений.
Разделим все операции на две группы:
1) операции, входящие в простой ярус;
2) операции, входящие в составной ярус.
Рассматриваемая нами задача обладает специфическим свойством - длительности всех операций равны единице времени. Из этого следует, что при выборе оптимального варианта нет необходимости в планировании искусственных простоев исполнителей, т.к. к следующему моменту начала выполнения любой исполнитель освободится. То есть ни в одном простом ярусе не происходит задержек ни одной операции, т.к. введение таких задержек не может способствовать сокращению времени выполнения всей последовательности операций. А значит, выполнение всех операций первой группы предшествует выполнению операций второй группы. Поэтому оценка частичного решения складывается из оценки для простых ярусов и составных:
0, = 0,пр + Qсост, (4)
где Qпр — оценка частичных решений для простых ярусов; Qсост — для составных ярусов.
Произведем оценки отдельно для простых и составных ярусов. В каждом простом ярусе содержится не более одной операции каждого исполнителя, поэтому
^р < Rnр, (5)
где Япр — число простых ярусов графа на отдельном шаге метода.
Из определения ЯПФ [3] следует, что
Qnр > Япр. (6)
Таким образом, приходим к равенству
Qnp = Rnp. (7)
Обратимся к оценке времени выполнения операций, находящихся в составном
ярусе. Обозначим Vcocm с V — операции, входящие в составные ярусы, V — операции i-го исполнителя.
С одной стороны, время выполнения всех операций составных ярусов не менее числа операций любого i-го исполнителя, входящих в эти ярусы:
Vi П Кост .| . (8)
Таким образом,
Q > max V n V I (9)
ъ-'сост _i |р|1 1 сост \ V /
1 _1,. • • р \
С другой стороны, из определения ЯПФ следует, что
Qсосm. — Rсост:,
(10)
где Ксост — количество составных ярусов.
Таким образом, мы доказали следующее утверждение:
Утверждение 1.
Rnp. + max(Кот таХ\И ПКоЦ) (11)
является нижней оценкой частичного решения.
Для использования этой оценки в методе ветвей и границ необходимо доказать монотонность этой оценки в процессе ветвления.
Рассмотрим последовательность причинно- следственных отношений (2).
Пусть на к-м шаге ветвления оценка частичного решения определялась как
Rknp : max( Rkcocm, mx V n Vkocm ),
а на (k+1)- м шаге
k
r^1+max( RkL, mxP\vin vco:m|).
С одной стороны, процедура ветвления Nk с Nk:1, т.е. граф отношений
k
-j. k N U Nk:1 отличается от графа отношений N U Nk добавлением новых дуг. Из
свойств ЯПФ графа следует, что
К + Як £ Як+1 + Як+1 (12)
пр сост пр сост •
Как показано выше, при описании правила ветвления
<+1 = К+ + 1. (13)
Но тогда, как нетрудно видеть, из (12) и (13) следует, что
Як+с1 ^ Ксост - 1. (14)
С другой стороны, количество операций каждого і-го исполнителя в составных ярусах на одном шаге ветвления может уменьшиться не более, чем на 1, тем самым
-1. (15)
max
i=U.IP|
V n Vi+1
i сост
> max
i=1,...P
V n Vk
i сост
Учитывая (14) и (15) получим, что
Rk:1:max(Rk+т, rraxjV n V“|) £ Rkp + ma<RL,, iraxjV nVЦ). (16)
r i =1 PI r i =1 PI 1
Тем самым, доказано следующее утверждение Утверждение 2.
Оценка
Я + тах( Я , тах V п V I) (17)
п+. ^ сост.’ . л .ОІ| і сост.|' ^ '
пр ■ ' р| монотонно возрастает в процессе ветвления дерева решений.
4. Правило обхода дерева решений.
Традиционным является подход, при котором на каждом шаге генерируется множество операций, предшествующих выполнению всех остальных операций. Число таких операций равно
р
I . г I
(18)
П
к=1
где ік — количество операций к-го исполнителя в і-м ярусе.
Для каждого варианта вычисляется нижняя оценка в соответствии с формулой (17). Данная процедура может оказаться весьма громоздкой в связи с мультипликативностью оценки числа вариантов и необходимостью построения ЯПФ графа для каждого варианта в соответствии с описанным выше правилом ветвления. Ниже предлагается другое правило обхода, имеющее заведомо меньшую вычислительную сложность. Эффективность этого правила подтверждена исследованиями по использованию простых диспетчеров для построения расписания на основе правила вычисления приоритета операций [4].
Обозначим
РГ1 — правило приоритета операций, имеющих большее число информационно зависящих от нее всех других операций;
Рг2 — правило приоритета операций, имеющих большее число информационно зависящих от нее операций других исполнителей;
Ргз — правило приоритета операций с большим номером кояруса (длиной максимального пути от вершины, соответствующей данной операции до вершин стоков).
Использование приоритетов, лежащих в основе других диспетчеров (О1, О4, О6) нецелесообразно, поскольку в них учитывается номер яруса, являющийся величиной постоянной для всех рассматриваемых на данном шаге операций.
Числовые характеристики, лежащие в основе подсчета приоритетов Рг1—Рг3, не меняются в процессе ветвления дерева решений в соответствии с указанным правилом, так как при этом ветвлении добавляются дуги, предшествующие рассматриваемым операциям, а числовые характеристики вычисляются на основе областей достижимости вершин, соответствующих рассматриваемым операциям.
Эти числовые характеристики определяются один раз для каждой операции до начала процесса оптимизации методом ветвей и границ, что существенно снижает вычислительную стоимость метода.
Введем булевы переменные %(у), вычисляемые по следующему правилу
11, если Рн для ве+шины Уі наибольший;
2А) = |о 1 Р 1 (19)
— в остальных случаях.
Обозначим с — весовой коэффициент, отражающий частоту построения оптимального расписания на основе использования простого диспетчера, основывающегося на приоритете Рг-.
Эксперимент, проведенный на графовых моделях с количеством вершин V = (у }, где і = {1,...7}, показал, что:
Рг1 — строит оптимальное расписание в 64,7% случаев;
Рг2 — в 61,7% случаев;
Рг3 — в 55,8% случаев.
ік
После нормировки получим с1=0,36, %2=0,34, Сз=0,31
Обозначим
тОг) = X с,2} (уг).
3
Наибольший приоритет среди операций данного исполнителя имеют операции, для которых число наибольшее. В случае равенства приоритетов операция выбирается произвольным образом.
Заключение.
Предложенный вариант метода ветвей и границ будет, как правило, более эффективным, чем существующие варианты метода, т. к. он предполагает использование в процессе обхода дерева решений эвристических алгоритмов, высокая эффективность которых показана в [4], и не при каких условиях не окажется менее эффективным.
В процессе построения дерева решений существенно использован тот факт, что все операции равны единице времени, т. к. это позволило не рассматривать искусственные простои исполнителей и, тем самым, существенно сократить количество вершин дерева решений. Данный факт позволил также получить новую оценку частичного решения, которая точнее используемой, как правило, длины критического пути.
В процессе реализации метода фактически было описано только правило построения отношения полного порядка на множествах операций одного исполнителя. Фактически это означает построение всего расписания, для чего следует использовать следующий принцип:
если свободен исполнитель и имеется готовая к выполнению операция данного исполнителя, то она немедленно начинает выполняться.
Длина полученного таким образом расписания является искомой оценкой длительности выполнения запроса Т.
ЛИТЕРАТУРА
1. Никулина Е.Ю.Разработка модели выбора вариантов модернизации распределенной информационной системы ОВД // Вестник Воронежского института МВД России—2007. — №4. — С.156—160.
2. Теория расписаний и вычислительные машины / под ред. Э.Г. Коффмана. — М.: Наука, 1984. — 334 с.
3. Меньших В. В., Структурная адаптация систем управления / В. В. Меньших, В. В. Сысоев. — М.: ИПРЖР, 2002. — 150с.
4. Меньших В. В. Выбор алгоритмов планирования выполнения нитей в многопроцессорных системах / В.В. Меньших, Е.Ю. Никулина // Труды Российской конференции «Компьютерные технологии автоматизированного проектирования систем машиностроения и аэрокосмической техники».— Воронеж: ВГТУ.— 2004.— С.157—162.