Научная статья на тему 'Алгоритм решения задачи оптимизации для циклических расписаний с прерываниями'

Алгоритм решения задачи оптимизации для циклических расписаний с прерываниями Текст научной статьи по специальности «Математика»

CC BY
1882
87
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЦЕЛОЧИСЛЕННАЯ ОПТИМИЗАЦИЯ / МЕТОД ВЕТВЕЙ И ГРАНИЦ / АЛГОРИТМ

Аннотация научной статьи по математике, автор научной работы — Иванов Ю. А.

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

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

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

УДК004.021

Иванов Ю. А.

Аспирант Донецкого национального технического университета

АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ ОПТИМИЗАЦИИ ДЛЯ ЦИКЛИЧЕСКИХ _______________________РАСПИСАНИЙ С ПРЕРЫВАНИЯМИ____________________________________________

Рассмотрена задача оптимизации циклической организации вычислительного процесса системы жесткого реального времени. Определены особенности целевой функции.

Обоснован выбор целочисленного метода оптимизации задачи построения расписания.

Предложен алгоритм решения адаптированным методом ветвей и границ.

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

ВВЕДЕНИЕ

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

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

ПОС1РОЕНИЕ МОДЕЛИ ЗАДАЯИ ОПТИМИЗАЦИИ

Рассмотрим модель задачи определения характеристик циклического вычислительного процесса системы жесткого реального времени [5]:

а^шш Р (Ь);

ЬеЫ ,Ь<Т1

f=i (f - т)+Т-

=1 T- 2i

i=1

F > 0; n т Й < 1; i=1 Ti

(1)

■ = 1, п,

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

ются операции выделения целой части для определения

, 1 Т и выражение ь • Существенно, что данная задача является целочисленной, так как на переменную наложено ограничение Ь е N, Ь < Т\.

Рассмотрим слагаемые, составляющие целевую функцию Р:

F1 =1 (^-5-)

i =1

F 2 = ПР ;

(2)

F = F1 + F 2.

Оба слагаемых содержат в себе нелинейности. График первой части суммы Р1 представляет собой набор отсчетов для целочисленных значений аргумента

Ь е [1,71]. График второй части суммы - Р 2 является положительной частью гиперболы.

Минимально допустимое значение Р1 определяется

значением функции при 7 = 7, что произойдет, когда в

17

выражении

L

Ь при выделении целой части не будет

выполняться округлений. Тогда выражение

п т т ш1и(Р1) = £ (-V - 7) = 0

1=1 7 71

(3)

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

п т ■

вышать иЬ = 1 - , поскольку в этом случае расписа-

■=1 7

ние вычислительного процесса нельзя построить. Таким образом, целевая функция ограничена сверху и снизу.

ОБОСНОВАНИЕ И АДАПТАЦИЯ АЛГОРИТМА ДЛЯ РЕШЕНИЯ ЗАДАЧИ ОПТИМИЗАЦИИ

Анализ описания (1) приводит к выводу, что речь идет о задаче дискретного программирования с нелинейной целевой функцией. Такая классификация задачи обоснована тем, что для выбора метода ее решения требование дискретности является определяющим.

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

© Иванов Ю. А., 2012

L

L

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

Пусть существует некоторое множество Н, которое содержит все подмножества элементов суммы целевой

^ | т ■ т ■

функции ^ (—'----) для всех допустимых планов изме-

1=1 7 7

нения переменной Ь е[1,71], то есть

Н = {Н81,Н&2,. .,Hgтl}. Каждое подмножество имеет

представление Н„,- = {—7-—, - — ,...,тп--—}.

71 7 Г2 7 гп Тп

пр

Множество V содержит элементы вида — для всех планов изменения переменной Ь. Первый элемент множе-

пр

ства, для Ь = 7-1 заносится в исходном виде —. Все остальные элементы представляются модулем своего относительного отношения к предшествующему элементу множества V. Таким образом, множество планов

Е=0

V = {Пр

'71

пр

тА,і—1

Отношение УА

пр

I—1

1

= пР Ь(Ь -1) для переменной Ь = [2,71 -1]. Графически схема получения значений целевой функции может быть интерпретирована следующим образом (рис. 1).

Структура схемы представляет собой дерево с корнем в точке Р = 0. Ветви дерева - элементы множеств Н и V. Из точки Р = 0, путем суммирования всех элементов подмножеств по пути следования направляющих стрелок, определяются значения целевой функции Р (Ь = }). Для определения результата целевой функции присутствуют пересечения при выборе элементов множеств. Алгоритм ветвления в этом случае будет определять набор правил по формированию множества текущего шага С. Вычисление границ выполняется по результатам анализа значений оценки функции Р на множестве текущего шага. Изначально множество С является пустым С=0. Далее в С заносится элемент V множества V, С = {V!}. Это объясняется тем, что он всегда должен быть учтен для всех возможных планов изменения переменной Ь, но при этом ни один план еще не

Рис. 1. Схема определения целевой функции Р выбран. Соответственно при этом оценка функции Р будет включать только элемент V, то есть Р (^1). На следующем этапе выполняется первое ветвление, которое соответствует разделению решений на два варианта:

1) Ь = 71, этому варианту соответствует подмножество Н 7;

2) Ь = [1,71 -1], то есть все остальные варианты, соответствующие оставшимся элементам множеств Н и V, а также элемент Р2 как корень поддерева решений.

Таким образом, содержимое множества С будет изменено, С = {Н^, ^2}. После этого необходимо выполнить оценку текущего шага, т. е. сравнить значения целевой функции для F(Vl,V2) и Р^1, Н ёТ][п]) (элиминирующий тест). Для получения расчетного значения из подмножества Hgт всегда выбирается последний элемент. При этом возможны два варианта:

1) Если Р , Н gт1 [п]) < Р , V2), то вариант выбора подмножества Н gт1, которое определяет план выбора переменной Ь = 7, является оптимальным. В этом случае продолжается рассмотрение множества HgTl. Выполняется одностороннее ветвление, когда множество, подлежащее разбиению, выбирается только из тех концевых множеств, которые получены на предыдущем шаге ветвления, то есть значение множества С не меняется: С = {HgT1, V2}. На следующем шаге будет рассмотрен следующий элемент подмножества Нgт1 [п -1], то есть Р (^2) и Р (Vl, HgT1[n -1]). При этом соответственно продолжают рассматриваться 2 плана решений Ь = 7 и Ь = [1,7-1].

2) Если Р (Vl, V2) < Р Уl, Н gт[n ]), значит, по текущему

содержимому множества С можно определить, что на данном шаге выбор плана решения Ь = 7 не является оптимальным. Поэтому необходимо рассмотреть набор вариантов Ь = [1,7 -1]. В этом случае выполняется ветвление и множество С примет вид С = {Н ,Hgт1-l,Уз}, так как

вместо элемента У2, заносятся его ветви - Нд7 — и У3. Та-

gT -і и 17 3.

ким образом, в рассмотрение, помимо добавленного ранее варианта Ь = 71, добавляются Ь = 71 -1 и Ь = [1,71 - 2].

Последовательное выполнение таких действий приведет к получению оптимального значения целевой функции, которое равно значению оценки текущего шага в случае его выбора для первого элемента любого подмножества Н£. [1]. При этом возможна ситуация, когда достигнуто значение У?, но решение еще не выбрано. Это означает, что в рассмотрение включены всевозможные планы изменения величины Ь, но оптимальное значение переменной определить еще не удалось. Тогда выполнение алгоритма продолжается исключительно односторонним ветвлением для всех подмножеств Н , пока не будет получено оптимальное значение целевой функции.

На одном из шагов при уточнении значения целевой функции Р может быть достигнута максимальная граница целевой функции. В таком случае вычисления по данной ветви прекращаются и она в дальнейшем не рассматривается. Максимальная граница, исходя из (1), есть р = 1. То есть, план изменения величины Ь, для которого р > 1, является недостижимым, поэтому соответствующая ему ветвь и множество Нд исключаются из дерева просмотров.

Схематически дерево поиска решения иллюстрирует рис. 2.

ПОСТРОЕНИЕ АЛГОРИТМА РЕШЕНИЯ ЗАДАЧИ

Проведенный анализ позволяет составить алгоритм нахождения оптимального значения переменной Ь.

Пусть уа/Р[71] - вектор, который определяет текущее значение целевой функции для всех рассматриваемых планов, веС, веМтС, веХ- множества, которые содержат подмножества элементов У и Н д, необходимые для анализа на каждой итерации алгоритма. Множество веС определяет множество всех элементов, рассматриваемых на одном шаге алгоритма, причем веМтС - минимальная величина из множества ве^,веХ - подмножество элементов, связанных с веМтС согласно структуре поиска целевой функции (рис. 1).

Рассмотрим последовательность шагов алгоритма.

Изначально все множества инициализируются как пустые.

На первом шаге выполняется поиск множества веХ, элементы которого связанны с ве(МгпС. Если веМ1пС = {0}, то выбирается веХ = {У[}, которое является корнем. Из множества ве(С исключается веМтС, как уже рассмотренное, и включается веХ, как требующее рассмотрения. Одновременно выполняется проверка, является ли множество ве(С пустым, что возможно в ситуации, когда были пройдены все ветви, но при этом допустимое оптимальное значение так и не было найдено. При этом после выполнения Б1М8е1 в веХ будет занесено значение {0}, так как не осталось нерассмотренных элементов из подмножеств У и Н д. Далее из множества ве(С исключается элемент, рассмотренный на последнем шаге веМтС. После объединения с веХ множество ве(С будет пустым. В этом случае работа алгоритма прекращается, так как для данного набора входных данных найти решение задачи (1) нельзя.

C=Vi

F=0

Рис. 2. Дерево поиска решений

На втором шаге выполняется поиск минимального элемента в множестве ж/С. Значение этого элемента заносится в множество вв/МтС. Определение минимума выполняется путем сравнения значений всех элементов множества.

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

На третьем шаге уточняется текущее значение целевой функции выбранного плана, путем добавления к нему найденного минимума вв/МтС.

На четвертом шаге выполняется элиминирующий тест: превысило ли значение целевой функции максимальную границу, и в этом случае текущая ветка исключается из дальнейшего просмотра.

На пятом шаге выполняется проверка: если минимум, содержащийся в вв/МгпС, является первым элементом любого из планов Н gi [1], то вычисления прекращаются и план 1 является оптимальным. Отсюда следует, что необходимо выбирать величину Ь=1. В противном случае выполняется переход на шаг 1.

Описанный алгоритм представлен граф-схемой рис. з.

ТЕСТОВЫЙ ИЛЛЮСТРАТИВНЫЙ ПРИМЕР

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

п=4

Ті 1 3 3 4

Ті 5 16 19 22

р=0,2

Последовательность шагов алгоритма выглядит следующим образом:

1 итерация. После инициализации всех переменных, при первом проходе в множество В'в/Х будет занесен элемент Vl = — = 0,16. Тогда Р[5] = вв/МтС = 0,16. По-

71

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

2 итерация. Выполняется ветвление вв/Х =

= {HgTl [4], V2 } = {0,018;0,04}. Выполняется поиск минимального прироста целевой функции, для чего сравниваются между собой значения функций на предыдущих шагах и их возможные приросты. Для Ь=5 это

Р[5]-+ Н^[4] = 0,16 + 0,016 = 0,178 и для Ь=4 -

Р[4]- + V1 + V2 = 0 + 0,16 + 0,04 = 0,2 . Поскольку 0,178<0,2, выбирается ветвь решения для Ь=5 и, следовательно, Р[5] = 0,178 . Так как значение целевой функции меньше 1 и еще есть элементы, которые могут быть рассмотрены, вычисления продолжаются.

3 итерация. Выполняется ветвление

вв/Х = {Н^ [3], V2} = {0,042;0,04} (рис. 4).

горитма на этом прекращается, поскольку выбран последний элемент из подмножества Н

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

Выполняется поиск минимального прироста целевой функции, в данном случае это будет ветвь Ь=4. Следовательно, уточняется значение Р[4] и после выполнения проверок происходит переход на следующую итерацию.

Последовательное выполнение таких итераций обеспечит нахождение решения, которое приведет к вычислению вариантов (рис. 5) и получению решения Ь=5, со значением целевой функции Р[5] = 0,2325 . Работа ал-

HgTl[1]=0

L F

5 0,232

4 0,297

3 0,429

2 0,458

1 0,800

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

Рис. 5. Построение дерева

ВЫВОДЫ

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

СПИСОК ЛИТЕРАТУРЫ

1. Корбут, А. А. Дискретное программирование / А. А. Корбут, Ю. Ю. Финкельштейн. - М. : Наука. Гл .ред.физ.-мат. лит., 1978. - 386 с.

2. Ху, Т. Целочисленное программирование и потоки в сетях / Т. Ху. - М. : Мир, 1974. - 520 с.

3. Пападимитриу Х. Комбинаторная оптимизация. Алгоритмы и сложность / Х. Пападимитриу, К. Стайглиц. - М. : Мир, 1984. - 510 с.

4. Дроздов, Н. Д. Алгоритмы дискретного программирования / Н. Д. Дроздов // Учебное пособие. Твер. Гос. ун-т. -Тверь : Твер. Гос. ун-т., 2000. - 82 с.

расчетного примера № 2

5. Иванов, Ю.А. Анализ выполнения программ при моделировании динамических систем / Ю. А. Иванов // Наукові праці Донецького національного технічного університету. Серія «Проблеми моделювання та автоматизації проектування динамічних систем» (МАП-2011). Випуск 10 (197). - Донецьк : ДВНЗ «ДонНТУ», 2011. - С. 234-240.

Стаття надійшла до редакції 13.04.2012.

Іванов Ю. О.

АЛГОРИТМ РІШЕННЯ ЗАДАЧІ ОПТИМІЗАЦІЇ ДЛЯ ЦИКЛІЧНИХ РОЗКЛАДІВ З ПЕРЕРИВАННЯМИ

Розглянута задача оптимізації циклічної організації обчислювального процеса системи жорсткого реального часу. Визначені особливості цільової функції. Обґрунтований вибір цілочисель-ного метода оптимізації задачі побудови розкладу. Запропонований алгоритм рішення адаптованим методом меж і гілок.

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

Ivanov Y. A.

ALGORITHM FOR SOLVING OPTIMIZATION PROBLEMS OF PREEMPTIVE SCHEDULER

In this paper, we consider a model of the problem to determine the characteristics of the time-step computation process in hard real-time systems. We proposed a formal description of the time-step computation with preemption and its existence conditions.

REFERENCES

1. Korbut A. A., Finkelshteyn Y.Y. Diskretnoe programmirovanie. Moscow, Nauka, Gl.red.fiz.-mat.lit., 1978, 386 p.

2. Hu T. Tselochislennoe programmirovanie i potoki v setyah. Moscow, Mir, 1974, 520 p.

3. Papadimitriu H., Stayglits K. Kombinatornaya optimizatsiya. Algoritmy i slozhnost. Moscow, Mir, 1984, 510 p.

4. Drozdov N.D. Algoritmy diskretnogo programmirovaniya. Uchebnoe posobie TGU. Tver, 2000, 82 p.

5. Ivanov Y.A. Analiz vypolneniya programm pri modelirovanii dinamicheskih sistem, Naukovi pratsi Donetskogo natsionalnogo tehnichnogo universitetu, Seriya «Problemi modelyuvannya ta avtomatizatsiyi proektuvannya dinamichnih sistem» (MAP-2011), No 10 (197), Donetsk, DVNZ «DonNTU», 2011, pp. 234-240.

УДК621. 391:519.2:519.7

Лисицкая И. В.1, Настенко А. А.2

1Канд. техн. наук, доцент Харьковского национального университета радиоэлектроники 2Аспирант Харьковского национального университета радиоэлектроники

ДИФФЕРЕНЦИАЛЬНЫЕ СВОЙСТВА БЛОЧНЫХ СИММЕТРИЧНЫХ ШИФРОВ С МОДУЛЬНЫМИ ОПЕРАЦИЯМИ ВВЕДЕНИЯ ЦИКЛОВЫХ ПОДКЛЮЧЕЙ, ОТЛИЧАЮЩИХСЯ ОТ XOR

A necessary condition for the feasibility of the schedule was determined. We took into account the behavior of the function graphs to optimize the schedule. We analyzed the mathematical model features including the objective function and the constraints. In the paper we determined the upper and lower limits of total function variation. The possible approaches to solving the optimization problem were introduced. We proposed to solve that task by the branch and bound method. In the proposed approach the objective function is represented as the set or branches included in the method tree.

We developed the algorithm to determine characteristics of the time-step computation process and give a detailed description. The performance of the algorithm was shown by test case.

Key words: discrete optimization, branch and bound, an algorithm.

Рассматриваются дифференциальные свойства блочных симметричных шифров с применением разных модульных операций вычисления парных разностей.

Ключевые слова: дифференциальные разности; закон распределения переходов дифференциальной таблицы; поцикловые значения максимумов дифференциалов.

ВВЕДЕНИЕ

Современные блочные симметричные шифры строятся с использованием различных операций введения цикловых подключей. По-видимому, авторы считают, что это помогает усилить криптографическую стойкость алгоритмов шифрования [1, 2]. Хотелось бы найти веские аргументы этому, в частности, представляет интерес в свете большого числа публикаций по оценке максимальных значений дифференциальных вероятностей, выполненных, главным образом, по отношению к шифру Щ|Мае1 [3-6 и мн. др.], в котором используется операция введения цикловых подключей с помощью побитного ХОЯ, найти соответствующие оценки для шифров с другими операциями введения цикловых подключей и оценить перспективность их использования.

Будет целесообразным здесь напомнить новый подход к оценке стойкости блочных симметричных шифров к атакам дифференциального и линейного криптоанализа, разработанный на кафедре БИТ ХНУРЭ [7], который состоит в оценке соответствующих показателей уменьшенных моделей шифров и определении на основе данных, полученных для уменьшенных моделей, ожидаемых показателей доказуемой стойкости больших прототипов. В ходе реализации этой методики был установлен факт, заключающийся в том, что все итеративные шифры пос© Лисицкая И. В., Настенко А. А., 2012

ле небольшого начального числа циклов шифрования приобретают дифференциальные свойства случайных подстановок соответствующей степени. Это означает, что интересующие исследователей показатели стойкости могут быть определены расчетным путем из формул, полученных для законов распределения ХОЯ таблиц, выведенных (доказанных) для случайных подстановок [8, 9].

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

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