Presentation on theme: "1 9. S EQUENCING C ONSTRUCTION T ASKS Objective: To understand the problem of sequencing tasks in a manufacturing system, and the methods of finding optimal."— Presentation transcript:
1 9. S EQUENCING C ONSTRUCTION T ASKS Objective: To understand the problem of sequencing tasks in a manufacturing system, and the methods of finding optimal solutions to this problem. Summary: 9.1 Introduction 9.2 A Number of Jobs, Two Processes 9.3 Two Jobs, A Number of Processes 9.4 A Number of Jobs, A Number of Processes
2 9.1 I NTRODUCTION Sequencing and scheduling are different problems, both essential to the effective planning of a project: –Sequencing: arranging the order of tasks/events (where there is a choice) so that some measure of performance (time, cost, etc...) is optimized; –Scheduling: timing the occurrence of tasks/events (the order of tasks/events is largely determined by other factors and is not normally a choice);
3 Sequencing problems in their most general definition comprise the following components: Fig. 9-1: Components of a Sequencing Problem Process A Process B Process C Process D There are a number of jobs to be performed (for example, manufacture ‘n’ prefabricated RC beams and columns). Each job must go through several processes (for example, fabricate forms, fix steel, pour conc…) There are limited resources available to perform each process (for example, one carpenter, one steel fixer, etc..) There may be other constraints such as a predefined order in which the processes must be performed for a job, but not for the order of jobs at a process. The duration at each process may vary for each job. The objective may be to complete work as quickly as possible. Job 1 Job 6
4 9.2 A Number of Jobs, Two Processes Solving sequencing problems is not usually that easy. However, there are a number of special cases where there is a simple method of solution: –the first of these is the two-process job-shop problem, which comprises the following: two processes; any number of jobs; one crew at each process; the order in which a job must pass through the processes is predetermined; the order of jobs must be the same at each process, but is not pre- specified; the project must be completed as soon as possible. –This problem can be solved using Johnson’ Algorithm:
5 Consider the problem of manufacturing a number of prefabricated RC components (beams and columns): –the two processes are: set-up forms; and pour concrete into forms and let cure. –the components and the amount of time at each process are: Component Set-up (hrs) Conc+Cure (hrs) A15 9 B10 4 C 8 2 D1011 E10 8 F 4 4 G 9 3 - what order should process the jobs to minimize project duration? - draw the schedule for the above arbitrary sequence, determine total duration, and suggest improvements:
6 A B C D E F 0152425334353546269 G 66 159 104 8 11 108 44 93
7 –Step 1: select the shortest time which appears in either list (if two values are the same, the choice is arbitrary). Component Set-up (hrs) Con+Cure (hrs)Order A15 9 B10 4 C 8 2 D1011 E10 8 F 4 4 G 9 3 Johnson’s algorithm: –Step 2: if shortest time is first process, do the job first, otherwise do it last. –Step 3: repeat steps 1 and 2, until all jobs have ben sequenced. C G E B A D F
8 A 159 B 104 C 8 D 11 E 108 F 44 G 93 0414252938 47 4953685861 - draw the new schedule - the new schedule reduces the overall duration by one day; - more complicated projects may have even bigger savings.
9 9.3 Two Jobs, A Number of Processes This section describes another special case of sequencing problems: –the problem is characterized by: any number of processes; two jobs; one crew at each process; the order in which a job must pass through the processes is predetermined; the order of jobs does NOT have to be the same at each process; the project must be completed as soon as possible. –This problem can be solved using a graphical approach, but unlike Johnson’s algorithm, it does not guarantee finding the optimal solution:
10 Consider the following example problem: –two different houses are to be built; –there are different crews for each task (task A to task G) but only one crew for each type of task; –the following specifies the order in which the tasks must be completed for each house, and the corresponding durations: Order House 1 House 2 1A 2C 3 2C 3D 5 3D 1B 2 4B 4A 1 5F 2G 3 6E 1F 4 7G 3E 2 –determine the optimum sequence of the houses at each task, in terms of minimizing the project duration.
11 Fig. 9-2: An Example House Construction Project Each axis represents progress for one of the houses. Block out regions where there is a common demand for a crew. HOUSE 1 ACDBFEG HOUSE 2 C D B A G F E Draw a progress line, noting: –it cannot pass diagonally through the blocked out regions; –a vertical or horizontal line through a blocked region implies one of the tasks has been interrupted (not always good). –where the progress line is diagonal, progress is being made on both activities; –where the progress line is horizontal or vertical, only one job is being worked upon; –the progress line should be as short as possible (count 1 time unit for every box traversed); –draw the line with the objective of reducing project duration Idle time for House 1 Project Duration = 22 Try other routes to see if they are better.
12 9.4 A N UMBER OF J OBS, A N UMBER OF P ROCESSES There is no direct method of finding an optimal solution to this category of problems. –Computer software is available that will search for a near optimal solution. Common examples of such algorithms are: heuristic search methods; simulated annealing; genetic algorithms; neural networks.
13 Consider genetic algorithms (simulated evolution). –Emulates the theory of evolution through natural selection: 1 generate a number of solutions (sequences for construction); 2 test each solution to see which are the most optimal (apply the objective function); 3 cross breed the most optimal solutions (and introduce some random mutations) to generate another set of solutions; 4 with the new set of solutions, return to step 1 and repeat.
14 The algorithm should operate in a way that satisfies the following requirements –Cross breeding should be subtle enough to ensure that the offspring solutions are not a complete jumble of their parents: if they are a complete jumble, the approach is no better than testing different solutions totally at random; –Cross breeding employed on its own will cause solutions in successive generations to become increasingly similar (genetic convergence): this is unlikely, therefore, to find a solution that is nearly optimal; we get around this problem by introducing some random mutations in each offspring; the mutation should be small otherwise we might as well just search at random for optimal solutions.
15 –Care needs to be taken to make sure that offspring solutions are legal: for example, consider the following method of cross breeding sequences of jobs in a job shop problem; we have to sequences (solutions) to be cross bred: Sequence X’ = J4 J1 J8 J7 J3 J5 J2 J9 J6 Sequence X” = J2 J1 J8 J7 J3 J5 J9 J4 J6 The resultant offspring from the above would be: Sequence Y’ = J4 J1 J8 J7 J3 J5 J9 J4 J6 The resultant sequence, Y’, is illegal since it implies job J4 is fabricated twice, whilst job J2 is not fabricated at all.
16 –There are proposed methods of cross breeding that guarantee that the resultant solutions are legal, but: many of these also restrict the possible legal solutions that may be generated: this could limit the optimality of the solution that can be found. –A method that guarantees the production of legal solutions, and does NOT restrict the solutions that may be found: assign real numbers to the list of jobs J1 J2 J3 J4 J5 J6 J7 J8 J9 String X’ = 0.23 0.62 0.36 0.01 0.48 0.91 0.35 0.29 0.87 Strin X” = 0.23 0.02 0.36 0.88 0.63 0.91 0.35 0.28 0.87 The resultant offspring from the above would be: String Y’ = 0.23 0.62 0.36 0.01 0.63 0.91 0.35 0.28 0.87 Deciphered sequence = J4 J1 J8 J7 J3 J2 J5 J9 J6