A Heuristic Approach to n × m Flow Shop Scheduling Problem in Which Processing Times Are Associated with Their Respective Probabilities with No-Idle Constraint

This paper is an attempt to study general n × m flow shop scheduling problem in which processing time of jobs is associated with probabilities under no-idle constraint. The objective of this paper is to develop a heuristic algorithm to n ×m flowshop scheduling so that no machine remains idle during working for any given sequence of jobs. The proposed algorithm is simple, and easy to understand and provides an important tool in many practical situations for minimizing the expected hiring cost of the machines for a fixed sequence of job processing. A numerical illustration is also given to justify the proposed algorithm.


Introduction
In flow shop scheduling problems, the objective is to obtain a sequence of jobs which when processed on the machines will optimize some well-defined criteria.Every job will go on these machines in a fixed order of machines.The research into flow shop problems has drawn a great attention in the last decades with the aim to increase the effectiveness of industrial production.Johnson [1] gave procedure for finding the optimal schedule for -jobs, two-machine flow-shop problem with minimization of the makespan (i.e., total elapsed time) as the objective.Ignall and Scharge [2] applied Branch and Bound technique for obtaining a sequence which minimizes the total flow time.In addition Adiri and Pohoryles [3] elucidated no-idle scheduling to minimize the sum of completion time.Rajendran and Chaudhuri [4] have given conditions to obtain a sequence which minimizes total flow time subject to minimum makespan in a two-stage flow shop problem.Szwarc [5], Yoshida and Hitomi [6], Anup [7], and so forth, derived the optimal algorithm for two/three or multistage flow shop problems taking into account the various constraints and criteria.Singh et al. [8] associated probabilities with processing time and setup time in their studies.Later, Gupta et al. [9] and Gupta and Singh [10] studied ×2 general flow shop problem to minimize rental cost under a predefined rental policy in which the probabilities have been associated with processing time on each machine and other scheduling problems by considering various parameters like transportation, idle/waiting operator, and so forth.Narain and Bagga [11][12][13] studied the flow shop problem with the objective being total rental cost.The total rental cost is minimized when idle time on all the machines is zero.
Under the no-idle situation, machines work continuously without any break; that is, machines should not remain idle once they start processing the first job.The no-idle situation arises in real life world, when machines have to be hired to complete an assignment.Minimization of the total expected hiring cost of the machines would be the objective in these type of situations.The total expected hiring cost of the machines will be at a minimum when idle times on the machines are minimum.Hence, the total expected hiring cost of the machines will be minimum when the idle times of all the machines are zero and under no-idle situation each machine is to be hired for time that is equal to the sum of processing times of all the jobs on it.We are extending the study done by Gupta Deepak including the concept of no-idle scheduling by associating probabilities to the processing time of the jobs.The present paper is an attempt to study the nm general flow shop scheduling with an objective to develop a heuristic algorithm such that no machine remains idle.

Practical Situation
Many applied and experimental situations exist in our day-today working in factories and industrial production concerns, and so forth, in which different jobs are processed on various machines in a fixed order.For example, in a foundry workshop, the drawing of iron round, cutting, heating, forging, machining, finishing, and packing of finished articles have a fixed order of processing that cannot be altered.Various practical situations also occur in real life when one has got the assignments but does not have one's own machine or does not have enough money or does not want to take risk of investing huge amount of money to purchase machine.Under such circumstances, the machine has to be taken on rent in order to complete the assignments.Hiring of machines is an affordable and quick solution in various production, which is presently constrained by the availability of limited funds due to the recent global economic recession.Hiring enables saving working capital, gives option for having the equipment, and allows upgradation to new technology.

Notations and Definitions
The various notations used throughout the paper are as follows: : given fixed sequence of jobs,   : machine ,  = 1, 2, 3, . . ., ,  , : processing time of th job on machine   ,  , : probability associated to the processing time  , ,  , : expected processing time of th job on machine   ,  , (): completion time of th job of sequence  on machine   ,  , (): idle time of machine   for th job in the sequence ,   , (): idle time of machine   for th job in the sequence  when machine   starts at latest time   .
Definition 1. Completion time of th job on machine   is denoted by  , and is defined as where  , = expected processing time of th job on machine .
Definition 2. Completion time of th job on machine   when   starts processing jobs at time   is denoted by   , and is defined as (2) Also, Theorem 3. The time at which machine   should be taken on rent (or starts processing jobs) to have zero idle time on   is where ( Proof.Proof is based on mathematical induction.It will be shown that if machine   starts processing jobs at time   , then the idle time of   is zero as Therefore,   ≥   for  = 1, 2, 3, . . ., . From ( 6), if machine  2 is taken on rent at time  2 , then it will start processing the first job without waiting.Therefore, idle time of machine  2 for first job is zero when it starts processing jobs at time  2 as for  = 2, 3, . . ., .
Let the result hold for  = 5.Now we will also show that the result is also true for  =  + 1. But (,1) ≤  +1 .
From ( 8), if machine  +1 is taken on rent at time  +1 , then it will start processing the first job without waiting.Therefore, idle time of machine  +1 for the first job is zero when it starts processing jobs at time  +1 .
Assumptions.(1) No machine processes more than one job at a time.
(2) Preemption of jobs is not allowed.
(3) Machines never breakdown during the scheduling process.
(4) Each job is processed through each of the machines once and only once.
(5) All the jobs and the machines are available at the beginning of the processing.
(6) Jobs are independent of each other.

Algorithm
The algorithm given in this paper provides the procedure to determine the times at which machines should be hired so that the idle time becomes zero, minimizing total expected hiring cost under the given policy.
Step 3. Compute  +1 for the machine pair (  ,  +1 ) by the formula Step 4. Calculate latest time   for the machine pair (  ,  +1 ) by the formula Step 5. Prepare the in-out table for the machines with latest times   ; the idle time is zero for all machines.

Fuzzy Logic Engine
The calculations have been done using C++ program by using different values of processing times and probabilities (Algorithm 1).Based on the results, fuzzy logic engine has been formed in MATLAB fuzzy logic toolbox.The fuzzy logic rule base is based on the results generated from the C++ program.
The membership function values and fuzzy rules are formed on the base of data generated from C++ program.Figure 1 shows the fuzzy logic system which consists of two inputs: processing time and probability and three output variables namely,  2 ,  3 , and  4 .Figure 2 illustrates the membership functions for input processing time.Figure 3 illustrates the membership functions for input probability.Figure 4 illustrates the membership functions for output  3 .Figure 5 illustrates firing of the rule base.

Numerical Illustration
Consider a 5-job, 4-machine sequencing problem whose processing times with their corresponding probabilities given in the Table 1.
Here, our objective is to obtain the latest time of the machines so that no machine remains idle.
Expected processing times are given in Table 2.
For the pair ( 1 ,  2 ), the in-out table is shown in Table 3 as 2 =  2 = 15 units and also we have  1 = 0.

Conclusion
The proposed algorithm provides the latest time at which processing of jobs on second, thired, and so on th machine must be started such that these machines work continuously without any break until the last job is completed on them.
The first machine has no idle time and, hence, works continuously; that is, the proposed algorithm helps the decision makers in determining the best latest time at which machines should be hired for a given set of jobs so as to minimize the total expected hiring cost with no-idle constraint.The study may be extended by introducing concepts of independent setup time, transportation time, job block criteria, and nonavailability constraints of machines for a certain interval of time.

5. 1 .
Surfaces.The control surface for output  2 is shown in Figure 6.The control surface for output  3 is shown in Figure 7.The control surface for output  4 is shown in Figure 8.

Table 1 :
The machines with processing time and corresponding probabilities.

Table 2 :
Expected processing times.

Table 3 :
The in-out table for machines  1 and  2 .

Table 4 :
The in-out table for machines  2 and  3 .

Table 5 :
The in-out table for machines  3 and  4 .

Table 6 :
In-out table.