Flexible Flowlines Data Repository

We apply heuristics and metaheuristics to flexible flowline scheduling problems. The data used to solve flexible flowline scheduling problems came from a given repository.

The data in this directory is a super-set of the data used in the following papers. Please refer to these papers for discussion of flexible flow lines. The description of the data is paraphrased from these papers.

Factory

Selected Publications

  1. 576
  2. 643
  3. 644
  4. 666
  5. 661
  6. 672
  7. 679
  8. 607
  9. 548 [PDF] [Online Article]
  10. 546 [PDF] [Online Article]
  11. 704
  12. 705
  13. 625
  14. 624
  15. 706
  16. 545 [PDF]
  17. 628
  18. 626
  19. 707
  20. 708

Problem Data Factors

Problem data is characterized by six factors:

  1. probability that a job skips a stage
  2. range of processing times
  3. number of stages
  4. whether the number of machines per stage is constant or variable
    range in number of machines per stage
  5. number of jobs

Each of these factors can have at least two levels. When coding the test cases, the letters “L”, “M”, “H” and “A” will be used to form a sextuple in the order described above. The levels of these factors are shown in Table 1. The order in Table 1 is the same order used to name the test cases. We set the mean processing time to 60 and generate setup times that are uniformly distributed between 20% and 40% of the mean processing time.

In general, all combinations of these levels were generated. However, some further restrictions are introduced. The variable machine distribution factor requires that at least one stage have a different number of machines than the others. Also, the largest number of machines in a stage must be less than the number of jobs. Thus, the combination with 10 machines at each stage and 6 jobs was skipped and the combination of 1-10 machines per stage with 6 jobs was changed to 1-6 machines per stage with 6 jobs. There are 342 test scenarios and ten data sets were generated for each scenario. Each of the ten data sets varies within the same general characteristics.

Table 1: Factor Levels

Factor Levels
Skipping Probability 0.00   L
0.05   M
0.40   H
Processing Times Unif(50-70)   L
Unif(20-100)   H
Number of Stages 2   L
4   M
8   H
Machine Distribution Constant   L
Variable   H
Number of Machines

(Depends on Machine Distribution)

Constant     |     Variable
1   L              |     Unif(1,4)   L
2   M
10   H           |     Unif(1,10)   H

Number of Jobs 6   L
20   M
30   H
100   A

File Format

Each file uvwxyz-i.ft is a text document where the i stands for the file number of the same type of file.  The following is the beginning of file hhhhhl-0.ft.  Afterwards a description of the parts of the file are given so one can see what is given.

Filename hhhhhl-0.ft
StageType 1
NumJobs 7
numstages 8
lbnum 1
lb 405
ub 265

stagenum 1
NumMachs 1
Ready
0 0 0 0 0 0 0
Process
19 56 71 0 0 0 46
Setup
90000 4 5 0 0 0 0
5 90000 6 0 0 0 1
9 2 90000 0 0 0 0
0 0 0 90000 0 0 0
0 0 0 0 90000 0 0
0 0 0 0 0 90000 0
19 23 21 0 0 0 90000

Section 1
Line 1: the word “Filename” followed by the actual file name.
Line 2: the word “StageType” followed by a “0” if the stages have the same number of machines per stage or a “1” if the stages have a different number of machines per stage
Line 3: the word “NumJobs” followed by the number of jobs including a job 0 which is a dummy job
Line 4: the word “numstages” followed by the number of stages in serial
Line 5: the word “lbnum” followed by a number 1, 2, or 3, which was an indication to me regarding what lower bound was used.  Ignore it
Line 6: the word “lb” followed by a number – ignore it
Line 7: the word “ub” followed by a number – ignore it

Section 2
For each stage, the is a data section.
Line 1: the word “stageNum” followed by the stage number
Line 2: the word “NumMachs” followed by the number of machines at the stage
Line 3-4: the word “Ready” followed by a line of 0’s, one per job (at this time, all files have zero ready times)
Line 5-6: the word “Process” followed by a line of numbers, one per job.  If a jobs does not visit a stage, its processing time is set at 0.  Job 0 visits every stage and its process time will be described below
Line 7+: the word “Setup” followed by a table of numbers, one per job.  Each line contains the time from a job to a job.  The first line contains times from job 0 to all other jobs, the second line from job 1 to all other jobs.  We do not allow jobs to be repeated, so the setup from i to i is set at 90000 arbitrarily.  Times from job 0 are discussed below.

Job 0 times
Job 0 exists as the first job of each machine at each stage but has no actual physical meaning.  It represents the initial state of the machine from which all setup must be performed.  As such, its processing time is set to be the minimum setup time from it to any other job in the original setup time matrix.  Then, the job with the minimum setup time from 0 to it has a setup time of 0 recorded in the setup time matrix and the setup time from 0 to the other jobs (with positive processing times at the stage) are reduced by the job 0 processing time.  For example, in the data file segment shown, job 0’s processing time is 19 and the jobs that visit stage 1 are 1, 2, and 6.  The setup times from 0 to 1, 2, and 6 are shown to be 4, 5, and 0, respectively.  Therefore, we know that the data originally generated had a setup time from 0 to 1, 2, and 6 as 23(=19+4), 24 and 19, respectively.  This pre-processing was done at all stages on all files.