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

Использование агентского подхода при конфигурировании виртуальных предприятий Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
127
104
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ВИРТУАЛЬНОЕ ПРЕДПРИЯТИЕ / VIRTUAL ENTERPRISE / РАСПРЕДЕЛЕННОЕ КАЛЕНДАРНОЕ ПЛАНИРОВАНИЕ ПРОЕКТОВ / DISTRIBUTED PROJECT SCHEDULING / АГЕНТСКИЙ ПОДХОД / AGENT-BASED APPROACH

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Конюший Виктор Григорьевич, Карсаев Олег Владиславович

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

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

Agent-Based Approach for Configuration of Virtual Enterprises

An agent-based approach for project scheduling during the formation of virtual enterprises in non-material production is proposed. Each participant of virtual enterprise is represented as independent program agent. We report on our computational results, obtained for the PSPLib benchmark instances

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

УДК 681.3

В. Г. Конюший, О. В. Карсаев

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

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

Ключевые слова: виртуальное предприятие, распределенное календарное планирование проектов, агентский подход.

Введение. В последнее время для выполнения вполне определенных, зачастую уникальных проектов в сфере нематериального производства осуществляется создание виртуальных предприятий (ВП) ([1, 2]. Реализация проекта предполагает наличие общего координационного центра, роль которого выполняет руководитель проекта — один из партнеров ВП, выступающий, как правило, инициатором проекта. Другие партнеры являются исполнителями работ проекта и при этом могут быть задействованы в других проектах. Одна из основных задач, решаемых при создании ВП [3], — задача выбора партнеров и распределения среди них работ (заказов) т.е. задача конфигурирования ВП.

При решении задачи конфигурирования ВП могут быть использованы методы, применяемые при решении задач календарного планирования (КП) проектов. Суть задачи КП сводится к поиску а) варианта распределения работ среди потенциальных исполнителей и б) расписания выполнения работ, которое является оптимальным относительно заданных критериев. На этапе формирования ВП может быть рассмотрено несколько возможных планов выполнения проекта и/или несколько вариантов команд исполнителей работ — потенциальных партнеров ВП. В этом случае задача КП решается для каждого возможного варианта „план — команда", и на основе сравнения полученных результатов выбирается наилучший вариант.

Большинство известных методов решения задач КП являются централизованными. Это предполагает, что вся необходимая информация о партнерах (их текущая загрузка, состояние ресурсов и т.п.) должна быть известна руководителю проекта, что, однако, не всегда возможно на практике. В связи с этим возникает задача реализации известных или разработка новых методов, позволяющих решать задачу КП в распределенном варианте. При этом использование интеллектуальных агентов для поддержки процессов создания и функционирования ВП является одним из наиболее перспективных подходов [4]. В данном случае ВП моделируется как сеть взаимодействующих независимых агентов, каждый из которых соответствует одному из партнеров ВП: руководитель проекта представлен агентом-ассистентом руководителя (далее по тексту — Руководитель), каждый исполнитель работ — агентом-ассистентом исполнителя (далее по тексту — Исполнитель).

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

Постановка задачи. План работ проекта описывается как множество работ J = {1,..., п} ^ {0, п +1}, связанных отношением предшествования Р . Работы 0-я и (п +1) -я обозначают начало и завершение всего проекта и являются фиктивными (не требуют времени и ре-

Использование агентского подхода при конфигурировании виртуальных предприятий 13

сурсов для выполнения). Отношение предшествования задается как множество пар P = {(i, j) | i е J, j е J}. Если (i, j) g P, то работа j не может начаться раньше завершения работы i. Обозначим через Pj множество работ, предшествующих работе j, а через E = {1,..., e} — множество потенциальных Исполнителей. Для каждой работы j е (J \ {0, n +1}) существует как минимум один потенциальный Исполнитель e е E. Каждый Исполнитель e контролирует один тип возобновляемых ресурсов. Для выполнения каждой из работ требуется только один Исполнитель. Каждый Исполнитель может выполнять несколько работ одновременно.

Для j -й работы введем следующие обозначения: ej — Исполнитель работы, Sj > 0 —

момент начала работы, fj > Sj — момент ее окончания. Момент начала j -й работы равен максимальному времени завершения всех ей предшествующих Pj.

Расписанием (календарным планом) проекта будем называть совокупность троек S = {(so,so,0), (si,f1,e^,..., (sn, fn,e^, (fn+i,fn+1,0)}, заданных с учетом ограничений по

ресурсам, которыми обладают Исполнители. В данной постановке задачи требуется найти календарный план S' с минимальным временем завершения проекта T(S') = fn .

Изложенная постановка задачи КП известна в литературе как задача MRCPSP (MultiMode Resource-Constrained Project Scheduling Problem — задача календарного планирования проектов с ограниченными ресурсами и множеством режимов выполнения работ) [5]. Для этой задачи имеются тестовые наборы данных различной сложности, разработаны централизованные методы ее решения и известны наилучшие результаты применения этих методов. Далее в настоящей статье эти результаты используются для оценки эффективности предлагаемого децентрализованного подхода к решению данной задачи с использованием агентов.

Описание алгоритма. Предлагаемый алгоритм реализует эвристический подход к календарному планированию и основан на взаимодействии Руководителя проекта и потенциальных Исполнителей работ. Для организации взаимодействия использован известный протокол взаимодействия агентов „Сеть контрактов" [6].

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

Задача Исполнителя e е E заключается в том, чтобы для каждой работы j, описание

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

Пусть A — множество работ, для выполнения которых Исполнитель уже известен и время задано; R = J \ A — множество оставшихся работ; D — множество работ, готовых к назначению. Работа j е D, если истинно условие (j е R) л ((Pj =0) v (Pj е A)) .

Алгоритм поведения Руководителя проекта состоит в следующем.

1. Инициализация: Vj е J : sj = fj = 0 .

2. Пока (R Ф0 ), выполнение следующих шагов:

2.1. Найти множество допустимых работ D . Если n +1 е D, то переход к шагу 3.

2.2. Передать всем Исполнителям описание всех работ j е D, в том числе, назначить самое раннее время начала работ sj = max{ f | i е Pj}.

2.3. Получить от каждого Исполнителя множество предложений OD по выполнению всех работ из множества D .

2.4. На основе анализа множества предложений OD = [OlD u...uOeD}, полученного от всех Исполнителей, выбрать для назначения одну из работ i е D .

2.5. На основе анализа множества предложений Ot = {O1 u...uOf} для работы i выбрать лучшее предложение ob е Ot для работы i, где b е E .

2.6. Назначить работу i Исполнителю b , приславшему предложение ob.

2.7. Установить si = sb, f} = fb, где sb и fb — время начала и окончания работы i,

b

указанные в предложении oi .

2.8. Обновить множество назначенных работ A = A u i.

3. Выход.

При выборе очередной работы для назначения и выборе Исполнителя этой работы Руководитель использует подход на основе правил приоритета [7, 8]. В ходе исследования рассматривались различные правила. В итоге были сформированы два комбинированных правила приоритета, состоящие из отдельных „простых" правил выбора работы и ее Исполнителя.

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

Второе правило отличается от первого только в части выбора Исполнителя: предпочтение имеет Исполнитель, который предложил минимальное время окончания работы и минимальное значение простоя ресурсов.

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

Значение приоритета работы (Исполнителя) вычислялось по формуле

1

Z = -

1 m k 1 Z - difk

mk=im

Здесь m — число критериев, а difk — нормализованное отклонение значения k -го критерия

( Vk ) от лучшего значения для этого критерия. Отклонение вычисляется по формуле

V, - V ■ difk = Vk Vmin , k V - V ■

r max r mm

где Vmn и Vnax — лучшее и худшее значения k -го критерия соответственно.

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

Описание экспериментов. Для тестирования описанного алгоритма были использованы тестовые примеры из набора N0 библиотеки PSPLib [9], которые предназначены для исследования методов решения задачи MRCPSP. При этом тестовые данные распределялись между агентами следующим образом. Руководитель получал только данные о структуре работ проекта, а каждому Исполнителю сообщались: 1) максимально доступный объем его ресурса; 2) данные о продолжительности каждой из работ; 3) требование к ресурсам в каждом из режимов выполнения (под режимом выполнения понимается определенное количество необходимых ресурсов).

Использование агентского подхода при конфигурировании виртуальных предприятий 15

Набор N0 состоит из 480 примеров. При проведении данного исследования использовались 240 примеров, в которых число типов ресурсов, необходимых для выполнения каждой работы, равно единице. Иными словами, для выполнения одной работы используются ресурсы только одного Исполнителя.

Основные характеристики тестовых примеров следующие. Количество работ (без учета начальной и конечной) — от 10 до 20. Число типов ресурсов — 2. Число режимов выполнения каждой из работ — 3. Коэффициент концентрации ресурсов ЯБ е {0,25, 0,50, 0,75,1,0}*. Значение ЯБ = 0,25 соответствует тестовым примерам с минимальным объемом имеющихся ресурсов, а ЯБ = 1,0 — случаю с неограниченными ресурсами. Для всех примеров известно оптимальное решение (минимальная продолжительность проекта). С каждым из правил приоритета эксперименты проводились независимо, и для каждого из правил алгоритм повторялся многократно. В ходе экспериментов число повторных применений для одного правила составляло 3, 5, 10 и 20.

В результате для всех 120 примеров со значением коэффициента ЯБ = 0,75 и ЯБ = 1,0 были получены результаты, совпадающие с оптимальными, при 3- или 5-кратном повторении алгоритма. Для всех 60 примеров со значением коэффициента ЯБ = 0,5, за исключением двух, оба правила позволяют получить результаты, совпадающие с оптимальными, при числе повторений алгоритма, равном 10.

Для наиболее сложных примеров (ЯБ = 0,25) оптимальные результаты были получены только для половины из 60 примеров. Тем не менее результаты экспериментов, приведенные на рисунке, показывают, что предлагаемый распределенный подход позволяет получать решения, близкие к оптимальным, даже для очень сложных примеров. Так, средняя относительная погрешность (5 ) полученных результатов, вычисленная относительно оптимальных значений, в зависимости от количества (Ы) повторений (3, 5, 10 или 20) алгоритма изменяется в интервале от 3 до 2 %. При этом максимальные значения относительной погрешности в отдельных примерах составили для первого правила 18 %, а для второго — 12 %.

5, %-3 -2 -1 -0

Эксперименты проводились на персональном компьютере Pentium IV, 2800 МГц, 1024 Мб RAM. При 10-кратном применении алгоритма для определения результата при использовании первого правила среднее время вычисления составило 4,5 с, а второго — 8,7 с.

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

3 5 10 20 N

Результаты экспериментов: □ — правило 1, □ — правило 2

* Формальное определение коэффициента ЯБ приведено в работе [9].

список литературы

1. Thoben K.-D., Eschenbacher J., Jagdev H. S. Emerging concepts in E-business and extended products // E-Business Applications, Technologies for Tomorrow's Solutions / Eds.: J. Gasos, K.-D. Thoben. N.Y.: Springer-Verlag, 2003. P. 17—38.

2. Гохберг Л. Интеллектуальная деятельность — основа экономики информационного общества // Человек и труд. 2001. № 2. С. 32—34.

3. Вютрих Х., Филипп А. Виртуализация как возможный путь развития управления // Проблемы теории и практики управления. 1999. № 5. С. 94—100.

4. Fischer K., Muller J.P., Heimig I., Scheer A.-W. Intelligent agents in virtual enterprises // Proc. of the 1st Intern. Conf. and Exhibition on the Practical Applications of Intelligent Agents and Multi-Agent Technology, London, UK. 1996. P. 205—223.

5. Kolisch R., Drexl A. Local search for nonpreemptive multi-mode resource-constrained project scheduling // IIE Transact. 1997. Vol. 29, N 11. P. 987—999.

6. Smith R. G. The contract net protocol: High-level communication and control in a distributed problem solver // IEEE Transact. on Computers. 1980. Vol. 29, N 12. P. 1104—1113.

7. Kolisch R. Efficient priority rules for the resource-constrained project scheduling problem // J. of Operations Management. 1996. Vol. 14, N 3. P. 179—192.

8. Kolisch R., Drexl A. Adaptive search for solving hard project scheduling problems // Naval Research Logistics.

1996. Vol. 43, N 1. P. 23—40.

9. Kolisch R., Sprecher A. PSPLib — A project scheduling problem library // European J. of Operational Research.

1997. Vol. 96, N 1. P. 205—216.

Сведения об авторах

Виктор Григорьевич Конюший — СПИИРАН, лаборатория интеллектуальных систем;

E-mail: kvg@iias.spb.su

Олег Владиславович Карсаев — СПИИРАН, лаборатория интеллектуальных систем;

E-mail: ok@iias.spb.su

Поступила в редакцию 06.05.08 г.

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