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

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

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

Аннотация научной статьи по математике, автор научной работы — Прилуцкий М. Х., Кумагина Е. А.

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

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

CONTROLLED FRONTAL ALGORITHM FOR RESOURCE ALLOCATION PROBLEM IN NETWORK CANONICAL STRUCTURES

The problem of limited-resource allocation in network canonical structures is considered. The frontal algorithm based on dynamic programming optimality principle is proposed.

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

Математическое моделирование. Оптимальное управление Вестник Нижегородского унив ерситета им. Н.И. Лобачев ского, 2008, № 6, с. 152-155

УДК 519.857

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

© 2008 г. М.Х. Прилуцкий, Е.А. Кумагина

Нижегородский госуниверситет им. Н.И. Лобачевского pril@iani.unn.ru

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

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

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

Задача распределения ресурсов в канонических структурах

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

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

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

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

Математическая модель

Исходные параметры математической модели

Т={1, 2, ..., Т0} - множество тактов планирования.

Р={1, 2, ..., к} - множество изделий.

Л(р) - множество работ изделияр,реР.

3= и Л (р)={1, 2, ..., п} - множество всех работ.

реР

/={1, 2, ..., т} - множество станков.

Технологические параметры

К') - множество работ, непосредственно предшествующих работе с номером', 'е Л.

R= II Гу || тхп - матрица ресурсоемкостей, элемент которой Гу определяет время выполнения работы' на станке /.

Организационные параметры

qj - ранний срок возможного начала выполнения работы ', 'еЛ.

Dj - директивный срок окончания выполнения работы ', 'е-Л где г - множество работ, имеющих директивные сроки, Л°сЛ. Варьируемые параметры математической модели

х=(хь...,хп) - вектор времен начала выполнения работ.

у=(у1,...,уп) - вектор времен окончания выполнения работ.

^ 11 11 тхпхТ о , где

[ 1, апёе и помёа I aйliё^ya6n у Зашоа ' а 6аё6 /,

0, а Шбёаш пёо^аа.

Ограничения математической модели

Технологические ограничения

Естественные ограничения на введенные переменные:

х' е Т, у' е Т, ] е Л,

(1)

2щ е {0,1}, г е I,] е Л, * е Т.

Взаимозависимость работ, определяющая каноничность сетевой модели, задается ограничениями:

х' > тах у1 , ' е Л . (2)

7 1еК(')

Требования выполнения работ на станке без перерывов:

У] = х1 + ГУ’ г е 1' е Л . (3)

Каждый станок одновременно выполняет одну работу:

Е 1г е 1> *е Т. (4)

]еЛ

Каждая работа выполняется на одном станке:

Е =1’'е Л *е Т • (5)

ге/

Организационные ограничения

Ограничения на сроки начала работ:

Х > % 'еЛ (6)

Ограничения на сроки окончания работ:

У] < Dj, ]еЛ°. (7)

Исходные параметры, варьируемые параметры и ограничения (1)-(7) представляют собой общую математическую модель сетевого планирования.

Постановка задачи

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

Формально задача изготовления сложных изделий ставится следующим образом. Требуется найти совокупность варьируемых параметров (1), удовлетворяющих системе ограничений (2)-(6), для которых достигает минимального значения обобщенный критерий оптимальности (8), связанный со штрафными санкциями, налагаемыми на систему за нарушения директивных сроков выполнения работ:

F(х, у, 2)= Е а] х тах(),У] - О] ), (8)

;'е.7°

где аі - штрафные санкции за нарушение на один такт планирования работой і определенного для неё директивного срока, і

В дальнейшем решение задачи (1)-(8) мы будем называть расписанием выполнения работ или просто расписанием.

Поставленная задача относится к классу КР-трудных задач, т.е. для ее решения не существует эффективных алгоритмов определения оптимального решения [1].

Управляемый фронтальный алгоритм

Для решения поставленной задачи предлагается фронтальный подход, основанный на идеологии «жадных алгоритмов».

При таком подходе в определенные такты времени строится «фронт работ» [2, 3]. Это множество работ, которые могут быть выполнены начиная с определенного такта. Возникает задача упорядочения работ из фронта работ. После установления порядка выполнения выбранная из фронта работ очередная работа включается в строящееся расписание, причем для ее выполнения используются все доступные к данному моменту времени ресурсы в максимально возможном объеме. Для установления порядка могут быть применены специальные перестановочные процедуры (порядок выполнения работ определяется путем решения специальных задач о назначениях).

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

Будем моделировать процесс построения решения поставленной задачи системой без обратных связей. Пусть О(ґ)={і,і2,ік} -«фронт работ», определенный к такту планирования ?, — это множество работ, любая из которых может начать выполняться с указанного

момента времени,іі&З, 1= \,к, ?єТ Это те работы, для которых все им предшествующие работы уже выполнены, и ранние сроки начала этих работ не превышают указанного момента времени. Множество различных фронтов работ обозначим через W.

Фронт работ на заданный момент времени будем отождествлять с состоянием системы. Основная идея фронтального алгоритма заключается в преобразовании множества О (ґ) в вектор, который определяет порядок последовательного включения очередной работы в строящееся решение. Для этого на множестве

работ из О (*) необходимо установить линейный порядок. На основании линейного порядка, используя «построитель» расписания, будем применять процедуру, которая «жадным» образом включает работы в строящееся расписание.

Пусть Q - множество различных стратегий

преобразования множества О (*) в вектор. В качестве таких стратегий могут быть, например, стратегия, основанная на решении специальной задачи о назначениях [1], стратегия упорядочения работ по их резервам времени [4], стратегия, основанная на поиске перестановки заданной глубины [4], стратегия, основанная на алгоритме Метрополиса [4], и др.

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

реализации стратегии q, q е Q.

Обозначим через g (О (*), q) суммарное время простоя станков для части расписания, построенного после применения стратегии q к фронту работ О (*).

Рассматриваемая система функционирует следующим образом. В состоянии О (*) к системе применяется управление, задаваемое стратегией q, которое приносит системе «доход» т ,

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

При этом система перейдет в новое состояние О (*'), где * - время завершения выполнения самой первой работы из части построенного расписания. Такой переход приносит системе «доход», задаваемый величиной g(О (* ). при

этом предполагается, что величины Tq и g (О (* ),q) измеряются в одних и тех же единицах и суммарный «доход» от перехода системы из состояния О (*) в состояние О (*') под воздействием управления q определяется величиной Tq + g (О (*)л) .

В новом состоянии О (*') к системе применяется управление 4, q' е Q , и т.д. Система функционирует конечное число тактов Т0 - до мо-

мента построения «полного» расписания, включающего в себя все работы из множества О.

Относительно рассматриваемых систем обычно ставят следующую задачу [5]: при заданном состоянии системы и числе тактов, оставшихся до конца функционирования, найти оптимальную стратегию из некоторого класса стратегий по критерию максимизации суммарного «дохода». Будем задавать стратегию в виде функции I (О (ґ ),Т), определенной на множестве W х {1,2,...,Т0} со значениями из Q. Функция I (О ^ ),Т ) в зависимости от состояния (фронта работ) и числа тактов, оставшихся до конца функционирования (в общем случае - от числа работ, которые еще не включены в строящееся расписание), определяет, с помощью какой стратегии необходимо установить линейный порядок на множестве работ из фронта работ.

Пусть 5 - множество различных стратегий. Обозначим через ц(О ^ ),Т,І (О (ґ ),Т)) суммарный «доход», который получит система, если она начинает функционировать в состоянии О (ґ),

до конца функционирования осталось Т тактов, и к системе применяются управления, задаваемые функцией I (О (:), Т). Т огда задача выбора оптимальной стратегии будет заключаться в определении такой функции 10 (О ^ ),Т), для которой выполняется

),Т, Л(ф(t),Т ))=1 (),Т,1 (ф(t),Т)) •

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

Обозначим через у(О ^),Т) суммарный «доход», который получит система, если она начинает свое функционирование из состояния О ^), до конца функционирования осталось Т тактов и к системе на каждом шаге применяются оптимальные управления. Тогда, применив к системе принцип оптимальности динамического программирования, построим рекуррентные соотношения:

Ф()Т)=тіп^ + 8(О (4 q)+Ф(/1 ')Т - 1)}

qєQ

из которых, задав граничные «доходы» у(О(/),0)= 0, О^)єW , можно находить оптимальную стратегию.

Заключение

В работе приводится общая математическая модель распределения ограниченных ресурсов в

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

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

1. Прилуцкий М.Х., Кумагина Е.А. Задачи распределения разнородных ресурсов в сетевых канонических структурах // Перспективные информационные технологии и интеллектуальные системы. 2000. № 4. С. 46-52.

2. Прилуцкий М.Х., Кумагина Е.А. Задача упорядочения работ как задача о назначениях // Вестник

Нижегородского государственного университета. Математическое моделирование и оптимальное управление. Н. Новгород: Изд-во ННГУ, 1999. Вып. 21. С. 270-275.

3. Прилуцкий М.Х., Кумагина Е.А. Перестановочные процедуры решения задач распределения ресурсов // Межвузовский сборник научных трудов «Прикладные задачи моделирования и оптимизации». Воронеж, 2000. Ч. II. С. 81-90.

4. Прилуцкий М.Х., Власов С.Е. Многостадийные задачи теории расписаний с альтернативными вариантами выполнения работ // Системы управления и информационные технологии. 2005. № 2. С. 44-48.

5. Казанцев Э.Н., Прилуцкий М.Х. Об одном классе управляемых марковских цепей // Успехи математических наук. 1978. Том 33. Вып. 6 (204). М., С. 213-214.

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

CONTROLLED FRONTAL ALGORITHM FOR RESOURCE ALLOCATION PROBLEM IN NETWORK CANONICAL STRUCTURES

М.Kh. Prilutsky, Е.А. Kumagina

The problem of limited-resource allocation in network canonical structures is considered. The frontal algorithm based on dynamic programming optimality principle is proposed.

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