Выпуск5(33) 2015
УДК 621.396
А. А. Чертков, А. А. Вардомская, А. А. Дмитриев
АВТОМАТИЗАЦИЯ ОПРЕДЕЛЕНИЯ КРИТИЧЕСКОГО ПУТИ В ЛОГИСТИЧЕСКОЙ СИСТЕМЕ
В современных условиях продолжительность жизненного цикла продукции становится все короче, а скорость изменений в производственных и логистических технологиях все выше, что предъявляет к логистическим системам материальных грузопотоков дополнительные требования. Они должны быть более гибкими в отношении выполняемых задач, быстро и с малыми затратами времени и ресурсов адаптироваться к постоянно меняющимся запросам в системе. С целью повышения эффективности и качества функционирования логистической системы в работе предлагается производить анализ и синтез сети со сложной топологией методами компьютерного моделирования с применением в качестве средства решения ориентированного графа, по которому определяется критический путь как наиболее эффективный для достижения заданного критерия качества. В результате разработаны алгоритм и процедура оптимизации, позволяющие сократить время, необходимое для перемещения грузопотока от исходного в конечный пункт, согласно критерию качества. Алгоритм реализован с помощью разработанной программы в кодах MatLAB, простота и технологическая прозрачность которой не требуют дополнительного лицензирования. Рассмотрен конкретный пример определения критического пути для подтверждения корректности предложенных технических решений.
Ключевые слова: автоматизация, алгоритм, логистика, ориентированный граф, критический путь, целевой функционал, модель, критерий качества.
АЖНЕЙШЕЙ задачей, стоящей сегодня перед логистическими компаниями и перед транспортной системой России в целом, является быстрая адаптация к новым, более высоким требованиям рынка к объему и, главное, качеству предоставляемых услуг. Поскольку продолжительность жизненного цикла продукции становится все короче, а скорость изменений в производственных и логистических технологиях все выше, системы материальных грузопотоков должны быть более гибкими в отношении выполняемых ими задач и вносимых новшеств. Они должны быстро и с малыми затратами адаптироваться к постоянно меняющимся запросам рынка. Всем этим требованиям соответствуют автоматические системы, использующие транспорт, работающий без участия человека [1].
Основой таких систем являются различные транспортные средства, такие, например, как робокары, «сердцем» которых являются устройства навигации и связи. Компьютер более высокого уровня обеспечивает диспозицию машин путем оптимизации маршрута движения и временных затрат на выполнение операций [2]. Эта тенденция стимулируется многочисленными инновациями в автоматических транспортных системах [3]. Поэтому повышение эффективности таких логистических систем является важной управленческой и инновационной задачей [4], [5].
Основной моделью большинства логистических схем доставки грузов является ориентированный граф, с помощью которого определяется критический путь как наиболее эффективный с точки зрения заданного критерия качества. В середине 50-х годов XX в. в теории графов сформировалась потоковая задача поиска искомого пути на сетке. Соответствующая методология получила название сетевое планирование и управление (СПУ) [6].
В терминологии теории графов сетевым графиком является конечный ориентированный граф без контуров, в котором имеется единственная вершина с отсутствующими прообразами и единственная вершина, не имеющая образов. Сетевым графиком можно назвать ориентированную транспортную сеть с одним входом и одним выходом, в которой нет путей с повторяющимися вершинами. Узлы в этой сетке — события, а дуги — операции (работы). Последние изображаются стрелками (дугами), которые соединяют вершины (узлы), представляющие события. Начало
BECTHL
ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА
МОРСКОГО И РЕЧНОГО ФЛОТА ИМЕН И АДМИРАЛА С, О. МАКАРОВА,
и окончание любой работы описываются парой событий, которые называются начальным и конечным событиями. Для указания конкретной работы используют код работы (i, j), состоящий из номеров начального (/-го) и конечного (/-го) событий. Таким образом, концы входящих в событие и начала выходящих из него дуг имеют свой кодовый признак (номер) [7], [8].
В сетевом графике реализованы два принципа:
- операция начинается только тогда, когда достигнуто ее начальное событие;
- событие считается достигнутым, если исполнены все операции, которые являются входами.
Для расчета сетевого графика обычно используют два метода:
- метод критического пути (Critical Path Method (CPM)), где длительность операций однозначно определена и задана конкретными числами [9];
- метод анализа и просмотра программ (Program Evaluation and Review Technique), где длительность операций не определена, и их задают с помощью определенных вероятностных оценок [10].
Цель обоих методов одинакова и состоит в определении минимальной продолжительности выполнения всех операций проекта. Оказалось, что для определения минимального срока выполнения всего проекта, графической и математической моделью которого является сетевой график, нужно найти в конфигурации ту длину пути, которая соединяет начальный узел с конечным. Этот путь называют критическим путем. Операции, которые в него входят, называют критическими. Они должны быть исполнены в определенный срок, поскольку их задержка приведет к увеличению длительности проекта. Все остальные операции некритические. Они имеют резерв времени. Следовательно, основное внимание должно быть сосредоточено на критических работах [11], [12].
В большинстве известных методов вычисление критического пути производится табличным способом (с применением табличного процессора) посредством вычисления ранних и поздних времен наступления событий в узлах сетевого графика. Способ этот рутинный и затратный по времени, к тому же он не обладает универсальностью для различных структур сетевой модели. Указанные обстоятельства, а также значительно возросшая мощность современных вычислительных сред, в частности среды MatLAB (version 7.9.0.529,R2009b, august 12,2009,license number: 161051), подтолкнули авторов к созданию универсального алгоритма вычисления критического пути на основе компьютерной модели сетевого графика. С этой целью для построения сетевой модели используется математический аппарат дискретного программирования, в котором искомые переменные принимают только целочисленные или логические (булевы или бинарные) значения: нуль или единицу [13].
Математическую модель сетевой задачи построим на примере сетевого графика (рис. 1), заданного в виде ориентированного графа, который состоит из девяти узлов (событий) и 13 дуг (операций). Нужно найти критический путь от узла № 1 к узлу № 9.
095
Рис. 1. Исходный ориентированный граф
Численные значения продолжительности операций (дуг), а также индексов, соответствующих началам и концам операций (дуг), приведены в табл. 1. Неизвестными в этой задаче являются
Выпуск 5(33) 2015.
Выпуск5(33) 2015
бинарные переменные х имеющие смысл наличия или отсутствия факта принадлежности операции (дуги) критическому пути.
Таблица 1
Исходные данные по операциям сетевого графика
Начало i 1 2 2 3 3 4 5 5 5 6 6 7 7 8
Конецj 2 3 4 4 6 5 6 7 9 7 8 8 9 9
Продолжительность T 3 8 5 5 6 9 3 2 5 4 7 6 5 10
Тогда математическую модель задачи можно записать как совокупность следующих составляющих:
- целевой функции
14
F =LTaxy ^ min;
‘, j
- ограничения-баланса (в каждом узле)
(1)
- входного потока
- выходного потока
1 k = 1;
A - A = B e - 0, 1 < k < 9;
-1 II 40
9 X XiJ j=2 f xij = 1, j = к 1 [xij = 0, j * к J Ш II
Xj = 1, i = k Xj = 0, i Ф k
A2, к e[ 9];
- граничного условия
Xj e f
1]> 0, i = 1, ..., 9; j = 2,..., 9,
(2)
(3)
(4)
где x j — бинарные переменные состояния, фиксирующие факт принадлежности каждой из заданной в табл. 1 операции (дуги) критическому пути; i , j — индексы, соответствующие началам и концам дуг; T — продолжительность операции (дуги) c индексами (i , j); к — номер (индекс) узла
ij
сетевого графика.
Левая часть ограничения (3) представляет сумму входящих потоков узла, т. е. суммируются потоки по тем дугам, концы которых совпадают с поточным узлом. Аналогично, левая часть ограничения (4) представляет собой сумму выходящих из узла потоков, т. е. суммируются потоки по тем дугам, начала которых совпадают с поточным узлом.
Таким образом, требуется найти вектор неизвестных из целевой функции (1), чтобы выполнялись условия сохранения баланса потоков для каждого узла в выражении (2):
- для узла-источника — Выход - Вход = 1;
- для промежуточных узлов — Выход - Вход = 0;
- для узла-стока — Выход - Вход = -1;
- все неизвестные — неотрицательные переменные.
Требуется среди множества решений системы (1) — (4) найти такое неотрицательное решение, которое составляет минимум целевой функции (1).
Реализация в среде MatLAB. Для решения задачи дискретного программирования в MatLAB используется универсальная функция linprog.Область поиска для нее задается следующими условиями [14]:
A*x<=b — линейные неравенства (A — матрица, b — вектор);
Aeq*x=beq — линейные ypaBHeH^(Aeq — матрица, beq — вектор);
lb<=x<=ub — ограничения на координаты (lb — вектор нижних границ и ub — вектор верхних границ).
Целевая функция f’*x в linprog задается вектором коэффициентов f.
Форма обращения к этой функции:
[x, J]=linprog(f,A,b,Aeq,beq,lb,ub),
где J — значение целевого функционала.
Для обращения к функции linprog подготовим входную информацию:
- вектор коэффициентов целевой функции f=[3 8 5 5 6 9 3 2 5 4 7 6 5 10];
- массив номеров узлов
Yz=[1;2;3;4;5;6;7;8;9];
- массив индексов i - начало дуг (операций)
Dn=[1;2;2;3;3;4;5;5;5;8;6;7;7;8];
- массив индексов j - концов дуг (операций)
Dk=[2;3;4;4;6;5;6;7;9;7;8;8;9;9];
- матрицакоэффициентов системы линейных равенств (уравнений баланса), иначе, матрица инциденций
Aeq=A2-A1,
где A1=[] — матрица коэффициентов линейных ограничений потоков по входу (вычисляется автоматически по заданному массиву Dk индексов j-концов дуг путем циклических итераций);
A2=[] — матрица коэффициентов линейных ограничений потоков по выходу (вычисляется автоматически по заданному массиву Dn индексов i-начала дуг путем циклических итераций);
- вектор свободных (правых) членов системы линейных равенств баланса
beq=[1;0;0;0;0;0;0;0;-1];
- вектор нижних границ переменных lb=zeros(14,1);
- вектор верхних границ переменных ul=[].
По синтаксису функции linprog находится минимум. В случае максимизации критерия необходимо сменить знак коэффициентов целевой функции f либо поставить знак «минус» перед именем этого вектора:
[x,J]=linprog(-f,[],[],Aeq,beq,lb,[]).
Для реализации алгоритма разработана программа в кодах MatLAB и получены следующие результаты.
Матрица коэффициентов системы линейных ограничений по потокам (в ориентированном графе — матрица инциденций):
" 1 0 0 0 0 0 0 0 0 0 0 0 0 0
-1 1 1 0 0 0 0 0 0 0 0 0 0 0
0 -1 0 1 1 0 0 0 0 0 0 0 0 0
0 0 -1 -1 0 1 0 0 0 0 0 0 0 0
Aeq = 0 0 0 0 0 -1 1 1 1 0 0 0 0 0
0 0 0 0 -1 0 -1 0 0 1 1 0 0 0
0 0 0 0 0 0 0 -1 0 -1 0 1 1 0
0 0 0 0 0 0 0 0 0 0 -1 -1 0 1
_ 0 0 0 0 0 0 0 0 -1 0 0 0 -1 -1
Вектор переменных состояния (дуг)
х=[х1 х2 х3 х4 х5 х6 x7 x8 x9 x10 x11 x12 x13 x14]=[1 0 1 0 0 1 0 0 1 0 0 0 0 0].
Выпуск 5(33) 2015.
Выпуск5(33) 2015
Длина минимального пути — критического пути Jmin = 22.
Если в качестве критерия оптимизации задается максимальное значение целевого функционала J, то вектор переменных состояния (дуг)
х=[х1 х2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14]=[1 1 0 1 0 1 1 0 0 1 0 1 0 1],
а значение функционала J соответствует длине максимального пути: Jmax = 48.
Вычислительный алгоритм позволяет получить вектор состояния x для любых промежуточных значений J в диапазоне от 22 до 48 путем введения ограничений-неравенств. Расчетные значения для различных J приведены в табл. 2.
Таблица 2
Значения вектора состояния для экстремальных и промежуточных значений J
Экстремальные и промежуточные значения Значения вектора состояния
х1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14
L = 48 max 1 1 0 1 0 1 1 0 0 1 0 1 0 1
L . = 22 min 1 0 1 0 0 1 0 0 1 0 0 0 0 0
J = 25 1 0 1 0 0 1 0 1 0 0 0 0 1 0
J = 30 1 1 0 1 0 1 0 0 1 0 0 0 0 0
J = 35 1 0 1 0 0 1 0 1 0 0 0 1 0 1
О 'ri- ll 1 0 1 0 0 1 1 0 0 1 0 1 0 1
J = 45
Анализ результата. Найденные критические пути в выделенных графах табл. 3 представляют оценку максимальной продолжительности по вектору состояния, равную 48 ч.
Таблица 3
Операции с выделенными столбцами критических работ
Начало i 1 2 2 3 3 4 5 5 5 6 6 7 7 8
Конецj 2 3 4 4 6 5 6 7 9 7 8 8 9 9
Продолжительно сть T.. 3 8 5 5 6 9 3 2 5 4 7 6 5 10
Выводы
1. Разработан эффективный алгоритм оптимизации временных затрат и материальных ресурсов в системах материальных грузопотоков экстремальными методами на основе компьютерных моделей для применения в логистических системах.
2. Предложена модель для выполнения технологических расчетов, представленная уравнениями целевой функции, ограничениями баланса (в каждом узле), входным и выходным потоками при соответствующих ограничениях. Введены бинарные переменные состояния, что позволило фиксировать принадлежность каждой заданной операции (дуги) соответствующему критическому пути и использовать для расчетов функции линейного программирования, содержащиеся в инструментарии Optimization Toolbox среды MatLAB.
3. Корректность и эффективность предложенных решений подтверждена на конкретном примере автоматизации расчета критического пути с полным анализом возможных вариантов с размерностью вектора состояния dim(X) = 14.
4. Приведенная модель расчета, реализованная в кодах MatLAB, может быть использована не только для автоматизации логистических систем на водном транспорте, но и в телекоммуникационных системах пакетной передачи данных [3], в системах оптимизации маршрутных карт российских регионов [15], а также в других системах автоматизации и управления высокой размерности [15], [16] различного назначения.
СПИСОК ЛИТЕРАТУРЫ
1. Гузаиров М. Б. Моделирование транспортной сети поставок в строительной индустрии / М. Б. Гу-заиров, В. А. Тарасова // Вестник Уфимского государственного авиационного технического университета. — 2008. — Т. 10. — № 2. — С. 58-63.
2. Разработка технологических дорожных карт // Российские нанотехнологии. — 2009. — Т. 4. — № 3 - 4. — С. 10-12.
3. Слядников Е. Е. Моделирование распределенных информационно-телекоммуникационных систем пакетной передачи данных / Е. Е. Слядников // Известия Томского политехнического университета. — 2008. — Т. 313. — № 5. — С. 55-60.
4. D’Ambrosio C. Mathematical programming techniques in water network optimization / C. D’Ambrosio,
A. Lodi, S. Wiese, C. Bragalli // European Journal of Operational Research. — 2015. — Vol. 243. — Issue 3. — Pp. 774-788.
5. Reich D. A linear programming approach for linear programs with probabilistic constraints / D. Reich // European Journal of Operational Research. — 2013. — Vol. 230. — Issue 3. — Pp. 487-494.
6. Оре О. Теория графов / О. Оре. — М.: Либроком, 2009. — 354 с.
7. Бояринцева Т. И. Теория графов: методические указания к выполнению домашнего задания по курсу «Дискретная математика» / Т. И. Бояринцева, А. А. Мастихина. — М.: МГТУ им. Н. Э. Баумана,
2014. — 40 с.
8. Рассел Д. Диаграмма состояний (теория автоматов) / Д. Рассел. — Изд-во: VSD, 2012. — 96 с.
9. Харари Ф. Теория графов / Пер. с англ. и предисл. В. П. Козырева / Под ред. Г. П. Гаврилова. — Изд. 2-е / Ф. Харари. — М.: Едиториал УРСС, 2003. — 296 с.
10. Этов В. И. 08.01-01В.254. Параллельный алгоритм для определения критического пути в диаграмме PERT. Paralleel algorithm for determining critical paths in PERT CHART. Migita Masahiro, Tada Akio, Itokawa Tsuyoshi, Nakamura Ryozo. Joho Shori Gakkai Ronbushi=IPSJ J. 2006. 47, N I 7. — C. 2212-2223, 13 Ил. Библ. 6. яп.; Рез. англ. // Автоматика и вычислительная техника. — 2008. — № 1-3. — С. 254-254.
11. Сахаров В. В. Алгоритм оптимального планирования группового взаимодействия роботов /
B. В. Сахаров, А. А. Чертков, Д. С. Тормашев // Морской вестник. — 2014. — № 4 (52). — С. 119-122.
12. Зарипова Э. Р. Дискретная математика: в 3 ч. / Э. Р. Зарипова, М. Г. Кокотчикова. — М.: Изд-во РУДН, 2013. — Ч. III. — 179 с.
13. Калмыков Г. И. Древесная классификация помеченных графов / Г. И. Калмыков. — М.: ФИЗМАТЛИТ, 2003. — 192 с.
14. Мироновский Л. А. Введение в MATLAB: учеб. пособие / Л. А. Мироновский, К. Ю. Петрова. — СПб.: СПбГУАП, 2005. — 122 c.
15. Вайнберг Аллен А. Графы для анализа структурных соотношений между переменными и их приложение к изучению российских регионов / Аллен А. Вайнберг // Прикладная эконометрика. — 2008. — № 4. — С. 42-70.
16. Бурков В. Н. Теория графов в управлении организационными системами / В. Н. Бурков, А. Ю. За-ложнев, Д. А. Новиков. — М.: СИНТЕГ, 2001. — 124 с.
AUTOMATION TO DEFINE CRITICAL WAY IN LOGISTICAL SYSTEM
In modern conditions the product’s life cycle duration is getting short, and changes the rate in the production and logistics technologies all above applies to the logistic material flow of additional requirements. They need to be more flexible with regard quick to tasks and reduction time investment and funds with adaptation to the constantly changing demands on the system. For efficiency and quality rise the analysis and synthesis with complex logistics networks topology is realized by a computer modeling methods for networks with a directed graph that identifies critical path. Effective processes estimation is executed. As the result the algorithm and time amount optimization procedure are considered that takes to move freight from the starting point to the final destination at the specified quality criteria. Algorithm implement realization program in MatLAB codes is constructed. According to the program and algorithm critical path definition example is discussed which is the maximum target functionality is considered.
Keywords: automation, algorithm, logistic, directed graph, critical path, the target functionality, model quality criterion.
Выпуск 5(33) 2015.
|Выпуск 5 (33) 2015
REFERENCES
1. Guzairov, M. B., and V. A. Tarasova. “Modelirovanie transportnoj seti postavok v stroitelnoj industrii”.
Vestnik UGATU 10.2 (2008): 58-63.
2. “Razrabotka tehnologicheskih dorozhnyh kart”. Rossijskie nanotehnologii 4.3-4 (2009): 10-12.
3. Sljadnikov, E. E. “Simulation of distributed information telecommunication systems with batch communication.” Bulletin of the Tomsk Polytechnic University 313.5 (2008): 55-60.
4. D’Ambrosio, C., A. Lodi, S. Wiese, and C. Bragalli. “Mathematical programming techniques in water network optimization.” European Journal of Operational Research 243.3 (2015): 774-788.
5. Reich, Daniel. “A linear programming approach for linear programs with probabilistic constraints.” European Journal of Operational Research 230.3 (2013): 487-494.
6. Ore, O. Teorija grafov. Izdatelstvo: Librokom, 2009: 354 p.
7. Bojarinceva, T. I., and A. A. Mastihina. “Teorijagrafov: metodicheskie ukazanijakvypolneniju domashnego zadanijapo kursu «Diskretnaja matematika»”. M.: MGTU im. N. Je. Baumana, 2014: 40 p.
8. Rassel, Dzhessi. “Diagramma sostojanij (teorija avtomatov) ”. Izd-vo: VSD, 2012: 96 p.
9. Harari, F. “Teorija grafov” /Per. s angl. i predisl. V. P. Kozyreva. Pod red. G. P. Gavrilova. Izd. 2-e. M.: Editorial URSS, 2003: 296 p.
10. Jetov, V. I. “08.01-01V.254. Parallelnyj algoritm dlja opredelenija kriticheskogo puti v diagramme PERT. Paralleel algorithm for determining critical paths in PERT CHART. Migita Masahiro, Tada Akio, Itokawa Tsuyoshi, Nakamura Ryozo. Joho Shori Gakkai Ronbushi=IPSJ J. 2006. 47, NI 7, C. 2212-2223, 13 Il. Bibl. 6. Jap.; Rez. Angl.” Avtomatika i vychislitelnaja tehnika 1-3 (2008): 254-254.
11. Saharov, V. V., A. A. Chertkov, and D. S. Tormashev. “Algoritm optimal’nogo planirovanija gruppovogo vzaimodejstvija robotov”. Morskoj Vestnik 4(52) (2014): 119-122.
12. Zaripova, Je. R., and M. G. Kokotchikova. “Diskretnaja matematika ”. Chast III. Teorija grafov. M.: Izd-vo RUDN, 2013: 179 p.
13. Kalmykov, G. I. “Drevesnaja klassifikacija pomechennyh grafov ”. M.: FIZMATLIT, 2003: 192 p.
14. Mironovskij, L. A., and K. Ju. Petrova. “Vvedenie v MATLAB. Uchebnoe posobi ”. SPb.: SPbGUAP, 2005:122 p.
15. Allen, A. Vajnberg. “Graphical Methods of Structural Relations between Variables and their Application to Russian Regions (Part Two)”. Applied econometrics 4 (2008): 42-70.
16. Burkov, V. N., A. Ju. Zalozhnev, and D. A. Novikov. “Teorija grafov v upravlenii organizacionnymi sistemami”. M.: Sinteg, 2001: 124 p.
ИНФОРМАЦИЯ ОБ АВТОРАХ
Чертков Александр Александрович -кандидат технических наук, доцент. ФГБОУ ВО «ГУМРФ имени адмирала С.О. Макарова»
chertkov51@mail.ru Вардомская Анна Александровна -аспирант.
ФГБОУ ВО «ГУМРФ имени адмирала С.О. Макарова»
kaf_osnipr@gumrf.ru Дмитриев Александр Александрович -аспирант.
Ы00 ФГБОУ ВО «ГУМРФ имени адмирала С.О. Макарова»
kaf_osnipr@gumrf.ru
INFORMATION ABOUT THE AUTHORS
Chertkov Alexandr Alexandrovich -
Candidate of Engineering, associate professor.
Admiral Makarov State University
of Maritime and Inland Shipping
chertkov51@mail.ru
Vardomskaya Anna Alexandrovna -
Post-graduate student.
Admiral Makarov State University of Maritime and Inland Shipping kaf_osnipr@gumrf.ru Dmitriev Alexandr Alexandrovich -Post-graduate student.
Admiral Makarov State University of Maritime and Inland Shipping kaf_osnipr@gumrf.ru