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

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

Прилуцкий М.Х.

(1) Нижегородский государственный университет им. Н.И. Лобачевского

Содержательное описание проблемы

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

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

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

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

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

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

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

Пусть J множество деятельностей, подлежащих выполнению; I множество ресурсов, используемых деятельностями (| I | = п, | I | = т); Т ={0...Т0} - такты функционирования системы, ^ - длительность выполнения деятельности у, ^еТ, уе/. Обозначим через К(у) - множество деятельностей, непосредственно предшествующих деятельности у, уе/; Ъу - начальный срок деятельности, для которой К(у)= 0; ^ -директивный срок деятельности, для которой нет последующих, т.е. не существует такой деятельности I , для которой уеК(1); с(у) - вектор-функция со значениями из Ят, /-я компонента которой означает количество ресурса /, необходимое для выполнения деятельности у, ге1, уе/. Поступление ресурса в систему определяется вектор-функцией г(г), геТ.

Функционирование системы

Пусть £ х Т = {< 5, г > | 5 е Ят, г е Т} - множество состояний системы, где 5 -количества ресурсов, доступных системе в момент времени г. Через Q(t) обозначим множество деятельностей, выполненных к моменту времени г, Q(t) с/. геТ, Пусть х - п-мерный вектор, компонента которого Ху означает момент времени активизации деятельности у,ху е Т, уе/Обозначим через ф(г) = {у | К(у) с Q(t), ] е J }- фронт деятельностей, соответствующий такту г, г еТ, причем, ф(0) = {у | К(у) = 0, у е /}. Множество допустимых управлений системы в состоянии < Г г > обозначим через и(< 5, г >) = {у | у еф(г), С© < 5}и {л}, где Л - некоторая фиктивная деятельность, которая всегда принадлежит множеству управлений.

Система функционирует следующим образом. Из состояния < 5, г >, < 5, г >е £ х Т ,

при допустимом управлении ], ] е и(< 5,г >), система переходит в состояние < 5\ г1 >, где < 5?1, г1 >=< 5 - с (у), г >, если у фЛ, и < 51, г1 >=< 5 + г(г +1), г +1 >, если и < >= {у} и у =я. При этом, если у фЛ, то Q(t) = Q(t) и {у} и Ху = г. Такой переход приносит системе «доход», задаваемый функцией g(5, г, у). Система функционирует конечное число тактов Т0, причем на каждом такте функционирования к системе могут быть применены несколько управлений, тем самым система за каждый такт осуществляет несколько переходов.

Относительно рассматриваемых систем обычно ставят следующую задачу - при заданных состоянии системы и числе тактов функционирования, найти оптимальное управление системой. Оптимальность управления в таких задачах обычно связана с максимизацией суммарного дохода, который получит система в процессе функционирования или минимизацией суммарных затрат (такая схема принята в данной работе). Эти затраты (доход) зависят от вида функцииg(5,г,у). В данной работе предлагается при определении этой функции учитывать временные характеристики сетевой модели, соответствующей рассматриваемой системе. Это можно сделать, например, следующим образом. Пусть - такт планирования, соответствующий позднему началу выполнения деятельности ], рассчитанному относительно заданных директивных сроков. Тогдаg(5,г, у) = max(t - г1* ,0) и функция g(5, г,у) определяет в такт t

при активизации деятельности ] то количество тактов, на которое деятельность ] «задержит» выполнение всей совокупности деятельностей относительно заданного директивного срока.

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

Стратегию управления системой будем отождествлять с функцией f (s, t), определенной на множестве SxT со значениями из J. Обозначим через /u(s, t, f (s, t)) -величину суммарных затрат, которые получит система, если она находится в состоянии < s, t > и к ней будут применены управления, задаваемые функцией f (s, t). Величину ju( s, t, f (s, t)) можно вычислить используя рекуррентные соотношения:

r r ff

ju(s, t, f (s, t)) = g(s, t, f (s, t)) + ju(s , t, f (s, t)), при задании граничных условий: М", t, f (s", t ))=0, если t=T0.

Оптимальной стратегией назовем такую стратегию f0 (s, t), для которой выполняется: /u(s, t, f0( s, t )) = min(^(r, t, f (r, t))), где минимум берется по всем возможным

стратегиям f (s, t).

Алгоритм решения задачи

Для определения оптимальной стратегии применим к системе принцип оптимальности динамического программирования. Пусть v(s, t) - суммарные затраты, которые получит система, если она находиться в состоянии < s, t > и к ней будут применяться управления, определяемые оптимальной стратегией. Тогда рекуррентные соотношения v(s, t) = min (g(s, t, j) + v(s \ t')), с учетом граничн^гх условий v(s, T0) = 0,

jeü

позволят находить оптимальные управления в каждом состоянии системы.

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

Пример

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

Для выполнения заказа используются трудовые ресурсы (фонд времени оборудования) и два типа сырья. Пусть заказ состоит из восьми этапов, зависимость выполнения которых задается сетевой структурой, приведенной на рис. 1.

Рис.1

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

Таб. 1

Этапы 1 2 3 4 5 6 7 8

Ресурсы 1 3 0 2 2 3 3 0 0

2 0 2 0 0 0 0 2 0

3 1 1 1 0 0 1 1 1

Длительности 3 3 5 1 4 9 2 5

выполнения

этапов

В таблице 2 представлен график поступления ресурсов.

Таб. 2

Такты 0 5 10 15 16 17 18 19 20

1 8 0 7 0 0 0 0 0 0

Ресурсы 2 3 0 2 0 0 0 0 0 0

3 3 3 3 3 3 3 3 3 3

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

<(3, 3, 0), 3>

^ * Ч

Рис. 2

Оптимальный график выполнения этапов заказа приведен в таблице 3.

Таб. 3

Этапы 1 2 3 4 5 6 7 8

Начало выполнения 0 0 0 10 10 5 15 17

Конец выполнения 3 3 5 11 14 14 17 22

Заказ завершится в 22 такт планирования, тем самым директивный срок будет нарушен на

2 такта.

Литература

1. Прилуцкий М.Х. Дискретно управляемые системы распределения ресурсов в сетевых иерархических и канонических структурах. Сб. научных статей юбилейной научно-технической конференции факультета ВМК ННГУ и НИИ ПМК «Математика и кибернетика». Н.Новгород, Издательство ННГУ, 2003, стр.243-247

2. Прилуцкий М.Х., Петри С.Ю. Фронтальный алгоритм распределения ресурсов в сетевых канонических структурах. «Моделирование и оптимизация сложных

систем». Межвузовский тематический сборник научных трудов ВГАВТ, Н.Новгород, 2004,стр. 64-70