-
스케쥴링의 β(베타)필드스케줄링 2021. 9. 3. 12:28
저번 글에서는 아래 그림에서 α필드가 무슨 뜻이고, 어떤 항목들이 들어가는지에 대해 알아봤습니다. 이번에는 β필드의 뜻과 어떤 항목들이 들어가는지 알아보겠습니다.
β필드의 의미는 총 process에서 갖는 특성과 제약조건입니다. 전체 과정에서 제약조건이 없다면 β필드는 비워둘수 있습니다. 반대로 제한사항 및 제약조건은 여러가지가 있을 수 있어 두개 이상이 β필드에 들어갈 수 있습니다. 제한조건으로는 예를 들어서 job의 해결 순서가 꼭 어떤 순서를 지켜야 한다던지, 한던 일을 마무리 하지 않고 다른 작업을 할 수 있다던지 등의 제약조건이 있습니다. 지금부터 β필드에 들어가는 특성과 제약조건들에 대해 알아보겠습니다.
β필드에 들어갈 수 있는 항목
(empty) : β필드는 전체공정에서 어떤 특성이나 제약조건이 없다면 비워두는 것이 가능하다. 비어있는 경우에 표기는 'α| |γ'로 가운데를 비워두면 된다.
Release date(rj): 작업은 바로 시작할 수 없는 경우도 있습니다. 원자재 준비가 아직 부족하거나 작업 준비가 아직 안됐을 수도 있습니다. release date의 의미는 작업을 시작할 수 있는 가장 빠른 시점을 뜻합니다. job j의 release date를 rj라고 합니다. 예를 들어 0시부터 machine에서 작업 처리를 시작하고, release date가 3인 job j가 있다면 rj = 3 이고, 3시간 이후부터 job j에 대한 처리를 시작할 수 있습니다. 만약 release date에 대한 조건이 없다면 시작과 동시에 모든 작업의 처리를 시작할 수 있다고 생각하면 됩니다.
Preemptions(prmp): Preemptions는 machine에서 처리가 시작된 job이 끝날때까지 유지할 필요 없다는 것을 의미합니다. 좀 더 구체적으로 말하면, 만약 어떤 작업(A)를 기계에서 진행 중인데, 그 작업 외에 긴급한 작업(B)가 있을 경우, A작업이 종료되기 전에 작업을 중지하고, 다른 작업을 수행하는 것을 허용하는지의 여부입니다. 만약 setup cost가 상당히 크다면 Preemption이 허용되지 않을 것입니다.
Precedence constraints(prec): 선행조건이 있는지를 나타냅니다. 예를 들어 라면을 끓일때 물이 끓으면 면과 스프를 넣는다고 하면, 물을 끓이는 것은 면과 스프를 넣는 것의 선행과정이 됩니다. 이처럼 공정에서도 선행공정이 필요한 경우가 있습니다. 선행관계가 없는 경우는 한 공정만으로 작업이 종료되거나, 순서에 상관없이 작업을 해도 되는 경우입니다. 이런 선행관계는 제조뿐 아니라 조립에도 적용됩니다.
breakdowns(brkdwn): 기계고장이 생길 수 있는 경우이다. 공정에서 작업을 진행하다 기계 고장이 생겨 멈출 수 job을 처리하는 과정이 멈출 수 있다.
blocking(block): blocking은 flowshop에서 발생할 수 있는 현상이다. blocking은 연속된 두 machine 사이에 버퍼(앞기계에서 처리되고 대기하는 공간)이 없는 경우에 발생하다. 현재 machine에서의 job의 처리는 끝났지만 다음 machine에서 다른 job의 처리가 진행중이여서 job이 다음 machine으로 넘어가지 못하고 현재 machine에 대기하기 때문에 후에 진입할 job을 막는 상태이다.
No waiting(nwt): flowshop에서 발생할 수 있고, 작업이 연속된 두 machine 사이에서 대기 할 수 없다.
recirculation(rerc): job이 machine 또는 job센터를 두번 이상 방문 할 수 있는 경우 재순환이 발생한다.
Batch Processing(batch(b)): machine이 여러작업(b개)을 동시에 처리 할 수 있다. 일괄 작업의 처리 시간은 동일하지 않을 수 있고, 일괄처리는 마지막 작업이 완료된 경우에만 완료된다. 이는 전체 완료시간이 가장 긴 작업에 의해 결정됨을 의미한다.
Machine eligibility restrictions(Mj): m대의 machine인 Pm의 경우 Mj가 β필드에 나타날 수 있다. 모든 m대의 기계가 작업 j를 처리 할 수 있는게 아니라, Set Mj가 작업 j를 처리할 수 있는 기계 Set를 나타낸다. β필드에 Mj가 없다면 작업 j는 m대의 machine중 아무 하나의 machine에서 처리된다.
여기까지 β필드에 들어가는 항목들을 살펴보았습니다. β필드에는 지금 포스팅에 소개해드린 것들보다 공정의 환경에 따라 보다 다양하고 지엽적인 특성이나 제약조건들을 가질수도 있습니다. 이번 글에서는 β필드의 대표적이고, 스케줄링 문제에서 자주 볼수 있는 것들을 다뤄보았습니다. 다음 글에서는 γ에 대해 알아보도록 하겠습니다.
'스케줄링' 카테고리의 다른 글
스케쥴링의 γ(감마)필드 (0) 2021.09.14 스케쥴링의 α(알파)필드 (0) 2021.08.03 NP-Hard / NP-Compelete 의 개념 (0) 2021.08.02 P / NP 의 개념 (0) 2021.07.29