ИНФОРМАТИКА И СИСТЕМЫ УПРАВЛЕНИЯ
УДК 519.874
В.С. Власов
ЗАДАЧИ УПОРЯДОЧЕНИЯ И РАСПРЕДЕЛЕНИЯ РЕСУРСОВ ПРИ ИЗГОТОВЛЕНИИ ИЗДЕЛИЙ МИКРОЭЛЕКТРОННОГО ПРОИЗВОДСТВА
Нижегородский государственный университет им. Н.И. Лобачевского
Рассматриваются задачи построения расписаний выполнения комплекса операций при планировании производства микроэлектронных изделий. Для решения поставленных задач предлагаются вычислительные процедуры метода ветвей и границ с использованием эвристических схем нахождения верхних оценок.
Ключевые слова: комбинирование алгоритмов, оптимальное расписание, стохастические и детерминированные алгоритмы
Содержательное описание
Рассматривается задача построения расписания выполнения комплекса операций при планировании производства микроэлектронных изделий [1] . Микроэлектронное производство изготавливает большие интегральные схемы по различным технологиям. Используется позаказ-ная система планирования. Каждый заказ включает в себя наборы партий пластин, из которых изготавливаются интегральные схемы. Каждая партия пластин определяет количество кристаллов, которые поступят на операцию сборки. Технология изготовления кристаллов, определяемых одной партией пластин, до операции резки одинакова. Для каждой партии пластин задан перечень технологических операций, которые выполняются на оборудовании, причем для каждой технологической операции однозначно определено оборудование, на котором эта технологическая операция должна выполняться. Для каждой технологической операции определено время ее выполнения на оборудовании. Время выполнения технологической операции любого изделия одинаково и определяется оборудованием, на котором эта технологическая операция выполняется. Некоторые технологические операции объединяются в группы (групповые операции), которые должны выполняться последовательно и без перерывов. Для операций, являющихся завершающимися для изделий, заданы директивные сроки (директивные операции). Для части технологических операций (операции с пролеживанием) задано время пролеживания -минимально возможный интервал времени до начала выполнения следующей технологической операции. Для некоторых технологических операций (операции с межоперационным временем) задано межоперационное время - максимально возможный интервал времени до начала следующей технологической операции. Требуется построить расписание выполнения комплекса операций таким образом, чтобы выбранная мера эффективности была минимальной. Особенности рассматриваемого технологического процесса производства микроэлектронных изделий позволяют отдельно рассматривать две взаимозависимые задачи - конвейерную задачу, позволяющую оптимизировать функционирование системы от момента запуска партии пластин до стадии резки, и сетевую задачу - оптимизирующую процесс производства от стадии резки до выпуска готовой продукции.
© Власов В.С., 2010.
Математические модели
Конвейерная модель
До стадии резки процесс изготовления кристаллов можно представить с помощью модели построения конвейерного расписания [2, 3]. На содержательном уровне конвейерная модель может быть описана следующим образом. На нескольких станках должны пройти обработку несколько операций. Для каждой операции задан порядок ее обработки на станках. Каждый станок одновременно не может выполнять более одной операции, а операции обрабатываются на станках без перерывов. Порядок выполнения операций на каждом станке одинаков.
Пусть г - номер станка,ц - номер операции, Т = \ \tijW - тх п действительная матрица, элемент Ц > 0 которой определяет время выполнения операции ц на станке г, , = 1, т , / = 1, п . Допустимое решение для конвейерной схемы производства определяется матрицей X = \\хц\\-размерами т х п, элемент которой хц - определяет момент начала выполнения операцииц на
станке г, , = 1, т , / = 1, п, для которой выполняются ограничения:
х/ > х,-1/ + -1/, 1 = 2 т , / =1 п , (обработка операции на станке может начаться не раньше, чем эта операция завершит обработку на предыдущем станке),
Х,/ > Хгк + *Л , или Хгк > Х,] + ^ , 1 = 1, т , / = 1П ,
(на станке одновременно не может обрабатываться более одной операции),
если хг). > хЛ, то х . > хА, , = 1, т , ^ = 1, т , j = 1, п , (порядок обработки операций одинаков на всех станках - перестановочность расписания),
х- > 0 , , = 1, т , / = 1, п , (естественные условия на переменные).
Сетевая модель
После стадии резки технология изготовления кристаллов в общем случае задается сетевой канонической структурой, которая предполагает (в отличие от конвейерной схемы), что у операции могут быть несколько непосредственно предшествующих и несколько непосредственно следующих операций. Каноничность сетевой структуры означает, что никакая операция не может быть активизирована до тех пор, пока не завершится выполнение всех ей предшествующих операций. Связи между операциями (технология изготовления изделий) задаются ориентированным графом без петель и контуров, элементам которого поставлены в соответствие некоторые характеристики. Пусть Т = {0,1,2,..., ТО} - множество тактов планирования; J = {1,2,...,п} - множество всех операций, подлежащих выполнению; I = {1,2,...,т} - множество различных видов оборудования; К(/) - множество операций, непосредственно предшествующих операции с номером ц, це J. Обозначим через ^ - время выполнения операции на г-м оборудовании, /е/; ф(Ц) - функцию, определенную на множестве J (Це1) со значениями из множества / (фЦ) е /), которая задает номер оборудования, на котором должна выполняться соответствующая операция.
Пусть О () - множество групповых операций, начинающихся с операции ц^
(/( /Л. ) = //д;//,---,/ / /:/л . Введем множество операций, являющихся начальными для соответствующих им групп - О = {Х1,...,Хк},\,....,Хк ^«7 . Обозначим через /'111П - время пролежи-вания ц-й операции, ЦеJmln, где JШln - множество операций, для которых определено время пролеживания; - межоперационное время ц-й операции, цеJmax, где Jmax - множество операций, для которых определено межоперационное время. Пусть В- директивный срок окончания выполнения операцииц, це^, где ^ - множество директивных операций, ^^ J.
В качестве варьируемых параметров математической модели выступают и-мерные целочисленные векторы x и y, компоненты которых определяют такты начала и окончания выполнения операций.
В качестве ограничений системы выступают условия каноничности, условия непрерывности выполнения операций, условия совместности и ограничения для групповых операций, операций с пролеживанием и операций с межоперационным временем.
Постановка оптимизационных задач
В рамках построенных математических моделей ставятся различные оптимизационные задачи. Постановка задачи определяется двумя факторами: множеством допустимых решений и критерием оптимальности. Множество допустимых решений задается системой ограничений математической модели.
Для конвейерной схемы критерий оптимальности может быть формально представлен в виде функционала F(X) = max(xmJ + tmj) ^ min, который определяет минимизацию времени
j=1,п
завершения работ от момента запуска партий пластин до стадии резки.
Для сетевой модели рассмотрим два типа оптимизационных задач. Первый тип связан с возможными нарушениями директивных сроков. При этом на систему накладываются штрафные санкции. Для каждой директивной операции определим функцию штрафа, связанную с возможным нарушением директивного срока. Тогда группа частных критериев, связанных с возможными нарушениями директивных сроков, определяется частными критериями оптимальности: fj(yj,Dj)^mm,j£=JD. В качестве обобщенного критерия оптимальности можно рассмотреть аддитивную свертку частных критериев FD(y) = УУ, (y„/J,) —> min . Функционал !•'" (у) определяет количество тактов нарушения
сроков выполнения директивных операций. Минимизация функционала отражает стремление своевременно завершать выполнение работ.
Другой тип оптимизационных задач связан с простоем оборудования. Определим для каждого оборудования функцию простоя, связанную с неиспользованием оборудования на некотором временном участке. Время занятости оборудования на произвольном интервале [0,t] при teT, находится как сумма времен выполнения операций, времена начала и окончания которых принадлежат рассматриваемому интервалу, а также времен выполнения операций, начавшихся на интервале [0,t], но не завершенных к моменту времени t. Тогда время занятости /-го оборудования на интервале [0,t] можно рассчитать как:
/;™(х, у) = _/Глн(у)+_/Гаст(х, у),
где У/ПОЛН(у) = Ü) = Ui^I,
j'-У]
<t
.//"ас1И(х,у) = / хк, л-к < I < ук, к (£) = /,/£/.
Тогда функция, определяющая время простоя /-го оборудования на интервале [0, ¿] будет определяться как (х, у) = / - /¡зааяг(х, у), /е/. Определим частные критерии оптимальности, связанные с минимизацией времени простоя конкретного оборудования, как /.(х,у)->пш1, /е/.
В качестве обобщенного критерия оптимальности будем рассматривать аддитивную
свертку частных критериев по каждому виду оборудования при условии, что I = тах у :
}
Ф(х,у)= 1/(х,у)^тт.
Функционал Ф(Х,у) определяет количество тактов суммарного простоя оборудования на интервале от такта начала планирования до такта, соответствующего окончанию выполнения всех запланированных операций. Минимизация функционала отображает стремление максимизировать загрузку оборудования.
Поставленные задачи относятся к классу КР-трудных, и для их решения в работе предлагается использовать вычислительные процедуры метода ветвей и границ с определением оценок на основе стохастических и детерминированных алгоритмов.
При этом изложенные процедуры метода ветвей и границ применимы для решения как общей задачи построения расписания микроэлектронного производства, так и задачи построения конвейерного расписания. Это позволило произвести декомпозицию решения задачи на построение решения конвейерной задачи до стадии резки и решение сетевой задачи с меньшим числом операций для следующих этапов производства.
Алгоритм решения задачи методом ветвей и границ
Различают четыре основные вычислительные процедуры метода ветвей и границ, которые делятся на индивидуальные, зависящие от специфики задачи, и универсальные, которые являются общими для любых решаемых задач. К индивидуальным процедурам относятся процедура оценок (в общем случае нахождение верхней и нижней оценок) и процедура ветвления. К универсальным процедурам относятся процедура отсева (отбрасывания неперспективных направлений) и процедура останова (определение оптимальности найденного решения).
Индивидуальные процедуры метода ветвей и границ
Процедура оценок включает в себя определение верхней (достижимой) оценки V и нижней оценки Н. Рассмотрим перестановку р=(р1, р2,..., рп), Р]е J, ц=1,п . Если перестановка р соответствует условиям математической модели, то такую перестановку будем называть "допустимой". Очевидно, что допустимая перестановка однозначно определяет решение системы, а тем самым соответствует некоторому расписанию, для которого можно найти значение критерия решаемой задачи, которое и определяет верхнюю (достижимую) оценку. В качестве верхней оценки выбирается минимальное значение критерия для допустимых перестановок, сгенерированных различными стохастическими и детерминированными алгоритмами.
Нахождение значений нижних оценок определяется с учетом, как длительностей выполнения операций, так и каноничности сетевой модели.
Процедура ветвления рассматривает все допустимые варианты построения допустимых перестановок - на каждом шаге ветвления выбор осуществляется только из тех операций, непосредственно предшествующие для которых уже выполнены.
Универсальные процедуры метода ветвей и границ
Процедура отсева предполагает, что если значение верхней (достижимой) оценки в одной из вершин дерева ветвлений не больше значения нижней оценки в другой вершине, то вторая вершина исключается из рассмотрения не в ущерб оптимальности.
Процедура останова определяет окончание процесса вычислений. Если осталась неот-брошенной лишь одна вершина, в которой значения оценок совпадают, то найдено оптимальное решение задачи, которое определяется перестановкой, соответствующей верхней (достижимой) оценке.
Основным достоинством метода ветвей и границ является то, что, остановив вычисления в любой момент времени, лучшее значение верхней оценки (рекорд) может быть принято за эвристическое решение задачи. Основным недостатком метода является необходимость определения оценок в каждой вершине дерева ветвления, а при большом числе исходных параметров число вершин становится очень большим, что не позволяет провести рассмотрение всех вершин дерева ветвлений.
Получение совокупности верхних оценок Алгоритм-построитель расписания
Алгоритм-построитель расписания формирует из произвольной перестановки р допустимую перестановку с учетом особенностей каноничности системы и специфики микроэлектронного производства (групповые операции, операции с пролеживанием и межоперационным временем). Схематично работу алгоритма можно представить в следующем виде:
„ ^ „кан ^ „доп р -> р -> р ,
где р - исходная перестановка; ркан - перестановка с учетом сетевой модели; рдоп - допустимая перестановка, удовлетворяющая всем ограничениям системы.
Использование алгоритма-построителя расписания позволяет производить формирование перестановок, как для конвейерной задачи, так и общей задачи микроэлектронного производства с использованием одних и тех же разработанных алгоритмов.
Стохастические алгоритмы
Генетический алгоритм. В основу эволюционно-генетических алгоритмов заложена идея наследственности в биологических популяциях. Структура данных алгоритма состоит из набора хромосом. Работа алгоритма продолжается до тех пор, пока не будет выполнен критерий останова. В рассмотренной постановке расписание определяется допустимой перестановкой из n элементов. Представление допустимой перестановки формально является генетическим и задает хромосому в виде упорядоченной последовательности из n генов (n - мерного вектора). Ген, соответствующий j-й компоненте, определяет номер операции, которая будет выполняться j-й по порядку, j = 1,n . Работа генетического алгоритма основана на использовании ряда операторов кроссовера и мутации, которые, используя допустимые генотипы "родительских" особей, сохраняют допустимость генотипов потомков.
Алгоритм simulated annealing. Используется аналогия между процессом нахождения решения задачи и моделью охлаждения термодинамической системы. Считается, что процесс протекает при постоянно понижающейся температуре. На каждой итерации при температуре T система с некоторой вероятностью может перейти из состояния с энергией E в состояние с энер-
AE/
гией E2 . Эта вероятность рассчитывается как P(AE) = e /kT , где AE = E2 - Ex и k — постоянная Больцмана. Работа алгоритма начинается с выбора случайного состояния ni, удовлетворяющего ограничениям системы, для которого находится значение критерия Ej. Применяется оператор перехода из состояния п1 в состояние и находится значение Б2 для этого состояния. Если AE ^ 0 или P(AE) > , где Ъ - случайное число, равномерно распределенное в диапазоне [0,1], то принимается за текущее состояние системы. После этого происходит ее охлаждение. Условием остановки алгоритма является охлаждение системы до заданной температуры.
Алгоритм ant colonies. Идея алгоритма основана на моделировании поведения муравьев, связанного с их способностью быстро находить кратчайший путь от муравейника к источнику пищи и адаптироваться к изменяющимся условиям, находя новый кратчайший путь. При движении муравей метит свой путь феромоном, и эта информация используется другими муравьями для выбора пути. Дойдя до преграды, муравьи с равной вероятностью будут обходить ее справа и слева. Поскольку движение муравьев определяется концентрацией феромона, то следующие муравьи будут предпочитать более насыщенный феромоном путь, продолжая обогащать его феромоном. Моделирование испарения феромона гарантирует нам, что найденное локально оптимальное решение не будет единственным - муравьи будут искать и другие пути. В основе предлагаемого алгоритма лежит n-мерная квадратная матрица
P(t) = p (t) , определяющая состояние системы на такт работы алгоритма t. Элемент матрицы pij(t) в такт t определяет вероятность того, что операция с номером i будет входить в искомую перестановку j-й по порядку. При этом в силу канонической особенности задачи,
вероятность выбора операции, для которой не выполнены все предыдущие, приравнивается нулю. В основу стратегии построения перестановки заложены как элементы стохастики, так и «предыстория» жизни системы, которая отображается матрицей Р(1;). Каждая допустимая перестановка однозначно определяет расписание, а тем самым и значение критерия задачи, соответствующее этому расписанию.
Детерминированные алгоритмы
Фронтальный алгоритм. Предлагаемый алгоритм основан на идеологии «жадных алгоритмов»: включенная в строящееся расписание на каком-то шаге работы алгоритма операция в дальнейшем из расписания не исключается, причем для ее выполнения используются все доступные к данному моменту времени ресурсы в максимально возможном объеме.
На подготовительном этапе для каждой операции у производится расчет временных характеристик: находятся моменты раннего начала выполнения 1рн, раннего окончания выпол-
рк пн пк с*
нения , позднего начала 1. позднего окончания 1. выполнения операций, и резервы времени операций г^ = 1™ - 1рн = 1™ - 1рк,уе/. Пусть t - произвольный такт планирования, tеT. Назовем «фронтом операций» множество Е(1) - множество операций, любая из которых может начать выполняться с такта t, tе Т. Установим соответствие между фронтом операций и допустимой перестановкой, для чего перейдем от множества Е(1) к вектору р(^, компоненты которого и будут определять порядок выполнения операций. Определим вектор р(^ следующим образом. Если Д0=(/ь у2,...,д}, то р(0=(рь р2,..., Рк), Р1 * Pq, Р1, PqеF(t), где рq - номер операции, выполняемой q-й по порядку. Для чего упорядочим операции из множества Е(1) по неубыванию резервов времени. Далее последовательно просматриваем операции построенного вектора и включаем в строящееся расписание те из них, для которых свободно соответствующее оборудование. После этого изменяем значение такта планирования и заново формируем фронт операций, соответствующий этому такту.
Алгоритм, основанный на решении задачи о назначениях. Тот факт, что перестановки из п натуральных чисел можно представить в виде квадратных бистохастических булевых матриц, позволил для определения верхних оценок использовать хорошо разработанный аппарат решения задач о назначениях. Будем предполагать, что с использованием понятия предшествия " ^" между операциями, которое задается совокупностью множеств
У
K(j), j t=J, на множестве операций определятся линейный порядок п . Пусть Y = квадратная матрица порядка n, где у^=1, если i пj, и y;j = 0 в противном случае,
i = 1, n j = 1,n . Рассмотрим задачу о назначениях с матрицей неизвестных Y. Пусть P - множество различных перестановок из n натуральных чисел, а B - множество различных n-мерных бистохастических булевых матриц. Рассмотрим соответствие r=(Q,P,B), где Q=P*B. Соответствие Г является функциональным, инъективным, всюду определенным и сюръек-тивным, т.е. взаимнооднозначным (биективным). Отсюда генерировать различные перестановки можно посредством решения задач о назначениях, для чего необходимо связать значения критерия, зависящие от коэффициентов функционала, со значениями критерия решаемой исходной задачи. Это можно сделать, например, используя в качестве матрицы, определяющей коэффициенты критерия задачи о назначениях, найденную в результате работы алгоритм ant colonies матрицу P(t) = p (t) . Кроме того, так как у задачи о назначениях в общем
случае существует множество оптимальных решений, то имеет смысл рассматривать все оптимальные решения задачи о назначениях, для каждого решения находить соответствующую перестановку, строить по ней допустимую перестановку, и выбирать из построенных допустимых перестановок наилучшую, с точки зрения критерия исходной решаемой задачи.
Метод комбинирования алгоритмов
Так как предложенные алгоритмы используют перестановку (или набор перестановок) в качестве исходных данных, а результатом работы алгоритмов также являются перестановки, то для наиболее эффективного решения задачи предлагается последовательное использование алгоритмов. Перестановка, соответствующая лучшему значению критерия рассматриваемой задачи, полученная одним из алгоритмов, используется как начальная для другого алгоритма. Тем самым с помощью предложенных алгоритмов можно генерировать различные схемы построения допустимых расписаний, а тем самым определять верхнюю (достижимую) оценку в методе ветвей и границ.
Заключение
Таким образом, не смотря на то, что рассматриваемые задачи относятся к классу NP-трудных, и то, что реальные производственные задачи имеют большие размерности, применение метода ветвей и границ с использованием эвристических алгоритмов для нахождения верхних оценок позволяет в реальном времени находить допустимые решения задач планирования. Это связано с тем, что, даже рассмотрев не все вершины дерева ветвления, в процессе решения задачи многократно применяются различные алгоритмы нахождения верхних оценок. А так как верхние оценки для рассматриваемого метода ветвей и границ являются достижимыми, то они определяют допустимые решения исходной задачи, лучшее решение (с точки зрения критерия) может быть принято за эвристическое решение поставленной задачи.
Полученные в работе результаты легли в основу созданных диалоговых программных средств решения задач распределения ресурсов при планировании процесса изготовления изделий микроэлектронного производства. Проведенный вычислительный эксперимент показал высокую степень качества разработанных алгоритмов оптимизации. Так, для конвейерной задачи для тестовых примеров (число операций до 1000) отклонения значений критериев на найденных решениях относительно значений нижних оценок не превысили 6%.
Библиографический список
1. Прилуцкий, М.Х. Оптимизационные задачи распределения ресурсов при планировании производства микроэлектронных изделий / М.Х. Прилуцкий, В.С. Власов // Системы управления и информационные технологии. 2009. №1(35). С. 38-43.
2. Прилуцкий, М.Х. Метод ветвей и границ с эвристическими оценками для конвейерной задачи теории расписаний / М.Х. Прилуцкий, В.С. Власов // Вестник Нижегородского государственного университета. Математическое моделирование и оптимальное управление / Изд-во ННГУ. Нижний Новгород. 2008. Вып. 3. С. 147-153.
3. Прилуцкий, М.Х. Метод комбинирования эвристических алгоритмов для конвейерных задач теории расписаний / М.Х. Прилуцкий, В.С. Власов // Исследовано в России. 2007. С. 901-905. http://zhurnal.ape.relarn.ru/articles/2007/086.pdf
Дата поступления в редакцию 02.02.2010
V.S. Vlasov
SEQUENCING AND ALLOCATION PROBLEM AT MICROELECTRONIC
PRODUCTION
Scheduling problem of complex opération at microelectronic production is considered. Branch and bound method with heuristic schemes for finding the top estimations are offered.
Key words: algorithms combination, the optimum schedule, stochastic and deterministic algorithms