Recent from talks
Nothing was collected or created yet.
Flow-shop scheduling
View on WikipediaFlow-shop scheduling is an optimization problem in computer science and operations research. It is a variant of optimal job scheduling. In a general job-scheduling problem, we are given n jobs J1, J2, ..., Jn of varying processing times, which need to be scheduled on m machines with varying processing power, while trying to minimize the makespan – the total length of the schedule (that is, when all the jobs have finished processing). In the specific variant known as flow-shop scheduling, each job contains exactly m operations. The i-th operation of the job must be executed on the i-th machine. No machine can perform more than one operation simultaneously. For each operation of each job, execution time is specified.
Flow-shop scheduling is a special case of job-shop scheduling where there is strict order of all operations to be performed on all jobs. Flow-shop scheduling may apply as well to production facilities as to computing designs. A special type of flow-shop scheduling problem is the permutation flow-shop scheduling problem in which the processing order of the jobs on the resources is the same for each subsequent step of processing.
In the standard three-field notation for optimal-job-scheduling problems, the flow-shop variant is denoted by F in the first field. For example, the problem denoted by " F3||" is a 3-machines flow-shop problem with unit processing times, where the goal is to minimize the maximum completion time.
Formal definition
[edit]There are m machines and n jobs. Each job contains exactly m operations. The i-th operation of the job must be executed on the i-th machine. No machine can perform more than one operation simultaneously. For each operation of each job, execution time is specified.
Operations within one job must be performed in the specified order. The first operation gets executed on the first machine, then (as the first operation is finished) the second operation on the second machine, and so on until the m-th operation. Jobs can be executed in any order, however. The problem is to determine the optimal such arrangement, i.e. the one with the shortest possible total job execution makespan.
Sequencing performance measurements (γ)
[edit]The sequencing problem can be stated as determining a sequence S such that one or several sequencing objectives are optimized.
- (Average) Flow time,
- Makespan, Cmax
- (Average) Tardiness,
- ....
detailed discussion of performance measurement can be found in Malakooti(2013).[1]
Complexity of flow-shop scheduling
[edit]As presented by Garey et al. (1976),[2] most of extensions of the flow-shop-scheduling problems are NP-hard and few of them can be solved optimally in O(nlogn); for example, F2|prmu|Cmax can be solved optimally by using Johnson's Rule.[3]
Taillard provides substantial benchmark problems for scheduling flow shops, open shops, and job shops.[4]
Solution methods
[edit]The proposed methods to solve flow-shop-scheduling problems can be classified as exact algorithm such as branch and bound and heuristic algorithm such as genetic algorithm.
Minimizing makespan, Cmax
[edit]F2|prmu|Cmax and F3|prmu|Cmax can be solved optimally by using Johnson's Rule[3] but for general case there is no algorithm that guarantee the optimality of the solution.
The flow shop contains n jobs simultaneously available at time zero and to be processed by two machines arranged in series with unlimited storage in between them. The processing time of all jobs are known with certainty. It is required to schedule n jobs on machines so as to minimize makespan. The Johnson's rule for scheduling jobs in two-machine flow shop is given below.
In an optimal schedule, job i precedes job j if min{p1i,p2j} < min{p1j,p2i}. Where as, p1i is the processing time of job i on machine 1 and p2i is the processing time of job i on machine 2. Similarly, p1j and p2j are processing times of job j on machine 1 and machine 2 respectively.
For Johnson's algorithm:
- Let p1j be the processing time of job j on machine 1
- and p2j the processing time of job j on machine 2
Johnson's algorithm:
- Form set1 containing all the jobs with p1j < p2j
- Form set2 containing all the jobs with p1j > p2j, the jobs with p1j = p2j may be put in either set.
- Form the sequence as follows:
- (i) The job in set1 go first in the sequence and they go in increasing order of p1j (SPT)
- (ii) The jobs in set2 follow in decreasing order of p2j (LPT). Ties are broken arbitrarily.
This type schedule is referred as SPT(1)–LPT(2) schedule.
A detailed discussion of the available solution methods are provided by Malakooti (2013).[1]
See also
[edit]References
[edit]- ^ a b Malakooti, B (2013). Operations and Production Systems with Multiple Objectives. John Wiley & Sons. ISBN 978-1-118-58537-5.
- ^ Garey, M. R.; Johnson, D. S.; Sethi, Ravi (1976). "The complexity of flowshop and jobshop scheduling". Mathematics of Operations Research. 1 (2): 117–129. doi:10.1287/moor.1.2.117.
- ^ a b Johnson, S. M. (1954). "Optimal two-and three-stage production schedules with setup times included". Naval Research Logistics Quarterly. 1 (1): 61–68. doi:10.1002/nav.3800010110.
- ^ Taillard, E. (January 1993). "Benchmarks for basic scheduling problems". European Journal of Operational Research. 64 (2): 278–285. doi:10.1016/0377-2217(93)90182-M.
Flow-shop scheduling
View on GrokipediaFundamentals
Definition
Flow-shop scheduling involves sequencing a set of jobs through machines arranged in a linear series, where each job must undergo exactly one operation on every machine in the identical fixed order, ensuring a unidirectional flow of work.[5] This setup models production environments like assembly lines, where jobs progress sequentially without routing flexibility.[6] The processing time required for job on machine is denoted , with the assumption of non-preemptive processing: once an operation begins on a machine, it runs to completion without interruption, and no job can be processed on more than one machine simultaneously.[5] Jobs are typically processed one at a time on each machine, and the sequence determined for one machine applies to all, often in a permutation form.[6] Scheduling problems are standardized using the three-field notation , proposed by Graham et al. (1979), where specifies the machine configuration (e.g., for an -machine flow shop), captures job-related constraints (empty for the basic case), and denotes the objective (e.g., for makespan minimization).[7] The objective is to find a job sequence that optimizes a performance measure , such as makespan, which represents the total completion time of all jobs.[5]Key Characteristics and Assumptions
In flow-shop scheduling, all jobs follow an identical linear route through a sequence of dedicated machines, where each job undergoes exactly one operation per machine without re-entrant flows or alternative paths.[8] This structure ensures a unidirectional progression, distinguishing it from more flexible shop configurations. Dedicated machines, one per stage, process jobs sequentially, with each machine handling only one job at a time to avoid conflicts.[8] Standard assumptions underpin the classical model, including reliable machines with no breakdowns, deterministic and known processing times that do not vary by sequence, and infinite buffer capacity between consecutive machines to prevent blocking unless explicitly modeled otherwise.[8][9] Jobs cannot be preempted once processing begins on a machine, ensuring continuous operation per task. Setup times, when incorporated, are treated as sequence-independent and added to processing durations.[8] Key characteristics include the potential for idle time on downstream machines due to imbalances in processing durations across stages, which can propagate delays in the linear flow.[8] In the common permutation variant, the same job order applies across all machines, enforcing no overtaking and simplifying the search space to sequences for jobs.[8] This model originated in 1954 through S.M. Johnson's seminal analysis of two-machine cases, establishing foundational principles for minimizing completion times under setup-inclusive conditions.[8]Scheduling Environments
Comparison with Job-Shop and Open-Shop Scheduling
Flow-shop scheduling, job-shop scheduling, and open-shop scheduling represent distinct production environments in operations research, each defined by the constraints on job routing through machines. In flow-shop scheduling, all jobs follow the same fixed sequence of machines, with each job typically processed on every machine exactly once.[10] This rigid structure simplifies routing decisions but emphasizes the importance of sequencing to minimize idle time. In contrast, job-shop scheduling allows each job to have its own unique sequence of operations across machines, providing greater flexibility for diverse job requirements but introducing significant routing complexity.[10] Open-shop scheduling offers the highest flexibility, where jobs consist of operations on each machine without any prescribed order, enabling arbitrary sequencing as long as no two operations of the same job or on the same machine overlap.[11] The key differences among these environments lie in their trade-offs between flexibility and computational demands. Flow-shops reduce decision space by eliminating routing choices, making sequencing the primary challenge and often rendering problems more tractable for small numbers of machines compared to the others.[12] Job-shops amplify complexity through job-specific routes, where even the makespan minimization problem (Jm||C_max) is NP-hard for as few as three machines. Open-shops, by removing all ordering constraints, further increase flexibility but maintain high complexity, with makespan minimization (Om||C_max) being NP-hard for three or more machines, though solvable in polynomial time for two machines.[11] These distinctions influence their suitability for different manufacturing scenarios, as summarized in the following comparison:| Shop Type | Route Flexibility | Typical Complexity | Example Applications |
|---|---|---|---|
| Flow-shop | Low (fixed linear sequence for all jobs) | NP-hard for m ≥ 3; polynomial for m = 2 | Assembly lines in automotive production |
| Job-shop | Medium (unique sequence per job) | NP-hard even for m = 3 | Custom manufacturing in machine shops |
| Open-shop | High (no fixed order; arbitrary sequence per job) | NP-hard for m ≥ 3; polynomial for m = 2 | Airplane maintenance scheduling or healthcare diagnostics |
Permutation vs. Non-Permutation Flow Shops
In flow-shop scheduling, the permutation flow shop (PFSP) requires that all jobs follow the same fixed sequence of machines and that the order of jobs is identical on every machine, thereby prohibiting any overtaking or passing between jobs.[16] This constraint simplifies the problem by assuming a single permutation governs the processing order across the entire shop, which aligns with environments where intermediate buffers are limited or absent, such as automated assembly lines.[17] In contrast, the non-permutation flow shop allows jobs to be processed in different orders on different machines, permitting overtaking and providing greater flexibility in routing decisions.[17] This variant explicitly models scenarios where jobs may bypass one another between stages, potentially leading to improved performance metrics like makespan, though at the cost of increased computational complexity.[18] For instance, non-permutation schedules can outperform permutation ones by more than a factor of 2 in certain instances when minimizing maximum completion time.[17] Permutation flow shops are more prevalent in practical applications, particularly in conveyor-based systems where the no-passing rule is enforced by the physical layout, making them a common focus in scheduling research.[17] The standard notation for permutation cases extends the three-field α|β|γ scheme as Fm|prmu|γ, where Fm denotes the flow-shop environment with m machines, prmu indicates the permutation constraint in the job characteristics field, and γ specifies the objective.Performance Measures
Makespan (C_max)
In flow-shop scheduling, the makespan, denoted as , is the primary performance measure representing the total time required to complete all jobs, defined as , where is the completion time of job on the last (m-th) machine. The completion times for job on machine in a permutation flow shop—where all jobs follow the same sequence on every machine—are computed recursively as for and , with boundary conditions for all and for all , where is the processing time of job on machine . This formula accounts for both job precedence on each machine and machine availability for each job, ensuring no overlaps occur.[19] Makespan minimization is central to flow-shop problems because it directly quantifies the overall production duration, enabling higher throughput and resource utilization in deterministic settings.[20] Seminal work by Johnson established optimal scheduling for the two-machine case to minimize , laying the foundation for broader m-machine analyses.[21] To illustrate, consider a two-machine flow shop () with three jobs () processed in the order 1-2-3, with the following processing times:| Job | Machine 1 | Machine 2 |
|---|---|---|
| 1 | 3 | 5 |
| 2 | 4 | 2 |
| 3 | 1 | 6 |
- For job 1: , .
- For job 2: , .
- For job 3: , .
