Available online at www.sciencedirect.com
Advances in Engineering Software 39 (2008) 219–232 www.elsevier.com/locate/advengsoft
Modified immune algorithm for job selection and operation allocation problem in flexible manufacturing systems Anoop Prakash a, Nitesh Khilwani b, M.K. Tiwari b
c,* ,
Yuval Cohen
d
a Department of Manufacturing Engineering, National Institute of Foundry and Forge Technology, Hatia, Ranchi, India Department of Metallurgy and Materials Engineering, National Institute of Foundry and Forge Technology, Hatia, Ranchi, India c Intelligent Decision Support Lab (IDSL), National Institute of Foundry and Forge Technology, Hatia, Ranchi, India d Department of Management and Economics, The Open University of Israel, Israel
Received 7 April 2006; received in revised form 28 January 2007; accepted 30 January 2007 Available online 27 March 2007
Abstract The advent of automated manufacturing systems and the variability in demand pattern have forced the manufacturers to increase the flexibility and efficiency of their automated systems to stay competitive in the dynamic market. Loading decisions play an important role in determining the efficiency of manufacturing systems. Machine loading problems in flexible manufacturing systems (FMSs) are known to be NP-hard problems. Although some NP-hard problems could still be optimized for very small instances, machine loading complexity is so extensive that even small problems take excessive computational time to reach the optimal solution. To ease the tedious computations, and to get a good solution for large problems, this paper develops a special Immune Algorithm (IA) named ‘Modified immune algorithm (MIA)’. IA is a suitable method due to its self learning capability and memory acquisition. This paper improves some issues inherent in existing IAs and proposes a more effective immune algorithm with reduced memory requirements and reduced computational complexity. In order to verify the efficacy and robustness of the proposed algorithm, the paper presents comparisons to existing immune algorithms with benchmark functions and standard data sets related to the machine loading problem. In addition proposed algorithm has been tested at different noise level to examine the efficiency of algorithm on different platforms. The comparisons show consistently that the proposed algorithm outperforms the existing techniques. For all machine loading dataset proposed algorithm has shown good results as compared to the best results reported in the literature. 2007 Published by Elsevier Ltd. Keywords: Machine loading problem; NP-hard; Artificial immune system; Gaussian mutation; Cauchy mutation; Noise level
1. Introduction Time effective production has become a key issue in manufacturing environments for striving in the hard global competitive markets. Loading decisions play an important role in time effective production by processing the job in a feasible sequencing schedule with the proper utilization of resources. Effective loading decisions are particularly important in the large, complex manufacturing systems *
Corresponding author. Tel.: +91 651 291116; fax: +91 651 2290860. E-mail addresses: anoop.niff
[email protected] (A. Prakash), nitesh. niff
[email protected] (N. Khilwani),
[email protected] (M.K. Tiwari),
[email protected] (Y. Cohen). 0965-9978/$ - see front matter 2007 Published by Elsevier Ltd. doi:10.1016/j.advengsoft.2007.01.024
encountered in high technology industries dealing with processing of customized products and many others, where, simple manual techniques are unlikely to yield good results [1]. According to Stecke [2], machine loading problem is one of six post-release decisions of a flexible manufacturing system that is known for its computational complexity and high variability. Due to inherent generality of FMS, it becomes necessary to define the configuration of an FMS. A typical FMS unit includes 5–25 Numerical Control (NC) machines, a central storage system and an automated material handling system. A computer system is used to control the above components of FMS. In general, two types of operational decisions (pre-release decision and post-release decision) are associated with
220
A. Prakash et al. / Advances in Engineering Software 39 (2008) 219–232
operations of FMS. Pre-arrangement of jobs and tools comes under the category of pre-release decision of FMS whereas routing and sequencing of jobs comes under post-release decision of FMS. Various post-release decisions of FMS include: (i) (ii) (iii) (iv) (v) (vi)
Job selection. Machine grouping. Determination of production ratio. Batching of the jobs. Allocation of pallets and fixtures. Allocation of operations and tools among machines (loading problem).
Hwang et al. [3] investigated the production planning problem and found that two sub-problems namely job selection and machine loading are critically important. Decisions pertaining to loading problem receive their inputs from the preceding decision levels (such as grouping of resources, selection of part-mix, and aggregate planning). These strategic antecedents generate inputs to the succeeding decisions related to scheduling resources, and dynamic operations planning and control. Hence, it is clear that loading decision acts as important link between strategic and operational level decisions in the manufacturing environment [4]. This paper aims to solve the well known FMS machine loading problem, by both maximizing throughput (equivalent to the sum of the batch size of the selected jobs) and maximizing the load balance (equivalent to minimization of system unbalance, i.e. the sum of remaining time of all machines after allocation all the operations of the jobs). These two objectives are the measurement that commonly adopted to reflect the system efficiency and utilization. Machine loading problem is mainly concerned with assignment of jobs and tools on machines. This entitles operation of selected jobs from a given set of jobs along with required tool slots while satisfying the technological constraints namely available machining time and tool slots. The combination of job sequencing and operation allocation on machine makes the machine loading problem a NP-hard problem [5] The complexity of the Machine loading problem is so immense that even for 8–10 jobs there can be more than 108 possible operation-machine allocation combinations (detailed in Section 2.2). The huge solution space slows the search convergence, and undermines the possibility to get close to the optimal solution. In recent years success has been achieved by nature inspired intelligent random search techniques to tackle the complex combinatorial problems (e.g., example, Genetic Algorithms (GA), Ant Colony Optimization (ACO) and Immune Algorithms (IA)). This article encouraged by the applications of a novel evolutionary technique, i.e. Artificial Immune System (AIS) have been considered in this article. Due to AIS self organizing and learning capability, this technique has been widely used in real world applications such as data manip-
ulation, pattern recognition, machine learning, evolutionary computation, etc. [6]. Castro and Zuben [6] also found that the existing immune algorithms are not very interactive and need much more computational time to reach the optimal solution. In response to their claims, a modified version of Immune Algorithm entitled as ‘Modified immune algorithm (MIA)’ is proposed in this paper that results in better computing results with reduced computational cost. The modifications performed in the proposed algorithm are basically dealing with the existing drawbacks related to the basic driving forces of the immune algorithms. A new hypermutation operator is proposed that includes: (1) Gaussian mutation strategy for higher affinity antibodies, (2) Cauchy mutation strategy for lower affinity antibodies, (3) Elitist based immune memory to preserve the superior antibodies present in clonal pool, and to pass its traits to the next generation. In addition, chaotic sequence for initialization and roulette wheel rule for selection is utilized to amplify the efficiency of the proposed algorithm. In this paper, ten well known data sets of machine loading problems are solved, along with some benchmark functions taken form the literature. The performance of proposed algorithm is analyzed by comparing it with the existing heuristic procedures, and traditional clonal algorithms. The rest of the paper is organized as follows: Section 2 describes in detail the machine loading problem along with its modeling. Section 3 explains the background to the solution methodology, followed by the details regarding the proposed solution methodology. Section 4 describes the proposed solution methodology. In Appendix A, benchmark functions are described. Implementation of proposed algorithm on the machine loading problem is provided in Section 5, followed by the computational results that are given in Section 6. Finally, 7 concludes the paper. 2. Machine loading problem 2.1. Introduction and historical development The machine loading problem consist of J jobs each having O operations and each operation could be done by a subset of machines that may have different processing times for the same operation. The operations of each job are typically subject to precedence constraints and some operations must be done in certain time slots. Moreover, due to fixture, tolerance and tooling constraints, some operations must be done on the same machine as a group. Due to relatedness of machine loading problem with the real world applications, it is one of the most explored problems. Stecke and Solberg [7] have made the first attempt to solve the machine loading problem in FMS with the objec-
A. Prakash et al. / Advances in Engineering Software 39 (2008) 219–232
tive of maximizing the throughput rate. Since then, several approaches have been proposed to solve the machine loading problem. The chronological literature survey of the machine loading problem is given as follows: Stecke and Solberg [7] introduced Branch and Backtrack policy to maximize the assigned workload thereby maximizing the workload balance. Their work is improved by Berrada and Stecke [8]. In the same year, [2] formulated a nonlinear mixed integer programming for the loading problem, and gave six reasons to balance the processing time of machines. In 1985, Shanker and Tzen [9] had combined the loading and dispatching problem while considering the random environment of FMS. Later, Shanker and Srinivasulu [5] tackled the machine loading problem by giving analytical solution methodologies. Kumar et al. [10] have done a multi-criteria analysis of machine loading problem by applying a Max–Min approach. In the same year, Chen et al. [11] proposed a multi-objective heuristic to address the same problem. Tool selection and tool allocation problem have been integrated with the machine loading problem by many researchers [2,12–14]. In order to efficiently reduce the system imbalance, Mukhopadhyay et al. [15] have proposed an essentiality ratio based heuristic procedure to solve the machine loading problem. Further, Liang and Dutta [16] have combined the job selection problem along with the load sharing problem to address the machine loading problem in a hybrid manufacturing system. A new branch and bound algorithm was developed by [17] to solve the loading problem in FMS environment. Tiwari et al. [18] proposed a heuristic solution approach to solve the loading problem in FMS, where, they analyzed the performance of different deterministic job sequencing rules. Mukhopadhyay et al. [19] introduced Simulated Annealing (SA) to solve the FMS loading problem. Atmani and Lashkari [20] have developed a model for simultaneous tool and operation allocation on the machine in FMS. The combination of part type selection and machine loading problem have been frequently addressed by many researchers for example: Nayak and Acharya [21], Gurrero et al. [22], and Kumar et al. [10]. A Genetic Algorithm (GA) based heuristic was developed for the machine loading problem in [23], where, system balance and throughput were considered as the objectives. This GA heuristic outperformed the other known methods. A tabu search based heuristic to solve the machine loading problem was proposed by Sarma et al. [24]. They compared their tabu search with the various deterministic job sequencing rules. Father, Tiwari et al. [4] proposed a hybrid tabu search and simulated annealing heuristic to improved the solution quality and computational efficiency. In recent years, Tiwari et al. [25] proposed a modified version of genetic algorithm and simulated annealing to test the performance on the machine loading problem, Kim and Kim [26] proposed a multilevel symbiotic evolutionary algorithm to tackle the machine loading problem in FMS. Recently, Swarnkar et. al. [27] have applied AIS in solving the machine loading problem. However, the objective function considered by them is different than is considered here.
221
AIS has also been applied to another related problem, i.e. load dispatching by Mori et al. [28]. In another application of AIS, in which, Chun et al. [29], have given an interesting idea to compare the performance of immune algorithm and other heuristic algorithms. Optimization based approaches (linear programming, dynamic programming) have also been suggested for the machine loading problem, but due to the problem’s excessive complexity, they become impractical when the problem size increases. Some heuristic procedures become obsolete if even a slight change in the problem environment takes place. When tackling the machine loading problem, even the probabilistic search techniques like genetic algorithm and simulated annealing have slow convergence rate and local minima entrapment. Hence, for solving this computationally complex problem, the authors developed a fast evolutionary algorithm based on clonal selection principle that is able to search such a complex solution space. 2.2. Modeling the loading problem Machine loading problem comes under the broad range of flexible manufacturing system that consists of several NC machines, and a material handling device, all under the supervision of a centrally located computer system. Machine loading problem deals with the allocation of operation of selected jobs from a pool of jobs to the given alternative machines while satisfying several machining and tooling constraints. The complexity associated with machine loading problem can be gauged from the fact that for a sample machine loading problem having 8 jobs and 4 machines; the related data is provided in Table 1. Since, the existing 8 jobs can be sequenced in 8! ways and for any of such sequencing, there exists: 1 · 2 · 2 · 1 · 2 · 6 · 9 · 6 = 2592 operation-machine allocation combinations. Hence, there will be a total of 8! · 2592 = 104,509,440 possible allocations for eight jobs. The objectives considered in this paper are: (1) maximizing throughput, and (2) minimizing system’s imbalance (this is equivalent to maximizing system’s balance). The advantages of adopting these two objectives are as follows: 1. High system utilization can be achieved by minimizing the system imbalance or the idle time on machines. 2. Total system output would be augmented by considering maximum throughput, and this is one of the most desired objectives by manufacturers. 3. Tardiness can be limited by throughput maximization. Perfect balanced is achieved if system’s imbalance is zero (the minimum imbalance value). For a given timeframe, the upper bound value of throughput is the sum of all the possible products that could be produced at the timeframe. Therefore, the upper bound throughput for the time horizon is equal to the sum of the batch sizes of all the jobs needed to be assigned. For calculating the system imbalance, both over utilized and under utilized times are considered. The
222
A. Prakash et al. / Advances in Engineering Software 39 (2008) 219–232
Table 1 Description of problem number 1 (adopted from Ref. [5]) Job no.
Batch size
Operation 1: unit processing time/ available machine/tool slot required
Operation 2: unit processing time/ available machine/tool slot required
Operation 3: unit processing time/ availablemachine/tool slot required
J1
8
18/M3/1
–
–
J2
9
25/M1/1 25/M4/1
24/M4/1 –
22/M2/1 –
J3
13
26/M4/2 26/M1/2
11/M3/3 –
– –
J4
6
14/M3/1
19/M4/1
–
J5
9
22/M2/2 22/M3/2
25/M2/1 –
– –
J6
10
16/M4/1 – –
7/M4/1 7/M2/1 7/M3/1
21/M2/1 21/M1/1 –
J7
12
19/M3/1 19/M2/1 19/M4/1
13/M2/1 13/M3/1 13/M1/1
23/M4/3 – –
J8
13
25/M1/1 25/M2/1 25/M3/1
7/M2/1 7/M1/1 –
24/M1/3 – –
following assumptions and conditions must be satisfied for the formulation of the underlying problem. • Any machine can not perform more than one operation of the job at a time (in this version of the problem). • Any job that is selected for processing on a certain machine must finish all its operations on a certain machine before considering the next job in sequence for that machine. • Any particular operation of any job does not require more than one machine. • Processing requirements of the jobs are known in advance. • Sharing and duplication of tools is not considered. • Loading/unloading and transportation time is negligible. 2.2.1. Notations (a) Subscripts/superscripts j index of job 1 6 j 6 J m index of machine; 1 6 m 6 M o index of operation; 1 6 o 6 O (b) Parameters S selected jobs RNSU job rejected due to negative system imbalance RTSC job rejected due to tool slot constraint SU system imbalance TH throughput H planning horizon SUmax maximum system imbalance (=M · H) Oj set of operations for the job j Mjo set of machines for performing oth operation of the job j
bszj MTom MTum MTajom 0
MTrjom 00
MTrjom MSajom 0
MSrjom 00
MSrjom
batch size of the job j over utilized time on machine m under utilized time on machine m time available on machine m for performing oth operation of job j time required by machine m for performing oth operation of job j time remaining on machine m after performing oth operation of job j tool slot available on machine m for performing oth operation of job j tool slot required by machine m for performing oth operation of job j tool slot remaining on machine m after performing oth operation of job j
(c) Decision variables 1 if job j is selected; kj ¼ 0 otherwise: 8 < 1 if operation o of job j; is performed on machine m; djom ¼ : 0 otherwise: (d) Imbalance and throughput coefficients Imbalance coefficient ¼ F 1 ¼ F ðSUÞ ¼
SUmax
0 6 F1 6 1 Throughput coefficient ¼ F 2 PJ
PM
o m¼1 ðMTm
SUmax
j¼1 bszj kj ; PJ j¼1 bszj 0 6 F2 6 1
þ MTum Þ
;
ð1Þ
¼ F ðTHÞ ¼
ð2Þ
A. Prakash et al. / Advances in Engineering Software 39 (2008) 219–232
Both coefficients have values between zero and one. A perfect balanced work-allocation will have F1 = 1, and full completion of all the considered products within the considered timeframe gives F2 = 1. Therefore, the objective function strives to reach F1 = 1, and F2 = 1. That is, to maximize both F1 and F2. For making the objective function more robust, the objective is defined as a weighted average of these two coefficients.
223
process is known as unique job routing. Constraint (8) describes the non-splitting property of a job, where all the operations of a particular job are to be completed before considering a new job. Constraint (9) dictates that the tool slot remaining on any machine after the completion of any operation of a job must be greater than or equal to zero. At last, constraint (10) enforces that the sum of remaining time on the all machines after the completion of particular operation of a job must be a positive or zero quantity.
(e) The objective function Maximize F ¼
ðW 1 F 1 Þ þ ðW 2 F 2 Þ ðW 1 þ W 2 Þ PM SUmax ðMTom þMTum Þ m¼1 W1 þ SUmax
3. Background to solution methodology ! PJ ðbszj kj Þ j¼1 W 2 PJ j¼1
¼
bszj
ðW 1 þ W 2 Þ ð3Þ
where W1 and W2 are the corresponding weight associated with the system imbalance and throughput respectively. Thus, the objective function is a weighted average of both the imbalance coefficient and the throughput coefficient. For the present case, equal weights have been assigned on the both objective. W1 = W2 = 1. So the objective used is: F = (1/2) Æ (F1 + F2). (f) Constraints The objective is subjected to following constraints: M X
ðMTom þ MTum Þ P 0
ð4Þ
m¼1 Oj X
0
MSrjom djom 6 MSam
ð5Þ
0¼1 Oj X
0
MTrjom djom 6 MTam
ð6Þ
0¼1
X
djom 6 1
ð7Þ
m2M jo Oj M X X
djom ¼ kj Oj
ð8Þ
m¼1 o¼1 00
MSrjom djom P 0 M X
00
MTrjom djom P 0
ð9Þ ð10Þ
m¼1
Constraint (4) shows that the value of system imbalance must be zero or a positive quantity. Constraint (5) expresses that the chosen tool slots by any machine for performing the operations on a job must be less than the tool slots available on that machine. Constraint (6) is similar to constraint (5) but replaces the tool slots availability by the machining time. Constraint (7) declares that only a single machine is required to perform an operation of a job, where more than one machine is given for performing the operation. This
Immune Algorithm (IA) or Artificial Immune System (AIS) is the recently developed evolutionary technique inspired by the theory or immunology or immune system. According to Castro and Zuben [30] AIS is defined as ‘‘An abstract or metamorphic computational system using the ideas gleaned from the theory and components of immunology’’. AIS emulate the immune system in general and Clonal selection in particular [6]. In order to understand Immune system, certain preliminary biological terms must be introduced: • Immune cells: B-cells and T-cells are two major groups of immune cells. These cells help in recognizing an almost limitless range of antigenic patterns. • Antigens: These are disease-causing elements. There are two types of antigens; self and non-self. Non-self-antigens are disease-causing elements, whereas self-antigens are harmless to the body. • Antibodies: Molecules produced by a B-cell in response to an antigen presence. Each antibody has the property of combining specifically with the antigen which induced the formation of this antibody. Clonal selection principle explains the response of immune system, when a antigenic pattern is recognized by the B-cell. Success of an antibody to connect and neutralize the Antigen is termed affinity. When a B-cell encounters an antigenic pattern with suitable affinity threshold, it proliferates and differentiates into both memory cells and effectors cells [31]. Affinity stimulates the generating B-cell to proliferate and mature into antibody secreting cell. These cells divide themselves into clones. The process of Clonal selection is schematically shown in Fig. 1. Apart from proliferation and differentiation, two remarkable and alluring characteristics of immune systems are: (1) hypermutation and (2) receptor editing. Hypermutation is very similar to the mutation operator of genetic algorithms, but the difference is that the inferior bodies are hypermutated at a higher rate compared to the antibodies with high antigenic affinity. This phenomenon is known as receptor editing, which governs the hypermutation [32]. In general, Clonal selection principle is utilized to design the IAs due to its self learning and organizing capability. In the last two decades, Immune Algorithms (IAs) have
224
A. Prakash et al. / Advances in Engineering Software 39 (2008) 219–232 Non-self antigens
develop the proposed algorithm. These modifications are explained in following subsections: 4.1. Chaotic sequences Chaotic sequences are the type of random number generators that is characterized by its ergodic and stochastic behavior (spread spectrum characteristic). Such sequences have been adopted in evolutionary algorithms for random number generation utilized in different phases of algorithmic computation such as:
Selection
Proliferation and Maturation
Cell with maturated receptor
High affinity memory cells
Fig. 1. Process of clonal selection, proliferation, and affinity maturation.
gained increasing interest from researches solving various complex combinatorial problems. Initially, the immune system found its application for maintaining the diversity in population while using Genetic Algorithm (GA). However, the first direct use of the immune system reported in literature is the work of Cutello and Nicosia [33]. They gave Simple Immune Algorithm (SIA) to analyze and predict the dynamics of algorithm. Sub-sequentially, Castro and Zuben [6] introduced Clonal Algorithm (CLONALG) by manipulating the cloning and hypermutation. They used the fitness value for proportional cloning and counter-proportional hypermutation. Another related algorithm is the Psycho-Clonal algorithm introduced by Tiwari et al. [32]. It inherits its traits from Maslow’s Need Hierarchy theory and the theory of clonal selection. The special features of this algorithm are the various levels of needs, immune memory, and affinity maturation. In the same paper, [32] have applied the concept of clonal selection in the design of manufacturing systems. Equipped with the inspiration of the IAs achievements, this paper develops a Modified immune algorithm (MIA) to give better computational result with less memory requirements to the machine loading problem. The basic characteristics of proposed MIA are given in next section.
• Initialization of a population. • Selection of potential individuals from the set of population. • Introducing random changes into the individuals present in the population. Random number generators (RNGs) have been widely used in algorithms for generating randomness, and every kind of probabilistic distribution. However, RNGs are notoriously known for having slow convergence and an inherent characteristic of sticking to a solution. To overcome this difficulty chaotic generators have recently been used to generate the random numbers instead of RNGs. For example, the following logistic chaotic sequence is used to replace RNGs [34]: N ðt þ 1Þ ¼ R N ðtÞ ð1 N ðtÞÞ
ð11Þ
The logistic map illustrated one of the simplest dynamic systems demonstrating chaotic behavior Eq. (1) [37], where N(t) is the value of chaotic variable in tth iteration and R shows the bifurcation parameter of the system. The graphical representation of one-dimensional logistic chaotic function is illustrated in Fig. 2, for 400 generations with initial value of N(0) = 0.1 and R = 4. From this figure, it is evident that the spread spectrum characteristic of logistic mapping enables it to be utilized in place of RNGs. 4.2. Selection The antibodies present in a population set are evaluated based on the given fitness function. On the virtue of their 1 0.9 0.8 0.7 0.6
4. Proposed Modified immune algorithm (MIA)
0.5 0.4
This section formally presents the proposed Modified immune algorithm that is marked by the remarkable traits of reducing computational efforts and exploring the solution space effectively in spite of the difficulties posed by the problems. Various modifications have been performed in the existing features of the Immune Algorithm to
0.3 0.2 0.1 0 0
50
100
150
200
250
300
350
Fig. 2. Chaotic function of logistic mapping.
400
A. Prakash et al. / Advances in Engineering Software 39 (2008) 219–232
antigenic affinity the antibodies are selected to proliferate and produce clones proportional to their affinity. Various immune algorithms use deterministic selection rule to select better antibodies for proliferation. The problem regarding the deterministic rule is that only best individuals are selected, which results in a homogenous population or in other words in a premature convergence of the algorithm. To overcome this difficulty, Roulette wheel selection rule [35] is adopted for the proliferation of the high affinity antibodies. In this way, the diversity is maintained in the clonal pool and a way to reach the optimal/near-optimal solution becomes much easier. According to this rule, the antibodies are ranked according to their fitness value. Defining fi to express the rank the ith individual of the population, the selection probability of each antibody k, is calculated by fk pk ¼ Ppop size i¼1
fi
ð12Þ
4.3. Proliferation The proposed algorithm is the clonal selection principle, which implies that the highest affinity antibodies are selected and proliferated by cloning procedure. As per clonal selection principle antibodies are proliferated, i.e. cloned independently and proportionally to their antigenic affinity. The selected antibodies (s) are sorted in order and the number of clones to be generated is given by s s X X /s NC ¼ NCðiÞ ¼ round ð13Þ i i¼ i¼1 where NC is the total number of clones to be generated for selected antibodies, NC(i) is the number of clones for ith antibody, / is the user defined multiplying factor.
225
Change in 1st bit Fitness = 5 0
1
1
Fitness = 6 0
0
1
1
1
th
Change in 4 bit Fitness = 14
Fitness = 5 0
1
1
0
1
1
1
0
Fig. 3. Demonstration of fitness value with change in mutation bit.
The mutation strategy should offer larger step size for lower affinity antibodies, and smaller step size for higher affinity. However, point mutation does not satisfy sufficiently the gradual increase in step size with decreasing fitness value. For example, consider a number that signifies the fitness of its string which is made of four (4) bits of zeros and ones. The point mutation manipulates the fitness value by altering one bit at a time. No matter what is the initial fitness: if the change is made in the first bit, the fitness changes by 1. Similarly, if the change is made in fourth bit the fitness changes by 9 (see Fig. 3). These large differences in step size are not related to the initial fitness and therefore demonstrate that point mutation cannot assure the variation on antibodies on the basis of affinity. Fig. 3 has the same original affinity for the two varied step sizes. This random step size is typical to point mutations, and therefore does not satisfy the required gradual increase in step size with decreasing fitness value. In general, point mutation is related to random step size which slows the convergence rate of the algorithm [37,38]. To overcome this difficulty, a new mutation technique called ‘‘Parallel mutation (PM) operator’’ [39] is adopted here. This Parallel mutation operator has the benefit of gradual increase in step size and change rate with decreasing fitness value. The Parallel mutation operator is comprised of:
4.4. Variation operators In Immune algorithms, the variation in antibodies is performed by hypermutation and receptor editing mechanism. The hypermutation operator works in a similar fashion as the mutation operator of Genetic algorithms [30]. However, the basic difference lies in that, the inferior antibodies are hypermutated at a higher rate as compare to the antibodies with high antigenic affinity. This phenomenon is known as receptor editing. George and Garey [36] suggested a point mutation to offer random changes in the clones. Point mutation simply generates new antibodies by altering one or more genes (e.g. flipping of binary bits, or, swapping of bits in permutation string) based on their hypermutation rate given by following equation [32]: r ¼ expðdf Þ
ð14Þ
where r is the rate of hypermutation, d is the control factor of decay and f is the antigenic affinity. It is clear from the above equation that antibodies with low affinity are mutated at higher rate than antibodies with higher affinity.
(1) Gaussian strategy for small step mutation. (2) Cauchy strategy for large step mutation. These two strategies of PM operators are applied, parallel to antibodies, based on their antigenic affinity. It implies that Gaussian strategy is applied for low affinity antibodies to escape from local minima, and Cauchy strategy is applied on high affinity antibodies to escape from local minima, and reach global minima. The general procedure for the implementation of the proposed PM operator is given as follows. Procedure: Parameter: pk-probability for antibody k, (calculated in Eq. (12)), Begin for i = 1:pop_size r = random (0, 1) /*chaotically generate a number between 0 and 1*/
226
A. Prakash et al. / Advances in Engineering Software 39 (2008) 219–232
if (r < pi) Gaussian Mutation is applied else Cauchy Mutation is applied end if end for i end The following subsections reveal the details of the afore mentioned mutation strategies. 4.4.1. Gaussian mutation Gaussian (Normal) mutation is based on the Gaussian distribution known as the Normal distribution. Thus, it requires the mean value l and the standard deviation r which are used to define the step size for the mutation. In this approach, mutation is performed by replacing the element xg (selected for mutation from antibody {x1, x2, x3, . . . , xg, . . . , x‘}) with x0g using the following relation x0g ¼ xg þ N ðl; rÞ
ð15Þ
where N(l, r) is the normally distributed (Gaussian) random number generated using the Normal Probability Density Function (PDF): 1 1 x l2 f ðxÞ ¼ pffiffiffiffiffiffi exp ; 1 < x < 1 ð16Þ 2 r r 2p In order to standardize the computations, it is customary to use the standard Normal distribution with l 0 = 0 and r 0 = 1 denoted by N(0, 1) (note that l 0 5 l, r 0 5 r). In such a case, the simplified mutation can be realized by the following relation: x0g ¼ xg þ ½l þ r ðN ð0; 1ÞÞ
ð17Þ
4.4.2. Cauchy mutation Cauchy mutation is used to introduce large variations in antibodies due to its ability to perform longer jumps with 0.4 Gaussian Distribution Chauchy distribution
0.35 0.3 0.25 0.2 0.15 0.1 0.05 0 -5
-4
-3
-2
-1
0
1
2
3
4
5
Fig. 4. Plot of Cauchy and Gaussian distributions with standard deviation 1; mean = 0; t = 1.
higher probability. The Cauchy density function is similar to that of Gaussian density function but approaches the axis so slowly that its variance tends to infinity. Fig. 4 shows the difference between Gaussian and Cauchy density function by plotting them in same scale [37,39]: The one-dimension Cauchy density function centered at origin is defined by t ; 1 < x < 1 ð18Þ f ðxÞ ¼ 2 pðt þ x2 Þ where t > 0 is the scale parameter. The above function is used to introduce the variation in antibodies by using the following function. x0c ¼ xc þ gdk
ð19Þ
where dk is a Cauchy random number (random variant), and g is the correction step. 4.5. Immune memory After the process of proliferation and hypermutation, the elements developed in clonal pool (progenies) are evaluated for their antigenic affinity. According the Clonal theory, instead of maintaining a large number of candidate solutions, a small set of high affinity antibodies are maintained in the immune memory [6]. We use the immune memory as an elitist mechanism (elitism had been proposed for GA algorithms by Ahn and Ramakrishna [40]) in order to maintain the best solutions found along the process [32]. This is a very important characteristic of IAs and ensures that candidate solutions with high fitness value will be preserved [30]. The secondary memory preserves the high affinity antibodies in the clonal pool for creating the next generation population. This ensures faster convergence (and fewer entrapments in local minima) in comparison to classical immune algorithms. The general steps for this newly proposed strategy is detailed in following procedure: Procedure: Function of Immune Memory in Generation t. Parameters: m = Immune memory population size, Ps = Population size, t = current iteration Parameters: ðIMÞtm = Immune Memory at tth iteration, d = update lower bound, t Parameters: ðP ÞPs = Population at tth iteration, C = 0! = 1 Begin t t1 ðIMÞm = Update ðIMÞm l = No. of new antibodies in ðIMÞtm if (l > d) ðP ÞtPs ¼ l best current Antibodies, and (Ps-l) Random antibodies Else, ðP ÞtPs v ¼ 1þLogðCÞ t t ðP ÞPs ¼ v Antibodies from ðIMÞm and (Ps-v) Random antibodies
A. Prakash et al. / Advances in Engineering Software 39 (2008) 219–232
C=C+1 end if end From above step it is evident that if the Immune memory (IM) update is greater than a certain limit, then best antibodies of current generation are selected to maintain search direction. If the update criterion is not satisfied then we go for the best antibodies stored in immune memory to exploit the search space more effectively and to escape from local minima. Note that in the immune memory the selection is done by using the roulette wheel selection rule. 4.6. Termination criteria Consider the termination criteria T is satisfied when the number of generations reaches the value gen_max. From above explanations, it is evident that the algorithm can be divided into two main procedures. The first one consists of clonal selection principle where antibodies are evaluated on the basis of their fitness value. The superior antibodies are selected, cloned and hypermutated in proportion to their antigenic affinity. Finally these clones are again evaluated and selected for next generation population. The second procedure prepares the next generation population according to the underlying conditions. 5. Implementation of MIA on the machine loading problem In this section, the proposed algorithm is analyzed using ten data sets of the standard well known machine loading benchmark problems. The benchmark setting includes four workstations (each of them is provided with 480 min of available machining time), and five slots of the tools to perform the operations of the jobs. In general, there are two types of operations: (1) essential operation and (2) optional operation. Essential operations are those that can only be performed on a particular machine by using definite processing time. Optional operations are those that can be performed on any of the given machine by using same or different processing time and tool slots. Description of one such data set is given in Table 1. The implementation of the proposed algorithm on the underlying problem set is given by the following procedure: Basic Structure of MIA for Machine loading problem: Some terminologies MIA: ðP 0n ; M 0m ; n; f ; Cs; l; u; dÞ P 0n = Population set of antibodies with population size n P tn ¼ fa01 ; a02 ; . . . ; a0k ; . . . ; a0n g; where a0k is the kth antibody of population set in tth generation M tm = Memory set of antibodies with memory size m in tth generation f = fitness value; Cs = Constraints; l = String length; u = Updation limit; d = Step size; T = Termination criteria; /*In MIA T gen_max*/
227
Pseudo Code Initialize* P 0n Set M 0m ¼ 0; While (t! = gen_max) Evaluate fP tn ; Agg; P ts = Select fP ts ; sg; "s 6 n /*based on fitness value s antibodies are selected from population*/ P tcl = Cloning ðP ts Þ; /*Selected antibodies are cloned as per Section –*/ P thm = HypermutateðP tcl Þ /*cloned antibodies are hypermutated using the Parallel mutation as per Section –*/ EvaluatefP thm ; Agg; /*Evaluate the hypermutated antibodies*/ P tb = BestðP thm Þ; /*Select b best antibodies from hypermutated antibodies*/ M tm = UpdatefP tb ; M mt1 g l ¼ M tm fM tm \ M t1 m g /*l = No. of new antibodies entered into Memory set in tth iteration*/ if (l > d) tþ1 {P dtþ1 = SelectðP tm Þ; P pd =Random(Ppd)} Else p {v ¼ 1þlogðCÞ ; C = C + 1; P tþ1 = Select ðM tm Þ; v tþ1 P pv = Random(Ppv)} end if end /*Generate a chaotic string using the logistic function
0.36 0.78 0.12 0.56 0.08
Sort the bits of chaotic sting 0.08 0.12 0.36 0.56 0.78 in increasing or nonincreasing order ! Desired string = Position of bit from sorted string in chaotic sting*/ !
5
3
1
4
2
/*chaotically generate a number and swap it with a bit {Round (d)} apart from it.*/.
The next section is devoted to the computational results obtained by the application of proposed MIA over various test functions and 10 benchmark problems for the machine loading problem. 6. Computational results The present section aims to provide the description of numerous experiments performed in the present paper to check the efficiency of the proposed algorithm. In sequence to perform the analysis, a set of benchmark functions viz.
228
A. Prakash et al. / Advances in Engineering Software 39 (2008) 219–232
a
10 10
b 10
1
0
MIA CA SIA
0
MIA CA SIA -1
10 -1
Fitness value
Fitness value
10
-2
10
-3
10
-2
10
-3
10
-4
10
-4
10
-5
10
-6
-5
10
10 0
1000
2000
3000
4000
5000
6000
7000
0
No. of Evaluations
c
2000
4000
6000
8000
10000
12000
No. of Evaluations
104 MIA CA SIA
102
d MIA CA SIA
10-2
Fitness value
Fitness value
100
10-4 10-6 10-8
100
10-1
-10
10
10-12
0
2000
4000
6000
8000
10000
0
2000 4000 6000
8000 10000 12000 14000 16000
No. of Evaluations
No. of Evaluations
Fig. 5. Comparison of proposed MIA with CA and SIA on the benchmark functions. The horizontal axis is showing number of fitness evaluations and vertical axis is showing the fitness value. The values plotted in graph were averaged over 20 runs. (a) Sphere, (b) Rosenberg, (c) Foxholes, and (d) Circle function.
Sphere function, Generalized Rosenberg functions, Foxholes function, and Circle function has been considered [37,41]. Detail description of all the functions, considered in the paper can be found in Appendix A. In order to check the efficiency of proposed algorithm, the convergence trend of the algorithm on all the benchmark functions has been compared with the existing clonal algorithms namely Simple Immune Algorithm (SIA), and Clonal Algorithm (CA) (see Fig. 5a–d). In almost all the Fig. 5a–d, proposed MIA outperformed existing immune algorithms by quicker and steeper convergence, along with less number of fitness evaluations to reach the optimal value. In addition to this, we have also tested the performance of the algorithm on different platforms with the help of noise functions [42]. The experiments were conducted on different noise levels g (i.e. 0.2%, 0.5%, 2.0%, 5.0%, and 10.0%). From this comparison, proposed algorithm (MIA) has found to be performed better than the existing algorithms viz. CA and SIA by showing least deviation from the deterministic case (i.e. at 0.0% noise level). The noise function, (l: b ! bn) is given by lðh; rÞ ¼ f ðhÞ þ gð0; rÞ
r ¼ gjD f ðh Þj
ð20Þ ð21Þ
where g(0, r) is the Gaussian normal distribution with mean 0 and r as standard deviation, f(h) is the best fitness value of the test function obtained by the algorithm, f(h*) is the optimal value of the test function and D is the average value of 100 randomly selected evaluations in W search space. With the help of afore mentioned noise function, we have evaluated the percentage deviation of the fitness value at different noise level by dividing the fitness value at deterministic level by the corresponding noisy fitness value. The results obtained using the noise function is graphically cited in Fig. 6a–d. From the figures it is observed that for all the test functions, MIA performs superior than others by showing least deviation from the deterministic case. The deviation was more in the case of Sphere function Eq. (22), this is due to very high difference between the optimum and average objective function value (see Fig. 6a). However, for all the test functions proposed algorithms outperforms the other by showing least deviation from their best value. From above study, it has been observed that proposed algorithm is very effective and it can be easily used to solve the real world applications irrespective of the complexity of the problem. For the illustration of supremacy
A. Prakash et al. / Advances in Engineering Software 39 (2008) 219–232
229
Fig. 6. Performance of algorithms at different noise levels. The horizontal axis is showing number of noise level and vertical axis is showing the deviation from fitness value. (a) Sphere, (b) Rosenberg, (c) Foxholes, and (d) Circle function.
Fig. 7. Performance of proposed algorithm over existing heuristics. (a) Minimization of system imbalance, and (b) maximization of throughput.
of proposed MIA in the context of machine loading problem, 10 benchmark loading problems with increasing complexity have been adopted [15]. The obtained results are compared with the best heuristics proposed in the literature (see Fig. 7). From Fig. 7 it has been observed that the proposed algorithm outperforms the best known heuristic search procedures. In Fig. 7, (a) is the case of minimization (minimization of system unbalance), and (b) is the case of maximization (maximization of through-
put). For all the machine loading data sets, we have provided the detailed description regarding the obtained results, and operation-machine allocation combinations in Table 2a–j. Sarma et al. [24] recommended using Comparative Improvement Index (CII) for performance comparison. Therefore, CII is adopted here to investigate the % improvement in the results obtained by the proposed algorithm. CII is obtained by using the following:
230
A. Prakash et al. / Advances in Engineering Software 39 (2008) 219–232
Table 2 Operation-Machine allocation combination for the obtained job sequence OJS
Op1
Op2
Op3
Remarks
(a): Problem 1 (SU: 14, TH: 48) M2 J5 J7 M4 J4 M3 J3 M1 J2 * J6 * J8 * J1 M3
M2 M1 M4 M3 * * * –
– M4 – – * * * –
S S S S RNSU RNSU RTSC S
(b): Problem 2 (SU: 124, TH: 63) M1 J3 M3 J4 J5 M4 J1 M2 J6 M2 J2 *
– – M1 – – *
– – M1 – – *
S S S S S RNSU
(c): Problem 3 (SU: 72, TH: 69) J4 M1 M4 J5 J2 M2 J3 M4 J1 *
– M2 – M3 *
– – – – *
S S S S RNSU
(d): Problem 4 (SU: 819, TH: 51) J1 M2 M4 J2 J3 M4 J4 M3 J5 M1
M1 M3 – M3 –
M4 – – M2 –
S S S S S
(e): Problem 5 (SU: 264, TH: 61) M1 J2 J1 M2 M4 J4 J6 M1 J3 – J5 M3
– M2 M2 – – –
– – M3 – – –
S S S S RNSU S
(f): Problem 6 (SU: 28, TH:61) J1 M4 M3 J4 J6 M2 J2 M1 J5 M4 J3 *
– – – M3 M1 *
– – – – – *
S S S S S RNSU
(g): Problem 7 (SU: 231, TH: 63) M1 J1 J5 M3 J2 M4 J3 M1 M2 J6 J4 *
– – M2 – M2 *
– – M3 – – *
S S S S S RNSU
(h): Problem 8 (SU:13, TH: 44) M4 J7 J5 M1 J4 M3 J6 M2 J3 * J1 * J2 *
M2 M3 M4 M2 * * *
– – – M1 * * *
S S S S RNSU RNSU RNSU
(i): Problem 9 (SU:309, TH: 88) J1 M3 J2 M4
M1 –
– –
S S
Table 2 (continued) OJS J3 J4 J5 J6 J7
Op1
Op2
Op3
Remarks
M2 M1 M4 M4 M2
– M3 M3 M1 M1
– – – – –
S S S S S
M2 – M4 M1 – *
S S S S S RTSC
(j): Problem 10 (SU: 122, TH: 56) M3 M1 J1 J6 M3 M1 J5 M2 M4 J2 M3 M4 M1 M2 J3 J4 * *
SUH SUMIA 100 SUH THMIA THH 100 CIIðTHÞ ¼ THMIA
CIIðSUÞ ¼
ð22Þ ð23Þ
where CII(SU) is the comparative improvement in the system imbalance, CII(TH) is the comparative improvement in the throughput, SUH is the system imbalance obtained by heuristic procedures [5,15,18], THH is the throughput obtained by the heuristic procedures [5,15,18], SUMIA is the system imbalance obtained by the proposed MIA and THMIA is the throughput obtained by the proposed MIA. The corresponding CIIs values are given in Table 3. From the table it has been observed that for almost all the problems, proposed MIA is showing considerable improvement. In the table, term given by the (0*) sign indicating for that problem optimality (i.e. maximum possible throughput and minimum possible system unbalance) has been achieved. For the description of all 10 data sets of the underlying problem, readers are requested to refer [15,18]. 7. Conclusion Loading problem in a Flexible manufacturing system is well known for possessing a large variety of objectives and constraints. This paper presents a Modified immune algorithm (MIA) with advanced mutation strategy and elitist based immune memory that has been sufficiently able to resolve the loading problem by solving all the sub-problems of machine loading in an integrated manner. The proposed MIA enhances the applicability of traditional clonal algorithm by making some modifications in the operators. The paper has demonstrated the capabilities of the proposed algorithm to converge faster and to a better solution, than other comparable techniques. For the same cause, the proposed algorithm has been tested over a set of benchmark functions taken from the literature. The comparative results thus obtained are showing the supremacy and robustness of the proposed algorithm.
A. Prakash et al. / Advances in Engineering Software 39 (2008) 219–232
231
Table 3 The CII values of proposed algorithm Pr. no.
No. of jobs
Shanker and Srinivasulu [5]
Mukhopadhyay et al. [15]
Tiwari et al. [18]
Proposed MIA
SU
TH
CII(SU)
CII(TH)
SU
TH
CII(SU)
CII(TH)
SU
TH
CII(SU)
CII(TH)
SU
TH
1 2 3 4 5 6 7 8 9 10
8 6 5 5 6 6 6 7 7 6
253 388 288 819 467 548 189 459 462 518
39 51 63 51 62 51 54 36 79 44
94.46 68.04 75.00 0* 43.47 94.90 22.2 97.17 33.12 76.45
23.07 23.53 9.52 0* 01.61 19.61 16.66 22.22 13.92 27.27
122 202 286 819 364 365 147 459 315 320
42 63 79 51 76 62 66 36 88 56
88.52 38.61 74.83 0* 27.47 92.32 57.1 97.17 1.904 61.87
14.28 0 12.6 0* 19.7 1.61 4.54 22.22 0 0
76 234 152 819 264 314 996 158 309 166
42 63 69 51 61 63 48 43 88 55
81.57 47.00 52.63 0* 0 91.08 76.81 91.77 0 26.51
14.28 0 0 0* 0 3.17 31.25 2.32 0 1.81
14 124 72 819 264 28 231 13 309 122
48 63 69 51 61 61 63 44 88 56
CII(SU): comparative improvement index for system imbalance. CII(TH): comparative improvement index for throughput.
While implementing the algorithm, special care and emphasis were given to the following aspects of the algorithm: • The representation scheme of the proposed MIA is similar to the job sequencing representation of the machine loading problem in an FMS environment. • The fitness function is formulated to enable modeling real world cases of the objectives. • The proper choice of the variation operators was given a special care for making it appropriately. The main purpose of the present paper was to develop an efficient algorithm that has the capability to resolve the real world problems. This study makes a contribution in successfully materializing the afore mentioned task by obtaining the best results in machine loading problem as compared to well known results in the literature. Also, the least deviation obtained by proposed algorithms at different platforms (i.e. noise levels). Also, the use of Comparative Improvement Index (CII), facilitate the evaluation of the obtained improvements. Further, the supreme speed of convergence and the superior quality of the proposed MIA on the benchmark functions ensures that the proposed algorithm would be effective and robust enough for real world problems. Future research potential of the proposed method could be significant. One direction for example, is incorporating different mutation strategies, such as modification in the initialization scheme of the clonal algorithm. Another direction of potential research may be the application of this algorithm on various NP-hard problems such as number partitioning problem, distributed layout problem, and others. Appendix A. Benchmark functions In order to investigate the effectiveness of the proposed algorithm, few well known benchmark problems from the literature have been incorporated. The present analysis include Sphere model and Rosenberg model that belong to unimodal functions, foxholes function belongs to multi-
modal functions with a few local minima, and finally Circle function that belongs to multimodal with more local minima [37]. Brief descriptions regarding the benchmark functions are given as follows: 1. Sphere model This is unconstrained function that possesses high discontinuity; the optimal value of the function is zero. It is very flat and symmetric function that gives the idea about the generic efficiency of the algorithm [41]. The function is of the form: n X fSphere ðxÞ ¼ x2i 5:12 6 xi 6 5:12; i¼1
n ¼ 3; minðfSphere Þ ¼ fSphere ð0; 0; 0Þ ¼ 0
ð24Þ
2. Generalized Rosenberg’s model This is continuous, unimodal and unconstrained function with the optimal value equal to zero. This function comes under the unimodal category of benchmark functions. It is constrained function with high epitasis. The function is defined as follows: fRosenberg ðxÞ ¼ 100ðx21 x2 Þ2 þ ð1 x1 Þ2 2:048 6 xi 6 2:048; n ¼ 2; minðfRosenberg Þ ¼ fRosenberg ð1; 1Þ ¼ 0
ð25Þ
3. Foxholes function Dejong’s fifth function or Foxholes function has very few local minima and generally used to depict the tendency of the algorithm to escape from local optima. It is unconstrained function and possesses high discontinuity. The function is described as: " #1 25 X 1 fFoxholes ðxÞ ¼ 0:002 þ Pn 6 j¼1 j þ i¼1 ðxi aij Þ 65:536 6 xi 6 65:536; n ¼ 2; minðfFoxholes Þ ¼ fFoxholes ð32; 32Þ ¼ 0: ð26Þ
232
A. Prakash et al. / Advances in Engineering Software 39 (2008) 219–232
4. Circle function It is highly multimodal function that is having a global minima surrounded by many local minima. The function is having zero optimal value. It is generally used in modeling of real world problem. The function is explained as: 0 3 !1=4 2 !1=10 1 n n X X A þ 1:05 4sin2 @50 fCircle ðxÞ ¼ x2 x2 i
i¼1
i
i¼1
32:767 6 xi 6 32:768; n ¼ 2; minðfCircle Þ ¼ fCircle ð0; 0Þ ¼ 0:
ð27Þ
References [1] Tsukada TK, Shin KG. PRIAM: polite rescheduler for intelligent automated manufacturing. IEEE Trans Robotics Automat 1996;12:235–45. [2] Stecke K. Formulation and solution of non-linear integer production planning problems for flexible manufacturing system. Manage Sci 1983;29:272–88. [3] Hwang SS, Shogan AW. Modeling and solving an FMS part selection problem. Int J Product Res 1989;27(8):1349–66. [4] Tiwari MK, Kumar Sanjeev, Kumar Shashi, Prakash, Shankar R. Solving part type selection and operation allocation problems in a fms: an approach using constraint based fast simulated annealing algorithm. IEEE Trans Syst Man Cybernet, Part A 2004;36(6): 1170–84. [5] Shanker K, Srinivasulu A. Some solution methodologies for a loading problem in random FMS. Int J Product Res 1989;27(6):1019–34. [6] De Castro LN, Zuben V. Recent development in biologically inspired computing. Idea Group Publishing; 2005. [7] Stecke K, Solberg J. Loading and control policies for a flexible manufacturing system. Int J Product Res 1981;19:481–90. [8] Berrada M, Stecke K. A branch and bound approach for machine loading in flexible manufacturing system. Working paper number 329, Division of Research Graduates School of Business Administration, The University of Michigan, Ann arbor, Michigan USA; 1983. [9] Shanker K, Tzen YJ. A loading and dispatching problem in a random flexible manufacturing system. Int J Product Res 1985;23:579–93. [10] Kumar P, Singh N, Tiwari NK. Multicriteria analysis of the loading problem in flexible manufacturing system using Max–Min approach. Int J Product Res 1990;2(2):13–23. [11] Chen IJ, Chung CH. An examination of flexibility measurements and performance of flexible manufacturing systems. Int J Product Res 1996;34(2):379–94. [12] Sarin SC, Chen CS. The machine loading and tool allocation problem in a flexible manufacturing system. Int J Product Res 1987;25(7): 1081–94. [13] Kumar N, Shanker K. A genetic algorithm for FMS part type selection and machine loading. Int J Product Res 2000;16(38): 3861–87. [14] Chen Y, Askin RG. A Multi-objective evaluation of flexible manufacturing system loading heuristics. Int J Product Res 1990;28(5): 895–911. [15] Mukopadhyay SK, Midha S, Krishna VA. A heuristic procedure for loading problem in flexible manufacturing system. Int J Product Res 1992;30(9):2213–28. [16] Liang M, Dutta SP. Combined part-selection, load sharing and machine loading problem in hybrid manufacturing system. Int J Product Res 1992;30(10):2335–50. [17] Kim YD, Yano CM. A new branch and bound algorithm for loading problems in flexible manufacturing systems. Int J Flexible Manuf Syst 1994;6:361–82.
[18] Tiwari MK, Hazarika B, Vidyarthi NK, Jaggi P, Mukopadhyay SK. A heuristic solution approach to the machine loading problem of FMS and its petri net model. Int J Product Res 1997;35(8):2269–84. [19] Mukhopadhyay SK, Singh MK, Srivastava R. FMS loading: a simulated annealing approach. Int J Product Res 1998;36(6):1629–47. [20] Atmani A, Laskhari RS. A model of machine tool selection and operation allocation in FMS. Int J Product Res 1998;36(5):1339–49. [21] Nayak GK, Acharya D. Part type selection, machine loading and part volume determination problems in FMS planning. Int J Product Res 1998;36(7):1801–24. [22] Guerreore F, Lozano S, Koltai T, Larraneta J. Machine loading and part type selection in flexible manufacturing system. Int J Product Res 1999;37(6):1303–17. [23] Tiwari MK, Vidyarthi NK. Solving machine loading problem in flexible manufacturing system using genetic algorithm based heuristic. Int J Product Res 2000;38(14):3357–84. [24] Sarma UMBS, Kant Suman, Rai Rahul, Tiwari MK. A solution to machine loading problem in FMS using tabu search based algorithm. Int J Comput Integrat Manuf 2002;15(4):285–95. [25] Swarnkar R, Tiwari MK. Modeling machine loading problem of FMSs and its solution methodology using a hybrid tabu search and simulated annealing-based heuristic approach. Robot Comput Integrat Manuf 2004;20:199–209. [26] Kim JY, Kim YK. Multileveled symbiotic evolutionary algorithm: application to FMS loading problems. Appl Intell 2005;22:233–49. [27] Chan FTS, Swarnkar R, Tiwari MK. Fuzzy goal-programming model with an artificial immune system (AIS) approach for a machine tool selection and operation allocation problem in a flexible manufacturing system. Int J Product Res 2005;93(19). [28] Mori K, Tsukiyarna M, Fukuda T. Load dispatching planning by immune algorithm with diversity and learning. 7th international conference on systems researches. Informat Cybernet 1994;11:136–41. [29] Chun JS, Jung HK, Hahn SY. A study on the comparison of optimization performances between immune algorithm and other heuristic algorithms. IEEE Trans Magn 1998;34(5):2972–5. [30] De Castro LN, Zuben V. Learning and optimization using the clonal selection principle. IEEE Trans Evolut Comput 2002;6(3):239–351, Special issue on Artificial Immune System (AIS). [31] Ada GL, Nossel GJV. The clonal selection theory. Scient Am 1987;257(2):50–7. [32] Tiwari MK, Prakash, Kumar A, Mileham AR. Determination of an optimal assembly sequence using the Psychoclonal Algorithm. J Eng Manuf 2005;219:137–49. [33] Cutello V, Nicosia G. An immunological approach to combinatorial optimization problems. Lecture Notes Comput Sci 2002;2527:361–70. [34] Caponetto R, Fortuna L, Fazzino S, Xibilia GM. Chaotic sequences to improve the performance of evolutionary algorithm. IEEE Trans Evol Comput 2003;7(3):289–304. [35] Gen M, Cheng R. Genetic algorithm and engineering design. Wiley; 1997. [36] George AJT, Grey D. Receptor editing during affinity maturation. Immunol Today 1999;20(4). [37] Yao X, Liu Y. Evolutionary programming made faster. IEEE Trans Evol Comput 1999;3(2):82–102. [38] Hyun D, Oh Se-Young. A new mutation rule for evolutionary programming from Back propagation learning. IEEE Trans Evol Comput 2000;4(2):188–90. [39] Gog A, Dumitrescu D. Parallel mutation based genetic chromodynamics. Informatica 2004;XLIX(2). [40] Ahn CW, Ramakrishna RS. Elitism based compact genetic algorithm. IEEE Trans Evol Comput 2003;7(4):367–85. [41] Ong YJ, Keane AJ. A domain knowledge based search advisor for design problems solving environments. Eng Appl Artificial Intell 2002;15(1):105–16. [42] Nissen V, Propach J. On the robustness of population–based versus point-based optimization in the presence of noise. IEEE Trans Evol Comput 1998;2(3):107–18.