Fuzzy optimisation of multi-objective job shop scheduling based on inventory information

17
Int. J. Services and Operations Management, Vol. 15, No. 2, 2013 123 Copyright © 2013 Inderscience Enterprises Ltd. Fuzzy optimisation of multi-objective job shop scheduling based on inventory information Mohammad Nouroz Islam Faculty of Applied Science, University of British Columbia, 3333 University Way, Kelowna BC, Kelowna BC, V1V 1V7, Canada E-mail: [email protected] Sanjoy Kumar Paul* and Abdullahil Azeem Department of Industrial and Production Engineering, Bangladesh University of Engineering and Technology (BUET), Dhaka – 1000, Bangladesh E-mail: [email protected] E-mail: [email protected] *Corresponding author Abstract: Job shop scheduling problems are one of the oldest combinatorial optimisation problems being studied. In this paper, fuzzy processing times of operations and fuzzy due dates of jobs are considered to incorporate fuzziness in the problem. Percentage of inventory consumption and profit earned form the orders are also considered in this fuzzy multi-objective job shop scheduling problem. Fuzzy inference system (FIS) is used to calculate the job weights based on the percentage of inventory consumption for a particular job and profit can be earned from the jobs. Average weighted tardiness, number of tardy jobs, total flow time and idle times of machines are considered as objectives which should be minimised. In this paper, genetic algorithm (GA) is used as a heuristic technique with specially encoded chromosomes that denotes the complete schedule of the jobs. A local search technique, simulated annealing (SA) is also used to compare the results obtained in two different methods. Different problem sizes has been tested and the fitness function values and computation times of the problems for each method is compared. Keywords: job shop scheduling; optimisation; fuzzy inference system; FIS; genetic algorithm; simulated annealing; SA. Reference to this paper should be made as follows: Islam, M.N., Paul, S.K. and Azeem, A. (2013) ‘Fuzzy optimisation of multi-objective job shop scheduling based on inventory information’, Int. J. Services and Operations Management, Vol. 15, No. 2, pp.123–139. Biographical notes: Mohammad Nouroz Islam is currently pursuing his PhD degree in the University of British Columbia. He is currently working on self-sensing actuation of piezoelectric actuators for high speed applications. He completed his MSc Engineering degree majoring in Industrial and Production Engineering from Bangladesh University of Engineering and Technology in 2008. He also finished his BSc in Engineering in the same field from the same

Transcript of Fuzzy optimisation of multi-objective job shop scheduling based on inventory information

Int. J. Services and Operations Management, Vol. 15, No. 2, 2013 123

Copyright © 2013 Inderscience Enterprises Ltd.

Fuzzy optimisation of multi-objective job shop scheduling based on inventory information

Mohammad Nouroz Islam Faculty of Applied Science, University of British Columbia, 3333 University Way, Kelowna BC, Kelowna BC, V1V 1V7, Canada E-mail: [email protected]

Sanjoy Kumar Paul* and Abdullahil Azeem Department of Industrial and Production Engineering, Bangladesh University of Engineering and Technology (BUET), Dhaka – 1000, Bangladesh E-mail: [email protected] E-mail: [email protected] *Corresponding author

Abstract: Job shop scheduling problems are one of the oldest combinatorial optimisation problems being studied. In this paper, fuzzy processing times of operations and fuzzy due dates of jobs are considered to incorporate fuzziness in the problem. Percentage of inventory consumption and profit earned form the orders are also considered in this fuzzy multi-objective job shop scheduling problem. Fuzzy inference system (FIS) is used to calculate the job weights based on the percentage of inventory consumption for a particular job and profit can be earned from the jobs. Average weighted tardiness, number of tardy jobs, total flow time and idle times of machines are considered as objectives which should be minimised. In this paper, genetic algorithm (GA) is used as a heuristic technique with specially encoded chromosomes that denotes the complete schedule of the jobs. A local search technique, simulated annealing (SA) is also used to compare the results obtained in two different methods. Different problem sizes has been tested and the fitness function values and computation times of the problems for each method is compared.

Keywords: job shop scheduling; optimisation; fuzzy inference system; FIS; genetic algorithm; simulated annealing; SA.

Reference to this paper should be made as follows: Islam, M.N., Paul, S.K. and Azeem, A. (2013) ‘Fuzzy optimisation of multi-objective job shop scheduling based on inventory information’, Int. J. Services and Operations Management, Vol. 15, No. 2, pp.123–139.

Biographical notes: Mohammad Nouroz Islam is currently pursuing his PhD degree in the University of British Columbia. He is currently working on self-sensing actuation of piezoelectric actuators for high speed applications. He completed his MSc Engineering degree majoring in Industrial and Production Engineering from Bangladesh University of Engineering and Technology in 2008. He also finished his BSc in Engineering in the same field from the same

124 M.N. Islam et al.

institution in 2005. He patented a real-time capacitance measurement technique for piezoelectric actuators which can be used for position sensing and/or temperature compensation. His research interest includes actuators and sensors, fuzzy systems, genetic algorithm, CAD/CAM, etc.

Sanjoy Kumar Paul is an Assistant Professor in the Department of Industrial and Production Engineering, Bangladesh University of Engineering and Technology (BUET), Bangladesh. His research interest includes operations management, application of artificial intelligence in industrial engineering, simulation and modelling.

Abdullahil Azeem is a Professor in the Department of Industrial and Production Engineering in BUET, Bangladesh. He obtained his PhD degree from the University of Western Ontario, Canada. His research interests include scheduling and inventory management using artificial intelligence, supply chain management and automated manufacturing system.

1 Introduction

Scheduling problem is the allocation of resources to perform a set of activities in a period of time (Baker, 1974). The job shop scheduling is one of the most typical and complicated tasks in scheduling problems. The aim of job shop scheduling problem (JSSP) is to allocate n jobs to m machines in order to optimise a special factor (Conway and Maxwell, 1967). Job shop is a production system with the capability of producing products with a number of jobs and different operation times for each job. Due to different operations on a product and machine requirements to process each step of production, it is so hard to find an efficient scheduling solution (Tavakkoli-Moghaddam et al., 2005). Besides due to uncertainty, deterministic parameters don’t reflect the real world JSSPs. Inclusion of multiple objectives to the problem such as minimising the number of tardy jobs, total flow time etc. is also important to make the problem closer to a real problem. Traditionally, there are four approaches for solving JSSPs, namely dispatching rules, schedule permutations, AI approaches, and analytical methods. In schedule permutations approach a feasible schedule is first generated and by some perturbation mechanisms new schedules are generated. Among schedules best valued schedules are selected. For multi-objective scheduling problems, permutations of schedules are easy to implement while the dispatching rules are concentrated on single objectives (Subramanium et al., 2000). JSSP is a class of combinational optimisation problems known as NP-Hard one. The above problem is a key issue in production management and combinational optimisation (Tavakkoli-Moghaddam et al., 2005).

For JSSP with n jobs and m machines, there are (n1)!(n2)!..........(nm)! sequences available, where nk is the number of operations that must be done on machine k. Though not all the schedules are feasible the best schedule has to satisfy certain constraints and objectives. Real production systems are not deterministic. A fuzzy JSSP considers the fuzzy processing times and fuzzy due dates to incorporate uncertainty. Though a number of research had been carried out in earlier years most of them considers single objectives either makespan criterion, tardiness, flow time, etc. A multi-objective fuzzy JSSP considers several objectives along with uncertainty in the job shop system. Inventory

Fuzzy optimisation of multi-objective job shop scheduling 125

system plays an important role in production environments. Typically in JSSPs inventory consumption of jobs are not considered. In this research, percentages of resources inventory and profit rates of jobs are considered. Fuzzy inference system (FIS) is used to incorporate the percentages of resources inventory and profit rates to calculate the job weights. Two different methods are used to compare best schedule(s) generated in each method which satisfy the technological and resource constraints as well as the multiple objectives set in the problem. The JSSP has been well-known as one of the hardest combinatorial optimisation problems. Scheduling problems can be considered and classified according to the main criteria such as requirements, process complexity, scheduling criteria, parameter changes, and scheduling environment. Under the first criterion, namely requirement, there are two states: open and closed production shop based on production requirements. There is no stock in open shop in which production planning is based on the amount of order. In a closed shop, the order is supplied by stock. The second criterion, process complexity, is dependent upon the stages of processes and the number of working stations. These can be sub-categorised as follows:

a one stage, one process

b one stage, multi-process

c multi-stage, production line

d multi-stage, job shop production.

In the first type, there is one processor and one stage. The second category means one stage and multi-processors that can be carried out in one or several machines. In the third sub-category, each job consists of many operations that need to be processed on one or a number of machines, however all jobs have the same root of operations. In the fourth sub-category, it is possible to allocate a number of machines and route of operations to one job. This situation is used for producing different types of products.

In this paper, we concentrate on the fourth category, i.e., job shop scheduling with a multi-production stage. The third criterion, scheduling, describes the considered objectives that need to be taken into account in resolving the problem; often these criteria are many, complex and with interaction effects. For instance, some of the scheduling criteria are to decrease the total time of tardiness, to decrease the number of tardy jobs, to increase the ease and utilisation of production systems or resources, to decrease the work in process, to balance the usage of resources, and to increase the production rate. The fourth criterion, changeable parameters, includes the degree of uncertainty of different parameters in scheduling problems. These parameters include such factors as the characteristics, operation process times, sequencing, precedence constraints, delivery times, start time of jobs. If this uncertainty is not significant to the problem, then the scheduling problem is a deterministic one. In the other case, the scheduling problem is considered as a stochastic or fuzzy one. The last criterion, scheduling environment, can be identified into two categories: static or dynamic. The scheduling problem with the identified number of jobs and a ready time for them is a static problem. On the other hand, a scheduling problem with variable number of jobs and characteristics changing with time is dynamic. Fuzzy set theory has been successfully applied in treating different sources of uncertainty in scheduling problems, particularly when intuition and judgment play an important role, including for example, customer demand (Petrovic and

126 M.N. Islam et al.

Petrovic, 2001), processing times (Kuroda and Wang, 1996), production due dates (Hong and Chuang, 1999), or job precedence relations (Ishii and Tada, 1995). Real-life production scheduling, in essence, involve multi-criteria to be considered simultaneously. Different production scheduling problems have been treated using fuzzy multi-criteria decision making methods, for example, scheduling of single machine, job shop, flow shop, and so on. Slany (1996) presented a method of formalising imprecise relative importance of fuzzy constraints and its application to multiple criteria steelmaking scheduling. In early studies of JSSPs, naturally various factors such as processing times, due dates and so forth have been precisely fixed at crisp values. However, when formulating JSSPs which closely describe and represent the real-world problems, various factors involved in the problems are often only imprecisely or ambiguously known to the analyst. This is particularly true in the real-world situations when human-centred factors are incorporated into the problems. In such situations, it may be more appropriate to consider fuzzy processing time due to man-made factors and fuzzy due date tolerating a certain amount of delay in the due date. Different approaches to multi-objective single machine problems with fuzzy parameters have been presented in the literature in the last decade. Ishii and Tada (1995) considered a single machine scheduling problem with the objective to minimise the maximum lateness of jobs with fuzzy precedence relations. An algorithm for determining non-dominated solutions based on a graph representation of the fuzzy precedence relations is proposed. A fuzzy-linguistic approach to a multi-criteria sequencing problem is presented by Adamopoulos and Pappis (1996).

A multi-objective genetic algorithm is developed which handles the fuzzy scheduling objectives. One of the first attempts to approach a simple JSSP through the application of genetic algorithms (GAs) can be seen in the research of Davis (1985). Since then, a significant number of successful applications of GAs to JSSPs have been appearing. Sakawa and Kubota (2000) first solved a fuzzy multi-objective job shop scheduling problem (FMOJSSP) considering the objectives maximise the minimum agreement index, maximise the average agreement index and minimise the maximum fuzzy completion time. They proposed the agreement index method to aggregate multiple objectives and then compare the value which is equivalent to the objective function value. An active schedule generation technique is developed by Giffler and Thompson (1960) to minimise production schedules length. They tested equal sized jobs and machines with different problem sizes. Duenas and Petrovic (2008) presented a multi-objective approach to a single machine scheduling problem in the presence of uncertainty. The uncertain parameters under consideration are due dates of jobs which are modelled by fuzzy sets where membership degrees represent decision maker’s satisfaction grade with respect to the jobs’ completion times. Chang et al. (1996) presented a fuzzy extension of the economic lot-size scheduling problem (ELSP) for fuzzy demands, since perturbations often occur in products demand in the real world. The resulting problem consists of a fuzzy total cost function, fuzzy feasibility constraints and a fuzzy continuous variable (the basic period) in addition to a set of crisp binary variables corresponding to the cycle times and starts of the products’ schedule. Petrovic et al. (2008) presented a paper that deals with a problem determining lot sizes of jobs in a real-world job shop scheduling. A fuzzy rule-based system is developed which determines the size of lots using the following premise variables: size of the job, the static slack of the job, workload on the shop floor, and the priority of the job.

Fuzzy optimisation of multi-objective job shop scheduling 127

Loukil et al. (2007) presented a paper that deals with a production scheduling problem in a flexible (or hybrid) job-shop with particular constraints: batch production; existence of two steps: production of several sub-products followed by the assembly of the final product; possible overlaps for the processing periods of two successive operations of a same job. Satake et al. (1999) proposed a simulated annealing (SA) approach that proposed to minimise the makespan of job-shop scheduling. The fundamental idea of the approach is based on the rescheduling activity of the human scheduler. Steinhöfel et al. (1999) presented two SA-based algorithms for the classical, general JSSP where the objective is to minimise the makespan. Golmakani and Namazi (2012) proposed a novel approach by which one can tackle the complexity that is raised in job shop scheduling and sequencing the jobs and the preventive maintenance simultaneously and obtain the required schedule in reasonable time.

Sun et al. (2010) presented a GA with a penalty function for the JSSP to search in both feasible and infeasible regions of the solution space. Christos (2005) studied inverse scheduling problems and showed that problems can be formulated as linear programming (LP) problems even when, in some cases, the corresponding forward scheduling problems are not solvable in polynomial time.

Ram et al. (1996) presented two distributed algorithms for SA. The first algorithm is known as clustering algorithm (CA) and the second algorithm is genetic clustering algorithm (GCA). In the CA, a cluster of nodes work on the search space of the SA algorithm. The clusters of nodes assist each other by exchanging their partial results and this helps the nodes to converge to a good initial solution to start with. In the second algorithm, the GA is applied to find the initial n good solutions required as the starting point for the SA algorithm on the n different nodes of the network. The two algorithms have been applied to the JSSP and the travelling salesman problem (TSP). Sadeh and Nakakuki (1996) dealt with experimental results on solving JSSPs simultaneously subject to tardiness and inventory costs. Loukil et al. (2007) presented a paper that deals with a production scheduling problem in a flexible (or hybrid) job-shop with particular constraints: batch production; existence of two steps: production of several sub-products followed by the assembly of the final product; possible overlaps for the processing periods of two successive operations of a same job. Satake et al. (1999) proposed an SA approach that proposed to minimise the makespan of job-shop scheduling. The fundamental idea of this approach is based on the rescheduling activity of the human scheduler. Steinhöfel et al. (1999) presented two SA-based algorithms for the classical, general JSSP where the objective is to minimise the makespan. Ram et al. (1996) presented two distributed algorithms for SA. The first algorithm is known as CA and the second algorithm is GCA. Sadeh and Nakakuki (1996) are dealing with experimental results on solving JSSPs simultaneously subject to tardiness and inventory costs.

A brief review of the literature on job shop scheduling reveals that no particular research has been considered fuzzy processing times of operations and fuzzy due dates of jobs with percentage of inventory consumption and profit earned form the order in job shop scheduling. In this paper, fuzzy processing times of operations and fuzzy due dates of jobs with percentage of inventory consumption and profit earned form the order are considered and average weighted tardiness, number of tardy jobs, total flow time and idle times of machines have been minimised. GA is used as a heuristic technique with

128 M.N. Islam et al.

specially encoded chromosomes that denotes the complete schedule of the jobs. A local search technique, SA is also used to compare the results obtained in two different methods.

2 Problem formulation

A typical JSSP considers N jobs {J1, ……, Jj, ………, JN} with given release dates rj and due dates dj, j = 1, …., N, respectively, that have to be scheduled on a set of M machines {M1, ……, Mi, ………, MM}. A series of operations are required to complete a particular job where some precedence constraints are imposed. Each operation of a job Jj processed on a machine Mi is represented by a job ID jis where s denotes the sequence number of the operation, while the processing time is denoted by pij. If the job does not require processing in a particular machine, the processing time of the corresponding is equal to zero.

In a real world situation the scenario is different. The processing times of jobs are uncertain and can be represented as fuzzy sets. The processing time of each operation can be estimated considering the nature of the machines in use. While there are some machines are automated and can be operated in different speeds, others are staff-operated and therefore the processing time is staff-dependent. Uncertain processing time (pij) is modelled by a triangular membership function (triMF) represented by a triplet

1 2 3( , , ),ij ij ijp p p where 1ijp and 3

ijp are lower and upper bounds of the processing time,

while 2ijp is a so-called modal point. The values 1 ,ijp 2

ijp and 3ijp are interpreted as

optimistic, moderate and pessimistic processing times of job Jj on machine Mi. An example of a fuzzy processing time is shown in Figure 1.

Figure 1 Example of fuzzy processing time

i jp

μ

i jp

1ijp 2

ijp 3ijp

0

1

t

A fuzzy due date can represented by a fuzzy doublet 1 2( , ).j jd d In this case, 1jd

represents the date when the job is committed to finish and 2jd is the maximum time the

job can be delayed suggested by the client. The imprecise due dates dj, j = 1, …, N, are represented by trapezoidal fuzzy sets illustrated in Figure 2.

Fuzzy optimisation of multi-objective job shop scheduling 129

Figure 2 Example of fuzzy due time

2id1

id

jd

jdμ

0

1

t

2.1 Problem statement

An FMOJSSP has been formulated as follows. The objectives used to measure the quality of generated schedules are average weighted tardiness of jobs, the number of tardy jobs, total idle time of machines and the total flow time of jobs.

The objectives can be represented as follows:

1 Minimise the average weighted tardiness of jobs in schedule s:

1

1( ) .=

= ∑N

j jj

AT s w TN

(1)

2 Minimise the number of tardy jobs in the schedule s:

1

1 if 0,( ) , where

0 otherwise.=

>⎧= = ⎨

⎩∑

Nj

j jj

TNT s u u (2)

3 Minimise the total idle time of machines in schedule s, where the idle time is defined as time during which the machines are used neither for processing nor for setup:

1 1

( )= =

⎛ ⎞⎜ ⎟= −⎜ ⎟⎝ ⎠

∑ ∑M N

ia iji j

IT s C p (3)

where (i, a) is the last operation in machine Mi and Cia its completion time,

1

Nijj

p=∑ is the total processing time of all jobs on machine Mi and

1

Nijj

aX=∑

is the total time required for setup on machine Mi.

4 Minimise total flow time defined as the total time that jobs spend on the shop floor in the schedule s:

( )1

( ) ; 1, , .=

= − =∑ …N

j jj

TF s C r j N (4)

The constraints considered in this model are as follows:

130 M.N. Islam et al.

a The precedence constraints which ensure that the processing sequence of operations conforms to the predefined order.

b The capacity constraints which ensure that a machine processes one job at a time.

The problem is to find a non-preemptive sequence of operations of N jobs on M machines considering the constraints and objectives. The weights of the jobs are calculated on the basis of inventory information of each job to be processed and profit rate of the jobs. In processing of jobs, different jobs have different material requirements. Profit rate also varies from job to job specially in job shop environment. The model considers the percentage of inventory requirement of each job to process and profit rate of the jobs.

2.2 Assumptions of the model

These are the following assumptions of the model:

1 setup times of machines are considered in processing times of operations for each order

2 no preemption is allowed in the machines

3 each job uses each machine once in the sequence

4 fuzzy processing times and fuzzy due dates are considered

5 machine efficiency is 100%

6 all machines are available at zero in the usage time

7 the scheduling environment is considered static.

3 Problem solving process

The problem solving process is as follows. The inputs of the problem are size of the problem, i.e., number of machines and jobs involved, fuzzy processing times of each operation in the machines, fuzzy due dates of each job, and sequence of operation. These inputs are required to construct the problem. Another important input is weight associated to each job. The weight is calculated on the basis of material requirement of each job Jj while some fuzzy if-then rules are used based on the inventory information. After developing the objective function next step is the aggregation of the objectives. Aggregation of objectives is a process by which multiple objectives of the problem are measured by a single quantity [fitness function value (FFV)] which is used to measure the quality of the schedule. Two different heuristic methods have been applied to select the best valued fitness function. The methods are GA and SA. Solving with GA requires several parameters such as encoding type, length of the chromosome, selection method, reproduction operations, termination conditions, etc. Using GA as a solving procedure a result is obtained. SA is a neighbourhood search method which is used to search the best result with a given annealing schedule. Summery of problem solving approach is shown in Figure 3.

Fuzzy optimisation of multi-objective job shop scheduling 131

Figure 3 Problem solving approach

4 Result analysis

The proposed FMOJSSP has been solved with GA and SA techniques which are coded in Microsoft Visual C++ 6.0 and run on an Asus Laptop X80L series having Intel® Pentium® Dual-core insideTM CPU DUO T2370/ 1.73 GHz and 1 GB of RAM. FIS is used to calculate the job weights based on inventory information for each job and profit rate of the job. Fuzzy Logic Toolbox in MATLAB 7.5.0 R2007 is used to calculate the job weights.

4.1 Case study

A hypothetical case is presented illustrating the FMOJSSP. In this case a printing industry is considered where there are five different operations are to be performed. The operations are cutting, printing, folding, embossing and gluing. These operations are independent and none of the operations are precedent to others. Jobs arrive while requiring different sequences of machines. The operations are completed in five different machines where machine M1 indicates the cutting operation, machine M2 indicates printing operation, machine M3 is for folding operation, machine M4 indicates embossing and machine M5 for gluing operation. There are ten different jobs have been considered and the sequence of the jobs are shown in Table 1.

132 M.N. Islam et al.

Table 1 Information of 5 × 10 FJSSP problems

M1 M2 M3 M4 M5 Dj

J1 2 (10, 13, 16) 4 (4, 7, 9) 1 (10, 12, 13) 3 (5, 6, 7) 5 (6, 8, 9) 58, 66

J2 1 (3, 5, 6) 3 (9, 10, 13) 2 (5, 8, 9) 5 (9, 12, 16) 4 (5, 6, 9) 45, 53

J3 5 (9, 12, 14) 1 (10, 13, 14) 3 (5, 7, 8) 2 (3, 4, 6) 4 (4, 7, 8) 49, 56

J4 3 (10, 12, 16) 2 (1, 2, 4) 1 (6, 8, 10) 5 (1, 3, 5) 4 (7, 8, 11) 38, 44

J5 1 (9, 12, 15) 2 (8, 11, 14) 5 (10, 14, 17) 4 (5, 7, 9) 3 (2, 4, 5) 53, 59

J6 2 (4, 7, 9) 3 (10, 12, 15) 1 (3, 4, 5) 4 (10, 14, 18) 5 (5, 6, 9) 49, 54

J7 1 (8, 12, 13) 3 (2, 4, 6) 2 (10, 14, 18) 5 (5, 7, 9) 4 (4, 5, 8) 49, 55

J8 1 (10, 12, 15) 4 (5, 6, 9) 3 (1, 2, 4) 2 (6, 9, 12) 5 (4, 6, 9) 42, 49

J9 3 (2, 4, 6) 2 (2, 3, 5) 1 (2, 3, 4) 5 (4, 6, 7) 4 (6, 8, 9) 35, 40

J10 1 (5, 8, 9) 2 (6, 8, 9) 3 (8, 12, 16) 4 (6, 9, 12) 5 (7, 11, 13) 60, 62

%INK %PAP ORD PRFT Pr

J1 5 3 100 65 6.5

J2 7 11 100 70 7

J3 6 20 1,000 75 75

J4 2 8 200 55 11

J5 10 7 1,200 80 96

J6 15 8 300 65 19.5

J7 20 13 500 80 40

J8 3 9 250 70 17.5

J9 23 7 300 65 19.5

J10 9 14 1,500 55 82.5

Processing times of each operation is shown in parenthesis along with the sequence of the operations. Dj denotes the fuzzy due date by a doublet 1 2( , ).j jd d %INK and %PAP indicates the percent consumption of ink inventory and paper inventory. ORD is the volume of order and PRFT is the profit per unit of production. A profit rate Pr can be calculated using equation (5):

.1,000

×=r

PRFT ORDP (5)

All these three input variables (%INK, %PAP and Pr) are aggregated to find the job weights using Fuzzy Logic Toolbox. A weight wj for each job is obtained based on inventory requirements and profit rate of each job using FIS.

4.2 Calculation of weights using FIS

An FIS rule viewer is shown in Figure 4. There are 27 fuzzy if-then rules have been developed to calculate the job weights. The membership function used for resource requirement inputs are Gaussian membership function (gaussMF), while for the profit

Fuzzy optimisation of multi-objective job shop scheduling 133

rate, triMFs have been used. The membership functions used for job weights are Gaussian bell membership function (gaussbMF). All three input parameters have three fuzzy sets each denoting low, medium and high while the output parameter possess seven fuzzy sets to accommodate the input parameters.

Figure 4 FIS of job weight (see online version for colours)

Using the percentage of inventory requirements data from Table 1 in the input field, the weights for each job can be calculated. The weights are shown in Table 2. Table 2 Job weight of wj

Job Weight Job Weight

1 0.583 6 0.601

2 0.569 7 0.67

3 0.703 8 0.614

4 0.585 9 0.577

5 0.811 10 0.728

4.3 Solving with GA

A computer program developed with Microsoft® Visual C++ is used to solve the problem with different GA parameters. Three different generation numbers 1000, 5000 and 10000 were tested while various combinations of other parameters such as initial population

Resource 1 Resource 2 Profit rate Job weight, Wj

134 M.N. Islam et al.

(10, 30), crossover rate (0.25, 0.50) and mutation rate (0.01, 0.05 and 0.10) were also changed. Best result is obtained using the following parameters for the problem using GA:

• Generation number: 10000

• Crossover type: single point crossover

• Crossover rate: 0.50

• Mutation rate: 0.10

• Fitness function value (total satisfaction grade): 0.439886

• Machine idle time: 12 49 41 58 69

• Computation time: 66,171 millisecond

• Tardy jobs: 1 2 3 4 5 7 9

• Average weighted tardiness: 0.409913

• Best schedule: M1 511 211 811 711 315 413 1011 112 612 913 M2 321 124 522 422 223 723 824 922 1022 623 M3 131 333 431 232 535 732 833 631 931 1033 M4 342 143 544 842 245 445 745 945 1044 644 M5 354 155 553 254 454 754 855 954 1055 655

4.4 Solving with SA

Another program is developed in Microsoft® Visual C++ to solve the problem while SA technique is used. Different initial temperature is set to search the best value with different values of alpha, stopping temperatures and chain lengths. Best result is obtained using the following parameters for the problem using SA.

• Initial temperature: 5,000

• Stopping temperature: 5

• α value: 0.9998

• Fitness function value (total satisfaction grade): 0.368002

• Machine idle time: 51 65 96 99 113

• Computation time: 1,496 millisecond

• Tardy jobs: 1 2 4

• Average weighted tardiness: 0.173784

Fuzzy optimisation of multi-objective job shop scheduling 135

• Best schedule: M1 211 112 511 413 315 811 711 612 913 1011 M2 124 223 321 422 522 824 922 623 1022 723 M3 131 232 333 431 535 833 931 631 732 1033 M4 143 245 342 445 544 842 945 644 745 1044 M5 155 254 354 454 553 855 954 655 754 1055

4.5 Convergence analysis

A convergence analysis is performed using the best values in each generation. From Figure 5, it is observed that at generation number 3790, the best value is obtained.

Figure 5 Convergence graph of GA no. of generations vs. FFV (see online version for colours)

0.32

0.34

0.36

0.38

0.4

0.42

0.44

0.46

150

110

0115

0120

0125

0130

0135

0140

0145

0150

0155

0160

0165

0170

0175

0180

0185

0190

0195

01

FFV

Generation numbers

5×10 Problem

4.6 Comparison of results between two methods

Problems of different sizes (5 × 10, 5 × 15, 6 × 6 and 9 × 9) have been tested using GA and SA. Figure 6 shows that when the problem size increases and non-uniform, i.e., number of machines are less than the jobs (5 × 10, 5 × 15) GA responds better than SA while for uniform problems sizes (6 × 6, 9 × 9) difference between the FFVs are less. Though in all cases the GA shows better values, it suffers from its high computation time (CT).

From Figure 7, it can be noted that for all four problems CT for GA is very much higher than the SA. One possible reason for this is in case of GA, the program has to check the combinations for several times to obtain a feasible schedule where as in SA as the perturbation is less than GA in every step SA converges to optimality soon.

136 M.N. Islam et al.

Figure 6 Effect of problem size on FFV (see online version for colours)

0.439886

0.4329710.386097

0.2885470.367347

0.357409 0.351135

0.272568

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5

5×10 5×15 6×6 9×9

FFV

/OB

J V

Problem Size

GA

SA

Figure 7 Effect of problem size on CT (see online version for colours)

66171 79656

215468

474406

1469 979745484 64422

050000

100000150000200000250000300000350000400000450000500000

5×10 6×6 5×15 9×9

Mili

seco

nd (m

s)

Problem size

GA

SA

Fuzzy optimisation of multi-objective job shop scheduling 137

5 Conclusions

Scheduling problems are the most common type of problems in the industries and among them JSSP is one of the toughest combinatorial problems. It had been studied for the last few decades and still attracts the researchers because of its newness of complexity. In a real production system, there are a number of parameters which cannot be predicted earlier. Due to various reasons, unwanted disruption may occur to the system. There are several approaches to incorporate the uncertainty to the problems. Among them fuzzy systems are comparatively new and can be applied to a wide variety of problems. A multi objective JSSP has been considered in this research while uncertainty is added through fuzzy processing times of operations and fuzzy due dates. Several objectives have been considered like minimising the average weighted tardiness, number of tardy jobs, total idle time of the machines and total flow time. The problem also considers the percentage of inventory consumptions and profit will be earned from the jobs while calculating the job weights. FIS is used to calculate the weights. The fuzzy objectives are aggregated by agreement index. GA and SA are used to solve the problem. A special encoding is used for GA where the chromosome itself represented the complete schedule while the chromosomes are divided into sub-chromosomes. A new type of crossover type has been proposed to avoid further repair by other method have been proposed. Though a number of researches have been carried out to solve FMOJSSPs none of them considered the inventory requirement information for the problem. Another important aspect is the profit rate which is also considered while calculating the weights. Different problem sizes have been tested with developed algorithm. It is found that in all cases the problem GA shows better values than SA but when the problem size increases, i.e., number of machines and jobs, the difference between the FFVs decreases. Interestingly, the CT is less in SA than GA in every case and it is exponential to the size of the problem. The possible reason is in case of GA after the crossover and mutation operation, the schedules (chromosomes) are checked which takes a longer time to compute. In the contrary SA changes a single operation (genes) at a time which takes less time to compute.

Minimising setup times can be added as another objective. As job shop condition is highly unpredictable, a provision to include the setup times may make the problem more realistic. Different crossover types such as two-point and multiple-point crossover operator can be tested. Neighbourhood generation is one of the most important parts of SA which can change the algorithm efficiency. In this problem a random move is suggested. A new neighbourhood structure can be created to improve the solution quality. Cooling schedule is another important parameter of SA. In this case a temperature reduction factor α is used in every temperature. A new temperature reduction factor can be developed which may be respondent to the schedule quality. The factor can be changed as the temperature decreases. FIS is used to calculate the job weights. Gaussian and triMFs are use for input variables while for output variables gaussbMF is introduced. Different membership functions such as trapezoidal or sigmoid membership function can be introduced for different resources. New fuzzy if-then rules can be developed depending on the problem type and size.

138 M.N. Islam et al.

Acknowledgements

The authors express their sincere gratitude and thanks to the reviewers for their constructive and helpful comments and suggestions to improve the manuscript.

References Adamopoulos, G.I. and Pappis, C.P. (1996) ‘A fuzzy-linguistic approach to a multi-criteria

sequencing problem’, European Journal of Operational Research, Vol. 92, No. 3, pp.628–636.

Baker, K.R. (1974) Introduction to Sequence and Scheduling, John Wiley, NY. Chang, P.T., Yao, M.J., Huang, S.F. and Chen, C.T. (1996) ‘A genetic algorithm for solving a

fuzzy economic lot-size scheduling problem’, International Journal of Production Economics, Vol. 102, No. 2, pp.265–288.

Christos, K. (2005) ‘Inverse scheduling with controllable job parameters’, International Journal of Services and Operations Management, Vol. 1, No. 1, pp.35–43.

Conway, R.W. and Maxwell, W.L. (1967) Theory of Scheduling, Addison-Wesley, MA. Davis, L. (1985) ‘Job shop scheduling with genetic algorithms’, Proceedings of the First

International Conference on Genetic Algorithms, pp.136–140. Duenas, A. and Petrovic, D. (2008) ‘Multi-objective genetic algorithm for single machine

scheduling problem under fuzziness’, Fuzzy Optimization Decision Making, Vol. 7, No. 1, pp.87–104.

Giffler, B. and Thompson, G.L. (1960) ‘Algorithms for solving production-scheduling problems’, Operations Research, Vol. 8, No. 4, pp.487–503.

Golmakani, H.R. and Namazi, A. (2012) ‘Multiple-route job shop scheduling with fixed periodic and age-dependent preventive maintenance to minimize makespan’, Journal of Quality in Maintenance Engineering, Vol. 18, No. 1, pp.60–78.

Hong, T. and Chuang, T. (1999) ‘New triangular fuzzy Johnson algorithm’, Computer and Industrial Engineering, Vol. 36, No. 1, pp.179–200.

Ishii, H. and Tada, M. (1995) ‘Single machine scheduling problem with fuzzy precedence relation’, European Journal of Operational Research, Vol. 87, No. 2, pp.284–288.

Kuroda, M. and Wang, Z. (1996) ‘Fuzzy job shop scheduling’, International Journal of Production Economics, Vol. 44, Nos. 1–2, pp.45–51.

Loukil, T., Teghem, J. and Fortemps, P. (2007) ‘A multi-objective production scheduling case study solved by simulated annealing’, European Journal of Operational Research, Vol. 179, No. 3, pp.709–722.

Petrovic, R. and Petrovic, D. (2001) ‘Multicriteria ranking of inventory replenishment policies in the presence of uncertainty in customer demand’, International Journal of Production Economics, Vol. 71, Nos. 1–3, pp.439–446.

Petrovic, S., Fayad, C., Petrovic, D., Burke, E. and Kendall, G. (2008) ‘Fuzzy job shop scheduling with lot-sizing’, Annals of Operations Research, Vol. 159, No. 1, pp.275–292.

Ram, J., Sreenivas, T.H. and Subramaniam, K.G. (1996) ‘Parallel simulated annealing algorithm’, Journal of Parallel and Distributed Computing, Vol. 37, No. 2, pp.207–212.

Sadeh, N.M. and Nakakuki, Y. (1996) ‘Focused simulated annealing search: an application to job shop scheduling’, Annals of Operations Research, Vol. 63, No. 1, pp.77–103.

Sakawa, M. and Kubota, R. (2000) ‘Fuzzy programming for multiobjective job shop scheduling with fuzzy processing time and fuzzy due date through genetic algorithms’, European Journal of Operational Research, Vol. 120, No. 2, pp.393–407.

Fuzzy optimisation of multi-objective job shop scheduling 139

Satake, T., Morikawa, K., Takahashi, K. and Nakamura, N. (1999) ‘Simulated annealing approach for minimizing the makespan of the general job-shop’, International Journal of Production Economics, Vols. 60–61, No. 1, pp.515–522.

Slany, W. (1996) ‘Scheduling as a fuzzy multiple criteria optimization problem’, Fuzzy Sets and Systems, Vol. 78, No. 2, pp.197–222.

Steinhöfel, K., Albrecht, A. and Wong, C.K. (1999) ‘Two simulated annealing-based heuristics for the job shop scheduling problem’, European Journal of Operational Research, Vol. 118, No. 3, pp.524–548.

Subramanium, V., Ramesh, T., Lee, G.K., Wong, Y.S. and Hong, G.S. (2000) ‘Job shop scheduling with dynamic fuzzy selection of dispatching rules’, International Journal of Advanced Manufacturing Technology, Vol. 16, No. 10, pp.759–764.

Sun, L., Cheng, X. and Liang, Y. (2010) ‘Solving job shop scheduling problem using genetic algorithm with penalty function’, International Journal of Intelligent Information Processing, Vol. 1, No. 2, pp.65–77.

Tavakkoli-Moghaddam, R., Jolai, F., Vaziri, F., Ahmed, P.K. and Azaron, A. (2005) ‘A hybrid method for solving stochastic job shop scheduling problems’, Applied Mathematics and Computation, Vol. 170, No. 1, pp.185–206.