Підключення до будь-якої ERP

Відкритий REST API SkyPlanner підключається до ERP, MES та операційних систем, включно з внутрішніми ERP. Створіть інтеграцію самостійно або дозвольте нашій команді допомогти.

Працює і автономно — інтеграція з ERP є опціональною, не обов'язковою.

Обговорити проект інтеграції

Підключається до ERP та MES систем, таких як

Ресурси

Job shop scheduling: визначення, приклад і методи

Роботи проходять спільні верстати різними маршрутами. Приклад job shop scheduling з розрахунками пояснює, як порівнювати черги з термінами поставки.

Jussi Mäntylä Спеціаліст з планування виробництва, SkyPlanner Оновлено 10.10.2026 13 хв читання
Two batches follow opposite routes between shared milling and drilling workstations
У цій статті
  1. Чим відрізняється job shop?
  2. Чому job shop scheduling таке складне?
  3. Приклад job shop scheduling із маршрутами, що перетинаються
  4. Яка інформація потрібна для графіка?
  5. Як скласти робочий графік для job shop
  6. Які методи календарного планування працюють у job shop?
  7. Математична оптимізація та методи пошуку
  8. Як зрозуміти, що графік кращий?
  9. Що змінюється після термінового замовлення або зупинки верстата?
  10. Коли електронної таблиці вже недостатньо?
  11. Наступний крок до автоматичного планування
  12. Поширені запитання
  13. Чим відрізняється календарне планування від диспетчеризації?
  14. Що таке гнучке job shop-планування?
  15. Чи те саме job shop scheduling, що й планування виробництва на замовлення?
  16. Чи найкоротший графік завжди дотримується дат поставки?
  17. Чи може діаграма Gantt розв’язати задачу job shop?

Головна » Ресурси » Job shop scheduling: визначення, приклад і методи

Орієнтовний час читання: 14 хвилин

Job shop scheduling — календарне планування в цеху з різними маршрутами — визначає, коли кожна технологічна операція виконується на спільному верстаті, і водночас зберігає правильний порядок кроків у кожному виробничому завданні. Різні завдання можуть проходити цехом різними маршрутами, тому графік має узгоджувати черги на кожному верстаті. Корисний план показує, що можна запускати наступним, що має зачекати і коли кожне замовлення може бути готове.

Практична відправна точка — здійсненний графік, який верстати й люди справді можуть виконати. Далі планувальник порівнює здійсненні варіанти із зобов’язаннями щодо поставок. Завантаженість кожного верстата — слабка міра успіху, якщо термінове замовлення все одно виходить із запізненням.

У цьому посібнику:

Чим відрізняється job shop?

У job shop обладнання згруповане за видом робіт, які воно виконує. Завдання переходять між цими робочими центрами відповідно до власних технологічних кроків. Одній деталі потрібне фрезерування перед свердлінням, іншій — свердління перед фрезеруванням. Маршрути в них різні, але вони конкурують за те саме обладнання.

Для кожного виробничого завдання задано виробничий маршрут. Фахівець з планування не може змінювати порядок технологічних операцій лише для того, щоб заповнити вільний проміжок у черзі завдань на верстаті. Наступну операцію можна розпочати тільки після завершення необхідних попередніх робіт.

Job shop scheduling — одна зі складових календарного планування виробництва. Його відмінна риса в тому, що єдиної послідовності замовлень, яка мала б сенс для всіх верстатів, може не існувати.

Виробнича концепція Що вона описує Рішення щодо планування
Job shop (цех із різними маршрутами) Різні маршрути технологічних операцій Розподіл часу на спільних верстатах
Flow shop (потоковий цех) Спільна послідовність верстатів Розподіл часу в межах цієї послідовності
Гнучкий job shop (flexible job shop) Альтернативні придатні верстати Вибір верстата й часу
Виробництво на замовлення Виробництво, яке запускає замовлення Запуск у виробництво та планування поставок

У класичній задачі job shop для кожної операції визначено конкретний верстат. Гнучкий job shop дозволяє виконувати деякі операції на одному з кількох придатних верстатів. Придатність означає здатність верстата виконати цю роботу, а не просто вільний проміжок у його календарі.

Виробництво на замовлення описує інший вимір — чому починається виробництво. Цех може виготовляти замовлення під конкретного клієнта за маршрутами job shop, але підприємство, що працює на замовлення, може використовувати й спільний потоковий маршрут. Сам лише тригер у вигляді замовлення не підказує планувальнику, як слід розподіляти час на верстатах.

Чому job shop scheduling таке складне?

Кожну операцію обмежують дві умови: попередня робота має бути завершена, а потрібний верстат — вільний. Пояснення задачі job shop від Google OR-Tools називає це обмеженнями черговості та неперекриття. У базовій моделі операція, щойно розпочавшись, також виконується до завершення.

Ці умови пов’язують рішення в усьому цеху. Якщо перенести одну операцію раніше, вона може зайняти верстат, який наступним потрібен іншому замовленню. Якщо перенести пізніше, наступний верстат може простоювати в очікуванні. Тож черга до верстата почасти залежить від того, що відбувається на інших верстатах.

Список замовлень, відсортований за терміном виконання, усіх цих конфліктів не розв’язує. Перше замовлення може чекати на попередню операцію, тоді як наступне вже готове до запуску. Графік має розрізняти термінове завдання й операцію, готову до виконання просто зараз.

Підручникова задача зазвичай оперує відомим часом обробки та спрощеною доступністю. Реальні планувальники мають ще й налагодження обладнання, наявність операторів, брак матеріалу, контроль і мінливий хід виконання. Саме ці умови визначають, чи буде математично коректна послідовність корисною в цеху.

Приклад job shop scheduling із маршрутами, що перетинаються

Це вигаданий приклад з інструментального цеху. Планувальниця Iris має готові до 08:00 кронштейни та інструментальні плити. Dev обслуговує Mill 4, а Rosa — Drill 2. Обидва верстати й оператори доступні протягом усього прикладу; перерв і переналагоджень немає, операції виконуються без переривань.

Завдання Перша операція Друга операція
Кронштейни Mill 4: 2 години Drill 2: 1 година
Інструментальні плити Drill 2: 1 година Mill 4: 1 година

Якщо Iris спершу повністю виконає кронштейни, а потім візьметься за плити, кронштейни обробляються на фрезерному верстаті з 08:00 до 10:00, а на свердлильному — до 11:00. Потім Rosa свердлить плити до опівдня, а Dev фрезерує їх до 13:00. Обидва замовлення готові о 13:00.

Верстати можуть працювати над різними замовленнями одночасно. Dev може фрезерувати кронштейни з 08:00 до 10:00, поки Rosa свердлить плити з 08:00 до 09:00. Потім плити чекають на фрезерний верстат. О 10:00 Dev фрезерує плити, а Rosa свердлить кронштейни. Обидва замовлення завершуються об 11:00.

Очікування з 09:00 до 10:00 легко проґавити в плані на рівні замовлень. Плити завершили перший крок, але наступний верстат зайнятий. Свердлильний верстат у цей проміжок вільний, бо жодне із замовлень не має готової до виконання наступної операції свердління.

Тепер припустімо, що плити мають бути готові до 10:00. Iris може зарезервувати для них фрезерний верстат з 09:00 до 10:00, після свердління. Тоді кронштейни займають фрезерний верстат з 10:00 до опівдня, а свердлильний — до 13:00. Плити вкладаються в термін, але кронштейни завершуються пізніше.

Одна й та сама робота дає змогу скласти різні розумні графіки. Один швидше завершує обидва замовлення, інший захищає термін виконання плит. Який результат важливіший, визначає пріоритет планувальника. Цей приклад лише ілюструє планування, а не є виміряним результатом програмного забезпечення чи обіцяним покращенням.

Яка інформація потрібна для графіка?

Базова одиниця — технологічна операція. Кожній операції потрібні місце в маршруті її завдання, реалістична тривалість і верстат, здатний її виконати. Загальної кількості оціночних годин замовлення недостатньо, коли ці години потрібно розподілити між різними чергами.

Придатна виробнича модель містить:

  • Послідовність операцій і будь-яке необхідне очікування чи передавання між кроками.
  • Час обробки та час налагодження; оцінка має враховувати кількість.
  • Придатні верстати, оснащення та інструмент, якщо вони обмежують виконання роботи.
  • Робочі календарі, обслуговування та доступність операторів.
  • Готовність матеріалу на тій операції, якій він потрібен.
  • Терміни поставки та пріоритети планувальника.
  • Виконана й залишкова робота та операції, що вже виконуються.

Відлік часу для обіцяної поставки включає і очікування, і обробку. Якщо не врахувати наступну чергу, замовлення може здаватися досяжним, навіть коли оцінка механічної обробки точна.

Налагодженню слід приділити особливу увагу. Групування подібних завдань може скоротити кількість переналагоджень, але отримана послідовність усе одно має дотримуватися зобов’язань щодо поставок. Час налагодження займає реальний час верстата або працівників; якщо винести його за межі плану, це завищить те, що цех здатен виконати.

Плану потрібен і чіткий власник даних. Замовлення та терміни поставки можуть надходити з ERP, а хід виробництва — зі звітування в цеху або з MES. Оцінювати планування надійніше, коли всі знають, яка система веде кожне значення і як зміни потрапляють до моделі планування. Цей зв’язок докладніше розглянуто в огляді інтеграцій на сайті.

Як скласти робочий графік для job shop

Практичний цикл планування пов’язує дані про маршрути з доступним часом верстатів, а потім перевіряє замовлення повністю. Наведені кроки можна взяти за основу для дошки, таблиці або плану в програмному забезпеченні.

  1. Визначте мету й зобов’язання. З’ясуйте терміни поставки та роботи, які мають пріоритет, коли все не вміщується. Відокремте дату, яку просить клієнт, від дати, що підтверджується планом.
  2. З’ясуйте поточний стан. Зафіксуйте виконані операції, роботи, що вже тривають, і очікуваний залишок часу. Тримайте в полі зору відсутні матеріали та недоступні верстати.
  3. Визначте готові операції. Перевірте попередні операції, матеріали, інструмент і людей. Розмістіть кожну готову операцію в робочому календарі придатного верстата.
  4. Розв’яжіть конфлікти черг. Оберіть за узгодженим методом пріоритезації, яка готова операція йде першою. Врахуйте час налагодження та перевірте, як цей вибір позначиться на наступних операціях.
  5. Простежте кожне замовлення до завершення. Пройдіть увесь маршрут, зокрема очікування. Порівняйте завершення із зобов’язанням щодо поставки з урахуванням фінального контролю, пакування чи відправлення.
  6. Передайте в цех узгоджений план. Дайте операторам зрозумілу чергу наступних завдань, повідомте про змінені зобов’язання й використайте фактичний хід робіт для оновлення наступного циклу планування.

Тут важливе планування з обмеженими виробничими потужностями: час роботи верстата не можна призначити двічі. Графік також має враховувати, коли доступний потрібний оператор. Два вільні верстати не дають паралельної потужності, якщо одна й та сама людина має обслуговувати обидва безперервно.

Якщо роботу неможливо виконати до встановленого терміну, самого лише впорядкування може бути недостатньо. Може знадобитися інший придатний верстат, додатковий час роботи з оператором, субпідряд або змінене зобов’язання. Планування виробничих потужностей розглядає ширше питання: який обсяг роботи здатен забезпечити цех.

Які методи календарного планування працюють у job shop?

Метод диспетчеризації обирає з черги наступну готову технологічну операцію. Він корисний тим, що вибір зрозумілий і відтворюваний. Його обмеження в тому, що вдалий локальний вибір може дати поганий результат далі за маршрутом замовлення.

Метод Яку операцію обирають наступною Головне застереження
Першим прийшов — першим обслужений Найраніше надходження Термінова робота може чекати
Найближчий строк виконання Найближчий кінцевий термін Обсяг решти роботи різний
Найкоротший час обробки Найкоротша готова операція Довгі виробничі завдання можуть відкладатися
Найменший запас часу Найменше часу понад решту обробки Оцінки мають бути актуальними
Критичне співвідношення Найменше часу відносно решти обробки Черги все одно потрібно перевіряти

Принцип «першим прийшов — першим обслужений» дає просту чергу за порядком надходження. Він послідовно враховує порядок надходження, але рання довга операція може затримати пізніші замовлення з жорсткішими зобов’язаннями.

Правило найближчого строку виконання зосереджує увагу на обіцянках щодо поставок. Воно не показує, скільки роботи ще залишилося за кожним замовленням і чи готова наступна операція. Замовлення з пізнішою датою може потребувати уваги раніше, якщо попереду в нього довгий маршрут.

Правило найкоротшого часу обробки просуває швидкі операції. Конспекти Вашингтонського університету з планування пояснюють його роль у скороченні середнього часу проходження в простій ситуації з одним верстатом. Цей результат не є гарантією для job shop зі схрещеними маршрутами, конкурентними термінами та змінами налагодження.

Запас часу — це час до строку виконання мінус залишковий час обробки. Критичне співвідношення — це час до строку виконання, поділений на залишковий час обробки. Значення нижче 1 означає, що лише сама обробка вже перевищує час, який залишився, ще до врахування очікування. Обидва показники залежать від актуальних оцінок і єдиного календаря робочого часу. Планувальнику все одно потрібно перевіряти черги вздовж маршруту.

Математична оптимізація та методи пошуку

Модель оптимізації описує технологічні операції, часові обмеження та мету, а потім шукає графік, що їх задовольняє. Приклад OR-Tools використовує програмування в обмеженнях, щоб мінімізувати загальну тривалість виконання (makespan). Це корисне технічне джерело для тих, хто хоче змоделювати задачу самостійно.

Евристики та метаевристики шукають добрі графіки, не обов’язково доводячи, що результат глобально оптимальний. Дослідники також вивчають підходи на основі навчання. Для фахівця з планування виробництва назва методу важить менше, ніж те, чи вхідні дані, мета й обмеження правильно описують цех.

Класична задача job shop обчислювально складна, бо вибори впливають один на одного. Тому під час практичного вибору інструмента потрібно оцінювати і якість графіка, і те, чи оновлені плани надходять достатньо швидко, щоб ними можна було скористатися. Підручниковий результат не визначає ні часу розрахунку, ні алгоритму комерційного продукту.

Як зрозуміти, що графік кращий?

Makespan вимірює проміжок від початку набору виробничих завдань до завершення останнього з них. У прикладі з цехом суміщення двох маршрутів завершує весь набір раніше. Якщо ж пріоритетом зробити термін для пластин, результат буде іншим.

Показники строків виконання відповідають на інше запитання: які замовлення завершуються із запізненням і наскільки? Середній показник може приховати важливе запізнене замовлення, тож планувальники дивляться й на конкретні зобов’язання, які бізнесу потрібно захистити.

Час проходження показує, скільки виробниче завдання перебуває в системі від запуску до завершення, враховуючи очікування. Незавершене виробництво показує, скільки запущеної роботи ще не завершено. Коротка черга біля одного верстата мало допомагає, якщо та сама робота тепер чекає біля наступного.

Завантаження допомагає пояснити навантаження верстатів, але як єдина мета воно неповне. Навмисно залишений проміжок може захистити термінове замовлення — так робить Iris у прикладі. Заповнення кожного проміжку менш важливою роботою може затримати наступну операцію, яка справді має значення.

Чесне порівняння використовує однаковий обсяг роботи, календарі, припущення щодо матеріалів і пріоритети. Інакше привабливіша дата завершення може з’явитися просто через припущення про більшу потужність або через пропущене обмеження.

Що змінюється після термінового замовлення або зупинки верстата?

Термінове замовлення конкурує з роботою, яку вже обіцяно виконати. Зупинка верстата забирає час в існуючої черги. Обидві зміни можуть вплинути на замовлення поза першим задіяним верстатом, адже затримані технологічні операції наповнюють пізніші черги.

Оновлений план починається з фактичного стану: що завершено, що виконується і що ще можна пересунути. Операція, яка вже виконується, не повинна зникати з плану лише тому, що новий розрахунок починається з порожньої часової шкали.

Далі планувальник перевіряє маршрути, на які вплинула зміна, аж до дат завершення. Перенесення операції на інший верстат допомагає лише тоді, коли цей верстат придатний і решта маршруту може за ним піти. Раніший початок першої операції не доводить, що поставка буде раніше.

Часті зміни можуть також переміщувати вузьке місце. Суміш замовлень із перевагою свердління може створити іншу чергу, ніж суміш із перевагою фрезерування. Найзавантаженіший верстат минулого тижня — корисна підказка, а не постійна відповідь.

Операторам потрібна оновлена черга, а відділу продажів — знати, коли зобов’язання змінилося. Перерахована часова шкала корисна лише тоді, коли вся команда працює з однією версією.

Коли електронної таблиці вже недостатньо?

Дошка чи електронна таблиця можуть підійти для невеликого стабільного цеху, де планувальник здатен переглянути кожен маршрут і конфлікт. Універсальної кількості виробничих завдань, після якої вони перестають працювати, не існує. Корисніша ознака — скільки залежної роботи доводиться перевіряти після кожної зміни.

Ручне планування стає вразливим, коли оновлення одного замовлення означає узгодження кількох черг верстатів, календарів операторів і обіцянок щодо поставок. Якщо різні відділи ведуть окремі копії, графік, який здається правильним, у цеху може вже бути застарілим.

Для оцінки інструмента потрібні репрезентативні маршрути та правдоподібні вхідні дані. Корисні запитання такі: чи відображає інструмент порядок технологічних операцій, придатні верстати, доступність і пріоритети та чи можуть планувальники й оператори зрозуміти отримані черги.

Приваблива діаграма Gantt показує час, але не доводить, що графік можна виконати. Перевірка полягає в тому, чи можуть виробничі завдання пройти свої маршрути без недоступних верстатів, відсутніх людей чи неготових матеріалів і чи залишаються зрозумілими наслідки для поставок після зміни.

Наступний крок до автоматичного планування

Програмне забезпечення SkyPlanner для календарного планування виробництва розраховує графіки на основі робочих центрів, змін, операторів, матеріалів і пріоритетів, які задає планувальник. Arcturus перераховує графік, а діаграма Gantt показує результат. Систему можна інтегрувати з будь-якою ERP- чи MES-системою через відкритий REST API. Пріоритети визначає планувальник, а розрахунок їх дотримується. Пробна версія з демоданими дає змогу ознайомитися з таким робочим процесом, а демонстрація з відділом продажів — це спосіб обговорити вимоги вашого власного виробництва.

Опублікований погляд на контрактну механічну обробку можна знайти в історії клієнта Eskomatic — вона доповнює цей посібник.

Поширені запитання

Чим відрізняється календарне планування від диспетчеризації?

Планування розподіляє технологічні операції за часом і верстатами на весь період планування. Диспетчеризація обирає або видає наступну готову операцію на робочому центрі. Рішення диспетчеризації мають узгоджуватися з ширшим графіком і пріоритетами поставок.

Що таке гнучке job shop-планування?

Воно додає до визначення часу операції ще й вибір верстата. Технологічну операцію можна виконати більш ніж на одному придатному верстаті, тож планувальник або метод планування має вирішити і де, і коли вона виконуватиметься.

Чи те саме job shop scheduling, що й планування виробництва на замовлення?

Ні. Job shop описує різні маршрути технологічних операцій через спільні верстати. Виробництво на замовлення описує виробництво, яке запускає замовлення клієнта. Вони можуть траплятися разом, але жодне з них не визначає інше.

Чи найкоротший графік завжди дотримується дат поставки?

Ні. Мінімізація makespan завершує весь набір виробничих завдань раніше, але окреме замовлення все одно може запізнитися. Дати поставки потребують окремої уваги під час вибору пріоритетів і порівняння графіків.

Чи може діаграма Gantt розв’язати задачу job shop?

Діаграма Gantt показує призначення і час, тому перекриття та очікування легше побачити. Проте для графіка все одно потрібен метод вибору призначень і дотримання обмежень. Сама візуальна діаграма не доводить, що графік здійсненний.

Jussi Mäntylä

Спеціаліст з планування виробництва, SkyPlanner

Створіть більш чіткий графік виробництва за допомогою SkyPlanner

З’єднайте свої дані, перегляньте перший план і тримайте планувальників під контролем кожного розкладу, який запускається.