Научная статья на тему 'Оптимизация привлечения дополнительных ресурсов в сетевом планировании'

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

CC BY
179
45
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СЕТЕВОЕ ПЛАНИРОВАНИЕ / ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ / NETWORK PLANNING / DYNAMIC PROGRAMMING

Аннотация научной статьи по математике, автор научной работы — Докучаев Александр Владимирович, Котенко Андрей Петрович

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

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

Optimisation of attraction of additional resources in network planning

The algorithm of optimisation of an investment of additional resources for the purpose of reduction of the general term of performance of the project in a problem of network planning and management is described.

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

MSC: 91B99

DYNAMIC INVESTMENT SYSTEMS OPTIMIZATION OF INDUSTRIAL ENTERPRISES

D. V. Petrov

Samara State Technical University,

244, Molodogvardeyskaya str., Samara, 443100.

E-mail: totosha@mystep.ru

We have suggested the mathematical model of investment project in order to use it for the decision making support systems. Within the scope of the suggested model using the maximal principle by L. S. Pontryagin we have determined the optimal enterprises and investors interaction modes during products manufacturing and selling stages. We have solved the practical problems of the determination of having an influence of various indicators on resource investment effectiveness and also we have solved a fitting problem of optimal operating modes for each member of the cooperative investment projects.

Key words: decision making support, investment projects, enterprises functionals of the work quality, maximal principle by L. S. Pontryagin, periods of the operating modes, extreme operation speed of the enterprises and investors, enterprises and investors interaction modes.

Original article submitted 08/XII/2009; revision submitted 01/III/2010.

Denis V. Petrov, Postgraduate Student, Dept. of Information Measuring Technics.

УДК 519.876.3, 519.857

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

А. В. Докучаев, А. П. Котенко

Самарский государственный технический университет,

443100, Самара, ул. Молодогвардейская, 244.

E-mails: Docuhaev@mail.ru, ako1959@mail.ru

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

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

1. Основные обозначения. Рассмотрим задачу сетевого планирования и управления (СПУ) проектом P = (ai, a,2,... ,ak) из к ^ 1 работ |aj}k=1 со временем выполнения t(ai) ^ 0, списками предшествующих работ |s(aj)}k=i и функциями отклика fi(x) ^ 0, описывающими сокращение времени выполнения проектных работ ai после привлечения ограниченного ресурса x G [0, X] при X ^ 0. Здесь s(ai) — собственное (возможно, пустое) подмножество работ проекта P, которые необходимо завершить до начала выполнения работы ai.

Александр Владимирович Докучаев, аспирант, каф. прикладной математики и информатики. Андрей Петрович Котенко (к.ф.-м.н., доц.), доцент, каф. прикладной математики и информатики.

2. Алгоритм правильного упорядочения работ. Правильно переупорядочим проектные работы |aj}k=1 условием i < j ^ aj ё s(aj):

1) стартовой работе a* с пустым множеством предшественников s(aj) = 0 припишем номер 1. Если стартовых работ несколько, припишем им первые натуральные номера в произвольном порядке;

2) исключим стартовые работы из всех списков предшественников s(aj) остальных работ a*;

3) вновь найдём пустые списки предшественников и повторим предыдущий шаг 2, продолжая перенумерацию по возрастанию.

При обычных предположениях задачи СПУ о связности и отсутствии циклического предшествования правильная перенумерация всегда будет завершена. В дальнейшем считаем исходную нумерацию проектных работ {ai}k=i правильной.

3. Алгоритм сокращения списка предшествующих работ. Назовём работу a* ё P непосредственно предшествующей работе aj ' P (1 ^ i < j ^ k), если a* ё s(aj) и нет такой работы a; ё P (i = l = j), что a* ё s(a;) и a; ё s(aj). Сократим списки предшественников {s(aj}k=i, оставив в них лишь непосредственно предшествующие работы. Проведём сокращение индукцией по возрастающим номерам правильно упорядоченных работ.

Основание индукции. Список стартовой работы ai не требует сокращения, так как пуст, т. е. s(ai) = 0.

Предположение индукции. Пусть уже сокращены, т.е. состоят лишь из непосредственно предшествующих работ, списки {s^a*)}*^ предшественников работ {a*}*= 1 при 1 ^ l ^ k — 1.

Шаг индукции. Сократим список s(a;+i). Возможны два случая:

а) работа a;+i —стартовая, т. е. у неё список предшественников пуст и не требует сокращения (s(a;+i) = 0);

б) список предшественников не пуст (s(a;+i) = 0) и состоит из работ a^, a*2, . .., a*m ё P (m ^ 1) c уже сокращёнными по предположению индукции списками предшественников s^a^), s/(aj2), ..., s/(ajm), так как 1 ^ ii <i2 < ••• < im ^ l в силу правильной упорядоченности работ проекта P. Оставим в списке предшественников s(a;+i) = = {a^, a*2,..., a*m } только непосредственно предшествующие работы, удовлетворяющие условию a^ ё |Jm=i s/(ajr), 1 ^ t ^ m. Тем самым будет построен сокращённый список предшественников s/(a;+i) = {a'i }m= i (1 ^ m/ ^ m), содержащий только проектные работы a* , непосредственно предшествующие проектной работе a;+i.

Шаг индукции доказан.

Заключение индукции. Все списки предшественников могут быть сокращены.

В дальнейшем считаем исходные списки предшественников {s(aj)}k=i сокращёнными.

4. Граф проекта. Построим орграф G(V, R) проекта P с непустым множеством N ^ 2 вершин V = {v^i, описывающих события проекта P, то есть моменты начала или завершения проектных работ a* (i ё {1, 2, ...,k}), дополненных, если необходимо, фиктивными работами a* (i ё {k + 1, k + 2,..., K}, K > k) c нулевым временем выполнения t(aj) = 0 и тождественно нулевой функцией отклика /(ж) = 0. Непустое множество R направленных дуг орграфа G(V, R) состоит из непустого множества проектных (i ё {1, 2,..., k}) и, быть может, пустого множества фиктивных (i ё {k + 1, k + 2,..., K}) работ a* = (vHa4(aj), vKOH(a.j)), заданных начальной и конечной вершинами vHa4(a*), vKOH(a*) ё V.

Определим множество вершин V следующим образом. Пусть А — Ца^-1| —матрица размера кхк соседства проектных работ {а*}к=1 с элементами

если (Е 5(а^) ^кон(аг) — ^нач(а^')?

если а* (Е в(а^') ^нач(аг) — ^кон(а^')?

если {^нач(аг )? ^кон(аг)} ^ {^нач(а^‘)? ^кон (а^')} — если ^нач ( аг ) — ^нач ( а^' ), если ^кон(аг ) — ^кон(а; )*

Таким образом, знаком т отмечены пары работ с общим моментом завершения; £ — с общим моментом начала; нулём отмечены не согласованные непосредственно пары работ; 1 обозначает, что работе а^- непосредственно предшествует работа а*; —1 указывает, что а^- непосредственно предшествует работе а*. Тогда матрицу А можно разбить на сумму А — А^ + Ат + В двух симметрическая матриц А^ и Ат размера кхк, содержащих только знаки {0, £} и {0, т} соответственно, и одной кососимметрической матрицы В размера кхк, содержащей только знаки {0,1, —1}.

Рассмотрим матрицу В подробнее. Поскольку в проекте Р предполагается отсутствие изолированных работ, в любой строке с номером * ЕЕ {1,2,..., к} матрицы В имеется хотя бы один ненулевой элемент: 1 — соответствует работе, непосредственно следующей за а*; — 1 — соответствует работе, непосредственно предшествующей а*. Аналогично, в любом столбце с номером Л Е {1, 2,..., к} матрицы В имеется хотя бы один ненулевой элемент: 1 — соответствует работе, непосредственно предшествующей а*; — 1 — соответствует работе, непосредственно следующей за а*.

В силу предположений о правильной нумерации проектных работ {а*}к=1 и со-кращённости списка предшествующих работ {в(а*)}к=1 единицы могут быть расположены лишь выше главной диагонали матрицы В, а — 1 —лишь ниже главной диагонали. Как принято в задачах СПУ, работа не может предшествовать себе самой, поэтому главная диагональ матрицы В нулевая. Несколько первых (стартовых) строк матрицы не могут содержать — 1, так как они соответствуют стартовым работам проекта Р, не имеющим предшественников. Аналогично, несколько последних (финишных) строк не могут содержать 1, так как они соответствуют финишным работам, не являющимися ни чьими предшественниками. В силу кососимметричности матрицы В подобное свойство с заменой 1 и —1 имеется и у соответствующего числа стартовых и финишных столбцов.

5. Начало алгоритма построения вершин графа проекта. В дальнейшем рассмотрим по возрастанию номеров * Е {1, 2,..., к — 1} по очереди строки верхней треугольной части над главной диагональю матрицы В, которые могут быть заполнены лишь нулями либо единицами. Пусть все единичные элементы некоторой нефинишной *-той строки а^ — а^-2 — • • • — а^-г = 1 расположены в столбцах * +1 ^ ^ ^2 < • • • < Л ^ к (1 ^ г ^ к — *). Они соответствуют проектным работам

а^1, а^2, ..., а^ Е Р, непосредственно следующим за проектной работой а*. Возможны следующие случаи расположения других единичных элементов в указанных столбцах с номерами ^’1, Л2, ..., ^г.

Случай 1. Если таких элементов нет, введём вершину с обозначением ^(*; Л1,Л2,..., Л) в множество V. Эта вершина будет конечной для проектной работы а* и общей начальной для проектных работ а^, а^2, ..., а^г Е Р.

Случай 2. В некоторых столбцах с номерами Л1, Л2, ..., Л имеются единичные элементы, расположенные ниже *-той строки в строках * + 1 ^ *1 <*2 <...< <*я ^ к — 1 (1 ^ в ^ к — *). Выделим в указанных столбцах и строках матрицы В размера кхк подматрицу Б — В(*1, *2,..., г8;ЛьЛ2,...,>) размера вхг, лежащую выше главной диагонали.

Обозначим отношение собственного включения для матриц через -<, таким образом, Б -< В.

Если все элементы Б единичные, введём в множество V вершину с обозначением ^(*1, *2,..., ь; Л1, Л2,..., Л). Эта вершина будет общей конечной для проектных работ а*1, а*2, ..., а^ Е Р и общей начальной для проектных работ

Случай 3. Если среди элементов подматрицы Б = В(*і, ¿2, • • •, Ь! І і,.72, • • •,і) есть нулевые, то необходимо ввести в дополнение к проектным фиктивные работы, так как в отличие от случая 2 нельзя соединить одной вершиной полученные в входящих и г исходящих направленных дуг.

6. Алгоритм добавления фиктивных работ. Приведем алгоритм добавления необходимого числа фиктивных работ а* Є Р (і ^ к +1) для случая 3 в п 5. Подматрица Б размера вхг содержит единичную, т. е. заполненную единицами, первую строку, остальные строки, а также все её столбцы ненулевые. Единичная строка может оказаться не единственной, обозначим их число через !, очевидно 1 ^ ^ в — 1. Так же

в подматрице Б может быть несколько единичных столбцов, обозначим их число через е, очевидно, что 0 ^ е ^ к — 1.

Выделим в подматрице Б собственную 2х2-блочную віхгі-подматрицу Б -< Бі (1 ^ в і ^ в — 1, 1 ^ г і ^ г — 1), состоящую из трёх единичных (заполненных единицами и обозначенных через I[!і х еі], I[!і х (гі — еі)] и I[(ві — !і) х еі]) и одного нулевого (заполненного нулями и обозначенного 0[(ві — !і) х (гі — еі)]) нижнего блока. Соответствующие размерности блоков удовлетворяют неравенствам 1 ^ !і ^ ві — 1 и 1 ^ еі ^ гі — 1.

Для уменьшения числа добавляемых фиктивных работ необходимо так подобрать подматрицу Бі -< Б, чтобы она не была собственной подматрицей другой аналогичной 2х2-блочной подматрицы Б2 ^ Б. Таким образом,

Дальнейшие построения проводятся в обоих случаях аналогично, поэтому рассмотрим лишь первый вариант блочного представления Б1. Добавим фиктивную работу ак+1 с условиями непосредственного предшествования а^ Е в(ак+1) и ак+1 ЕЕ в(а^4), где правильные номера ¿¿, непосредственно предшествующих фиктивной работе а^+1 Е Р проектных работ а^ ЕЕ Р соответствуют попавшим в блок I [¿1 х подматрицы Б1 строкам, а правильные номера Л непосредственно последующих за фиктивной работой а^+1 Е Р соответствуют попавшим в блок 0[(в1 — ¿1) х (г1 — е1)] подматрицы Б1 по столбцам.

7. Завершение описания алгоритма построения вершин графа проекта. Теперь можно добавить в множество V начало ^нач(а^+1) и конец ^кон(а^+1) построенной выше фиктивной работы а^+1, произвести заново правильное переупорядочение работ {а*}^1, сокращение списков предшествующих работ {«(а*)}^1 и вернуться к п. 5 в начало алгоритма построения вершин графа проекта.

Таким образом, повторением п. 5 и, при необходимости, добавлением фиктивных работ (п. 6) орграф проекта Р будет построен.

8. Алгоритм оптимизации вложений дополнительных ресурсов. С помощью орграфа С(У, Д) найдём все полные пути {1*}м=1 (М > 1) проекта Р, соединяющие общее начало всех стартовых и общий конец всех финишных работ проекта, и оценим суммой времени исполнения их работ:

ал, аІ2, • • •, а> Є Р.

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

г(Іі)

где число работ на полном пути /j равно r(/j) ^ 1, i € {1, 2,..., M}.

Тогда минимальное время выполнения проекта T = max |/j| будет функцией

T = T(xi, Х2,..., xk) распределения дополнительного вложения ресурса x € [0, X], определенной заданными функциями отклика проектных и фиктивных работ fj (xj) (j € {1, 2,..., K}) при ограничении 0 ^ x1 + x2 + • • • + xK ^ X.

Решим задачу минимизации

T* =f min T(xi, x2,..., xK)

oaxi+x2H—+xk ax

при заданном запасе ресурса X ^ 0 методом динамического программирования. Таким образом,минимальное время T* выполнения проекта P при дополнительном вложении ограниченного ресурса 0 ^ x ^ X составит

( r(ii)

T * = oa + n+in+ a А15iax^ [t(aj‘) - (xjt)]

oaxi+x2+—+xkax 11агам

В работах [1, 2] приведены примеры подобной реализации методов динамического программирования в задачах распределения дискретного ограниченного ресурса.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Докучаев А. В., Котенко А. П. Алгоритмы решения стохастических задач динамического программирования большой размерности // Вестн. Сам. гос. техн. ун-та. Сер. Физ.-мат. науки, 2008. — №2(17). — C. 203-209.

2. Докучаев А. В. Адаптивный подход в одной стохастической задаче динамического программирования на на основе континуальной постановки / В сб.: Труды Пятой Всероссийской научной конференции (29-31 мая 2008 г.). Часть 2: Моделирование и оптимизация динамических систем и систем с распределенными параметрами, Математические модели в информационных технологиях / Матем. моделирование и краев. задачи. — Самара: СамГтУ, 2008. — C. 25-30.

Поступила в редакцию 02/II/2010; в окончательном варианте — 10/III/2010.

MSC: 90С39, 90В10

OPTIMISATION OF ATTRACTION OF ADDITIONAL RESOURCES IN NETWORK PLANNING

Â. V. Docuchaev, A. P. Kotenko

Samara State Technical University,

244, Molodogvardeyskaya str., Samara, 443100.

E-mails: Docuhaev@mail.ru, ako1959@mail.ru

The algorithm of optimisation of an investment of additional resources for the purpose of reduction of the general term of performance of the project in a problem of network planning and management is described.

Key words: network planning, dynamic programming.

Original article submitted 02/II/2010; revision submitted 10/III/20l0.

Alexander V. Docuchaev, Postgraduate Student, Dept. of Applied Mathematics & Computer Science. Andrey P. Kotenko (Ph. D. (Phys. & Math.)), Associate Professor, Dept. of Applied Mathematics & Computer Science.

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