Sunteți pe pagina 1din 11

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/269835290

Production Scheduling for Precast Plants using a Flow Shop Sequencing Model

Article  in  Journal of Computing in Civil Engineering · July 2002


DOI: 10.1061/(ASCE)0887-3801(2002)16:3(165)

CITATIONS READS
45 627

2 authors:

Weng Tat Chan Hao Hu


National University of Singapore Shanghai Jiao Tong University
74 PUBLICATIONS   1,829 CITATIONS    94 PUBLICATIONS   420 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Public-Private Partnership View project

inter-jurisdictional commuting View project

All content following this page was uploaded by Hao Hu on 26 May 2016.

The user has requested enhancement of the downloaded file.


Production Scheduling for Precast Plants using a Flow Shop
Sequencing Model
W. T. Chan1 and Hao Hu2

Abstract: There are two alternatives for production organization in precast factories—namely, the comprehensive method and the
Downloaded from ascelibrary.org by Shanghai Jiaotong University on 05/26/16. Copyright ASCE. For personal use only; all rights reserved.

specialized method. Production scheduling under the specialized alternative has been found to be a difficult optimization problem if
heterogeneous elements are involved. A flow shop sequencing model that incorporates actual constraints encountered in practice is
proposed for this difficult case of precast production scheduling. The model is solved using a genetic algorithm 共GA兲. The traditional
minimize makespan and the more practical minimize tardiness penalty objective functions are optimized separately, as well as simulta-
neously using a normalized weighted GA. Comparisons between the GA and classical heuristic rules show that the GA can obtain good
schedules for the model, giving a family of solutions that are at least as good as those produced by the use of heuristic rules.
DOI: 10.1061/共ASCE兲0887-3801共2002兲16:3共165兲
CE Database keywords: Manufacturing facilities; Productivity; Scheduling; Algorithms; Management methods; Concrete, precast.

Introduction lem. Haidar et al. 共1999兲 developed a hybrid decision support


system employing genetic algorithms for the optimization of ex-
Precast technology and prefabrication have been pursued to in- cavation and haulage operations, as well as the utilization of
crease construction productivity, as well as the buildability and equipment in opencast mining. Hegazy 共1999兲 used GAs to im-
quality of buildings. In the application of prefabrication in the prove the performance of commercial off-the-shelf project man-
construction industry, it is necessary to look into material selec- agement software on resource allocation and leveling tasks. These
tion, element design, transportation, and site assembly methods, examples point to the growing popularity of the GA among re-
as well as pay close attention to factory layout, inventory control, searchers in solving scheduling and resource allocation problems.
and production scheduling. In this paper, however, we focus only Planning and scheduling are also important in precast produc-
on production scheduling, noting that it impacts both site con- tion management, and much effort has been devoted to improving
struction and plant operations. the methods and techniques used in precast planning and sched-
Scheduling involves the allocation of resources over a period uling. Ziverts and Bajars 共1976兲, in an early paper in this area,
of time to perform a collection of jobs subject to known con- highlighted problems faced by the precast concrete industry then
straints. Scheduling is known to be nonpolynomial 共NP兲- in relation to production planning and scheduling. They devel-
complete, and has proven to be a difficult task for human planners oped a computer program to estimate labor, scheduling order, and
and schedulers, particularly if optimal solutions are required. The flow control of raw materials for long production runs of pre-
genetic algorithm 共GA兲 proposed by Holland 共1975兲 is a general stressed concrete products. Warszawski 共1982兲 identified the main
and robust search method that has been successfully applied in features of a proposed information system for planning, cost, and
many types of problems, including process scheduling and re- quality control in precast production. Ishii and Muramatsu 共1982兲
source allocation 共Kopfer 1996; Gen and Cheng 1997兲 in many recognized the different constraints placed by the demand for
disciplines. The following are recent examples of the application standard and special components. They proposed models based
of GAs in construction management. Chan et al. 共1996兲 proposed on periodic scheduling for standard components whose demand
a GA approach for construction scheduling and resource alloca- could be forecasted, as well as other on-demand models for spe-
tion. Chua et al. 共1997兲, Li and Love 共1997兲, and Feng et al. cial components. Warszawski 共1984兲 made a distinction between
共1997兲 presented various approaches to employing GAs for time- short 共specific orders兲 and long 共continuous demand for standard
cost trade-off optimization problems in construction projects. Li elements兲 production series on single or multiple molds, and pro-
and Love 共1998兲 employed a GA to solve a facility layout prob- posed scheduling models for both short and long production se-
ries. Dawood and Neale 共1993兲 developed a computer-based
1 capacity-planning model for precast concrete building products in
Associate Professor, Dept. of Civil Engineering, National Univ. of
Singapore, Singapore 119260. E-mail: cvecwt@nus.edu.sg order to help production managers make better planning decisions
2
Graduate Assistant, Dept. of Civil Engineering, National Univ. of and explore options. The model used backward planning and
Singapore, Singapore 119260. E-mail: huhaohome@yahoo.com parametric simulation techniques to automate the process of plan-
Note. Discussion open until December 1, 2002. Separate discussions ning and compare the effects of different managerial decisions.
must be submitted for individual papers. To extend the closing date by
However, none of these take into account the many constraints
one month, a written request must be filed with the ASCE Managing
Editor. The manuscript for this paper was submitted for review and pos-
encountered in the industry. Most planning models use cost or
sible publication on October 20, 2000; approved on November 16, 2001. time minimization as the main objective. However, precasters are
This paper is part of the Journal of Computing in Civil Engineering, more concerned with issues like when, which, and how many
Vol. 16, No. 3, July 1, 2002. ©ASCE, ISSN 0887-3801/2002/3- elements should be produced to meet their delivery dates. These
165–174/$8.00⫹$.50 per page. issues are typically left to the supervisory personnel on the pro-

JOURNAL OF COMPUTING IN CIVIL ENGINEERING / JULY 2002 / 165

J. Comput. Civ. Eng., 2002, 16(3): 165-174


duction floor. The result may be unnecessary idle waiting time,
factory production below the optimal plant capacity, overinven-
tory, and/or missed delivery dates.
Civil engineers and project managers are very familiar with
network-based scheduling techniques such as the critical path
method 共CPM兲 and the program evaluation and review technique.
On the other hand, production process scheduling models—for
example, single machine sequencing, multimachine sequencing,
flow shop, and job shop models—have been widely applied to
manufacturing systems and logistics, but are relatively unknown
in the construction industry. Yet, precast production is carried out Fig. 1. Production system: traveling molds 关adapted from Warszaw-
under factory-like conditions. Formal production scheduling mod- ski 共1990兲兴
Downloaded from ascelibrary.org by Shanghai Jiaotong University on 05/26/16. Copyright ASCE. For personal use only; all rights reserved.

els of the kind used in manufacturing are not widely available in


the precast industry. Choo et al. 共1999兲 pointed out that the tradi-
tional scheduling tools based on the CPM are inadequate in terms and 共8兲 placing the completed components in the stockyard to
of use and expressiveness when it comes to supporting production achieve the delivery strength. Precast items can then be trans-
planning and control in the field. They adopted a job shop ap- ported to the construction site.
proach in the creation of a constraint-based database called Work-
Plan for work package scheduling, and compared this job shop
approach with the project centric approach in existing CPM soft- Two Methods of Crew Organization
ware. Chan and Hu 共1998兲 investigated the appropriateness of Besides production line organization, the other dimension is that
three kinds of models—namely, a single machine sequencing of production crew organization, and according to Warszawski
model, a parallel machine sequencing model, and a flow shop 共1990兲, there are two alternatives. Under the first alternative, the
scheduling model—to optimize the precast production process. In same crew performs all operations outlined above. After casting
a subsequent paper 共Chan and Hu 1999兲, they refined the ideas and completing the processing of one component, the crew moves
proposed and developed a model based on flow shop sequencing. to the next mold and starts to work on the second component,
However, only generic scheduling situations were considered and repeating the same sequence of actions. Under the second alter-
only simple production constraints were included. As a result, the native, the total process is broken into several activities per-
model could not be readily used in actual production scheduling. formed by different crews with specialized tools and work meth-
One of the shortcomings identified was the separate treatment of ods.
the twin objectives of minimizing schedule length 共makespan兲 Although the first alternative 共which may be called the com-
and the total tardiness penalty incurred for missed deliveries. In prehensive method兲 is easy to employ, it is usually less efficient
this paper, we report on the work that has been done to further than the other alternative in terms of labor, tools, and workspace
refine and extend the flow shop sequencing model 共FSSM兲 to utilization. It also creates problems in coordinating access to com-
remedy the deficiencies. The improved model is solved using a mon resources by the different work teams. For example, under a
GA-based approach to give a family of high-quality schedules casting cycle of one day, all teams will want to use the crane for
that can be used in production planning, and the GA approach is demolding hardened elements in the morning when they start
compared against various heuristic procedures in common use. their shifts. For the same reason, when all crews progress at ap-
proximately the same rate, the coordination of concrete supply
Modeling Precast Production Scheduling may pose another problem. The comprehensive method of work
crew organization has been found to be more suitable for the
stationary mold system. It is popular in small- to middle-sized
Precast Production
precasters because of the flexibility in deploying work crews.
Two basic types of component production systems may be em- The second method of production organization 共which may be
ployed in a prefabrication plant—namely, the stationary system called the specialized method兲 requires division of the total work
and the traveling system 共Warszawski 1990兲. With the stationary into several tasks, such as demolding, mold preparation, casting,
system, all production activities are performed in one place and and so on, with each task performed by a different crew. This
horizontal or battery molds are usually used. In the traveling sys- method is very efficient in terms of crew and equipment usage,
tem shown in Fig. 1, molds are moved on a rolling line or a since there is little idle waiting time when all of the crews work at
conveyor from one workstation to another, with different activi- a balanced rate. The system is particularly efficient with a mov-
ties being performed at each workstation. Almost always, a mov- able mold system—that is, molds moving between workstations
able mold line is connected to a curing chamber where the con- with tasks performed at each one of them—eliminating the need
crete mix undergoes an accelerated but controlled curing process. for crews to walk between and set up at different stations. Al-
The typical production process in a precast factory consists of though this method is well suited to a movable production line, it
the following sequence: 共1兲 mixing of concrete and moving of can also be employed in a production line using static molds,
concrete from a mixing center to molds; 共2兲 setting of molds— where crews move from one mold to another. This system will
cleaning and oiling of mold surfaces, and fastening of side work smoothly if all components are identical, so that a balanced
frames; 共3兲 placing of reinforcements, fixtures, electrical conduits, rhythm of production can be maintained. However, when hetero-
inserts, etc. to be contained in the components; 共4兲 casting— geneous elements are involved with different production times,
pouring, compacting, and leveling of concrete; 共5兲 curing— there is a loss of efficiency due to the difficulty of balancing the
through an artificial 共usually heating兲 or natural air curing pro- work at all of the workstations 共crews兲. Some components have to
cess; 共6兲 demolding—stripping the side frame and taking out the wait for the next operation, and some workstations 共crews兲 have
components; 共7兲 finishing, patching, and repairing components; to wait idly for the arrival of new components.

166 / JOURNAL OF COMPUTING IN CIVIL ENGINEERING / JULY 2002

J. Comput. Civ. Eng., 2002, 16(3): 165-174


Downloaded from ascelibrary.org by Shanghai Jiaotong University on 05/26/16. Copyright ASCE. For personal use only; all rights reserved.

Fig. 2. Specialized method of work crew organization: 共a兲 component view; 共b兲 workstation view

Under the specialized method of work crew organization, Furthermore, rather than the criterion of makespan minimization
scheduling is simple when identical components are involved; used in the model, industry is more concerned with meeting due
however, it is rather difficult to determine an efficient schedule if dates. The industry’s lack of interest because of these shortcom-
the components are heterogeneous, with a different production ings may have caused researchers to direct their efforts elsewhere.
time for each component type. Some components have to wait for Chan and Hu 共1999兲 described a flow shop sequencing model that
the next operation, and some workstations 共crews兲 have to wait was largely based on the FSP, and attempted to address some of
idly for the arrival of new components, a situation depicted in these issues in precast scheduling work. The FSSM can be sum-
Figs. 2共a and b兲. The darkest blocks in Fig. 2共a兲 represent the marized as follows. There are n jobs 共precast components兲 to be
component waiting time, while those in Fig. 2共b兲 represent the processed in the same task sequence by m(⫽6) machines 共work-
workstation idle time. Figs. 2共a and b兲 are Gantt charts for the stations or crews—that is, mold setting, reinforcement setting,
same production schedule, but Fig. 2共a兲 is plotted from the view- casting, curing, demolding, and finishing/repairing兲. A distinction
point of components 共jobs兲, while Fig. 2共b兲 is plotted from the is made between normal working time, off-normal working time,
viewpoint of workstations 共machines兲. and overtime. All operations can be preempted, with the excep-
Heterogeneous element production is the prevailing situation tion of casting and curing. Every job is processed on one machine
in the industry, where it is very common to produce many differ- at a time, and every machine processes one job at a time, except
ent types of elements to satisfy several contract orders at the same for curing, which is a parallel process and can handle more than
time. We focus on this problem, and propose a scheduling model one job simultaneously. Resequencing of jobs is possible after the
and the corresponding algorithms for this difficult but very prac- curing operation if it is advantageous to do so. The objective is to
tical situation encountered in the industry. find a schedule 共i.e., the job processing sequence兲 that gives the
minimum makespan, meets delivery dates, or satisfies other quan-
Flow Shop Sequencing Model for Specialized Precast tifiable criteria. Precedence constraints between jobs have re-
Production cently been added to the FSSM, and makespan and the total tar-
diness penalities are minimized simultaneously using a
Based on our investigation and observation of precast plants, pre-
normalized weighted GA 共NWGA兲. These are explained in more
cast production under the specialized method possesses many of
detail later.
the characteristics of the traditional flow shop scheduling problem
The FSSM is based on the FSP, but special considerations
共FSP兲. The FSP is generally described as follows. There are m
have been added to reflect practical situations in precast plants.
machines and n jobs; each job consists of m operations, and each
operation requires a different machine. The n jobs have to be • A distinction is made between normal working time, off-
processed in the same sequence on all of the machines. The ob- normal working time, and overtime in the FSSM. In contrast,
jective is to find the sequence of jobs minimizing the maximum time in the traditional FSP is continuous, with no distinction
flow time, which is technically called the makespan of the pro- between working and nonworking hours.
duction schedule. • All operations in the standard FSP are nonpreemptive. In the
Dudek et al. 共1992兲 pointed out that there were few descrip- FSSM, casting and curing are nonpreemptive, which means
tions of the applications of algorithms minimizing the schedule that a task, once started, cannot be interrupted until it is com-
makespan for the FSP in the literature, and that the modeling pleted; other operations are preemptive and they can be inter-
assumptions made in the standard flow shop scheduling model are rupted and resumed later on the same machine.
overly restrictive and idealistic. Practical constraints on due dates, • All operations in the FSP proceed sequentially and every ma-
resources, and working hours are not considered in the model. chine processes only one job at a time. Processing of a job on

JOURNAL OF COMPUTING IN CIVIL ENGINEERING / JULY 2002 / 167

J. Comput. Civ. Eng., 2002, 16(3): 165-174


Downloaded from ascelibrary.org by Shanghai Jiaotong University on 05/26/16. Copyright ASCE. For personal use only; all rights reserved.

Fig. 3. Calculation of completion time of preemptive and nonpreemptive operations

the current machine only begins if the machine is free and if where t⫽max兵C(ji⫺1 ,k),C(ji ,k⫺1)其⫹t jik ; d⫽int(t/24); i
processing of the job by the previous machine has been com- ⫽2,3,...,n; and k⫽2,...,m; and


pleted. However, curing in the FSSM is modeled as a parallel
process and different components can be cured simultaneously. t if t⭐24•d⫹T D
Therefore, a component can be cured immediately after cast-
C 共 j i ,k 兲 ⫽ or if t⬎24•d⫹T D and OT⬎0
ing 共assuming that there is enough curing space in the cham-
24共 d⫹1 兲 ⫹t j 1 k if t⬎24•d⫹T D and OT⫽0
ber兲.
• In the FSP, the processing order of the jobs remains unchanged (2)
from the start to the end. However, in the FSSM, rescheduling where t⫽max兵(C(ji⫺1) ,k), C( j i ,k⫺1) 其 ⫹t j i k ; d⫽int(t/24); i
is possible after the curing operation if it is advantageous to
⫽2,3,...,n; and k⫽2,¯ ,m.
switch the processing order of components for the remaining
The makespan, which is the completion time of the last job on
operations.
the last machine, is calculated as
• Precedence constraints may exist among precast components
in the FSSM.
The processing time of job i on machine k is given by t ik (i makespan⫽C max⫽C 共 j n ,m 兲 (3)
⫽1,...,n;k⫽1,...,m). Let C( j i ,k) denote the completion time of
job j i on machine k, let 兵 j 1 , j 2 ,..., j n 其 denote a job permutation,
and let T D and T N denote the daily normal working time and In the traditional flow shop scheduling model, a new operation
off-normal working time, respectively; T N ⫽24⫺T D . Let OT rep- ( j i ,k) of job j i on machine k cannot be started until j i flows from
resent overtime and let d represent number of days. If the pro- machine k⫺1 and job j i⫺1 has been finished on machine k. How-
cessing of operations ends within the normal working time for the ever, different components can be cured simultaneously. The start
current day 关cases 共1兲 and 共3兲, respectively, in Fig. 3兴, the comple- of a component’s curing is only dependent on the finish of its
tion time of preemptive and nonpreemptive operations can be casting 共i.e., the processing of job j i on machine k⫺1兲. A com-
computed as per the standard FSP. However, if overtime is not ponent can be cured as soon as it is cast, and it need not wait for
used, preemptive operations are stopped at the end of the normal the completion of curing of another component 共curing space in
working time for the current day and are completed during nor- the chamber permitting兲. However, if the finish time of the curing
mal working time the next day 关case 共2兲 in Fig. 3兴. For nonpre- activity falls during the off-normal period, i.e., between (24d
emptive operations, if they cannot be completed within the nor- ⫹T D ) and 24(d⫹1), the next operation, demolding, cannot be
mal working time during the current day, they can be completed processed until the next work day, i.e., the 24(d⫹1)th hour.
using overtime 关case 共4兲 in Fig. 3兴 or they can be rescheduled for Let d i denote the due date, and c i the completion time for job
the next work day 关case 共5兲 in Fig. 3兴. Eqs. 共1兲 and 共2兲 define the j i . Associated with each job is a unit earliness penalty ␣ i ⬎0 and
completion times for the preemptive and nonpreemptive cases, a unit tardiness penalty ␤ i ⬎0. Tardiness T i is defined as T i
respectively ⫽max兵0,c i ⫺d i 其 , while earliness E i is defined as E i ⫽max兵0,d i


⫺c i 其 . A job i can be given a time window a i within which no
t if t⭐24•d⫹T D
C 共 j i ,k 兲 ⫽ (1) penalties are incurred if its completion time is within the interval
t⫹T N if t⬎24•d⫹T D (d i ⫺a i ,d i ⫹a i ). Let ⌸ be the set of all possible job sequences,

168 / JOURNAL OF COMPUTING IN CIVIL ENGINEERING / JULY 2002

J. Comput. Civ. Eng., 2002, 16(3): 165-174


and let ␴ be an arbitrary sequence. Assuming that the penalty
functions are linear, a generic expression for the earliness/
tardiness (E/T) penalty can be formulated as Eq. 共4兲
n

min f 共 ␴ 兲 ⫽
␴苸⌸
兺 关 ␣ i共 E i ⫺a i 兲 U 共 E i ⫺a i 兲 ⫹␤ i共 T i ⫺a i 兲 U 共 T i ⫺a i 兲兴
i⫽1
(4)
where U(x⫺c)⫽unit step function defined as

U 共 x⫺a i 兲 ⫽ 再 0
1
if x⭐a i
if x⬎a i Fig. 4. Genetic algorithm model for scheduling of precast production

The E/T penalties are reduced to a tardiness penalty if only tar-


Downloaded from ascelibrary.org by Shanghai Jiaotong University on 05/26/16. Copyright ASCE. For personal use only; all rights reserved.

diness is considered.
After several generations, the algorithm converges to the best
chromosome, which hopefully represents the optimum or near-
Heuristic Rules and Genetic Algorithms for Flow Shop
optimal solution to the problem.
Scheduling Problems
The flow shop scheduling problem has proven to be NP-complete
Genetic Algorithm Model for Precast Production
in general, and most researchers have focused on approximate
Scheduling
algorithms employing heuristics to provide good and quick solu-
tions. Gen and Cheng 共1997兲 and Chen et al. 共1995兲 surveyed the Chan et al. 共1996兲 proposed a generic GA model suitable for
existing heuristics for the m-machine n-job flow shop problem scheduling and resource allocation problems. We use the same
with makespan as the criterion. Palmer’s, Gupta’s, Campbell, basic GA model for the scheduling of precast production 共Fig. 4兲.
Dudek and Smith 共CDS兲, and rapid access 共RA兲 heuristics are In the following sections, we describe some of the details and
implemented and compared against GAs in this paper. However, specific adaptations of the GA for the FSSM model.
these heuristics are developed for minimizing the schedule
makespan, and few algorithms have been published for optimiz-
Implementation of Genetic Algorithm for Precast
ing the E/T criterion. In industry, the commonly used heuristic
Production
for the tardiness problem is the earliest due date 共EDD兲 rule,
which sequences the jobs in ascending order of their due dates.
Representation
Genetic algorithms have been successfully applied to solve the
Two different kinds of representations can be adopted for the
traditional FSP. Reeves 共1995兲 proposed one such implementa-
production scheduling problem. One is based on permutation or-
tion, and concluded that simulated annealing algorithms and GAs
dering, and the other is based on random keys. In permutation
produce comparable results for most sizes and types of problems,
ordering, the production order is represented directly by the order
but GAs will perform relatively better for large problems and will
of appearance of the job identification numbers in the chromo-
reach a near-optimal solution more quickly. Chen et al. 共1995兲
some string. It is evident that under crossover and mutation, off-
proposed a GA based heuristic for the FSSP with makespan as the
spring may contain more than one occurrence of a job number or
criterion. Murata et al. 共1996兲 applied a multiobjective GA to the
leave out a job number entirely. Such a chromosome is an illegal
FSSP.
schedule. We have used a random key representation instead in
the adapted FSSM because of the ease with which it eliminates
the problem of illegal offspring and itss ability to handle prece-
Genetic Algorithm Approach
dence constraints. The random key representation was proposed
Genetic algorithms are stochastic search techniques based on the by Bean 共1994兲, and encodes a solution with random numbers
mechanism of natural selection and natural genetics. GAs, differ- from 0.0 to 1.0. These random values are applied as sort keys to
ing from conventional search techniques, start with an initial set represent the ordering priority used to build a schedule. For ex-
of random solutions called a population. In GAs, each individual ample, the jobs can be arranged in ascending order of the evolved
solution is represented by a single stringlike entity called a chro- random key values, with jobs having smaller values being con-
mosome. When applied to scheduling, each individual in the sidered for scheduling first. When used for scheduling problems,
population corresponds to one possible solution of the scheduling there are as many genes 共random keys兲 in the chromosome as
problem. A chromosome is the internal representation of the so- there are jobs to be scheduled 共Chan and Hu 1999兲. Random keys
lution, and consists of a linear string of genes that can be trans- neatly solve the problem of illegal offspring that may be gener-
formed directly or decoded indirectly to produce an actual sched- ated during genetic operations on chromosomes at the expense of
ule. The chromosomes evolve through successive iterations, an enlarged search space. However, an extra gene 共also a random
called generations. During each generation, the chromosomes are number between 0.0 and 1.0兲 is added at the end of the random
evaluated, using some measure of fitness. To create the next gen- key sequence to weight the makespan criterion when both the
eration, either merging of chromosomes from members of the makespan and the E/T are considered simultaneously. Therefore,
current generation using a crossover operator or modifying a a chromosome based on random keys may look like Fig. 5, with
chromosome using a mutation operator forms new chromosomes, (n⫹1) genes, where n is the number of jobs. We will show the
called offspring. A new generation is formed by 共1兲 selecting, performance of the algorithm with different weight settings.
according to the fitness values, some of the parents and offspring; In practical precast scheduling, it is sometimes required to
and 共2兲 rejecting others so as to keep the population size constant. assign precedence constraints among the jobs in the production
Fitter chromosomes have higher probabilities of being selected. sequence. This can be easily done in the random key representa-

JOURNAL OF COMPUTING IN CIVIL ENGINEERING / JULY 2002 / 169

J. Comput. Civ. Eng., 2002, 16(3): 165-174


so as to get a legal schedule. The (n⫹1)th gene value represents
the weight of the makespan criterion, while the weight of the E/T
criterion is set equal to 共1-weight of makespan criterion兲. This
Fig. 5. Chromosomal representation allows our gene representation to dynamically change the weights
in the two-criteria objective to maintain various search directions
共Murata et al. 1996兲, instead of using fixed weights. For example,
tion. If element i must be prefabricated before element j, we if we have a 12-element chromosome that represents a schedule
check and enforce the requirement that gene关 i 兴 ⬍gene关 j 兴 . of 11 jobs (n⫽11) with the gene values of 关0.11, 0.03, 0.70, 0.66,
0.45, 0.38, 0.97, 0.72, 0.22, 0.84, 0.59, 0.25兴, when sorted, the
Crossover first 11 values become 0.03→0.11→0.22→0.38→0.45→0.59
Crossover is the principal mechanism by which the GA arranges →0.66→0.70→0.72→0.84→0.97.
for a good schema present on different chromosomes to aggregate Comparing the new list with the initial permutation, we get the
Downloaded from ascelibrary.org by Shanghai Jiaotong University on 05/26/16. Copyright ASCE. For personal use only; all rights reserved.

on a single individual. The traditional crossover can be used with- order in which to consider the jobs when building the schedule,
out modification on the random key representation. We used a 2→1→9→6→5→11→4→3→8→10→7. The weight of the
single-point crossover that involves the exchange of a part of each makespan criterion is 0.25, while that of the E/T criterion is 1.0
chromosome in a pair across a randomly chosen point 关Fig. 6共a兲兴. ⫺0.25⫽0.75. The schedule can then be evaluated to determine its
Although crossover is principally thought of as a mechanism that fitness.
improves the quality of solutions, it is also possible that crossover
will disrupt a good schema already present, especially those of GA Parameters
higher order if it is overused. There are several parameters that can determine the performance
of the GA, but their optimal values cannot be ascertained by
Mutation applying fixed rules. Main GA parameters include the population
Mutation operates on a single chromosome and produces a new
size, the number of iterations performed, and the probability of
genotype by making a random change to values of one or more of
crossover and mutation. In this paper, the values of these param-
the genes in a chromosome string. Mutation is performed at the
eters were determined from a study of the literature, as well as
gene level, but not every gene needs to be 共or should be兲 mutated.
through limited experimentation to find a suitable population size
The frequency of mutation is often kept very low to avoid disrup-
共Chan and Hu 1999兲. The values used for the GA parameters were
tion of good solutions; the principal use of mutation is to reintro-
duce genetic diversity to avoid getting trapped in local optima. A as follows: population size, 100; number of iterations, 400; cross-
constant mutation scheme 关Fig. 6共b兲兴 is used in our implementa- over probability, 0.85; and mutation probability, 0.05.
tion of the GA for the FSSM. In constant mutation, a suitable
constant value is added 共subtracted兲 to 共from兲 the existing allele ObjectiveÕEvaluation Functions
value. Makespan is calculated using Eqs. 共1兲–共3兲, while the penalty for
However, after crossover and mutation, we need to check that earliness/tardiness is calculated using Eq. 共4兲. For the makespan-
all precedence constraints have been satisfied using the inequality tardiness optimization, Murata et al. 共1996兲 suggested a weighted
constraint described previously. The gene values may have to be sum approach to combine the two objective functions into a scalar
adjusted to satisfy the precedence requirement. fitness function f (x), as follows:

Decoding maxf 共 x 兲 ⫽⫺W makespan•makespan共 x 兲 ⫺W tardiness•tardiness共 x 兲


Decoding the random key representation to build a schedule is (5)
simple. The first n gene values are used as priorities 共usually
where makespan(x)⫽makespan when the n jobs are processed in
interpreted in ascending order兲 and are used to sort the activities
the order of x; tardiness(x)⫽total tardiness; W makespan⫽random
real number over the closed interval 关0, 1兴; and W tardiness⫽1
⫺W makespan .
However, the makespan and the tardiness penalty may not be
of the same magnitude in some problems. As a result, it is pos-
sible that the contribution of the makespan evaluation will be
dominated by a large evaluation from the tardiness penalty or vice
versa. This defect was also commented on by Ishibuchi and Mu-
rata 共1998兲. In a test problem with twin criteria of minimizing
both the makespan and the maximal tardiness, they indicated that
the variance of the makespan is much smaller than that of the
maximal tardiness. So they normalized the two scheduling criteria
using constant multipliers in order to handle the two criteria
equally

f 1 共 x 兲 ⫽5⫻ 共 makespan兲 ; f 2 共 x 兲 ⫽2⫻ 共 maximal tardiness兲 (6)

However, the constants are likely to be problem dependent,


and it is not easy to determine their proper values in Eq. 共6兲. We
propose the use of two linear normalization equations instead to
Fig. 6. Diagram of: 共a兲 one-point crossover; 共b兲 constant mutation
remedy this

170 / JOURNAL OF COMPUTING IN CIVIL ENGINEERING / JULY 2002

J. Comput. Civ. Eng., 2002, 16(3): 165-174


Table 1. Production Times and Unit E/T Penalties for Six-Component Example
Components Production times 共h兲 E/T penalties
Due
Molds Rebars Casting Demolding Finishing dates ␣ i 共earliness兲 ␤ i 共tardiness兲
Number Name 共two men兲 共three men兲 共four men兲 共two men兲 共two men兲 共h兲 共units/h兲 共units/h兲
1 Balcony 共6 m 2 兲 1.0 0.8 1.2 1.5 0.5 28 2 10
2 Utility room 共12 m 2 兲 1.7 2.0 2.0 1.5 2.5 28 2 10
3 Footing 共2.5 t兲 0.4 0.5 0.6 0.5 0.0 28 1 10
4 Stump 共1.5 t兲 0.3 0.4 0.5 0.4 1.0 28 1 10
5 Lobby 共12.0 t兲 1.5 1.8 1.2 1.5 1.5 52 2 10
6 Shaft 共13.1 t兲 1.5 1.6 1.5 1.8 0.8 32 2 10
Downloaded from ascelibrary.org by Shanghai Jiaotong University on 05/26/16. Copyright ASCE. For personal use only; all rights reserved.

再 0
f m ⫽ 共 m w ⫺m 兲 / 共 m w ⫺m b 兲
1
if m w ⬍m
if m b ⬍m⭐m w
if m⭐m b
(7)
for mold preparation, reinforcement, casting, demolding, and
finishing/repairing 共curing is an operation that does not require
any crew兲. With stationary molds, the specialized crews move


from one mold to another. The production times used in the ex-
0 if t w ⬍t amples are the average values observed in practice. Natural cur-
ing was used, and its duration is 12 h. In our examples, the maxi-
f t⫽ 共 m w ⫺m 兲 / 共 m w ⫺m b 兲 if t b ⬍t⭐t w (8) mum overtime for casting per work day is 4 h. Overtime is used
1 if t⭐t b to complete an element if it is due the next day and doing so can
accomplish all of the processes within the overtime period al-
where m and t denote makespan and total tardiness penalties,
respectively; m b and t b ⫽minimum makespan and minimum total lowed; otherwise, the process is completed in normal working
tardiness penalties obtained by using a single objective GA time over consecutive days.
search; and m w and t w ⫽maximum makespan and tardiness pen- Our first example considers a simple precast situation compris-
alties from the single objective GA. Therefore, the objective func- ing six heterogeneous components. Production times, due dates,
tion of our NWGA can be represented as and E/T penalties of these components are listed in Table 1. The
second example expands the problem considerably by taking a
min f ⫽w m • f m ⫹w t • f t (9) 10-element type and 44-component situation with one specialized
where w m and w t ⫽weights for f m and f t , respectively; w m is crew for each of the five tasks. Table 2 compares the schedules
obtained directly by evolution of the chromosome string as de- obtained by our GA scheduling model against those obtained by
scribed earlier; and w t is calculated from the relation w m ⫹w t different heuristic procedures.
⫽1. In our examples, we assumed that there were no predecessor
and successor schedules. Fig. 7 illustrates a schedule produced by
GA for example 1. It is evident from Fig. 7 that there is some idle
Results and Discussion time when all of the task crews 共except the first兲 have to wait for
the arrival of the first component. Workstations are also idle when
there are no more scheduled components and new jobs do not
Numerical Examples
come in. This idle lead time at the beginning of a schedule may
Our examples employ stationary molds and the specialized pro- not be present in actual practice, since components are scheduled
duction method of crew organization. There are only five crews— in batches over finite-planning periods, with the scheduling of

Table 2. Results for 44-Component Example


Make Tardiness E/T Over CPU
Algorithm span penalty penalty time time
used 共h兲 共units兲 共units兲 共h兲 共s兲
Palmer’s heuristic 175.1 3,776.0 5.177.0 7.1 ⬇0.000
Gupta’s heuristic 174.4 4,781.5 6.154.9 7.2 ⬇0.000
CDS heuristic 174.4 5.980.0 7,472.5 7.2 ⬇0.000
RA heuristic 192.3 7,368.5 8,319.4 10.0 ⬇0.000
EDD rule 193.5 155.0 654.2 9.1 ⬇0.000
GAsa 170.8 4,940.5 6,242.4 10.9 3.933
GAsa 170.8 3,980.0 5,322.6 9.2 4.000
GAsb 174.7 0.0 856.7 8.5 3.967
GAsb 192.5 0.0 372.4 7.3 3.883
GAsc 171.6 0.0 1,046.35 8.7 4.183
GAsc 171.5 0.0 919.4 9.2 4.167
a
These use single objective optimization 共makespan or tardiness penalty兲.
b
These use single objective optimization 共makespan or tardiness penalty兲.
c
These use a weighted objective function 关Eq. 共9兲兴.

JOURNAL OF COMPUTING IN CIVIL ENGINEERING / JULY 2002 / 171

J. Comput. Civ. Eng., 2002, 16(3): 165-174


Fig. 7. Gantt chart of schedule for six-component example
Downloaded from ascelibrary.org by Shanghai Jiaotong University on 05/26/16. Copyright ASCE. For personal use only; all rights reserved.

each batch being independent of each other. Each resulting sched- alty. Nevertheless, we cannot conclude which heuristic is the best
ule is tacked on to the end of the previous schedule to form a because it is well known that heuristics do not work well outside
rolling schedule. The gray blocks in Fig. 7 show idle time in the of the problems for which they are designed, and their perfor-
production schedule, which leads to lower plant productivity— mance is sensitive to the input data.
compared to what it should be when production is on an ongoing- For example 2, Table 2 compares the schedules obtained by
rolling schedule. our GA scheduling model with those obtained by different heu-
ristic algorithms. The schedules with the minimum makespan of
Comparison of Different Algorithms 170.8 h and the minimum tardiness penalty of 0.0 units were both
obtained using GAs. Similarly, for example 1, the schedules with
We implemented some of the heuristics described in Gen and
the minimum makespan of 48.5 h and the minimum tardiness
Cheng 共1997兲 and Chen et al. 共1995兲, and tried them on several
penalty of 0.0 units were both acquired by GAs. Unlike heuristic
example problems, including the two discussed in this paper. The
rules, GAs were able to come up with more than one optimal
preliminary results show that Palmer’s, Gupta’s, CDS, and RA
solution. This illustrates another important advantage of the GAs,
heuristics were good at shortening the makespan, while the EDD
rule was good at reducing the tardiness penalty and/or E/T pen-

Table 3. Comparison of Schedule Attributes under Different T D Settings


Algorithms
Criteria Case Palmer Gupta CDS RA EDD GA
Makespan T D ⫽8 175.1 174.4 174.4 192.3 193.5 171.5
OT c ⫽4 175.1 174.4 174.4 192.3 193.5 171.5
T D ⫽10 175.1 172.0 172.0 175.6 174.2 170.8
OT⫽0 175.1 172.0 172.0 175.6 174.2 170.8
T D ⫽24 76.1 73.9 73.9 75.0 78.5 72.4
OT⫽0 76.1 73.9 73.9 75.0 78.5 72.4

Tardiness penalty T D ⫽8 3,776.6 4,781.5 5,980.0 7,368.5 155.0 0.0


OT c ⫽4 3,776.6 4,781.5 5,980.0 7,368.5 155.0 0.0
T D ⫽10 3,400.5 4,370.5 5,623.0 6,715.5 10.0 0.0
OT⫽0 3,400.5 4,370.5 5,623.0 6,715.5 10.0 0.0
T D ⫽24 28.0 343.0 585.0 776.0 0.0 0.0
OT⫽0 28.0 343.0 585.0 776.0 0.0 0.0

E/T penalty T D ⫽8 5,177.0 6,154.9 7,472.5 8,319.4 654.2 919.4


OT c ⫽4 5,177.0 6,154.9 7,472.5 8,319.4 654.2 919.4
T D ⫽10 4,952.9 6,897.9 7,274.9 7,658.8 557.4 1,278.2
OT⫽0 4,952.9 6,897.9 7,274.9 7,658.8 557.4 1,278.2
T D ⫽24 2,811.1 3,103.3 3,377.5 3,288.4 2,539.9 2,721.2
OT⫽0 2,811.1 3,103.3 3,377.5 3,288.4 2,539.9 2,721.2

Overtime work T D ⫽8 7.1 7.2 7.2 10.0 9.1 9.2


OT c ⫽4 7.1 7.2 7.2 10.0 9.1 9.2
T D ⫽10 0.0 0.0 0.0 0.0 0.0 0.0
OT⫽0 0.0 0.0 0.0 0.0 0.0 0.0
T D ⫽24 0.0 0.0 0.0 0.0 0.0 0.0
OT⫽0 0.0 0.0 0.0 0.0 0.0 0.0
Note: T D means daily normal working time; OT c means overtime work for casting only; OT means overtime work for all workstations in the factories.

172 / JOURNAL OF COMPUTING IN CIVIL ENGINEERING / JULY 2002

J. Comput. Civ. Eng., 2002, 16(3): 165-174


objective by working overtime in the casting activity may be
offset by delays in other activities.

Makespan-Tardiness Optimization
Murata et al. 共1996兲 demonstrated that a weighted multiobjective
GA could find better Pareto optimal solutions than the vector
evaluated GA described by Schaffer 共1985兲 when they applied it
to the FSSP with two objectives—to minimize the makespan and
to minimize the total tardiness. However, we could not locate the
complete Pareto front for our example when we applied a similar
approach to the 10-element type 44-component example. In fact,
we could only get a few nondominated solutions in every GA run.
Downloaded from ascelibrary.org by Shanghai Jiaotong University on 05/26/16. Copyright ASCE. For personal use only; all rights reserved.

We tried an alternative method using an NWGA based on the


Fig. 8. Solutions obtained by NWGA for 44-component example objective functions described in Eqs. 共7兲–共9兲. Fig. 8 shows 30
solutions obtained by the NWGA. Points A and B represent two
extremes for the best solutions obtained for the makespan and
which can produce a family of high quality 共near optimal兲 solu- tardiness criteria. It can be seen from Fig. 8 that the makespan
tions in a short time. difference is small between the possible nondominated solutions.
From Table 2, it can be seen that the schedule with the mini- In an extreme situation, the makespan of solution B is only 1.5 h
mum makespan of 170.8 h has a rather high tardiness penalty of 共171.5–170.0兲 shorter than that of solution A. This small im-
4,940.5 units. Likewise, a schedule with the minimum tardiness provement is not very significant in real-world prefabrication. In
penalty of 0.0 units has a makespan of 192.5 h. Both of these fact, many precasters may prefer a solution with a short makespan
schedules were produced by GAs using a single objective func- and a small or no tardiness penalty if they have to make a trade-
tion. This suggests that a good schedule developed under one off. Therefore, we have to generate as many compromise solu-
criterion may have a poor evaluation under another criterion; e.g., tions as possible near the Pareto front. The proposed NWGA is
a good schedule with a shorter makespan might incur a large quite effective at generating such solutions.
tardiness penalty and vice versa. However, the normalized Two methods were used to generate weights used in Eq. 共9兲—
weighted GA produced schedules with short makespans without one is to produce weights randomly; the other is to obtain weights
incurring any tardiness penalty 共171.5 h/0.0 units and 171.6 h/0.0 from a gene value 共Fig. 5兲. Besides a weighted sum objective
units兲. This is noteworthy, since scheduling in real life requires function, two other definitions of the objective function were
schedules that achieve a balance between two sometimes compet- tested—the sum and the product of f m and f t . The average best
ing objectives, and finding good schedules that do well on mul- results of 20 consecutive GA runs are summarized in Table 4. The
tiple criteria is a difficult problem. product of f m and f t was used to evaluate the solution quality. The
We ran another experiment where we changed the proportion closer the product is to 1, the better the solution is.
between normal and overtime hours. We found that, contrary to From Table 4, we can see that the combined objective func-
expectation, schedules that employed more overtime work did not tions with f m and f t allow us to obtain better compromise solu-
always have a smaller makespan and/or tardiness penalty. In the tions than those obtained from a single objective function. The
examples described above, overtime work is only considered for results from the weighted objective function are only slightly
the casting activity to guarantee that the casting of an element worse than those from the product objective function. Among the
completes once it is started, a practice commonly adopted in the two weighted GAs, the approach where the weight is provided by
precast industry. The use of overtime can be expected to shorten a gene value seems better than the other one where the weight is
the overall makespan, albeit at a higher cost. As an experiment, a randomly generated number.
we considered a change of the daily normal working time from 8
to 10 h 共with the maximum permitted overtime work reduced
from 4 to 0 h兲. We also considered the case of 24-h continuous Conclusions
production operation. The results are shown in Table 3, which
indicates that the use of overtime does not lead to shorter sched- A modified FSSM for specialized precast production was pro-
ules. One possible reason for this is that a gain for the makespan posed and solutions in the form of schedules were obtained using

Table 4. Results Obtained with Different Evaluation Functions


Evaluation Makespan Tardiness
function 共h兲 共units兲 fm ft f m• f t
Single f m 170.78 7310.60 0.9847 0.6946 0.6839
Single f t 176.71 0.00 0.8683 1.0000 0.8683
f m⫹ f t 171.85 60.78 0.9637 0.9957 0.9595
f m• f t 171.64 2.85 0.9679 0.9998 0.9677
w m • f m ⫹w t • f t a 171.17 425.10 0.9770 0.9699 0.9474
w m • f m ⫹w t • f t b 171.32 153.73 0.9742 0.9891 0.9635
a
w m is a randomly generated real number with the range 关0,1兴.
b
w m is a gene value in the range 关0,1兴.

JOURNAL OF COMPUTING IN CIVIL ENGINEERING / JULY 2002 / 173

J. Comput. Civ. Eng., 2002, 16(3): 165-174


heuristic rules as well as a GA approach. Our preliminary experi- Dawood, N. N., and Neale, R. H. 共1993兲. ‘‘A capacity planning model for
ments show that the GA is a useful and effective method for precast concrete building products.’’ Build. Environ., 28共1兲, 81–95.
solving the FSSM. In the problems on which the GA was tried, Dudek, R. A., Panwalkar, S. S., and Smith, M. L. 共1992兲. ‘‘The lessons of
the advantages of the GA over heuristics are that the GA produced flow-shop scheduling research.’’ Oper. Res., 40共1兲, 7–13.
equal or better results efficiently, and was able to give a family of Feng, C. W., Liu, L., and Burns, S. A. 共1997兲. ‘‘Using genetic algorithms
to solve construction time-cost trade-off problems.’’ J. Comput. Civ.
optimal and/or near optimal results in a short time. The GA also
Eng., 11共3兲, 184 –189.
produced good results under various combinations of normal and
Gen, M., and Cheng, R. W. 共1997兲. Genetic algorithms and engineering
overtime working hours. A normalized weighted approach was design, Wiley, New York.
proposed to find nondominated solutions for the makespan- Haidar, A., Naoum, S., Howes, R., and Tah, J. 共1999兲. ‘‘Genetic algo-
tardiness optimization. The results show that the NWGA can re- rithms application and testing for equipment selection.’’ J. Constr.
turn many high quality compromise solutions for decision makers Eng. Manage., 125共1兲, 32–38.
to choose from. However, additional experiments on other prob- Hegazy, T. 共1999兲. ‘‘Optimization of resource allocation and leveling
Downloaded from ascelibrary.org by Shanghai Jiaotong University on 05/26/16. Copyright ASCE. For personal use only; all rights reserved.

lems with different input data sizes should be conducted in order using genetic algorithms.’’ J. Constr. Eng. Manage., 125共3兲, 167–175.
to arrive at a more definite conclusion on the efficacy of the GA in Holland, J. 共1975兲. Adaptation in natural and artificial systems, Univ. of
solving the FSSM for precast production scheduling. Michigan Press, Ann Arbor, Mich.
Ishibuchi, H., and Murata, T. 共1998兲. ‘‘A multi-objective genetic local
search algorithm and its application to flowshop scheduling.’’ IEEE
Acknowledgments Transactions on Systems, Man, and Cybernetics—Part C: Applica-
tions and Reviews, Piscataway, N.J., 28共3兲, 392– 403.
The writers are grateful to the staff and officers of the Precast Ishii, K., and Muramatsu, R. 共1982兲. ‘‘Study on designing buffer capacity
Technology Center of the Housing & Development Board, Sin- in the production system for the components of the prefabricated
houses by precast concrete panel.’’ Bull. Sci. Eng. Res. Lab., 102,
gapore, for their support of the research that resulted in the find-
47– 61.
ings reported in this paper.
Kopfer, H. 共1996兲. Evolutionary search and the job shop: Investigations
on genetic algorithms for production scheduling, Physica, Heidelberg,
Germany.
References
Li, H., and Love, P. 共1997兲. ‘‘Using improved genetic algorithms to fa-
cilitate time-cost optimization.’’ J. Constr. Eng. Manage., 123共3兲,
Bean, J. 共1994兲. ‘‘Genetic algorithms and random keys for sequencing
233–237.
and optimization.’’ ORSA J. Comput., 6共2兲, 154 –160.
Chan, W. T., Chua, D. K. H., and Kannan, G. 共1996兲. ‘‘Construction Li, H., and Love, P. 共1998兲. ‘‘Site-level facilities layout using genetic
resource scheduling with genetic algorithms.’’ J. Constr. Eng. Man- algorithms.’’ J. Comput. Civ. Eng., 12共4兲, 227–231.
age., 122共2兲, 125–132. Murata, T., Ishibuchi, H., and Tanaka, H. 共1996兲. ‘‘Multi-objective ge-
Chan, W. T., and Hu, H. 共1998兲. ‘‘Process scheduling using genetic algo- netic algorithm and its applications to flow shop scheduling.’’ Com-
rithms for construction industry.’’ Proc., 3rd Int. Conf. on Manage- put. Ind. Eng., 30共4兲, 957–967.
ment, Springer, Shanghai, China, Paper No. R507 共CDROM兲. Reeves, C. R. 共1995兲. ‘‘A genetic algorithm for flowshop sequencing.’’
Chan, W. T., and Hu, H. 共1999兲. ‘‘Production scheduling using genetic Comput. Op. Res., 22共1兲, 5–13.
algorithms in precast factories.’’ Proc., 5th Int. Conf. on Application Schaffer, D. 共1985兲. ‘‘Multiple objective optimization with vector evalu-
of Artificial Intelligence to Civil and Structural Engineering, Vol. C, ated genetic algorithms.’’ Proc., 1st Int. Conf. on Genetic Algorithms,
Comp Press, Oxford, U.K., 25–33. Carnegie–Mellon Univ., Pittsburgh, 93–100.
Chen, C. L., Vempati, V. S., and Aljaber, N. 共1995兲. ‘‘An application of Warszawski, A. 共1982兲. ‘‘Managerial planning and control in precast in-
genetic algorithms for flow shop problems.’’ Eur. J. Oper. Res., 80, dustry.’’ J. Constr. Div., Am. Soc. Civ. Eng., 108共2兲, 299–313.
389–396. Warszawski, A. 共1984兲. ‘‘Production planning in prefabrication plant.’’
Choo, H. J., Tommelein, I. D., Ballard, G., and Zabelle, R. 共1999兲. Build. Environ., 19共2兲, 139–147.
‘‘WorkPlan: Constraint-based database for work package scheduling.’’ Warszawski, A. 共1990兲. Industrialization and robotics in building: A
J. Constr. Eng. Manage., 125共3兲, 151–160. managerial approach, Harper & Row, New York.
Chua, D. K. H., Chan, W. T., and Govindan, K. 共1997兲. ‘‘A time-cost Ziverts, G., and Bajars, E. 共1976兲. ‘‘Production planning and scheduling
trade-off model with resource consideration using genetic algorithm.’’ for long line prestress products.’’ J. Prestressed Concr. Inst., 21共6兲,
Civ. Eng. Sys., 14, 291–311. 46 –75.

174 / JOURNAL OF COMPUTING IN CIVIL ENGINEERING / JULY 2002

View publication stats J. Comput. Civ. Eng., 2002, 16(3): 165-174

S-ar putea să vă placă și