2
$\begingroup$

I am looking for the name of a scheduling problem in literature with some references. Here is the variant that I have in mind.

Given a set of jobs, employees have certain shifts that they can work on these jobs. Suppose employee $e$ starts processing job $j$ on machine $m$, but before completing the job, his shift finishes. The rule is that no other job can replace $j$ until its process is completed. That is why either the same employee or another employee should come and continue working on $j$ based on their shift requirements.

I was wondering how this problem is defined / called and if there are efficient formulation proposed for it in the literature. I am aware of the preemptive scheduling, but my problem definition is a little bit different than it.

$\endgroup$
2

3 Answers 3

1
$\begingroup$

The closest topic of what you described that I am aware of is the field of "Scheduling with machine availability constraints". In particular, the semiresumable case:

Under the semiresumable assumption, the disrupted operation will have to partially restart after the machine becomes available again

Here is a not so recent survey of these problems:

  • "A survey of scheduling with deterministic machine availability constraints" (Ma et al, 2010) DOI
$\endgroup$
-1
$\begingroup$

As you pointed out this is not a case that preemption would help. The preemptive constraint is often used where we are still allowed to split a job/task if another job/task with higher priority needs to be processed on the same machine/resource. In this case, the on-hand processed task would be stopped or moved to another machine/resource (splitting the processing task) to process the new one with higher priority.

Now, I assume there are no other constraints on the problem you mentioned. The scheduling model you are having is a variant of the Parallel machine scheduling problem with the resourced constraints. $ \text{P}_{m} || \sum w_{j}c_{j} \ Or \ C_{max}$. Also, As far as I know, the problem is classified as NP-Hard in the Ordinary Sense$^1$.

The $ \text{P}_{m} || C_{max}$ can already be solved efficiently by applying LPT (The Longest Processing Time first) rule. Also, one of its practical forms in presence of the machine eligibility constraint would be LFJ/LFM (the Least Flexible Job/Machine first). Besides the mentioned algorithms it would be worth taking a look at MILP, CP, etc. to solve such a problem in an optimal sense.

To assign employees to the machines in each shift, either rough cut capacity planning (RCCP) or the simulation method would be useful. Please, be aware that it is still usual that at the end of each shift, some WIPs/jobs would be remaining or being under process till another operator comes to complete that. Such times are often called the chang-over time and can be assumed as planned stop time.


$^1$ - Scheduling Algorithms

$\endgroup$
-4
$\begingroup$

It can be solved by mathematical optimization. I'd go by below:
Define variable $ x_{j,m}^t$ where $t$ represents the shift
If $D_j$ is the processing time for job $j$ & $ S_t$ is shift duration at $t$ then you need a constraint like
$ D_j \le Ux_{j,m}^{t+1} + \sum_{k\le t}x_{j,m}^kS_k$
and
$ \sum_{k\le t}x_{j,m}^kS_k - D_j \le U(1-x_{j,m}^{t+1})$
where binary variable $ x_{j,m}^t=1$ if job $j$ is assigned to machine $m$ at time $t$, else 0 and
$U$ is a large number, not too large just based on the scle of the model, could be upper bound of something like sum of all shift durations. Also
$ \sum_j x_{j,m}^t \le 1$: ensures one job per machine at a time

$\endgroup$
2
  • $\begingroup$ I'm not sure if I understand your proposation. Say the processing time is $5$ and I start working on the job at $t=4$. Suppose my shift is over at $t=6$ and another employee starts his shift at $t=7$ and work on it until $t=10$ and completes the job. How do your constraints or variables capture this behavior? $\endgroup$
    – whitepanda
    Commented Feb 1, 2023 at 18:41
  • $\begingroup$ Does it make sense now? If processing at at end of time instance, $t$ is still more than the shift durations for which it was assigned, then it will be assigned to next shift $\endgroup$ Commented Feb 1, 2023 at 18:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.