Участник:МетаСкептик12/Черновик

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая МетаСкептик12 (обсуждение | вклад) в 09:43, 22 апреля 2013. Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску

Flow shop scheduling problem дословно Задача планирования потока в магазине это комбинаторная задача теории расписаний. Иногда эта задача называется Permutation Flowshop Scheduling. [1]

Определение

Даны требований и машин для их обработки. Заданы следующие ограничения:

  • все требования должны пройти обработку последовательно на всех машинах с 1-ой до -ой;
  • любая машина в каждый момент времени может обрабатывать только одно требование.
  • не допускаются прерывания при обслуживании требований и, следовательно, решение определяется некоторой перестановкой требований.

Задано время обслуживания каждого требования на каждой машине матрицей . Элемент матрицы - время обслуживания требования i на машине j.

Обычно рассматривают следующие целевые функции:

  • , время окончания обслуживания последнего требования на -ой машине или общее время обслуживания;
  • , сумму времен окончания обслуживания требований на машине .

Алгоритмы минимизацииe

Далее рассматриваются алгоритмы минимизации общего времени обслуживания.

Алгоритм для двух машин

Для решения задачи на двух машинах найден полиномиальный по времени алгоритм Джонсона[2].

Разделим требования на два множества et

  • упорядочим требования по неубыванию
  • упорядочим требования по невозрастанию
  • оптимальная последовательность является конкатенацией, упорядоченных таким образом и .

Алгоритм имеет временную сложность , поскольку использует алгоритм сортировки.

Алгоритмы для трёх и более машин

В случае более двух машин эта задача является NP-трудной. Но разработано множество эвристических полиномиальных по времени приближённых алгоритмов [3]

Эвристика NEH

Одним из наиболее известных алгоритмов является эвристика Наваза, Энскора и Хама (Nawaz, Enscore, Ham).[4]

  • Упорядочиваем требования по и нумеруем в соответствии с этим порядком.
  • Определяем порядок обслуживания двух первых требований так, чтобы минимизировать время их обслуживания.
  • Для до Делаем
    • Помещаем требование на позицию , которая минимизирует общее время обслуживания первых требований
  • Конец Для

Эвристика Кэмпбелла, Дудека и Смита

Известна также эвристика Кэмпбелла, Дудека и Смита (Campbell, Dudek, and Smith). Задача для машин последовательно сводится к задаче для 2 машин. Каждая из них решается алгоритмом Джонсона. [5]

Примечания

  1. PERMUTATION FLOWSHOP PROBLEM
  2. S.M. Johnson, Optimal two- and three-stage production schedules with setup times included, Naval Res. Log. Quart. I(1954)61-68.
  3. A comprehensive review and evaluation of permutation flowshop heuristics
  4. [1] A heuristic algorithm for the m-machine, n-job flow-shop sequencing problem
  5. Chapter_4, Flow Shop Scheduling