Задача планування для потокової лінії

Матеріал з testwiki
Перейти до навігації Перейти до пошуку

Задача планування для потокової лінії (Шаблон:Lang-en або Шаблон:Lang-en2[1]) — комбінаторна задача теорії розкладів.

Визначення

Дано n вимог і m машин для їх опрацювання. Задано такі обмеження:

  • всі вимоги слід опрацювати послідовно на всіх машинах від 1-ї до m-ї;
  • будь-яка машина в кожен момент часу може опрацьовувати тільки одну вимогу;
  • не допускаються переривання під час опрацьовування вимог і, отже, розв'язок визначається деякою перестановкою вимог.

Час опрацювання кожної вимоги на кожній машині задано матрицею Mnm(+). Елемент матриці pij — час опрацювання вимоги i на машині j.

Зазвичай розглядають такі цільові функції:

  • Cmax, час закінчення опрацювання останньої вимоги на m-й машині або загальний час опрацювання;
  • Σi=1nci, суму часів закінчення опрацювання вимог на машині m.

Алгоритми мінімізації Cmax

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

Для розв'язання задачі на двох машинах знайдено поліноміальний за часом алгоритм Джонсона[2]: вимоги ділять на дві множини U={i:pi1<pi2} і V={i:pi1pi2}, далі:

  • вимоги U впорядковують за неспаданням pi1,
  • вимоги V впорядковують за незростанням pi2,
  • оптимальна послідовність є конкатенацією впорядкованих таким чином U і V.

Алгоритм має часову складність nlog(n), оскільки використовує алгоритм сортування.

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

У разі більше двох машин задача є NP-складною, але розроблено багато евристичних поліноміальних за часом наближених алгоритмів[3].

Евристика NEH

Одним з найвідоміших алгоритмів є евристика Наваза, Енскора і Гама (Nawaz, Enscore, Ham)[4]:

  • вимоги упорядковують за j=1mpij і нумерують відповідно до цього порядку,
  • визначають порядок опрацювання двох перших вимог так, щоб мінімізувати час їх опрацювання,
  • для i=3 до n:
    • вимога i поміщається на позицію k[1,i], яка мінімізує загальний час обслуговування перших i вимог
  • (кінець циклу)

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

Відома також евристика Кемпбелла, Дудека і Сміта (Campbell, Dudek, Smith), в якій задача для m машин послідовно зводиться до m1 задачі для 2 машин[5] і кожна з них розв'язується алгоритмом Джонсона.

Примітки

Шаблон:Примітки

  1. Шаблон:Cite web
  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. Шаблон:Cite web