
Selected Publications
- 576
- 643
- 644
- 666
- 661
- 672
- 679
- 607
- 548 [PDF] [Online Article]
- 546 [PDF] [Online Article]
- 704
- 705
- 625
- 624
- 706
- 545 [PDF]
- 628
- 626
- 707
- 708
Problem Data Factors
Problem data is characterized by six factors:
- probability that a job skips a stage
- range of processing times
- number of stages
- whether the number of machines per stage is constant or variable
range in number of machines per stage - 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 |
| 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.


