Application Of Idle / Waiting Time
Operator O
i,w
Of An Equivalent Job For A
Job Block Criteria For Minimization of
Rental Cost in Two Stage Flow Shop
Scheduling Problem, In Which Setup Time
separated from Processing Time and each
associated with Probabilities
Dr.Deepak Guptaa , Harminder Singhb ,Jitender Rattanb and Husandeep Kaurc
a
Maharishi Markandeshwar University ,Mullana,Ambala
b
Bhai Gurdas Institute of Engineering & Technology, Sangrur, Punjab.
c
Khalsa college Patiala ,punjab
ABSTRACT:
An attempt is made in this paper to study the n x 2 flow shop production scheduling problem in which the setup time is isolated from processing time and both are associated with their respective probabilities and to follow some restrictive rental policy including equivalent job block criteria. The main aim of the study is to reach the optimal sequence of the jobs in order to minimize the rental cost using idle/waiting time operator through the iterative algorithm. The operator technique is quite an effortless and approach according to the economical and computational point of view and results in optimal schedule rule in order to minimize the rental cost of machines. The following technique is made clear by numerical illustration
KEYWORDS: Job Renting Policy, Make Span, Elapsed Time, Idle time, Idle/waiting Time Operator Oi,w.
INTRODUCTION
A large number of practical and industrial situations which generally arise in production concern to get an optimal schedule of jobs in a set of machines have diverted the attention of researchers, engineers and academic community. The optimization algorithm for two, three multistage flow ship problem in order to minimize the processing times have been developed by people like Johnson (1954), Ignall and Scharge (1965), Campbell (1970), Maggu and Das (1977), Szwarc W. (1977), Singh T.P. et al. (1985, 2005), Bagga P.C. et al. (2003) by considering various parameters. Maggu & Das have introduced the concept of equivalent job block criteria for a job block in the theory of scheduling and idle/waiting time operator. Singh T.P. & Gupta Deepak et al. (2005) have studied the optimal three stage flow shop problem in which the processing time and set up time both are confederated with probabilities including the equivalent job block criteria. In all the above problems the heuristic approach has been adopted.
Further, an attempt has been made by us to find a heuristic algorithm for a two stage scheduling by the application of idle/waiting time operator, the processing time and set up times both are associated with probabilities to minimize the rental cost. The concept of job block is quite applicable in production situation where the priority of one job over the other is taken into account.
THEOREM
Let n jobs 1, 2, 3, …………n are processed through two machines A & B in order AB with processing time ai & bi (I = 1, 2, 3, ……….n) on machine A and B respectively.
If
then
aβ = ap + max (aq – bp, 0)
and
bβ = bq + max (bq – aq, 0)
where β is the equivalent job for job block (p, q) and p, q є {1, 2, 3, …………..n}.
PROOF:
Starting by the equivalent job block criteria theorem for β = (p, q) given by Maggu & Das (5), we have:
aβ = ap + aq - min (bp, aq) …(1)
bβ = bp + bq min (bp, aq) …(2)
Now, we prove the above said theorem by a simple logic:
CASE I: When aq > bp
aq > bp > 0
max { aq > bp, 0} = aq > bp …(3)
and
bp > aq < 0
max { bp > aq, 0} = 0 …(4)
(1) aβ = ap + aq – min (bp, aq)
= ap + aq – bp as aq > bp
= ap + max {aq – bp, 0} using (3)
(2) bβ = bp + bq – min (bp, aq)
= bp + bq – bp as aq > bp
= bq + (bp – bp)
= bq + 0
= bq + max (bp – aq, 0) using (4)
CASE II: When aq < bp
aq – bp < 0
max (aq – aq, 0) = bp - aq
and bp – aq > 0
max (bp – aq, 0) = bp - aq
(1) aβ = ap + aq – min (bp, aq)
= ap + aq – aq as aq > bp
= ap + aq – aq as aq > bp
= ap + 0
= ap + max (aq – bp, 0) using (7) …(9)
(2) bβ = bp + bq – min (bp, aq)
= bp + bq – aq as aq < bp
= bp + (bp – aq)
= bp + max (bp – aq, 0) using (8) …(10)
CASE III: When aq = bp
aq – bp = 0
max (aq – bp, 0) = 0 …(11)
also
bp – aq = 0
max (bp – aq, 0) = 0
(1) aβ = ap + aq – min (bp, aq) …(12)
= bp + aq – ap as bq = ap
= ap + 0
= ap + max (aq – bp, 0) …(13)
(2) bβ = bp + bq – min (bp, aq) …(12)
= bp + bq – bp
= bq + (bp – bp)
= bq + 0
= bq + max (bp – aq, 0) using (12) …(14)
by (5), (6), (9), (10), (13) and (14) we conclude: aβ = ap + aq – max (aq, bp, 0)
bβ = bp + max (bp, aq, 0) for all possible three cases
Let n jobs 1, 2, 3, ………..n are processed through two machines A & B in order AB with processing time ai & bi (i = 1, 2, 3, ……..n) on machine A & B respectively.
If (aio, bio) Oi,w (ai1, bi1) Oi,w (ai2, bi2) Oi,w………. Oi,w (aip, bip) = (aβ, bβ)
Then
(aβ = aio +
1 p
J
max {aij – bi(j-1) 0}and
(bβ = bip +
1 p
J
max {bi(j-1) – aij, 0}where i0, i1, i2, i3, ………ip є {1, 2, 3 …………n} and β is the equivalent job for job
block (i0, i1, i2, i3, ………ip). The proof can be made using Mathematical induction technique on
the lines of Maggu & Das (7).
In the light of above theorem operator Oi,w (Idle/Waiting time Operator) is defined as follows:
DEFINITION 1:
Let R+ be the set of non negative numbers. Let G = R+ x R+. Then Oi,w is defined as a mapping
from G x G → G given by:
Oi,w[(x1, y1), (x2, y2)] = (x1, y1) Oi,w (x2, y2)
= { x1 + max (x2- y1, 0), y2 + max (y1- x2, 0)}
Where x1, x2, y1, y2є R+
DEFINITION 2
An operation is defined as a specific job on a particular machine.
DEFINITION 3
Sum of idle time of M2 (for all jobs) i2= max [i- i, i-i- i ,……i-i, A’i]
= max [Pn,Pn-1……….P2,P1]
= max [Pk] where 1≤k≤n Pk=i - i
and A’i = Ai×pi , B’i =Bi×qi
DEFINITION 4
Total elapsed time for a given sequence.
= Sum of expected processing time on 2 nd machine (M2)+total idle tome on M2
= i1 +i2
= max [Pk] where 1≤k≤n Pk=i- i
NOTATIONS
S : Sequence of jobs 1,2,3,….,n
Ai : Processing time of ith job on machine A.
Bi : Processing time of ith job on machine B
Ai : Processing time of ith job on machine A.
Bi : Processing time of ith job on machine B.
SiB :Set up time of ith job on machine B.
ri : Probability associated to the set up time Ai of ith job on machine A. si : Probability associated to the set up time Bi of ith job on machine Mj : machine j, j= 1,2,…….
A`i : Expected processing time of ith job on machine A.
B`i : Expected processing time of ith job on machine B.
pi : Probability associated to the processing time Ai of ith job on machine A.
qi : Probability associated to the processing time Bi of ith job on machine B.
β: Equivalent job for job – block.
Si: Sequence obtained from Johnson’s procedure to minimize rental cost.
Cj:Rental cost per unit time of machine j.
Ui:Utilization time of B (2 nd machine) for each sequence Si
t1 (Si):Completion time of last job of sequence Si on machine A.
t2(Si): Completion time of last job of sequence Si on machine B.
R(Si): Total rental cost for sequence Si of all machines.
CT(Si):Completion time of 1 st job of each sequence Si on machine A.
PROBLEM FORMULATION
Let n jobs 1, 2, 3, …………n be processed through two machines A and B in the order A, B. A job I (I = 1, 2, 3, …………., n) has processing time Ai and Bi on each machine respectively, assuming their respective
probabilities pi and qi such that 0 ≤ pi≤ 1; 0 ≤ qi≤ 1 and Σpi = 1 = Σqi. Let the set up time Si(A) and Si(B) are being
separated with processing time associated with respective probabilities ri and si on each machine such that Σri =
Σpi = 1.Let β be an equivalent job for job block in which one job is given priority over a another job.
Also we consider the following structure relationship holds good. Either
min ail pil≥ max (aij pij) for j = 2, 3, ………, m-1.
min aim pim≥ max (aij pij) for j = 2, 3, ………, m-1.
Tableau 1
Let α = (p, q) be an equivalent job block in which job p is given priority on a job q.Our
objective of study is to minimize the rental cost Our objective is to find the optimal schedule of all jobs which minimize the total rental cost, when costs per unit time for machines A & B are given while minimizing the make span.
PRACTICAL SITUATION
Certain situations arise in real life when one receives assignments but is deprived of one’s own machine, the financial aspect, or is reluctant to take risk of investing huge amount of money to purchase a machine. Under such circumstances, the machine has to be taken on rent in order to complete the assignments. The examination branch or a board/institute requires machine as data entry machine, computer, printer etc., on rent for
computerizing & compiling examination as a result for the secrecy point of view. A point to be noted is that sometimes in hospitals, industries concern; sometimes the priority of one job over the other is preferred. It may
Jobs
Machine A
Machine B
I A
ip
iS
iAr
iB
iq
iS
iBs
i1 A
1p
1S
1Ar
1B
1q
1S
1Bs
12 A
2p
2S
2Ar
2B
2q
2S
2Bs
23 A
3p
3S
3Ar
3B
3q
3S
3Bs
34 A
4p
4S
4Ar
4B
4q
4S
4Bs
4-
-
-
ASSUMPTIONS
Machine break down is not taken into account. This easies the problem by ignoring the stochastic component of the problem.
Jobs are independent to each other.
We assume rental policy that all the machines are taken on rent as and when they are required and are returned as when they are no longer required for processing. Under this policy second machine is taken on rent at time when first job completes its processing on first machine. Therefore idle time of second machine for first job is zero.
Pre- emption is forbidden i.e. jobs cannot be split, clearly, once a job has been started on a machine, the process on that machine can’t be stopped unless the job is completed.
NUMERICAL ILLUSTRATION
Let 5 jobs be processed through three machine M1 & M2 and their processing time, set up times with their
respective probabilities are given in following table
Job
Machine M
1Machine M
2i a
i1p
i1S
i1q
i1a
i2p
i2S
i2q
i21 25 0.2 9 0.2 40 0.2 6 0.2
2 30 0.1 7 0.2 45 0.3 9 0.2
3 35 0.1 8 0.1 52 0.3 7 0.1
4 22 0.3 5 0.2 61 0.1 9 0.2
5 28 0.3 6 0.3 36 0.1 5 0.3
Tableau 2
Our objective is to minimize the total rental cost of the machine, in which jobs are to be processed as a group job (2,4) and the rental cost of the Two machines is 10 and 20 unit respectively .
SOLUTION
Step 1- defines new expected processing time.A’i & B’i onmachine A & B respectively as shown below
I A’
IB’
I1 5-1.2=3.8 8-1.8=6.2
2 3-1.8=1.2
13.5-1.4=12.1
3 3.5-0.7=2.8 15.6-0.8=14.8
4 6.6-1.8=4.8
6.1-0.1=5.1
5 8.4-1.5=6.9
3.6-1.8=1.8
Tableau 3
Step 2 – Arrange the order of jobs in the form of job block β by using idle/waiting time operator method. This gives optimal order in β = (2, 4)
Let job block (2, 4) = β
(G2, H2) Oi,w (G4, H4) = {(ap + max (aq - bp, 0), (bq + max (bp - aq, 0)}
= (1.2+0 ,5.1+0) = (1.2, 5.1)
Step 3- Now the new reduced problem with expected processing time A1i & B1i and job block (2, 4) being
Jobs A
1iB
1i1 3.8 6.2 β 1.2 5.1
3 2.8 14.8
5 6.9 1.8
Tableau 4
Using Johnson's method optimal sequence is S1={2,4,3,1,5}
Other optimal sequences for minimize rental cost, are S2= {3, 2, 4, 1, 5}
S3= {1, 2, 4, 3, 5}
S4= {5, 2, 4, 3, 1}
Step 4-In-out table for sequence S1= {2, 4, 3, 1, 5}
Job Machine
A
In--Out
Machine B
In--Out
2
0 - 3
3-16.5
4 4.4-11
18.3-24.4
3 12-15.5
26.2-41.8
1 16.3-21.3
42.5-50.5
2 23.1-31.5
51.7-55.3
Tableau 5
Thus the total elapsed time = 55.3
and utilization time for M2 = 55.5 - 3= 52.5 In-out table for sequence S2= {3, 2, 4, 1, 5}
Job Machine
A
In--Out
Machine B
In--Out
3 0-3.5 3.5-19.1
2 4.3-7.3
19.8-33.3
4 8.7-15.3
34-40.1
1 16.3-21.3
41.9-49.9
5 23.1-31.5
51.1-54.7
Tableau 6
Thus the total elapsed time = 54.7
Job Machine
A
In--Out
Machine B
In--Out
1 0-5 5-13
2 6.8-9.8
14.2-29.8
4 11.2-17.8
31.6-37.6
3 18.8-22.3
43.7-49.3
5 23.1-31.5
50-53.6
Tableau7
Thus the total elapsed time = 53.6 And utilization time for M2 = 48.6 In-out table for sequence S4={5, 2, 4, 3, 1}
Job Machine
A
In--Out
Machine B
In--Out
5 0-8.4 8.4-12
2 10.2-13.2
13.5-27
4 14.6-21.2
27.7-33.8
3 22.2-25.7
35.6-51.2
1 26.5-31.5
51.9-65.4
Tableau8
Thus the total elapsed time = 65.4 and utilization time for M2 =65.4-8.4 =57
The total utilization of A machine is fixed 31.5 units and minimum utilization time of B machine is 48.6 units for sequence S3= {3, 2, 4, 1, 5}
\
Total rental cost =10 x 31.5 +20 x 48.6 =1287 units
PROGRAM:
#include<iostream.h> #include<conio.h> #include<process.h> #include<math.h> void main() { clrscr();
float M1[2][20]; float M2[2][20]; float sm1[2][20]; float sm2[2][20]; int jobs,j,i; float check=0;
cin>>jobs; if(jobs<=1 || jobs>20) {
cout<<"Incorrect Jobs"; exit(0);
}
cout<<"Enter time required for jobs by number 1 Machine"; for( i=0;i<2;i++)
{
if(i==1) { ab:
check=0; i=1;
cout<<"Enter Probbilities for jobs by machine 1"<<endl; }
for( j=0;j<jobs;j++) {
cin>>M1[i][j]; }
}
for(i=0;i<jobs;i++) {
check=check+M1[1][i]; }
if(check!=1) {
cout<<"sum of probability should be = 1\n"; goto ab;
}
cout<<"Enter time required for jobs by number 2 Machine"; for( i=0;i<2;i++)
if(i==1) {
ab1: i=1;
check=0;
cout<<"Enter Probbilities for jobs by machine 2"<<endl; }
for( j=0;j<jobs;j++) {
cin>>M2[i][j]; }
}
for(i=0;i<jobs;i++) {
check=check+M2[1][i]; }
if(check!=1) {
cout<<"sum of probability should be = 1\n"; goto ab1;
}
cout<<"Enter the setup time for jobs by number 1 Machine"; for( i=0;i<2;i++)
{
if(i==1) {
abc: i=1;
check=0;
cout<<"Enter Probbilities for setup time jobs by machine 1"<<endl; }
{
cin>>sm1[i][j];
} }
for(i=0;i<jobs;i++) {
check=check+sm1[1][i]; }
if(check!=1) {
cout<<"sum of probability should be = 1\n"; goto abc;
}
cout<<"Enter the setup time for jobs by number 2 Machine"; for( i=0;i<2;i++)
{
if(i==1) {
abcd: i=1;
check=0;
cout<<"Enter Probbilities for setup time jobs by machine 2"<<endl; }
for( j=0;j<jobs;j++) {
cin>>sm2[i][j];
} }
check=check+sm2[1][i]; }
if(check!=1) {
cout<<" sum of probability sholud me =1\n"; goto abcd;
} int GroupJob[2];
cout<<"Enter Group Jobs\n"; for(i=0;i<2;i++) {
cin>>GroupJob[i]; }
float cost1,cost2;
cout<<"Enter cost for machine1 \n"; cin>>cost1;
cout<<"Enter cost for machine2 \n"; cin>>cost2;
float EPT1[20],EPT2[20]; for(i=0;i<jobs;i++) {
EPT1[i]=M1[0][i]*M1[1][i]-sm2[0][i]*sm2[1][i]; cout<<"ept1"<<EPT1[i]<<endl;
EPT2[i]=M2[0][i]*M2[1][i]-sm1[0][i]*sm1[1][i]; cout<<"ept"<<EPT2[i]<<endl;
}
float EPT11[20],EPT12[20]; for(i=0;i<jobs;i++)
{
cout<<"ept"<<EPT12[i]<<endl; }
float EST1[20],EST2[20]; for(i=0;i<jobs;i++)
{
EST2[i]=sm2[0][i]*sm2[1][i]; cout<<"est2"<<EST2[i]<<endl; EST1[i]=sm1[0][i]*sm1[1][i]; cout<<"est1"<<EST1[i]<<endl; }
float MAD1=0.0,MAD2=0.0;
for(j=0;j<2;j++) {
MAD1=MAD1+EPT1[GroupJob[j]-1]; MAD2=MAD2+EPT2[GroupJob[j]-1];
}
cout<<MAD1<<" "<<MAD2<<endl;
if(EPT1[GroupJob[1]-1]>EPT2[GroupJob[0]-1]) {
MAD1=MAD1-EPT2[GroupJob[0]-1]; MAD2=MAD2-EPT2[GroupJob[0]-1];
} else {
MAD1=MAD1-EPT1[GroupJob[1]-1]; MAD2=MAD2-EPT1[GroupJob[1]-1];
}
j=0;
float Reduced1[20],Reduced2[20]; int order[20];
for(i=0;i<jobs;i++) {
if(!(GroupJob[0]==i+1 || GroupJob[1]==i+1)) {
Reduced1[j]=EPT1[i]; Reduced2[j]=EPT2[i]; order[j]=i+1;
j++; }
else if(count==0) {
Reduced1[j]=MAD1; Reduced2[j]=MAD2; order[j]=-1;
count++; j++; }
}
cout<<"Reduced1 : "<<endl;; for(i=0;i<jobs-1;i++) {
cout<<Reduced1[i]<<" "; }
cout<<"Reduced2 : "<<endl;; for(i=0;i<jobs-1;i++) {
cout<<Reduced2[i]<<" "; }
j=0; int k=0;
for(i=0;i<jobs-1;i++) {
if(Reduced1[i]>Reduced2[i]) {
min2[j]=Reduced2[i]; order2[j]=order[i];
j++; }
else {
min1[k]=Reduced1[i]; order1[k]=order[i];
k++; }
} int l,m;
cout<<"min1 is : "<<endl; for(l=0;l<k;l++)
{
cout<<min1[l]<<" "; }
cout<<"min2 is : "<<endl; for(l=0;l<k;l++)
{
cout<<min2[l]<<" "; }
float temp; int tmp;
for(m=0;m<k-1;m++) {
if(min1[m]>min1[m+1]) {
temp=min1[m]; min1[m]=min1[m+1]; min1[m+1]=temp; tmp=order1[m];
order1[m]=order1[m+1]; order1[m+1]=tmp;
} }
}
for(l=0;l<j-1;l++) {
for(m=0;m<j-1;m++)
{ if(min2[m]<min2[m+1]) { temp=min2[m];
min2[m]=min2[m+1]; min2[m+1]=temp; tmp=order2[m];
order2[m]=order2[m+1]; order2[m+1]=tmp;
} }
}
int real[20]; m=0;
cout<<"So the Required sequence is: "<<endl; for(i=0;i<k;i++)
{ for(l=0;l<2;l++) {
real[m]=GroupJob[l]; m++;
cout<<GroupJob[l]<<endl; }
} else {
real[m]=order1[i]; m++;
cout<<order1[i]<<endl; }
}
for(i=0;i<j;i++) {
if(order2[i]==-1) {
for(l=0;l<2;l++) {
real[m]=GroupJob[l]; m++;
cout<<GroupJob[l]<<endl; }
} else {
real[m]=order2[i]; m++;
cout<<order2[i]<<endl; }
cout<<"Flow time for machine 1"<<endl; float time=0.0,time2,initial2;
for(i=0;i<jobs;i++) {
cout<<real[i]<<" "<<time<<" to "<<time+EPT11[real[i]-1]<<endl; if(i==jobs-1)
{
initial2=time+EPT11[real[i]-1]; }
time=time+EPT11[real[i]-1]+EST1[real[i]-1]; }
time=EPT11[real[0]-1];
cout<<"Flow time for machine 2"<<endl; time2=EPT11[real[0]-1];
float initial; float last; initial=time2; for(i=0;i<jobs;i++) {
cout<<real[i]<<" "<<time2<<" to "<<time2+EPT12[real[i]-1]<<endl; if(i==jobs-1)
{
last=time2+EPT12[real[i]-1]; }
time=time+EPT11[real[i+1]-1]+EST1[real[i]-1]; time2=time2+EPT12[real[i]-1]+EST2[real[i]-1]; if(time2<time)
{
time2=time; }
cout<< "total rental cost is ("<<cost1<<"*"<<initial2<<")+("<<cost2<<"*("<<last<<"-"<<initial<<")) is" <<(cost1*initial2)+(cost2*(last-initial));
cout<<"other sequences are: \n"; int real1[20];
for(j=0;j<jobs;j++) {
if(EPT1[real[0]-1]<EPT1[j]) {
for(k=0;k<jobs;k++) {
if(j+1==real[k]) {
break; }
}
if(j+1== GroupJob[0] || j+1== GroupJob[1] ) {
if( EPT1[GroupJob[0]-1]<=EPT1[real[0]-1]) {
break; }
real1[0]=GroupJob[0]; real1[1]=GroupJob[1]; for(l=k+1;l>1;l--)
{
real1[l]=real[l-2]; }
for(l=k+2;l<jobs;l++) {
real1[l]=real[l]; }
{
real1[0]=j+1;
for(l=k;l>0;l--) {
real1[l]=real[l-1]; }
for(l=k+1;l<jobs;l++) {
real1[l]=real[l]; }
}
for(i=0;i<jobs;i++) {
cout<<real1[i]<<" "; }
cout<<endl;
cout<<"Flow time for machine 1"<<endl; float time=0.0,time2,initial1;
for(i=0;i<jobs;i++) {
cout<<real1[i]<<" "<<time<<" to "<<time+EPT11[real1[i]-1]<<endl; if(i==jobs-1)
{
initial1=time+EPT11[real[jobs-1]-1]; }
time=time+EPT11[real1[i]-1]+EST1[real1[i]-1]; }
time=EPT11[real1[0]-1];
cout<<"Flow time for machine 2"<<endl; time2=EPT11[real1[0]-1];
for(i=0;i<jobs;i++) {
cout<<real1[i]<<" "<<time2<<" to "<<time2+EPT12[real1[i]-1]<<endl; if(i==jobs-1)
{
last=time2+EPT12[real[i]-1]; }
time=time+EPT11[real1[i+1]-1]+EST1[real1[i]-1]; time2=time2+EPT12[real1[i]-1]+EST2[real1[i]-1]; if(time2<time)
{
time2=time; }
}
cout<<"total rental cost is : ("<<cost1<<"*"<<initial1<<")+("<<cost2<<"*("<<last<<"-"<<ini<<")) "<<(initial1*cost1)+((last-ini)*cost2);
getch(); }
cout<<endl; }
getch(); }
References
[1] Johnson S. M. [1954], optimal two and three stage production schedule with set up times included. Nay Res Log Quart Vol 1 pp 61-68. [2] Ignall, E., and Schrage, L.[1965], “Application of the branch and bound technique to some flow shop scheduling problems.”Operation
Research, 13, 400-412
[3] P.C.Bagga[1969], Sequencing in a rental situations, Journal of Canadian Operation Research Society 7 ,152-153 [4] Maggu P. L and Das G.[1977], equivalent jobs for job block in job sequencing, Opsearch, Vol 14, No. 4, pp 277-281. [5] Szware, W [1977], Special cases of the flow shop problems, Naval Research Log,Quartly 24,403-492.
[6] Yoshida and Hitomi[1979], optimal two stage production scheduling with set up times [7] separated. AIIETransactions. Vol. II.pp 261-263.
[8] Singh T.P [1985], on n×2 shop problem involving job block. Transportation times and BreakdownMachine times, PAMS Vol. XXI No. 1-2
[9] Johnson, S.M., Optimal two & three stage production schedules with set up times includes, Nav. Res. Log. Quart. Vol 1. pp 61-68(1954).
[10] W.E.Smith, Various optimizers for single stage production, Naval Research logistic 3, pp 89-66(1956).
[11] Ignall E and Scharge, L, Application of branch and bound technique to some flow shop scheduling problems, Operation Research 13, 400-412(1965).
[12] Bagga P.C., Sequencing in a rental situation, Journal of Canadian Operation Research Society.7 152-153(1969).
[13] Campbell H.A,Duder R.A and Smith M.L, A heuristic algorithm for the n–job, m-machine sequencing problem”Managementscience,1970 16,b630-b637(1970)
[14] Maggu, P.L & Dass. G, Equivalent jobs for job block in job sequencing, Opsearch, Vol. 14 No. 4, pp. 277-281(1977). [15] Szware, W., Special cases of flow shop problem, Naval Research Logistics Quarterly, 24, pp 483-492(1977).
[16]Maggu, P.L. and Das, G., “On idle/waiting time operator Oi,w having applications to solution of some sequencing/scheduling
[18] Singh , T.P., On n x 2 flow shop problem solving job block, Transportation times, Arbitrary time and Break-down machine times, PAMS Vol. XXI, No. 1-2 ( 1985).
[19] Adiri; I., Bruno, J., Frostig, E. and Kan; R.A.H.G, Single machine flow time scheduling with a single break-down, Acta Information, Vol.26(No.7) : 679-696(1989).
[20] Akturk, M.S. and Gorgulu, E, Match up scheduling under a machine break-down, European journal of operational research: 81-99(1999).
[21] Chander Shekharn, K, Rajendra, Deepak Chanderi, An efficient heuristic approach to the scheduling of jobs in a flow shop, European Journal of Operation Research 61, 318-325(1992).
[22] Singh, T.P., K, Rajindra & Gupta Deepak , Optimal three stage production schedule the processing time and set up times associated with probabilities including job block criteria, Proceeding of National Conference FACM- [2005], 463-470.
[23] Chandramouli, A.B., Heuristic approach for N job 3 machine flow shop scheduling problem involving transportation time, break-down time and weights of jobs, Mathematical and Computational Application, Vol.10 (No.2):301-305(2005).
[24] Singh, T.P, Gupta Deepak , Minimizing rental cost in two stage flow shop , the processing time associated with probabilies including job block, Reflections de ERA, Vol 1. issue 2, pp 107-120(2006).
[25] Belwal, O.K. and Mittal Amit, N jobs machine flow shop scheduling problem with break-down of machines, transportation time and equivalent job block, Bulletin of Pure & Applied Sciences-Mathematics, Jan-June,2008 Source Volume 27 Source issue: 1(2008). [26] Gupta Deepak, Sharma Sameer, Minimizing rental cost under specified rental policy in two stage flow shop, the processing time