Проблемы информатики. 2014- И® 2
3
УПОРЯДОЧЕНИЕ РАБОТ И РАСПРЕДЕЛЕНИЕ РЕСУРСОВ НА ОСНОВЕ ИСПОЛЬЗОВАНИЯ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ
Ю. Р. Крупа
ТОО „ИНКОМ", 050012, Алма-Ата, Республика Казахстан
УДК 519.852.6
В статье представлена модель математического программирования для оптимизационного расчета задач календарного планирования работ проекта с использованием законов сетей Кирхгофа.
Ключевые слова: математическое программирование, сетевое планирование работ, законы Кирхгофа.
In clause present model of mathematical programming for optimization calculation of task scheduling a project using laws networks Kirhgof.
Key words: mathematical programming, scheduling project, lows of Kirhgof.
Введение. Наиболее часто используемые классические методы для сетевого планирования работ — это метод критического пути (СРМ) и метод анализа и вероятностной оценки работ (PERT).
Метод СРМ позволяет рассчитать календарные графики выполнения комплекса работ на основе задаваемых оценок продолжительности выполнения каждой работы и определить критический путь для проекта в целом.
Метод PERT позволяет определить вероятности окончания проекта в заданные периоды времени. При использовании метода PERT необходимо задать наименее вероятную продолжительность выполнения каждой работы, наиболее вероятную продолжительность и наибольшую продолжительность для случая, если она будет больше ожидаемой.
Перечисленные методы расчета сетевых планов работ не позволяют использовать в расчете такие важнейшие исходные данные, как объемы работ и потребные ресурсы, без чего трудно получить план, соответствующий реальной ситуации. Кроме того, указанные методы не позволяют учитывать взаимное влияние множества параллельно выполняемых работ, использовать функции для вычисления времени по работам и не представляют средств минимизации общего времени проекта.
Эти же недостатки по сетевым расчетам можно отнести и к программным продуктам Primavera, MS Project, Rillsoft Project. В данной статье делается попытка решения названных проблем с помощью модели математического программирования.
1. Общее описание модели. Задача планирования ставится как детерминированная и решается с помощью модели, в которой используются два закона сетей Кирхгофа [1].
Главные цели создания модели для календарного планирования: рассчитать временные и ресурсные параметры всех работ, минимизировать полное время проекта, упорядочить работы во временном интервале по заданной технологии.
Требования:
1) расчетная схема строится по правилам ориентированного графа;
2) при создании расчетной схемы используется технология производства работ;
3) для отображения технологических особенностей производства используются следующие типы дуг: рабочие, временные связи, транзитные связи;
4) каждая рабочая дуга (работа проекта) характеризуется обязательными атрибутами (объемом, временем, ресурсом) и дополнительными: предельными величинами по времени и по ресурсам [2];
5) результаты расчета:
- полное время проекта;
- данные по дугам: временные, ресурсные, величины резервов времени и ресурсов.
Модель создается по сети, которая отображает необходимую последовательность работ
проекта. Сеть состоит из множества узлов и множества рабочих дуг, временных связей и транзитных связей. Временные связи используются для реализации нужной технологии: установления временных задержек и опережений, синхронизации множества параллельных работ. Транзитные связи служат для передачи ресурсов между рабочими дугами и реализации временных установок, В сети выделяются два особых узла: один соответствует начальному, другой — конечному узлу проекта, В расчетной сети при расчете многоресурсного плана работ условно выделяются подсети работ, которые выполняются одним ресурсом или рабочими одной специальности. Такая подсеть в обязательном порядке имеет начальный узел для ввода нужного количества ресурса, кроме того, по мере необходимости ресурсы могут вводиться во внутренних узлах подсети.
Основные процессы, реализуемые в предлагаемой модели:
- ввод объемов работ;
- ввод данных по имеющимся ресурсам для производства работ;
- расчет полного времени проекта;
- расчет количественных параметров в элементах сети: ресурсов используемых, ресурсов резервных, времени использованного, времени резервного,
2. Модель расчетной сети. Уравнения 2,1, 2,2, 2,3 — уравнения неразрывности потока, т, е, определяют поток ресурсов по дугам в соответствии с первым законом сетей [1]-
2.1. Ограничения по заданным ресурсам на входных узлах г:
X ^ Щ ,1,
где X — величина входного ресурса; г — индекс ресурса, г € Iг; Iг — множество ресурсов, используемых в проекте; г — индекс узла для ввода ресурсов, г € Мг. Узлы ввода располагаются в любой точке сети по мере потребности; N — множество узлов, в которых выполняется ввод ресурсов; Я — заданная величина входного ресурса,
2.2. г
х - £(хг+Ахг-) = 0,
г
где г — индекс ресурса, г € /г; гЦ — индексы узлов сети, гЦ € $ г — индекс начального узла дуги (индекс г в данном уравнении принадлежит также и множеству Ц — индекс конечного узла дуги; $ — множество узлов сети; Хгг— величина входного ресурса г на
входном узле г; ХТ — величина используемого ресурса г выходящей дуги г — ] из узла г;
1]
АХ] — величина резервного ресурса г выходящей дуги г — ] из узла г.
2.3. Ограничения по балансам входящих и выходящих ресурсов дуг на внутренних узлах сети:
£(Х] + АХ]) — £(ХТ + АХ]) = 0,
] 1
где г — индекс ресурса, г € /г; г^ — индексы узлов сети, г,^ € Б, Это ограничение формируется на узлы сети, исключая начальный и конечный; Хг] — величина используемого ресурса г входящей и выходящей дуги г — АХТ — величина резервного ресурса г входящей и выходящей дуги г —
Уравнения 2,4, 2,5 и 2,6, определяющие время работ, строятся в соответствии со вторым законом сетей для всех независимых циклов [1], Множество циклов определяется по алгоритму определения независимых циклов [3],
Количество независимых циклов сети равно цикломатическому числу и определяется по формуле: М = К — Z + 1, где М — цпкломатнческое число; К — количество дуг в сети; Z — количество узлов в сети,
2.4. Ограничения по времени, работ в независимых циклах. Ограничение представляет сумму значений времени на дугах в независимом цикле:
£ sign(гj) [Л](ХТ.) + А*]] =0,
Яг]
где ф] — множество дуг г — принадлежащих независимому циклу; ^ = 1, 2,..., М —
множество независимых циклов сети; г — индекс ресурса; г € /г; г,^ — индексы узлов сети, г,_7 € Б; ^п(г,7) — знак равен ,, + " (плюсу), если направление дуги совпадает с направлением обхода дуг в цикле, иначе знак равен „ — " (минусу); Л] (Х]) — функция используемого времени при выполнении работы ресурсом ХТ на дуге г—'; А^Т] _ резервное время на дуге г — ] с ресурсом г,
2.5. Уравнение полного пути. Ограничение по времени работ на независимом цикле
составленного из дуг полного пути от начального узла до конечного и временной дугой
"
£ sign(гj) [Л](ХТ) + А*]] — Т] = 0,
где фг] — множество дуг г — образующих любой путь между начальным и конечным узлами сети; Т] — время дуги полного пути. Представляется в двух вариантах: вычисляется как расчетная величина в оптимизационном расчете; заданная величина. Используется как директивное время проекта. Остальные обозначения идентичны вышеприведенным,
Т
ческому временному пути проекта,
2.6. Целевая, функция формируется из множества дуг полного пути, и имеет вид:
£ ^п(г,7) [Л] (ХТ) + А*]] ^ ш1п,
Яг
где Qj — множество дуг i — j, образующих любой путь между начальным и конечным узлами сети,
2.7. Условие неотрицательности всех переменных:
(X ,Xj, AX[, Atj ,Тгу) ^ 0.
2.8. Дополнительные (необязательные) требования, по параметрам,, которые могут возникнуть по технологическим, условиям.
Ограничения по предельным величинам ресурсов дуги (работы):
Xr min ^ Xr Xr max ^ ^ '
где Xr — расчетная переменная pecvpea дуги; Xjrmin,Xjmax — минимальная, максимальная величины ресурса r на дуге i — j,
Ограничения по предельным временным параметрам дуги (работы):
rpmin ^ Tjt с w \ ^ rpmax ^ (Aj) ^ ,
где Tjmin, T™ax — минимальная, максимальная величины времени на дуге i — j Fj(Xj) — функция расчета времени дуги.
Ограничения по предельным временным параметрам дуги (временной связи):
Tmin ^ Z < T.max
где Zjj — расчетная переменная временной дуги (связи); Tjmin,T™ax — минимальная, мак-
i — j
3. Комментарии по представленной модели. Множество критических временных путей или критических ресурсных путей определяется по рабочим дугам, у которых время резерва по времени и/или по ресурсу соответственно равно нулю.
Объемы работ в описании модели не представлены, т, к, они используются в функции расчета времени, которая представляется выражением в общем виде Fj (Xj), т. е, показывается только аргумент Xj, который вычисляется в расчете.
Функция используемого времени Fj (Xj) при выполнении работы должна быть линейной, но линейная функция, как правило, не дает достаточную точность вычисления, поэтому применяются нелинейные функции. Например, часто применяется формула гиперболы, Приведение нелинейной функции к линейному виду можно сделать с использованием, например, сепарабельпого подхода.
Заключение. Представленная модель позволяет в рамках одной задачи математического программирования получить план производства работ для реальных производственных условий,
1, Расчет можно выполнять в двух режимах:
- оптимизация времени при заданных ресурсах;
- оптимизация ресурсов при директивном задании времени проекта,
2, Основные параметры результатов:
- полное время проекта;
- оптимизированные параметры плана: время работы, используемое и резервное, ресурсы работы, используемые и резервные, время на временных и транзитных связях, величина ресурсов на транзитных связях;
- согласованные и распределенные по времени работы в соответствии с расчетными величинами,
3, По временным рассчитанным данным для наглядности можно построить схему с привязкой дуг к временной шкале, которая будет показывать последовательность производства работ в соответствии с технологией, В схеме для отражения технологии используются все виды дуг: рабочие, временные связи и транзитные связи,
4, Описываемую модель можно применять как в непрерывном варианте решения, так и в частично целочисленном варианте. Применение непрерывного варианта решения имеет ряд существенных преимуществ, например:
- по статистическим исследованиям большое число проектов заканчивается со значительными нарушениями плановых сроков и других показателей. Вариантом повышения надежности плана можно считать следующее обстоятельство: например, полученное не целое расчетное значение, допустим, ресурса, дает точно необходимую величину для выполнения заданного объема работы. Но на работу может быть поставлено только целое количество ресурса, не меньше рассчитанного, а избыток в виде дробной части надо принимать как некоторый запас надежности при исполнении плана;
- если все же надежность плана считается недостаточной, то увеличить надежность плана можно посредством дополнения модели простым алгоритмом для управления запасами (резервами) по времени и/или ресурсам и, следовательно, понижения рисков (см, п, 5);
- уход от использования для расчетов дискретных оптимизационных программ имеет также и то преимущество, что позволяет решать задачи больших размерностей и с меньшими затратами времени, В этой связи надо учитывать, что применение в модели нелинейных функций времени и последующей линеаризацией увеличивает размерность задачи (как по числу переменных, так и по уравнениям) в разы,
5, Решение, получаемое по предлагаемой модели, является оптимальным, которому характерны минимизированные величины резервов и получение точных значений по времени и ресурсам, получаемым из заложенной в модели функции расчета времени. Иными словами, по вероятностной оценке получаем оптимистичный и, значит, рискованный план, В связи с тем, что в описываемой модели можно легко манипулировать (управлять) величинами рассчитываемых резервов, то для снижения рисков календарного плана можно предложить следующий сценарий расчета плана работ, основанный на увеличении или понижении величин временных и ресурсных резервов работ:
- первый этап: получение оптимистичного плана, который по всем параметрам удовлетворяет заказчика, но который может быть исполнен только в идеальных условиях;
- второй этап: расчет плана с пониженными рисками. Вводим директивные требования на второй расчет плана, основываясь на главных параметрах от первого расчета, и производим новый расчет. Например, задаем директивное время проекта от первого расчета, резервы по времени (на критических работах определенных производительных сил или определенных работах) увеличиваем на 15 %, а резервы по ресурсам увеличиваем на 10 %. При этом, естественно, потребуются дополнительные ресурсы, но все директивные установки будут выполнены,
В настоящее время изменение временных и ресурсных запасов работ для изменения рисков в сетевых планах основывается на опыте, интуиции и ответственности руководителя за исход проекта. Факторы, которые могут использоваться для выборки рисковых объектов при планировании, — это критические пути, отдельные части критических пу-
тей, важные работы или цепочки (на расчетной схеме) производительных сил в оценке руководителя работ,
6, Модель, описанная в пунктах 2,1-2,8, представляет описание модели в общем виде. Для описания конкретной технологии производства работ, т, е, формирования модели на нужный проект, и последующего расчета задачи планирования надо определить используемые типы дуг и их параметры. Допустим, что в расчетной схеме будут использованы такие дуги, как рабочая, временная и транзитная:
- рабочая дуга определяет процесс реализации плановой работы. Для решения будут использованы четыре параметра: ресурсы используемые, ресурсы резервные, время рабочее (в виде функции) и время резервное. Поэтому в расчете по рабочей дуге надо назначить три переменных: по величине используемого ресурса, по величине резервного ресурса и величине резервного времени. Величина же рабочего (используемого) времени дуги вычисляется по функции времени, заложенной в модели. Расчет используемого времени для показа пользователю по функции времени выполняется после оптимизационного расчета;
- временная дуга представляется одной переменной, показывающей рассчитанное время;
- транзитная дуга представляется двумя переменными: первая служит для определения величины потока ресурса, проходящего через дугу, и вторая переменная — для определения времени на этой дуге.
Список литературы
1. Петрович С. И. Математические модели в оперативном планировании развития горных работ на шахтах. Казахстан: „Наука", 1986. С. 38-43.
2. Основные положения по разработке и применению систем сетевого планирования и управления. Экономика. 1974. С. 55-76.
„"
Крупа Юрий Романович — гл. инженер ТОО „Инком,",
e-mail: [email protected].
Дата поступления — 10.05.2014