Планирование Flow-shop — это задача оптимизации в информатике и исследовании операций . Это вариант оптимального планирования заданий . В общей задаче планирования заданий нам даны n заданий J 1 , J 2 , ..., J n с различным временем обработки, которые необходимо запланировать на m машинах с различной вычислительной мощностью, пытаясь при этом минимизировать makespan — общую длину расписания (то есть время, когда все задания закончат обработку). В конкретном варианте, известном как планирование Flow-shop , каждое задание содержит ровно m операций. i -я операция задания должна быть выполнена на i -й машине. Ни одна машина не может выполнять более одной операции одновременно. Для каждой операции каждого задания указывается время выполнения.
Планирование Flow-shop является особым случаем планирования Job-shop , где существует строгий порядок всех операций, которые должны быть выполнены для всех заданий. Планирование Flow-shop может применяться как к производственным объектам, так и к вычислительным конструкциям. Особым типом задачи планирования Flow-shop является задача планирования Flow-shop с перестановкой , в которой порядок обработки заданий на ресурсах одинаков для каждого последующего шага обработки.
В стандартной трехполевой нотации для задач оптимального планирования заданий вариант потокового цеха обозначается как F в первом поле. Например, задача, обозначенная как " F3| | ", представляет собой задачу потокового цеха с тремя станками и единичным временем обработки, где целью является минимизация максимального времени завершения.
Имеется m машин и n заданий. Каждое задание содержит ровно m операций. i -я операция задания должна быть выполнена на i -й машине. Ни одна машина не может выполнять более одной операции одновременно. Для каждой операции каждого задания указано время выполнения.
Операции в рамках одного задания должны выполняться в указанном порядке. Первая операция выполняется на первой машине, затем (по завершении первой операции) вторая операция на второй машине и так далее до m -й операции. Однако задания могут выполняться в любом порядке. Определение задачи подразумевает, что этот порядок заданий абсолютно одинаков для каждой машины. Задача состоит в том, чтобы определить оптимальное такое расположение, т. е. такое, при котором общее время выполнения задания будет наименьшим.
Проблему секвенирования можно сформулировать как определение последовательности S, при которой оптимизируются одна или несколько целей секвенирования.
Подробное обсуждение измерения производительности можно найти в Malakooti (2013). [1]
Как было представлено Гари и др. (1976), [2] большинство расширений задач планирования потоков-магазинов являются NP-трудными, и лишь немногие из них могут быть решены оптимально за O(nlogn); например, F2|prmu|C max может быть решена оптимально с использованием правила Джонсона . [3]
Тайяр предлагает существенные контрольные задачи для планирования поточных цехов, открытых цехов и цехов по заказу. [4]
Предлагаемые методы решения задач потокового планирования можно классифицировать как точные алгоритмы, такие как метод ветвей и границ , и эвристические алгоритмы , такие как генетический алгоритм .
Задачи F2|prmu|C max и F3|prmu|C max можно оптимально решить, используя правило Джонсона [3], но для общего случая не существует алгоритма, гарантирующего оптимальность решения.
Поточный цех содержит n работ, которые одновременно доступны в момент времени ноль и должны быть обработаны двумя машинами, установленными последовательно с неограниченным хранилищем между ними. Время обработки всех работ известно с точностью. Требуется запланировать n работ на машинах так, чтобы минимизировать время выполнения. Правило Джонсона для планирования работ в поточном цехе с двумя машинами приведено ниже.
В оптимальном расписании работа i предшествует работе j, если min{p 1i ,p 2j } < min{p 1j ,p 2i } . Где p 1i — время обработки работы i на машине 1, а p 2i — время обработки работы i на машине 2. Аналогично, p 1j и p 2j — время обработки работы j на машине 1 и машине 2 соответственно.
Для алгоритма Джонсона:
Алгоритм Джонсона:
Этот тип расписания называется расписанием SPT(1)–LPT(2).
Подробное обсуждение доступных методов решения представлено Малакути (2013). [1]