Job Sequencing in operation research

job sequencing : introduction

In this section, we delve into the challenge of arranging the order in which several tasks must be executed across various machines to optimize efficiency and maximize productivity. When confronted with a scenario involving n tasks distributed among m machines, the objective is to identify the most optimal sequence of tasks. This sequence aims to minimize the overall elapsed time, encompassing the duration from the initiation of the initial task to the conclusion of the final task.

Imagine a scenario where either 2 or 3 tasks need to be executed across 2 or 3 machines. In such cases, job sequencing can be efficiently handled through enumeration. However, as the number of tasks and/or machines escalates, the complexity of the problem increases significantly, rendering the enumeration method impractical and unsuitable for resolution.

Consider a scenario where there are n machines and m jobs to be scheduled. In such a case, there are potentially (n!) m sequences to explore. For instance, when n equals 5 and m equals 5, the number of potential sequences amounts to (5!)5, resulting in a staggering 25,000,000,000 possible permutations. Clearly, exhaustively examining all these sequences to determine the optimal one is time-consuming and impractical. Therefore, it becomes imperative to seek alternative methods that offer a more efficient approach to identifying the optimal sequence.


basic terminology

Here are the basic terminologies related to job scheduling and sequencing:

1.Task: A specific unit of work that needs to be accomplished within a defined timeframe.

2.Device: A tangible or virtual entity with the capability to perform tasks or operations.

3.Task Sequencing: The process of organizing the order in which tasks or jobs are executed.

4.Device Sequencing: Determining the order in which tasks are processed across different devices.

5.Optimal Order: The most effective arrangement of tasks or jobs that minimizes overall time or maximizes productivity.

6.Time Elapsed: The duration between the initiation of the first task and the completion of the last.

7.Timetable: A structured plan detailing the start and finish times for each task on each device.

8.Scheduling Method: A systematic approach used to establish the sequence or timetable of tasks on devices, often with the goal of optimizing specific objectives like minimizing total completion time or maximizing resource efficiency.

9.Total Completion Time: The cumulative duration needed to finish all tasks within a given timetable.

10*Sequential Constraint: A condition stipulating the order in which certain tasks must be executed relative to others.

11*Priority Level: A measure of the relative importance or urgency assigned to a task, influencing its order of execution.

12*Downtime: The period during which a device remains inactive or unused due to scheduling gaps or inefficiencies. These terms serve as a framework for understanding and discussing challenges related to job scheduling and sequencing.


principal assumptions

Here are the principal assumptions related to job scheduling and sequencing:

1.Resource Limitation: It is presumed that there exists a finite number of machines, tools, or resources available for the execution of tasks.

2.Task Independence: Tasks are considered to operate independently of each other, implying that the completion of one task does not hinge on the status or progression of another task.

3.Fixed Task Duration: Within many scheduling models, it is posited that each task demands a fixed duration for completion once it is initiated.

4.Deterministic Context: The scheduling environment is envisioned as deterministic, signifying that parameters such as task processing times and resource availability are known with certainty and remain stable.

5.Precedence Constraints: Certain tasks may exhibit dependencies or precedence constraints, dictating that specific tasks must be accomplished before others can commence.

6.Single Optimization Objective: Many scheduling algorithms concentrate on optimizing a singular objective, such as minimizing the overall completion time or maximizing resource utilization.

7.Continuous Operation Assumption: Scheduling models commonly assume uninterrupted operation of machines or resources, though real-world scenarios may involve intervals for breaks or maintenance.

8.Homogeneous Resource Pool: The machines or resources designated for task execution are typically presumed to be homogeneous, possessing similar capabilities and performance attributes.

9.Static Environment: The scheduling problem is often depicted as static, suggesting that parameters such as task arrival times, durations, and resource availability remain constant over time.

10*Deterministic Task Durations: Task durations are typically assumed to be deterministic, indicating that the time required for each task's completion is definitively known and does not fluctuate. These principal assumptions form the cornerstone of the conceptual framework for the development and analysis of job scheduling and sequencing methodologies.


types of job sequencing

Different job sequencing problems emerge across various fields, and it's acknowledged that not all of them can be resolved definitively. In this context, we'll examine four distinct types of job sequencing problems:

  1. n jobs are to be processed on 2 machines, say, machine A and machine B in the order AB. This means that each job is to be processed first on machine A and then on machine B
  2. n jobs are to be processed on 3 machines A, B and C in the order ABC, i.e., first on machine A, second on machine B and third on machine C.
  3. n jobs are to be processed on m machines in the given order
  4. 2 jobs are to be processed on m machines in the given order.


Processing of n Jobs through 2 Machines

Consider a scenario where a set of n jobs needs to be executed on two machines, designated as A and B. Each job must undergo a specific sequence of operations in a fixed order; any deviation from this sequence is prohibited. Once a job completes its processing on machine A, it is subsequently routed to machine B. Should machine B be occupied at that time, the job is queued for processing. Jobs in the queue are handled based on the FIFO (first in, first out) principle.

Let's denote:
- Ai as the processing time required for the ith job on machine A.
- Bi as the processing time required for the ith job on machine B.
- T as the total elapsed time.

The objective is to determine the most efficient sequence for processing the n jobs on machines A and B to minimize the total elapsed time (T). Below, we introduce a methodology developed by Johnson and Bellman aimed at identifying an optimal sequence.

Step 1 Select the minimum processing time out of all Ai ’s and Bi ’s. If it is Ar then do the rth job first. If it is Bss then do the sth job at last.

Step 2 If there is a tie in selecting the minimum of all the processing times, then such a situation is dealt with the following three ways:
(i) If the minimum of all the processing times is Ar , which is also equal to Bs , that is, min(Ai ,Bi ) = Ar = Bs , then do the rth job first and sth job at last.
(ii) If min(Ai ,Bi ) = Ar , but Ar = Ak , i.e., there is a tie for minimum among Ai ’s, then select any one.
(iii) If min(Ai ,Bi ) = Bs , but Bs = Bt , i.e., there is a tie for minimum among Bi ’s, then select any one.

Step 3 Now, eliminate the job which has already been assigned from further consideration, and repeat steps 1 and 2 until an optimal sequence is found.

note : Johnson's algorithm focuses on minimizing the downtime of machines. It has been demonstrated that the most efficient sequence for n jobs, to be executed sequentially on both machine A and machine B in the order AB, inherently requires identical job ordering on each machine. Optimal total elapsed time is achieved when the job sequence remains consistent across both machines.


Example : Suppose that there are five jobs, each of which has to be processed on two machines A and B in the order AB.
Processing times are given in the following table:

Job machine a machine b
1 6 3
2 2 7
3 10 8
4 4 9
5 11 5

Determine a sequence in which these jobs should be processed so as to minimize the total processing time.

Solution:The minimum time in the given table is 2, which corresponds to job 2 on machine A. So the allocation of jobs will start as

2
Now, we eliminate job 2 from further consideration. The reduced set of processing times is as follows:

Job machine a machine b
1 6 3
3 10 8
4 4 9
5 11 5

Now,the minimum time is 3 for job 1 on machine B. Therefore, this job would be done at last. The allocation of jobs till this stage would be

2 1
. After deletion of job 1, the reduced set of processing times is as follows:

Job machine a machine b
3 10 8
4 4 9
5 11 5

Similarly, by repeating the above steps, the optimal sequence is obtained as

2 4 3 5 1
On the basis of this optimal sequence, the minimum elapsed time is obtained from the following table as 36 hours.

job machin a machin b
time in time out time in time out
2 0 2 2 9
4 2 6 9 18
3 6 16 18 26
5 16 27 27 32
1 27 33 33 36

Further, idle time for machine A = total elapsed time − time when the last job is out of machine A = 36−33 = 3 hours. Idle time for machine B = time at which the first job in a sequence finishes on machine A + (time when the ith job starts on machine B) − (time when the (i -1)th job finishes on machine B). Therefore, idle time for machine B = 2 + (9 − 9) + (18 − 18) + (27 − 26) + (33 − 32) = 4 hours



Comments