Эффективное Представление Хромосомы для составления цехового гибкого расписанияJoc Cing Tay and Djoko Wibowo Intelligent Systems Lab Nanyang Technological University (www.ntu.edu.sg/home/asjctay/doc/wibowo.pdf)Аннотация Проблема составления гибкого цехового расписания работы (FJSP)- это NP-сложная задача, используемый эволюционный подход для нахождения субоптимальных решений требует эффективного представления хромосомы так же как тщательной проработки параметров для кроссинговера и мутациидля достижения эффективного поиска. Эта статья предлагает новое эффективное представление хромосомы и проект связанных параметров для эффективного решения задачи. Результаты применения нового представления хромосомы для решения задачи 10 работ x 10 машин FJSP - сравниваются с тремя другими представлениями хромосомы. Эмпирические эксперименты показывают, что предложенное представление хромосомы получает лучшие результаты чем другие и в качестве и в требуемой продолжительности обработки. Проблема составления гибкого цехового расписания, Генетический алгоритм, Хромосома Ключевые слова.Проблема составления гибкого цехового расписания, Генетический алгоритм, Хромосома 1 Введение
В сегодняшней технической области, эффективное планирование и расписание работы стало
критической проблемой [1]. Например, в линиях серийного производства, для выгодного и эффективного
распределене ресурса обязаны поддерживать достаточные материальные запасы, максимизируя объем
производства.
Даже на меньших проблемах, число возможных планов и способов распределения ресурсов
является предельно большим, чтобы устранить любую форму исчисляющего поиска.
Обычно используемая абстракция планирования, задач известна как Гибкая Проблема Цехового расписания (или FJSP).
FJSP - расширение классического цехового расписания (или JSP), которая позволяет операции быть обработанной
любой машиной от данного набора ресурсов. Задача состоит в том, чтобы назначить каждую операцию на
машину и заказывать операции на машинах, такой, что максимальное время завершения (или makespan) всех
операций минимизировано. 2 Постановка задачиFJSP [5] может быть описана следующим образом:
Для простоты используем матрицу для обозначения Mij и tijk. 3 Представление хромосомыПредставление решенияКаждая хромосома есть решение задачи.Решение можно представить в виде графа. Граф представляет собой утяжеленный направленный нецикличный граф G = (V, E, w). Вершина vV определяет операции и машину, где будет реализована данная операция. E представляет собой множество граней в G. Вес w грани vi vj обозначает длительность операции представленной гранью vi. G может быть перезаписана в Grantt симол для визуализации соответствующего расписания. Эта секция кратко опишет три представления хромосомы, обычно используемые для того, чтобы кодировать решения ГА FJSP, после которого, новое представление хромосомы будет представлено. Хромосома A: Целочисленный порядок машиноЭта хромосома Chen и другие [5] состоит из двух строк целого числа (обозначенный как A1 и A2). Длина каждой строки равна общему количеству операций. Строка A1 назначает индекс машины на каждую операцию. Ценность j-го положения строки A1 указывает машину, выполняющую j-ю операцию. Строка A2 кодирует порядок операций на каждой машине. Обе строки Хромосомы A следующие:
где MijOмашина, чтобы выполнить операцию Oij, MOij Mij.
где OMk набор порядка операций на машине Mk. Хромосома B: Битовый порядок машиХромосома Paredis [8] также состоит из двух строк (обозначенный как B1 и B2). Строка B1 идентична A1. Строка B1 - битовая строка, которая задает порядок любой пары операций. Битовое значени 0 указывает, что первая операция в комбинации должна быть выполнена перед второй операцией. Обе строки Хромосомы B следующие:
где MijO машина, чтобы выполнить операцию Oij, MOij Mij.
где bijik бит определяет предшествующее ограничение между Oij и Oik. Хромосома C: Простая последовательность операцийХромосома C Ho и Теем [9] также состоит из двух строк (обозначенный как C1 и C2). Эта хромосома представляет случай FJSP, где операции в каждой работе имеют последовательные ограничения предшествования. Строка C1 кодирует заказ операций i, с учетом других рабочих мест. Это не определяет последовательность операций в пределах той же самой работы, поскольку это уже подразумевается ее ценностью индекса. Строка C2 представляет назначение машины на операции (как в A1 и B1), но с завихрением. Чтобы гарантировать выполнимость решения, индексом машины управляют так, чтобы строка всегда правомерной. Строка C2 идентифицирует машины согласно их пригодности и жизнеспособности. Поэтому, если машина будет не доступна для операции, то это не будет иметь номера индекса в наборе машин, и поэтому эта машина не будет отобрана. Выбор машины обозначен простыми булевыми значениями. Обе строки Хромосомы C даются следующим образом:
где Oh обозначает hth выполненные операции , и fjob (Oh) показывающие номера работ в операции Oh.
Где MOij машина выполняющая операцию Oij, MOij Mij, и fidx (MOij) дает множество номеров индексов доступных машин для Oij. Фиг.1 показывает пример FJSP для 2-х работ; каждая имеет 3 операции выполняемых на 2-х машинах. Одно подходящее решение этой проблемы показано как активыный граф и диаграмма Ганта в фиг.2. Нужно заметить, что вес грани графа показывает направление предшествующего операционного узла. Представление Хромосомы С для данного решения показано в Фиг.3. Нужно заметить, что строка С2 не показывает номера машин, а показывает индексы номеров доступных машин. Поэтому машина 2 - первая доступная машина для O21 Фиг. 1. Пример 2x2 FJSP Фиг. 2.Граф работы и диаграмма Gantt для Выполнимого Решения 2x2 FJSP Фиг. 3. Хромосома C Представление подходящего решения для 2x2 FJSP Хромосома D: Битовый порядок операцийЭта хромосома составлена из представлений хромосомы B и C. Хромосома состоит из трех строк (обозначенный как D1, D2 и D3). D1 и D2 эквивалентны C1 и C2 соответственно, в то время как D3 подобен B2. Строка D3 описана следующим образом: В строке D3, bijik бит определяющий старшинство ограничений между Oij и Oik. Ограничения созданные в D3 содержат лишь пары операций, которые не включены в предыдущие ограничения задачи. Поэтому, возможность недействительных заказов, происходящих из-за ограничений предшествования уменьшена. Кроме того, специфическое местоположение в хромосоме только управляет определенными параметрами, поэтому различие между двумя решениями будет приблизительно пропорционально расстоянию между представлениями хромосомы. Таблица 1 показывает комплексность и временую задержку в преобразовании каждой хромосомы в решение FJSP в течение каждого поколения. T обозначает общее количество операций работы в FJSP, c - обозначает число ограничений предшествования, и d обозначает длину строки D3. Таблица 1. Теоретическая сложность представления хромосомыХотя асимптотическая конверсионная сложность Хромосомы A имеет тот же самый порядок что и Хромосома C, первая часто имеет большее скрытое постоянное кратное число. Это - потому что, для каждого поколения, Хромосома A должна быть преобразована несколько раз, чтобы обработать ее частичную строку следующим образом: Хотя достоверность машины может быть зарегистрирована O (T) время, обнаружение цикла в O (T + c) и удалении цикла в O (c) времени, другие циклы часто существуют после того, как предыдущий цикл удален. Поэтому, для одного поколения, обнаружение цикла и удаление обрабатывают возможно выполненный не раз. 4 Эмпирические результаты
Цель этого эксперимента состоит в том, чтобы опытным путем сравнить четыре различных
представления хромосомы. Наш алгоритм был закодирован в Яве на 2 ГГц Pentium IV.
Эксперимент проводился для 100 пробегов каждого представления хромосомы, чтобы
решить случайный FJSP 10 работ x 10 машин, используя популяцию в 100 особей.
Каждый пробег состоит по крайней мере из 200 поколений. В терминах времени вычисления, Хромосома A была самая медленная. Так как строки A1 и A2 Хромосомы А должны быть обработанным отдельно, алгоритм не строго канонический ГА. Каждый раз, когда A1 был изменен, A2 должен был быть восстановлен [5]. Поскольку этот процесс был выполнен для каждого поколения, полное время работы значительно увеличелось. Напротив, строки в B1, C1, и D1 могут быть изменены независимо от B2, C2, и D2. Эмпирические результаты подтверждают что, эти хромосомы эмпирически быстрее. Самый быстрый результат был произведен хромосомой C. К сожалению, это представление было только в состоянии решить FJSP с заказанными ограничениями предшествования. Хотя хромосома D не была самая быстрая, она могла решить общую FJSP с приемлемым вычислительным временем. Так как Хромосома A, B, и D может произвести неудовлетворительное представление, принудительный механизм, чтобы восстановить неудовлетворительное хромосому должен быть включен. Для этих представлений хромосомы, присутствие механизма ремонта всегда улучшает максимальное время завершения, потому что требуется большее число поколений, чтобы получить действительную хромосому от неудовлетворительной хромосомы использованием стандартного кроссинговера и оператора мутации без любого механизма восстановления. Из результата Таблице 2, можно наблюдать, что среднее число лучше максимальное время завершения полученое Хромосомой B без механизма ремонта очень высоко. Это указывает, что Хромосома B произвела бы много недействительных хромосом. Без ремонта, решение может только быть найдено в 62 случаях из 100. Механизм ремонта значительно улучшает решение Хромосомы B. Можно также заметить, что дополнительное время вычисления для механизма ремонта Хромосомы B было также более существенно чем в другх представления. В терминах среднего числа лучшее максимальное время завершения, дает Хромосома D. Это происходит из-за простоты представление Хромосомы по сравнению с другими. Хромосома D также имеет меньшее стандартное отклонение. Поэтому, хромосома D лучше в сроке надежности и стабильности по сравнению с другими представлениями хромосомы, используемыми на этом эксперименте. 5 Оценка оператора кроссинговераОператор кроссинговера
Строки D1 Хромосомы D, описывает порядок работ. Поэтому, потомки не могут быть
генетически воспроизведены при использовании стандартного 1 и 2-х точечных операторов,
поскольку результат мог стать неосуществимым.
Мы используем сохраняющий 1-точечный оператор кроссинговера [5] для D1.
Следующее - пример сохраняющий 1-точечный оператор кроссинговера [5] для D1(1) и D1(2).
Подходящие нормы для оператора кроссинговераКанонический GA полагается главным образом на его операторы, чтобы управлять разнообразием популяции от одного поколения к следующему. Эксперимент проводился, чтобы изучить эффекты оператора кроссинговера на оптимизацию максимального времени решения, используя Хромосому D. Чтобы показывать значение наблюдаемого параметра и сокращения эффектов других факторов, все другие параметры сохранены постоянными. Сохраненый 1-точечного оператора кроссинговера используются для строки D1, и 1-точечный оператора кроссинговера, используется для строк D2 и D3, и эксперимент проводится без мутации. Поэтому, население будет затронуто только оператором кроссинговера. Мы используем измененный стандартный случай проблемы JSP ft10 от Fisher и Thompson [10] с 10 машинами, 10 работами, каждый с 10 операциями и изменяем вероятность кроссинговера от 0 до 1 с шагом 0.05. Эксперимент был повторен 100 раз, и средние числа лучшего времени решения были соблюдены. График среднего числа лучшего времени решения и его стандартных отклонений показывают в рис. 4. Так как вероятность кроссинговера увелчивалось, среднее число лучшего решения, уменьшается постепенно. График показывает существенное усовершенствование первоначальноого решения, когда вероятность кроссинговера является маленькой. С большей вероятность кроссинговера, есть небольшое усовершенствование на результате, и тенденция выравнивается. Мы догадываемся, что вероятность кроссинговера больше чем 0.85 может произвести лучший результат. Однако, без мутации, это вряд ли будет глобальное оптимальное решение. Рис. 4. Влияние вероятности кроссинговера на время решения 6 Размеры оператора мутацииОперация мутацииМутация может быть применена для строк D1 Хромосомы D, путем обмена двух элементов в двух слачайно отобранных позициях. Другой оператор мутации, который может быть применен - двойной оператор мутации [11]. Этот оператор инвертирует порядок операций между двумя случайно отобранными позициями. В этом эксперименте, строка D1 видоизменена, путем обмена элементов в двух случайно отобранными позициях, потому что это обычно используется как способ составления расписания [12]. Строка D2 может быть видоизменена, путем случайного изменяя индексов машин. Недействительное назначение машины может быть обработано отдельно, или включено в оператор. Включая это в оператор, оператор мутации можно рассмотреть как ограничение - сохраняющий оператор, который будет всегда гарантировать выполнимость видоизмененного случая. Наконец, вереница, D3 является последовательностью битов, которые могут быть видоизменены, просто инвертируя их число случайное. Наилучший интервал вероятности мутацииЭтот эксперимент использует ту же самую конфигурацию, так же как ту же самую случайную проблему как в предыдущем эксперименте над оператором кроссинговера. В этом эксперименте, оператор кроссинговера был установлен с вероятностью 0.95. Норма мутации была различна от 0 до 1. Эксперимент был повторен 100 раз, и средние числа лучшего времени решения были соблюдены. Графы среднего числа лучше всего времени решения и его стандартных отклонений показывают рис. 5 и рис. 6. Рис. 5 показывает, что лучший результат достигнут, когда норма мутации - приблизительно 0.025. Есть существенное усовершенствование в среднем времени решения от нормы мутации 0 к 0.025. Как увеличения нормы мутации вне 0.025, среднее число лучшего времени решения также увеличивается постепенно. Чтобы исследовать существенное усовершенствование на лучшем времени решени от нормы мутации 0 к 0.025, проводился другой эксперимент, изменяя норму мутации от 0 до 0.03 с интервалом 0.001. График результата показан на иллюстрации 6. В интервале 0 к 0.004, лучшее время решения понижается значительно. Это показывает важность операторов мутации в сокращении лучшего времени решения. Так как нормы мутации увеличивается, лучшее время решения весьма устойчиво и медленно увеличивается вне 0.018. Тенденция увеличения времени решения после 0.03 далее поддержана тенденцией лучшего времени решения после 0.025 в рис. 6. Большая норма мутации может разрушить хорошие схемы и уменьшить способность GA найти лучшее время решения. Поэтому, мы считаем, что норма мутации приблизительно 0.006 к 0.017 произвели бы лучший результат. Эксперимент проводился, используя Хромосому D, с высокой вероятностью оператора кроссинговера с нулевой мутацией, пока равновесие не будет достигнуто, затем сопровождаемый регенерацией и заявлением мутации в предыдущем пункте перехода равновесия (или большее). Мы полагаем, что это - хороший подход решить FJSP. 7 ЗаключениеВ этой бумаге, было предложено новое представление хромосомы для решения FJSP. Три частичных строки Хромосомы D независимы; поэтому они могут быть изменены отдельно соответствующими генетическими операторами. Специфическое местоположение в хромосоме только управляет определенной собственностью, поэтому различие между двумя решениями будет пропорционально расстоянию между представлениями хромосомы. Порядок, определенный строки D1 всегда действителен. Переходное закрытие ограничений предшествования должно быть построено, чтобы создать строку D3. Это может привести к переполнению в начальной стадии, но это уменьшит возможность недействительных заказов из-за ограничений предшествования, поскольку явные подразумеваемые ограничения предшествования проблемы не включены в хромосому. Рис. 5. Влияние мутаци на велечину времени решения Рис. 6. Влияние мутаци на велечину времени решения Оператор кроссинговера и оператор мутации для нового представления хромосомы и их подходящих норм были также представлены. От проводимых экспериментов, опытным путем показано, что новое представление хромосомы производит список с более коротким временем решения. При использовании Хромосомы D, с высоким переходом (> 0.85) и нулевой мутацией, пока равновесие не достигнуто, затем сопровождается регенерацией, и заявлением мутации (приблизительно 0.006 к 0.017) в предыдущем пункте перехода равновесия (или больше) произвело бы более низкое среднее число времени рещшения. Ссылки 1.Jain A.S. and Meeran S., “Deterministic Job-Shop Scheduling: Past, Present and Future”,
In European Journal of Operation Research, 113 (2), 390-434, 1998.
|