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

ный алгоритм с 3 различными способами расчета значимости предметов: heuristicl, heuristic2 и heuristic3. В качестве тестовых задач были выбраны 30 задач из библиотеки «OR-Library». Размерность представленных задач -100 переменных, количество ограничений - 5. Параметры алгоритма были выбраны такие же, как и в исследованиях С. Фидановой: количество муравьев в колонии т = 100, количество итераций муравьиного алгоритма N = 200 . Остальные параметры: а = 2 , Р = 1, p = 0,3 и q = 1, Т0 = 0,01. Сравнение муравьиных алгоритмов С. Фидановой и алгоритма Ant-MKP, описанного в настоящей работе, представлено в таблице. Жирным шрифтом в каждой строке выделено лучшее значение целевой функции среди муравьиных алгоритмов. Построенный алгоритм показал хорошие результаты, в большинстве задач он не уступает муравьиному алгоритму С. Фида-новой и даже находит решения, с большим значением целевой функции.

Библиографический список

1. Dorigo, M. A Colorni The Ant System: An Autocatalytic Optimizing Process / M. Dorigo, V. Maniezzo // Technical Report No. 91-016 Revised, Politecnico di Milano, Italy, 1991. 103 p.

2. Colorni, A. An Investigation of Some Properties of an Ant Algorithm. Proceedings of the Parallel Problem Solving from Nature Conference (PPSN 92) / A. Colorni, M. Dorigo, V. Maniezzo // Brussels, Belgium, R. Manner and

B. Manderick (Eds.), Elsevier Publishing, 1992. P. 509-520.

3. Семенкин, E. С. Оптимизация технических систем : учеб. пособие / E. С. Семенкин,О. Э. Семенкина,

С. П. Коробейников. Красноярск : СИБУП, 1996. 284 с.

4. Сигал, И. X. Введение в прикладное дискретное программирование: модели и вычислительные алгоритмы : учеб. пособие / И. X. Сигал, А. П. Иванова. М. : ФИЗМАТ-ЛИТ, 2002. 240 с.

5. Corne, D. New Ideas in Optimization / D. Corne, M. Dorigo, F. Glover. McGrav-Hill, 1999. 314 p.

6. Fidanova, S. Evolutionary Algorithm for Multidimensional Knapsack Problem / S. Fidanova. PPSNVII-Workshop 2002. P. 118-124.

7. Бурков, В. H. Прикладные задачи теории графов / В. H. Бурков, И. А. Горгидзе, С. E. Ловецкий. Тбилиси : Мецниереба, 1974. 234 с.

8. Штовба, С. Д. Муравьиные алгоритмы / С. Д. Штов-ба // E * ponenta Pro. Математика в приложениях. 2003. №4 (4). С. 70-75.

9. Кагиров, Р. Р. Применение муравьиных алгоритмов для решения задачи о рюкзаке / Р. Р. Кагиров // Вестник университетского комплекса : сб. научн. тр. ; под общ. ред. проф. H. В. Василенко. Красноярск : НИИ СУВПТ, 2004. Вып. № 1(15). C. 102-107.

10. Bonavear, E. Swarm Intelligence: from Natural to Artificial Systems / E. Bonavear, M. Dorigo // O ford University Press. 1999. 307 p.

11. Fidanova, S. ACO Algorithm for MKP Using Various Heuristic Information / S. Fidanova // Numerical Methods and Application. 2002. P. 438-444

R. R. Kagirov

MULTIPLE KNAPSACK PROBLEM: NEW SOLVING METHODS

It is suggested an artificial ant colony method for solving multiple knapsack problem. Ant algorithms are a new perspective optimization method based on modeling of artificial ant colony behaviour.

ХЦК 681.34

Н. А. Алексеев, О. В. Богданова, А. А. Волков

ПЛАНИРОВАНИЕ ЗАДАЧ ПРИ МУЛЬТИРЕСУРСНОЙ РЕАЛИЗАЦИИ АЛГОРИТМОВ РАСПРЕДЕЛЕННОЙ ОБРАБОТКИ ИНФОРМАЦИИ И УПРАВЛЕНИЯ

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

Современный подход к созданию распределенных программно-информационных технологий для корпоративных и производственных структур состоит в объединении в единую систему или сеть множества обрабатывающих средств (процессоров), средств хранения, обработки информации и управления (разноплатформенные системы управления базами данных, различные учетные системы).

На этапе системотехнического проектирования одной из важных задач является формирование алгоритмов рас-

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

Ограничение на время реакции связывается в этом случае с выполнением периодических действий [2; 3]. Моменты запроса периодической задачи можно заранее определить путем прибавления к моменту начального запроса величины, кратной известному периоду.

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

Рассмотрим существующие ограничения на классы ресурсов. Решения, предложенные ранее в источниках [4-8], были связаны, прежде всего, с распределением процессоров. Вычислительные ограничения выражались в терминах времени выполнения и отношений предшествования.

Следовательно, предполагалось, что процессор является единственным ресурсом, необходимым для выполнения работ. Признание факта, что задаче кроме процессора могут потребоваться дополнительные ресурсы, приводит к исследованиям систем с ограниченными ресурсами [8].

Предлагаемая модель расширяет понятие стандартной модели [8], состоящей из множества г задач неравной длительности, связанных отношением предшествования и выполняемых на неприоритетной основе набором из п идентичных процессоров. В источнике [3] отмечается, что проблема планирования зависимых задач очень сложна, нахождение ее оптимального решения требует больших вычислительных ресурсов, сравнимых с теми, которые требуются собственно для выполнения задач управления. Отметим, что при таком подходе планирование приближается к статическому.

В нашем случае дополнительно предполагается наличие множества ресурсов Я = {Я1, ..., Я5}. Если задаче Т необходим ресурс Я., то это требование принимается во внимание в течение всего периода выполнения задачи. Потребность задачи Т. в ресурсе Я. обозначается через р. (0 < Р. < 1).

Пусть г.(г) обозначает общее количество ресурсов Я., которое используется в момент времени г. Тогда г.(г) = 8ит(р) для всех Т, выполняемых в момент времени г. Основная проблема заключается в определении того, в какой степени использование различных списков планов для этой модели влияет на время завершения п.

Предположим, что для двух произвольных списков £ и £' расширенная система из п процессоров выполняет набор из г задач с результирующими временами завершения п и п' соответственно. Для такой среды в [8] предлагается ряд решений, которые дают следующие результаты:

- при Я = {Я1} (в системе существует только один вид ресурсов, отличных от процессора) - п / п'< п;

- при Я = {Я1} и независимости всех задач -п / п' < (3 - 1 / п);

- при Я = (Я1, Я2, ..., Я5}, независимости задач и п > г - п / п' < 5 + 1.

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

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

Классическим примером планирования независимых задач для жестких систем реального времени с одним процессором является алгоритм, разработанный Лью и Лей-ландом [9]. Этот алгоритм является динамическим, он использует вытесняющую многозадачность и основан на относительных статических (неизменяемых в течение жизни задачи) приоритетах.

Если предположить, что отдельные задачи требуют некоторого количества памяти в дополнение к некоторому количеству процессорного времени обработки, то следует рассматривать систему из т идентичных процессоров и п независимых задач, причем каждый процессор связан с определенным устройством памяти некоторой емкости. Когда процессор завершает выполнение задачи, в списке задач выбирается первая задача, чьи требования памяти не превышают его собственного объема. Цля неприоритетной среды в источнике [8] предлагаются эвристические стратегии выбора задач на основе требований времени и памяти одновременно. Касаясь периодического набора задач, следует отметить, что ранее в этой работе для однопроцессорных планов при выполнении временных ограничений задач с более высокими приоритетами разрешалось приоритетное прерывание периодичных задач с низкими приоритетами. Нами рассматриваются неприоритетные многопроцессорные планы для набора независимых периодичных задач.

Итак, предполагается, что все задачи доступны одновременно. Цель - минимизация числа процессоров, требуемых для выполнения ряда задач при временных ограничениях на начало/конец выполнения заданий.

Пусть Е - максимальное время выполнения одной итерации задачи /, а/і - частота выполнения. Таким образом, каждой задаче I. соответствуют два параметра J:. (/, Е.), 1 < і < п, где п - количество включаемых в план задач.

Период повторения равен Т, величине обратной /і. Рассмотрим два класса задач:

1) если п задач с по / распределены так, что/. >/.+ 1, то предполагается, что /. = 2/ + 1;

2) допускаются задачи с любой частотой.

Рассматривая ограничения на время реакции системы, проанализируем периодичные задачи первого класса (с бинарным частотным распределением). Множество задач, удовлетворяющих бинарному частотному распределению, приведено в таблице.

Задачи 11 и Jv спланированные на разных процессорах, приведены на рис. 1. План, уменьшающий количество процессоров с двух до одного, приведен на рис. 2. Проблемой является определение минимального количества процессоров без перебора всех возможных альтернатив.

Заметим, что слияние двух задач (рис. 2) создает новую периодичную задачу с периодом іх (равным 2Т1) и

временем выполнения ех (равным Т + Е^. Кроме того, имеются два промежутка со следующими простоями: I

* 1

- периодичный простой с длительностью - е^ и А — -принудительное время простоя длинной I - Е2 (обозна-

Л г'

чение А — указывает, что принудительное время простоя

]

получается, когда 3. объединяется с /).

Рис. 1. Временная диаграмма для задач J1 и J1

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

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

1) пусть J1 *, J2*, - подмножества задач, назначаемых процессорам Р,Р, Сначала = J* = ... = 0, а I = I = ... = ^.

Всякий раз, когда задача J. добавляется в некоторое пустое подмножество, I = Т. - Е.;

2) чтобы назначить очередную задачу J, необходимо

найти такое наименьшее значение I., чтобы выполнялось

і

условие Е. < I.. Цобавить J в подмножество ^*.

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

1. В порядке уменьшения частоты. Задачи располагаются в порядке уменьшения частоты, их назначение также должно проходить в этом порядке.

2. В порядке уменьшения критерия загрузки. Критерий загрузки задачи /, обозначаемый £., определяется следующим образом: £. = Е. / Т..

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

При тестировании данных методов задачи разделялись на два класса. В первом классе частоты задач кратны более, чем двум базовым частотам, а во втором - не более, чем двум базовым частотам. Ни один из алгоритмов не показал значительного превосходства над другими. Однако подход 2 исключительно хорошо показал себя на задачах первого класса. Подход 3 лучше решает некоторые задачи второго класса, а подходы 1, 2 неплохо решают задачи, которые оказались трудными для подхода 3. В этом нет ничего необычного, так как число процессоров, необходимых для задач второго класса, было значительно меньше, чем для задач первого класса.

Также были обнаружены некоторые интересные закономерности. Во многих случаях уменьшение частот задач или времени их выполнения может привести к увеличению количества требуемых процессоров. И наоборот, требуемое количество процессоров может быть уменьшено за счет увеличения частот задач или времен выполнения, т. е. путем увеличения загруженности процессора.

В источнике [6] показано, что рассмотренные алгоритмы могут быть реализованы как с помощью моделей одного класса, так и с использованием многокомпонентной сетевой модели, включающей детерминированные [7; 9] и стохастические компоненты [10]. Концепция многокомпонентной сетевой модели с GERT-подобной узловой логикой [6] позволяет объединить различные программные компоненты модельно-алгоритмического обеспечения единой базой данных и обеспечить эффективное формирование алгоритмов распределенной обработки и управления с учетом периодичных задач.

Библиографический список

1. Слепцов, А.И. Автоматизация проектирования управляющих систем / А. И. Слепцов, А. А. Юрасов. Киев : Техника, 1986.

2. Олифер, В. Г. Компьютерные сети. Принципы, технологии, протоколы / В. Г. Олифер, Н. А. Олифер. СПб. : Питер, 1999.

3. Олифер, В. Г. Сетевые операционные системы / В. Г. Олифер, Н. А. Олифер. СПб. : Питер, 2001.

Характеристики для множества задач с бинарным частотным распределением

Задача Частота ПерОод Время выполненОя

•Л 1/4 4 1

•і 1/8 8 1

•з 1/16 16 1У2

•4 1/31 31 5

•5 1/64 64 3

4. Барский, А. Б. Параллельные процессы в вычислительных системах / А. Б. Барский. М. : Радио и связь, 1990.

5. Воеводин, В. В. Математические модели и методы в параллельных процессах / В. В. Воеводин. М. : Наука, 1986.

6. Ковалев, И. В. Моделирование и оптимизация параллельных процессов в информационно-управляющих системах / И. В. Ковалев, Р. Ю. Царев ; Краснояр. гос. техн. ун-т. Красноярск, 2003.

7. Филлипс, Д. Методы анализа сетей / Д. Филлипс,

А. Гарсия-Диас. М. : Мир, 1984.

8. Gonzales, J. M. Deterministic Processor Scheduling / J. M. Gonzales // Computing Surveys. Vol. 9. No. 3. 1977.

9. Phillips, D. T. Fundamentals of network analysis /

D. T. Phillips, A. Garsia-Diaz. Prentice-Hall, Inc. Englewood Cliffs. New Jersy, 1981.

10. Neumann, K. Stochastic Project Networks. Temporal Analysis, Scheduling and Cost Minimization / K. Neumann / / Lecture Notes in Economics and Mathematical Systems, No. 34, Springer-Verlag, 1990.

N. A. Alexeev, O. V. Bogdanova, A. A. Volkov

THE PLANING OF PROBLEMS WHEN MULTI-RESOURCES REALIZING THE DISTRIBUTED INFORMATION PROCESSING AND CONTROL ALGORITHMS

The problem of task planning during information processing and control in distributed real-time systems is considered. It is offered algorithm offorming the plan with minimum number of processors. Heuristic algorithms of planning are considered and their relative comparison is presented.

УДК 519.68

В. В. Тынченко

МНОГОКРИТЕРИАЛЬНАЯ ОПТИМИЗАЦИЯ СТРУКТУРЫ НЕЙРОСЕТЕВЫХ МОДЕЛЕЙ ПАРАЛЛЕЛЬНЫМИ ГЕНЕТИЧЕСКИМИ АЛГОРИТМАМИ1

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

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

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

У = I ($),

N

$ = Х^-.х, ,

,=1

где у - величина сигнала на выходе нейрона;/- функция активации нейрона; х. - величина сигнала на .-ом входе нейрона; Ж. - весовой коэффициент .-го входа нейрона.

В соответствии с данной моделью сигнал на выходе нейрона формируется следующим образом. сумматор осуществляет сложение взвешенных входов, а преобра-

1 Работа выполняется при поддержке ФЦНТП по теме 2006-

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

Наиболее общим случаем организации нейронов в сеть является многосвязная ИНС, где каждый нейрон может быть связан с любым другим нейроном [1].

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

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

РИ-19.0/001/377 (государственный контракт № 02.442.11.7337).

2З