УДК 658.52.011.56
КОНВЕЙЕРНАЯ ЗАДАЧА ТЕОРИИ РАСПИСАНИЙ С ОБРАТНЫМ УПОРЯДОЧЕНИЕМ РАБОТ ПО ТЕХНИЧЕСКОМУ ОБСЛУЖИВАНИЮ
АВТОМОБИЛЕЙ
С.А. Канцедал, профессор, д.т.н., Западнодонбасский частный институт экономики и управления, г. Павлоград, М.В. Костикова, доцент, к. т.н.,
И.В. Скрипина, ст. преподаватель, ХНАДУ
Аннотация. При планировании выполнения технического обслуживания автомобилей предлагается новый алгоритм, использующий принцип обратного упорядочения работ при составлении расписания. Приводится теоретическое обоснование возможности построения алгоритма, а также его сравнительные характеристики, полученные экспериментальным путем. Предлагается способ улучшения временных характеристик алгоритма.
Ключевые слова: автомобили, техническое обслуживание, теория расписаний, конвейерная задача, алгоритм.
КОНВЕЄРНА ЗАДАЧА ТЕОРІЇ РОЗКЛАДІВ ЗІ ЗВОРОТНИМ УПОРЯДКУВАННЯМ РОБІТ ІЗ ТЕХНІЧНОГО ОБСЛУГОВУВАННЯ
АВТОМОБІЛІВ
С.А. Канцедал, професор, д.т.н., Західнодонбаський приватний інститут економіки і управління, м. Павлоград, М.В. Костікова, доцент, к.т.н.,
І.В. Скрипіна, ст. викладач, ХНАДУ
Анотація. При плануванні виконання технічного обслуговування автомобілів пропонується новий алгоритм, який використовує принцип зворотного впорядкування робіт при складанні розкладу. Подано теоретичне обґрунтування можливості побудови алгоритму, а також його порівняльні характеристики, отримані експериментальним шляхом. Пропонується спосіб покращення часових характеристик алгоритму.
Ключові слова: автомобілі, технічне обслуговування, теорія розкладів, конвеєрна задача, алгоритм.
GENERAL PROBLEM OF SCHEDULING THEORY WITH REVERSE ORDERING OF WORKS CONCERNING VEHICLES MAINTENANCE
S. Kantsedal, Professor, Doctor of Technical Science, West Donbass Private Institute of Economics and Management, Pavlograd, M. Kostikova, Associate Professor, Candidate of Technical Science, I. Skrypina, senior lecturer, KhNAHU
Abstract. A new algorithm, using the principle of reverse ordering of works at drawing up of schedules is offered for application at planning of vehicles maintenance carrying out. Theoretical grounding of algorithm compiling possibility as well as its comparative features obtained experimentally are presented. A method of temporary algorithm features improvement is offered.
Key words: vehicles, maintenance, scheduling theory, conveyor problem, algorithm.
Введение
Рыночная экономика требует минимизации себестоимости любой продукции, чтобы выигрывать соревнования по ценам у конкурентов. У всех предприятий заметную долю средств производства составляет колесная и гусеничная техника, поэтому важным направлением снижения себестоимости является сокращение времени простоя машин в ремонте. Только у крупных предприятий это может быть обеспечено деятельностью собственных хорошо оснащенных ремонтных баз. Для остальных содержание ремонтников, соответствующих помещений и оборудования является тяжким бременем. Все больше владельцев техники понимают невыгодность содержания ремонтных цехов. В свою очередь эффективное функционирование крупных предприятий возможно только при правильной организации производства. В качестве критерия эффективности принято количество автомобилей, отремонтированных за определенный период. Для увеличения количества автомобилей необходимо четко спланировать очередность выполнения работ по техническому обслуживанию и ремонту.
Анализ публикаций
Составление графика очередности выполнения работ по техническому обслуживанию и ремонту автомобилей является задачей теории расписаний и в общем виде еще не решена [1]. Имеется целый ряд частных результатов. Особые трудности при решении задач возникают в случае больших размерностей.
В статьях [2, 3] описаны алгоритмы составления расписаний для производственных систем с общим и конвейерным характером выполнения работ. Отличительной чертой предложенных алгоритмов является прямое упорядочение работ, т.е. работы (операции) предметов при формировании порядков их выполнения на машинах назначаются в возрастающем порядке следования этих операций в технологических маршрутах предметов. Например, для двух предметов а, Ь с технологическими операциями а2, а1 и Ь1, Ь2, представленными сетью GT с истоком iS и стоком iF, при любых вариантах упорядочения работ на машинах 1 и 2 алгоритмами
предусматривается, что работа а2 всегда будет предшествовать работе а1, а работа Ь1 -предшествовать работе Ь2.
В настоящей статье в целях поиска более качественных алгоритмов составления расписаний обосновываются и исследуются алгоритмы, в которых выбор операций предметов для составления порядков их выполнения на машинах осуществляется начиная с последних операций предметов. То есть в рассматриваемом примере для предметов а и Ь сначала будут выбраны операции а1, Ь2, затем, как предшествующие им операции, а2, Ь1. Для описания алгоритмов и их обоснования сформулируем задачи в традиционной постановке [2,3].
Для достижения указанной цели решались следующие задачи: а) конструирование алгоритмов для общей и конвейерной задач теории расписаний с обратным упорядочением работ; б) программная реализация разработанных алгоритмов; в) проведение экспериментальных исследований алгоритмов.
Цель и постановка задачи
Заданы конечные множества автомобилей I = {- |1 < i < п} и обслуживающих их постов
Q = {ч I1 < q < т} . Обслуживание каждого
автомобиля i е I состоит в выполнении постами из множества Q последовательности
операций Ц = ^7-11 < 7 < } , специфичной
для каждого автомобиля в общей задаче и одинаковой для всех автомобилей в задаче конвейерного типа. Операция iqj е Ц- выполняется постом q е Q за время tiq, > 0 без
прерывания и может начаться после полного завершения непосредственно предшествующей ей операции iqj_1 е Ц. . Любой пост q е Q одновременно может выполнять только одну операцию.
Задача составления расписания состоит в том, чтобы для каждого поста q е Q найти такой порядок выполнения операций и, как следствие, определить такие моменты их начала, которые бы обеспечивали обслуживание множества всех автомобилей I за минимальное время.
С целью обоснования алгоритмов с обратным упорядочением работ перейдем к описанию задач на языке орграфов, подробно изложенному в [2]. Согласно [2] сеть, рассматриваемая в данном примере, определяет исходные данные задачи и в общем виде может быть представлена как GT = (11, , VT, Жт), где 11 - множество
вершин графа; {а2, а1, Ь1, Ь2} - множество технологических операций; ^, iF - фиктивные вершины (исток и сток);
Vт = VI и VS и VF - множество дуг, подмножество Vт которых {(а2, а1), (Ь1, Ь2)} определяет направления следования технологических операций; VS = {(.5, а2), (.5, Ь1)} - дуги,
исходящие из истока; Vт ={(а1, iF),(Ь2, iF)} -
дуги,
входящие
сток;
Жт: {^ и {73} и ^ }} ^ и {0} - числовая
функция, определяющая длительность выполнения операций так, что Ж (а2) = 1, Ж (а1) = 3, Ж (Ь1) = 2, Ж (Ь2) = 4,
Ж ) = Ж ^) = 0.
Учитывая то, что решение задачи сводится к поиску наилучших порядков выполнения операций постами q е Q , на графе Gт любые конкретные порядки можно отобразить множеством дополнительных дуг. Пусть ^ с ^ , 1 < q < т - множества вершин графа
GT , соответствующие множествам операций
I , выполняемых т постами. Тогда любые
порядки выполнения операций постами q е Q отобразятся множествами Vq,
1 < q < т дуг, связывающих попарно вершины каждого множества I так, что для любой пары вершин из I дуга исходит из некоторой вершины и заходит в другую вершину, если операция, отображаемая первой вершиной, непосредственно предшествует операции, отображаемой второй вершиной. В результате получаем граф
G = (II, ^, ІF, V, Жт), где V = Vт иVm,
V =ит V .
т q=1 q
Множество дуг Vm для сети G представляют дуги а2Ь2, Ь1а1. Они указывают на то, что сначала на посту 1 должна выполняться операция Ь1, затем - операция а1 . На посту 2
сначала необходимо выполнить операцию а2, затем - операцию Ь2. Для такой сети известным способом можно вычислить ранние сроки начала выполнения операций, которые представят расписание и, и значение критического пути L, которое определит минимальное время обработки автомобилей с заданным порядком выполнения операций на
постах. Таким образом, формируя Пт= 1 ^ |!
различных порядков обработки автомобилей на постах и рассчитывая все соответствующие сети G методом критического пути,
G* и
с наименьшей
„ Т* „
длинои L , порядок, который ее определяет, и соответствующее расписание и *.
К сожалению, для общей задачи, в отличие от задачи конвейерного типа, не каждый наугад выбранный порядок выполнения операций порождает ациклический граф G, допускающий применение метода критического пути. Для исключения таких случаев применяется универсальная процедура построения ациклических графов, изложенная и доказанная [2]. Она предусматривает построение ациклического графа G начиная с вершины ^ . Убедимся в том, что ациклический граф может быть построен начиная с вершины iF, т.е. в порядке, обратном технологическим последовательностям выполнения операций.
Пусть iF - отмеченная вершина графа G, а IF с ^ - множество неотмеченных его вершин, т.е. таких вершин из ^ , исходящие дуги которых заходят только в отмеченные вершины. Пусть ^ - отмеченные вершины из множества I , q е Q . Процедура включает следующие действия: 1) выделить множество ^ ; 2) выбрать вершину iq е ^ ; 3) если
Iq\{![ и м}| > 1, каждую вершину множества ^ \ {^ и М} соединить дугой с выбранной вершиной iq; 4) отметить вершину iq; 5) выделить множество ^; 6) если ^ = 0, остановиться; иначе вернуться к пункту 2.
Правильность изложенной процедуры вытекает из следующего. Процесс выбора и пометки вершин iq е ^ последовательный.
Поэтому образование цикла в формируемом графе G означало бы, что выбор некоторой вершины iq е ^ , уже выбранной и помеченной, повторился. В свою очередь это бы означало, что первичный выбор этой вершины был осуществлен так, что некоторые исходящие из нее дуги не заходили в отмеченные вершины. Поскольку последнее противоречит действиям процедуры, выбор помеченных вершин не повторяется и последовательный процесс их пометки будет доведен до конца без повторения. В результате полученный граф G окажется ациклическим.
К построенному таким способом графу G может быть применен метод критического пути, в результате чего найдены ранние сроки начала выполнения операций - расписание и и длина критического пути L - минимальное время обработки автомобилей с тем порядком выполнения операций на постах, который был определен в результате построения графа G . Принципиальная возможность формирования всех ациклических графов G и выбора графа с наименьшей длиной критического пути обеспечивается различными вариантами выбора вершин iq
из множеств ^ на втором шаге процедуры. Реализуя процедуру в режиме перебора всех вариантов выбора вершин iq е ^ , теоретически можно получить все ациклические графы G .
В практическом отношении реализация алгоритмов с обратным упорядочением работ несколько отличается от традиционно принятой схемы. В алгоритмах с прямым упорядочением работ одновременно с построением ациклического графа G осуществляется составление расписания и и в конце - вычисляется длина L [2]. Если принять эту схему для алгоритмов с обратным упорядочением работ и отсчет времени вести справа налево, используя элементы матриц М1 = ||qij ||,
т = ||^. || от последних к первым [1], можно вычислить длину L, найти порядки выполнения операций Р = ||^ || . Однако составить
расписание и из-за обратного отсчета времени нельзя. Поэтому все алгоритмы с обратным упорядочением работ реализуются в два этапа. Сначала по традиционной схеме определяется порядок Р = ||^ || и вычисляет-
ся L, затем на основании матриц М1 =||qij||, Р = ||iq || составляется расписание, соответствующее Р и L.
Пусть, как и в [2], и\, и - моменты начала некоторой работы i е ^ на посту q е Q и загрузки поста q е Q. Тогда
и5 =тах( и1, ич) - самое раннее начало работы i е ^ на посту q е Q , а и^ = и5 + tiq
- время ее завершения. Процедура составления расписания и на основании матриц М1 и Р включает следующие действия: 1) положить 5” = 1; в матрицах М1, Р выделить
множества операций I5 , ^ , непосредственно предшествующие которым уже отмечены; 2) Viq е 15 положить и^ = 0; Vq е Q положить и = 0; 3) выделить множество
15 = 15 п ^; 4) для всех операций iq е 15 вычислить и^, и^ , положить и = и^, занести значения и5 в матрицу и и отметить
в М1 и Р операции множества 15; 5) положить 5 = 5 +1; в матрицах М1, Р выделить множества 15 , ^ ; 6) если 15 Ф 0 , для всех новых операций iq, поступивших в 15 , положить и^=и^ и вернуться к пункту 3; иначе остановиться.
Правильность процедуры вытекает из того, что для всех 1 < 5 < ^ | множества 15 Ф 0, так как порядки операций Р определены ациклическими графами G .
Экспериментальные исследования алгоритмов
Экспериментальные исследования алгоритмов с обратным упорядочением работ были предприняты с целью получения статистических характеристик их погрешностей, а также времен счета задач и сравнения этих характеристик с аналогичными характеристиками ранее исследованных алгоритмов с прямым упорядочением работ. Для этого были отобраны лучшие алгоритмы КЫ, КЫК, дающие, согласно [2, 3], наименьшую погрешность, преобразованы в алгоритмы с обратным упорядочением работ. Статистиче-
ские данные обрабатывались средствами пакета STATISTICA 6 фирмы StatSoft. В качестве результирующих данных для ряда размеров задач, определяемых количеством автомобилей n и постов m, вычислялись следующие статистические характеристики: Amin, AS, Amax - минимальная, средняя и максимальная погрешности решения задач (в %) по отношению к наименьшей нижней границе длины L [2]; SKO, dj, dr - стандартное отклонение, левая и правая границы 95 %-го доверительного интервала для средней погрешности; tS - среднее время решения задачи (сек). Для получения этих характеристик по каждому размеру программно генерировалось сто случайных задач с временами выполнения операций, заключенными в интервале (1, 100).
Данные экспериментов показывают, что, во-первых, алгоритм с обратным упорядочением работ обладает таким же характером изменения средней погрешности в зависимости от размера задачи при n / m = const и в зависимости от отношения n / m при n х m = const, как и алгоритм с прямым упорядочением работ. Во-вторых, не наблюдается существенного превосходства алгоритма с обратным упорядочением работ по отношению к алгоритму KN. Полученные данные показывают, что для него лишь более интенсивно падение средней погрешности при увеличении n / m и менее интенсивен ее рост с увеличением размера задачи при n / m = 4 . В-третьих, алгоритм с обратным упорядочением работ обладает столь же низким разбросом случайных погрешностей и узким доверительным интервалом для средней ее величины, как и алгоритм с прямым упорядочением работ, что свидетельствует о высокой статистической устойчивости изучаемых характеристик алгоритма.
Результаты экспериментов показывают, что для задачи конвейерного типа (алгоритмы KNK, KNKOB) так же, как и для общей задачи теории расписаний, алгоритм с обратным упорядочением работ по статистикам погрешности не превосходит алгоритм с прямым упорядочением работ. Можно сказать, что в практическом отношении эти алгоритмы равноценны. В заключение отметим, что процессорное время решения задач
с большим отношением n / m , например, для задачи конвейерного типа при n / m = 4, оно составляет приблизительно 28,5 с, может быть существенно снижено путем использования управляющего параметра s [2, 3]. Эксперимент показал, что при s = 0,2 для задачи конвейерного типа размера n х m = 80 х 20 и отношения n / m = 4 это время будет составлять 20,3 с вместо 28,5 с при увеличении средней погрешности на
0.78.%, для общей задачи - 4,6 с вместо 11,2 с - при увеличении средней погрешности на 0,27 %.
Выводы
Научная новизна разработки состоит в конструировании и экспериментальном исследовании алгоритмов решения общей и конвейерной задач теории расписаний с обратным упорядочением работ при составлении расписания.
Практическая значимость исследований состоит в том, что на основании обширных, исчерпывающих экспериментальных данных дается правдоподобное заключение о практическом применении алгоритмов.
Литература
1.Танаев B.C. Введение в теорию расписаний / B.C. Танаев , В.В. Шкурба. - М. : Наука, 1975.- 256 с.
2. Канцедал С.А. Приближенный алгоритм
для решения общей задачи теории расписаний с высокой точностью / С.А. Канцедал, М.В. Костикова // Радиоэлектроника и информатика. - 1999.
- № 4 (9). - С. 97-105.
3 Канцедал С.А. Применение алгоритмов решения общей задачи для составления расписаний в конвейерной системе / С.А. Канцедал, М.В. Костикова // Автоматизированные системы управления и приборы автоматики. - 2003. - Вып. 123.
- С. 13-21.
Рецензент: В.П. Волков, профессор, д.т.н., ХНАДУ.
Статья поступила в редакцию 21 ноября 2011 г.