УДК 674: 65.012.26
АНАЛИЗ ВОЗМОЖНОСТЕЙ ПРИМЕНЕНИЯ МЕТОДОВ ТЕОРИИ РАСПИСАНИЙ К ЗАДАЧАМ ДЕРЕВООБРАБАТЫВАЮЩИХ ПРОИЗВОДСТВ И ИХ ФОРМАЛИЗАЦИЯ Е. С. Хухрянская, Н. Ю. Юдина, Е. В. Ющенко
ФГБОУ ВПО «Воронежская государственная лесотехническая академия»
Методы выбора оптимальной последовательности выполнения заданного набора работ на имеющемся комплекте оборудования исследуются на протяжении многих лет и в настоящее время сформулированы в самостоятельный раздел дискретной математики - теорию расписаний. Существуют различные варианты задач теории расписаний, часть из них является ЖР-полными, часть принадлежит к классу полиномиальных задач, для части задач так и не удалось доказать принадлежности к какому-либо классу сложности. Задачи теории расписаний, как правило, трудноразрешимы, хотя для некоторых из них существуют эффективные алгоритмы решения. К задачам теории расписаний относятся:
- задачи упорядочения - минимизации функций на перестановках,
- задачи согласования - определение длительностей выполнения работ при конфликтующих потребностях работ в ресурсах,
- задачи распределения - при альтернативных технологиях выполнения работ.
В дальнейшем будем рассматривать лишь задачи теории расписаний, связанные с упорядочением работ.
Рассматривая первый этап обработки древесины, лесосечные работы, т.е. заготовку древесины, задачу поиска расписаний обычно сводят к задаче одной машины (станка) с возможностью прерывания работ, директивными сроками окончания и произвольными временами появления работы.
В технологии деревообработки, в частности мебельном производстве, это чаще всего относится к порядку запуска в обработку различных деталей. В лесопилении актуальна задача определения оптимальных размеров и порядка запуска в распиловку партий пиловочного сырья с различными размерно-качественными характеристиками (диаметр и длина бревна, его сорт) [1, 2]. Подобного рода задачи весьма сложны с математической точки зрения, поэтому точные решения получены лишь для самых простых случаев - одного или двух станков. В теории расписаний показано, что в общем случае число вариантов решения при последовательной распиловке бревен п диаметров М станками равно (п!^. Данное число при М=4 и п=5 уже превышает 200 миллионов. При возникающих в производстве размерностях задач полный перебор вариантов решений может потребовать значительных
вычислительных ресурсов, поэтому практически методом полного перебора пользоваться нецелесообразно.
Таким образом, необходимо найти способ сокращения числа анализируемых вариантов, т.е. осуществить их целенаправленный отбор. Это достигается различными путями. Однако формализация алгоритма такого отбора часто представляется достаточно сложной. Наиболее перспективным в этом плане оказывается эвристический подход. Эвристические методы основаны на интеллектуальном поиске стратегий компьютерного решения проблемы с использованием нескольких альтернативных подходов [3]. В основе методов последовательного конструирования, анализа и отсеивания вариантов лежит идея пошагового построения решения. Мы рассмотрим одну из схем поочередного (поэтапного) конструирования оптимальной последовательности п* облуживания п требований множества ^ {1, 2, ..., п} М
станками, т.н. схему ветвей и границ. Процесс построения искомой последовательности можно представить как процесс пошагового «развития» частичного ряда а обслуживания некоторых требований из N до полной последовательности п обслуживания всех требований множества N. В [4] приводится один из способов оценки перспективности частичных очередностей для случая М=3. Мы обобщим этот результат для случая М >3.
Обозначим станки через 1,2,...,/,...,т. Каждое требование обслуживается станком 1 в течение а(1) к единиц времени, затем станком 2 в течение а(2)к единиц времени и т.д.
Если требования множества N с N обслуживаются в последовательности
а = ('1,i2,...,ir), г = N , а остальные требования обслуживаются в последовательности а' = ('г+1, ir+2,..., in), то общее время обслуживания всех требований равно:
т(а,а')= тах
1<и <&2 <...<п
5>(1)(1 +5>(2)(1 +... + 2 а(т)'
к=1
к=и
к = ит
(1)
Станок 1 завершает обслуживание требований множества N в момент време-
ни
Станок ] завершает обслуживание требований множества N в момент времени
Т1(а) = 2 а(1)'к.
(2)
к=1
Станок 2 завершает обслуживание требований множества N в момент времени
Т (а) = тах
■' 1<и1 <и2 <...<г
2 а(1)!'к + 2 а(2)г'к +
к=1 к=и
... + 2 а^),к
к=и,
. (4)
Т2(а) = тах
1<и<г
2 а(1) к +2 а(2)г-
к=1
к=и
Определим оценку у(а) последовательности а (по станкам), полагая
/(ст) = тах
Т^ст) + £ а(1)к + тщ|а(2)к +... + а(т)к]
кеЫ
кеЫ \ N
Т2(ст) + £ а(2)к + кт111~[а(3)к +... + а(т)к]
keN\N
Ту(ст) + Е а^)к + тт[аС + 1)к +... + а(т)к]
(5)
кеЖ \ N
тт (ст) + Ха(])к
кеМ \ N
Очевидно, /(ст) < Т(ст,ст') и эту оценку можно использовать в качестве нижней оценки значения Т(ст,ст').
Конструирование оптимальной последовательности включает построение частичных последовательностей, оценку этих последовательностей, выбор для последующего «развития» наиболее перспективной частичной последовательности. Этот процесс является, по существу, процессом разбиения множества всех и! возможных перестановок на подмножества и вычисления нижних оценок значений оптимизируемой функции на каждом из этих подмножеств.
Алгоритм нахождения оптимального решения в этом случае сводится к следующим действиям.
На первом шаге рассматривается и множеств перестановок вида
(ст,ст'), ст = (к),к = 1,п, ст' - произвольная перестановка элементов множества N\{к}, N = {1,2,...,п}. Каждое из этих множеств содержит (п-1)! перестановок.
В качестве нижней оценки значений оптимизируемой функции Т(тс) на множестве перестановок вида (ст,ст') выбираем величину /(ст).
Выбираем перестановку ст =(/1) с наименьшим значением /(ст).
На втором шаге рассматривается п-1 множеств перестановок вида (ст,ст'),ст = (¡1,к),к Ф ¡1, ст' - произвольная перестановка элементов множества N \ , к}. Каждое из этих множеств содержит (и-2)! перестановок.
Процесс продолжается до тех пор, пока не будет найдена частичная последовательность ст(/1,). Очевидно в этом случае ст'(/и) и Т(ст,ст') = Т(^). В конечном итоге множество всех перестановок оказы-
п-1
вается разбитым на £ г +1 подмножеств,
г=1
что существенно сокращает общее число рассматриваемых вариантов решения.
Алгоритм нахождения оптимального решения более упростится, если обратить внимание на то, что нахождение величин Т(а), по сути, представляет собой задачу коммивояжера. Для нахождения этих величин успешно может быть применен метод динамического программирования [5]. В соответствии со схемой динамического программирования следует разбить процесс на этапы и выделить соответствующие состояния системы.
Для случая обслуживания М стан-
ками r требований существует M+r этапный процесс. Причем возможно не более двух переходов из каждого состояния предыдущего этапа в состояние последующего этапа. Эффективность перехода определяется временем обслуживания, соответствующим состоянию, в которое совершается переход.
Библиографический список
1. Чевычелов Ю.А., Хухрянская Е.С., Болобина А.В. Подсистема подготовки данных для расчета постава и оптимизация процессов деревообработки // Математическое моделирование, компьютерная оптимизация технологий, параметров оборудования и систем управления лесного комплекса: межвузовский сборник научных трудов. Воронеж, 2008. Вып. 13. С. 127-130.
2. Хухрянская, Е.С. Математические модели раскроя лесоматериалов [Текст]: автореферат дисс. на соискание ученой степени канд. техн. наук: 05.21.05 / Е.С. Хухрянская. - Воронеж, 1998. - 18 с.
3. Гудман С., Хидетниеми С. Введение в разработку и анализ алгоритмов / М.: Мир, 1981. 368 с.
4. Танаев ВС., Шкурба ВВ. Введение в теорию расписаний / М.: Наука, 1975. 256 с.
5. Щербина О.А. Методологические аспекты динамического программирования // Динамические системы, 2007. Вып. 22., C. 21-36.