Problem Description
In the permutation flow shop sequencing
problem n jobs have to be processed (in the same order) on m
machines. The objective is to find the permutation of jobs that will
minimize the makespan, that is, the time at which the last job is
completed on machine m.
Let t(i,j) be the processing time (cost) for job i on machine
j
and let x = (x(1),x(2),...,x(n)) be a job permutation. Then
the completion time C(x(i),j)
for job i on machine
j can be
calculated as follows:
C(x1,1) = t(x(1),1)
C(xi,1) = C(x(i-1),1) + t(x(i),1), i = 2,...,n
C(x1,j) = C(x(1),j-1) + t(x(1),j), j = 2,...,m
C(xi,j) = max{C(x(i-1),j),C(x(i),j-1)} + t(x(i),j),
for all i = 2,...,n, j = 2,...,m
The objective is to minimize S(x) = C(x(n),m). The trajectory
generation for the PFSP is exactly the same as in the TSP.
This problem is described in Exercise 7.6.4 in [7].
Programs
- pfsp.m
This MATLAB program gives the best found permutation via the CE method.
- Usage:
Call the program from MATLAB, with the following syntax:
[x,t]=pfsp(N,rho,alpha,traj,n,m,t,z)
Example: [perm,cost]=pfsp(100,0.1,0.8,2,10,2,t,10)
where t is a 10 x 2 matrix of costs.
Inputs: |
|
|
N |
- |
Number of samples to generate each round |
rho |
- |
fraction of best samples to take |
alpha |
- |
smoothing parameter |
traj |
- |
0, node transitions, x(1)=1 |
|
|
1, node transitions, x(1) random |
|
|
2, node placement (default) |
n |
- |
number of jobs |
m |
- |
number of machines |
t |
- |
t(i,j) is the cost of job i on machine j |
z |
- |
number of succesive rho-th quantiles the same before stop |
|
|
|
Outputs: |
|
|
x |
- |
the output permutation |
t |
- |
the cost (in time) matrix used |
- gpfsp.m
This program is used internally to generate tours via node transitions.
- gpfsp2.m
This program is used internally to generate tours via node placement, using the first row of the P matrix to generate the first position.
- gpfsp3.m
This program is used internally to generate tours via node placement, using a random row of the P matrix to generate the first position.
- fpfsp.m
This MATLAB program gives the best found permutation via the CE method, using ``fast'' trajectory generation, as mentioned in Remark 4.12, and described in Algorithms 4.11.3 and 4.11.4, as well as Section 4.11.2 in [7].
- Usage:
Call the program from MATLAB, with the following syntax:
[x,t]=fpfsp(N,rho,alpha,traj,n,m,t,z)
Example: [perm,cost]=fpfsp(200,0.05,0.75,3,12,1,t,10)
where t is a 12 x 3 matrix of costs.
Inputs: |
|
|
N |
- |
Number of samples to generate each round |
rho |
- |
fraction of best samples to take |
alpha |
- |
smoothing parameter |
traj |
- |
0, alias technique (default) uses x% = 70% |
|
|
1, composition method |
n |
- |
number of jobs |
m |
- |
number of machines |
t |
- |
t(i,j) is the cost of job i on machine j |
z |
- |
number of succesive rho-th quantiles the same before stop |
|
|
|
Outputs: |
|
|
x |
- |
the output permutation |
t |
- |
the cost (in time) matrix used |
- fgpfsp.m
This program is used internally to generate tours via the alias speed-up.
- fgpfsp2.m
This program is used internally to generate tours via the composition speed-up.
- spfsp.m
This program is used internally to evaluate the performance of these algorithms.
cetoolbox www user
2004-12-17