• 沒有找到結果。

Experimental evaluation on job shop optimization problems

Step 4. If all agents are in the satisfaction status, stop the process. The current value assignment of variables represents an agreement of all agents and is a solution

8. Experimental evaluation on job shop optimization problems

The purpose of this experimental study is to (1) evaluate the performance of Anchor&Ascend using both dispatch priority rule and simulated annealing as bench-marks, (2) examine the applicability conditions of Anchor&Ascend.

Table 5

CONA’s CPU time on different problem sizes.

Problem size CPU time

50 operations 4.8 seconds 250 operations 26.2 seconds 500 operations 60.2 seconds 1000 operations 137.6 seconds 3000 operations 814.3 seconds

Figure 19. CONA’s scaling up performance.

8.1. Performance comparison

We evaluated the performance of Anchor&Ascend on a suite of job shop scheduling optimization problems similar to that proposed in [33]. The benchmark consists of 8 groups, representing different scheduling conditions, of 10 problems, each of which has 20 jobs of 5 operations and 5 machines. Each job goes through each machine exactly once with randomly generated visiting sequence, except for the bottle-neck machines, which were always visited after a fixed number of operations. Each group of problems differs in three respects: (1) tardy factor; (2) due date range; (3) number of a priori bottlenecks. Tardy factor controls the average tightness of job due dates. Two levels of tardy factor are used to generate problems with loose average due date or tight average due date. Due date range is controlled by varying the amplitude of the intervals within which job due dates are generated. Two levels of due date range are introduced: wide, narrow. The benchmark also considered one and two a priori bottleneck conditions. In the one-bottleneck problems, the 4th operation of each job uses the bottleneck machine; in the two-bottleneck problems, the 2nd and 5th opera-tions use the bottleneck machines.

Each job Ji has a tardiness weight wi that proportionally penalizes the job’s tardiness Ti. In addition, a marginal inventory cost invi is introduced to each job by its first operation. The objective of this experiment is to minimize the total schedule cost, which is the sum of the weighted tardiness cost and inventory cost of each job,

COST WTi INVi

i

= m +

= , 1

where m is the number of jobs in the problem (see section 2.2). Table 6 categorizes the problem set by the parameters.

Anchor&Ascend essentially tries to find a feasible solution based on different configurations of processing sequence on the bottleneck resource with monotonically

Table 6

Problem set categorization based on parameter settings.

Problem Number of Tardy Due date

set bottlenecks factor range

increased local objective cost. For problems with two bottleneck resources used by the 2nd and the 5th operations in each job, Anchor&Ascend needs to select one of the bottleneck resources as the anchor agent. Anchor&Ascend operates on the assumption that the anchor agent can use its local objective cost to estimate the actual global objective cost. This assumption dictates that the latest bottleneck resource be selected as the anchor agent. Therefore, for problems with two bottleneck resources, Anchor&

Ascend selects the one used by the 5th operation of each job as the anchor agent.

Anchor&Ascend may take quite a long time to find a solution for problems with two bottleneck resources. In order to keep the experiments within a reasonable time frame and to report meaningful computational results, we limit the state space search of the anchor agent to 800 states, which approximately corresponds to 10 minutes on a SPARC IPX workstation. As a result, Anchor&Ascend can only solve parts of the problems with two bottleneck resources.

Although the objective of the problems is to minimize the total schedule cost of weighted tardiness and inventory, the anchor agent only considers weighted tardiness as its local objective cost. In order to take inventory cost into account in the optimi-zation process of Anchor&Ascend, we incorporate additional local optimioptimi-zation heuristics to job agents. When a new configuration of the anchor sub-solution is con-structed by the anchor agent, e.g., the application of exchange(i, j ) and right-shift(i, t), and the selection of the new configuration with the lowest objective cost, job agents re-assign start times for their non-anchor operations based on a just-in-time&no-delay policy. Denote opriu as the anchor operation in a job Ji with n operations. The start times of the pre-anchor operations oprij, j = 1,…, u – 1, are re-assigned so that they will be processed just in time for the anchor operation to start as assigned by the anchor agent. In other words,

The start times of the post-anchor operations oprij, j = u + 1,…, n, are re-assigned so that they will be processed with no delay after the anchor operation has finished. In other words,

Job agents’ just-in-time&no-delay start time re-assignment right after a new configu-ration of the anchor sub-solution represents a simultaneous effort to reduce both the inventory cost and the weighted tardiness cost.

We chose to evaluate our Anchor&Ascend method against dispatch scheduling because of its conceptual simplicity and ease of implementation. Briefly, dispatch scheduling is a way of generating schedules by simulating the process of jobs being performed on the resources. A job is completed after it has visited all the resources in its routing. A production schedule is a description of when jobs visit each resource

Table 7

Experimental results on problems with one bottleneck resource.

Problem Instance Anchor&Ascend X-ATC rule

set Tardy Inv. Total CPU sec. Tardy Inv. Total

1 10780 5986 16766 9.8 14840 11322 26162

2 1640 4288 5928 5.5 3150 7335 10485

3 2410 4478 6888 10.2 4030 7895 11925

4 3700 5068 8768 17.8 5580 8895 14475

1 5 1200 4665 5865 12.3 2180 6432 8612

6 4880 5347 10227 8.9 5940 9326 15266

7 2090 4110 6200 21.4 3010 6963 9973

8 1040 4247 5287 16.3 2400 7355 9755

9 5290 4311 9601 6.2 6370 7720 14090

10 8580 5764 14344 13.5 11860 11147 23007

1 4920 5449 10369 21.2 8230 10446 18676

2 4020 3559 7579 7.9 3630 6743 10373

3 180 4859 5039 6.3 150 7638 7788

4 390 4582 4972 5.2 1840 8344 10184

2 5 1160 4625 5785 17.5 40 5608 5648

6 630 5201 5831 9.4 740 9048 9788

7 330 3488 3818 16.1 830 6474 7304

8 1500 3989 5489 22.8 2240 6429 8669

9 4450 3617 8067 10.6 5240 6977 12217

10 7630 4450 12080 16.1 9730 10011 19741

1 5250 6659 11909 20.0 8280 11839 20119

2 270 5206 5476 4.4 810 8068 8878

3 780 5668 6448 3.2 1540 8737 10277

4 1390 5983 7373 3.4 2640 9406 12046

3 5 0 4754 4754 15.8 350 7191 7541

6 1900 5948 7848 15.9 2440 10121 12561

7 140 4879 5019 9.2 500 7701 8201

8 1150 5780 6930 3.0 570 7773 8343

9 1270 5052 6322 6.2 2770 8347 11117

10 4590 6269 10859 12.2 7500 11813 19313

1 1320 6059 7379 21.4 2520 11123 13643

2 1870 4704 6574 20.0 1520 7811 9331

3 0 5642 5642 3.4 10 9129 9139

4 300 5976 6276 3.8 110 9464 9574

4 5 690 5686 6376 16.4 0 6776 6776

6 0 6314 6314 4.2 0 10314 10314

7 0 4099 4099 6.2 140 7661 7801

8 860 4523 5383 5.0 910 7384 8294

9 1770 3644 5414 18.4 1970 7414 9384

10 3980 4874 8854 33.7 5720 10396 16116

before leaving the shop. The quality of the schedule is controlled by the priority rule with which resources select the next job to process in the queue. Since no priority rule is good for optimizing conflicting objectives, we focused on weighted tardiness cost to select a priority rule. We used the X-ATC rule to obtain the benchmark performance.

The X-ATC rule has been shown to be one of the best priority dispatch rules for weighted tardiness problems [24] because of its successful priority index function and its capability to strategically insert idleness for important jobs, which is very helpful in reducing weighted tardiness. The index function of an operation oprij is defined by

1 0. [ ] 1 time, and p is the average processing time in the queue. The X-ATC rule requires parameter settings of the look-ahead parameter k and the penalty parameter B. We ran the X-ATC rule with k in the range of (1.0 – 3.0) with a granularity of 0.25 and with B in the range of (0.4 – 2.0) with a granularity of 0.2, e.g., k has 9 different values, 1.0, 1.25,…, 3.0, and B also has 9 different values, 0.4, 0.6,…,2.0. In other words, each problem was run 81 times with different combinations of parameter values. For each problem, the best result (the lowest schedule cost) was recorded.

Tables 7 and 8 show the results of Anchor&Ascend and the X-ATC rule on the problems. For each problem, we report the weighted tardiness cost, the inventory cost, and the total schedule cost of the generated schedule, and the computational cost in terms of CPU seconds for Anchor&Ascend to solve a problem. Anchor&Ascend solved all 40 one-bottleneck problems, but solved only 18 out of 40 two-bottleneck problems within 800 search states of the anchor agent. For all problems solved by Anchor&Ascend, it always finds schedules with substantially less inventory cost than that of the X-ATC rule. Except for problem number 5 in the second subset of the prob-lems, the schedules found by Anchor&Ascend have considerably lower total schedule cost than that of the X-ATC rule. In the one-bottleneck problems, Anchor&Ascend solved 33 out of 40 problems with less weighted tardiness cost. In the two-bottleneck resource problems, Anchor&Ascend solved 11 out of 18 problems with less weighted tardiness cost.

We examined Anchor&Ascend’s performance on the 14 problems in which it produced higher weighted tardiness cost than the X-ATC rule. We found that in half of the problems, Anchor&Ascend started from an initial configuration of the anchor sub-solution with higher weighted tardiness cost than that of the schedule generated by the X-ATC rule. For example, in problem number 5 of the second subset, the weighted tardiness cost of the initial anchor sub-solution in Anchor&Ascend is 780, while the X-ATC rule generated a schedule with weighted tardiness cost of 40. Similarly, in

Table 8

Experimental results on problems with two bottleneck resources.

Problem Instance Anchor&Ascend X-ATC rule

category Tardy Inv. Total CPU sec. Tardy Inv. Total

5 1 16370 5227 21597 678.3 21430 10408 31838

2 8720 4802 13522 65.8 9680 10061 19741

1 6460 4663 11123 196.2 8740 9818 18558

6 2 11230 3742 14972 195.4 10760 7219 17979

3 17390 3749 21139 173.7 14010 7969 21979

4 5950 4261 10211 385.1 7670 9529 17199

1 7400 5950 13350 54.8 10500 11067 21567

2 1800 5428 7228 73.1 3230 8623 11853

7 3 1620 4939 6559 189.7 2840 9215 12055

4 2860 4916 7776 667.8 2690 8896 11586

5 2720 5778 8498 96.0 3050 10653 13703

1 2410 5185 7595 20.9 1980 10598 12578

2 3430 3521 6951 147.4 4540 7155 1169

3 760 4609 5369 91.8 820 8639 9459

8 4 12040 4091 16131 20.3 8490 8080 16570

5 7010 4634 11644 4.2 6000 8292 14292

6 1290 3675 4965 396.1 1840 9050 10890

7 3960 4894 8854 3.2 2690 10020 12710

problem number 8 of the third subset, Anchor&Ascend started from a weighted tardi-ness cost of 1150, while X-ATC produced a weighted tarditardi-ness cost of 570; in problem number 5 of the fourth subset, Anchor&Ascend started from a weighted tardiness cost of 670, while X-ATC produced a weighted tardiness cost of 0. This indicates that our heuristic optimization procedure (iterative jump forwardybackward) on the bottleneck resource is inadequate to find a very good sub-solution in some cases. Since iterative jump forwardybackward does not consider inserting idleness, it may miss some better configuration of operation processing that requires strategic idleness for more impor-tant jobs. Another factor is the deviation of the estimated weighted tardiness cost from the anchor agent and the actual weighted tardiness cost of the schedule. Since the anchor agent calculates the estimated weighted tardiness cost by assuming all down-stream operations will be processed immediately, any actual delay will cause an increase in the final weighted tardiness cost. In the one-bottleneck problems where the 4th operation of each job uses the bottleneck resource, the final weighted tardiness cost may be somewhat higher than the estimated weighted tardiness cost of the anchor agent.

Table 9 shows the average results in each problem category. Table 10 reports Anchor&Ascend’s improvement performance over the X-ATC rule. We first examine

Table 9

Average results in each problem category.

Problem

Anchor&Ascend X-ATC rule

Tardy Inv. Total CPU sec. CPU sec. Tardy Inv. Total category

avg. avg. avg. avg. dev. avg. avg. avg.

1 4161.0 4826.4 8987.4 12.2 1.5 5936.0 8439.0 14375.0

2 2521.0 4381.7 6902.7 13.3 1.9 3267.0 7771.8 11038.8

3 1674.0 5619.8 7293.8 9.3 1.9 2740.0 9099.6 11839.6

4 1079.0 5152.1 6231.1 13.2 3.1 1290.0 8747.2 10037.2

5 12545.0 5014.5 17559.5 372.0 216.6 15555.0 10234.5 25789.5

6 10257.5 4104.0 14361.5 237.6 42.8 10295.0 8633.8 18928.8

7 3280.0 5402.2 8682.2 199.0 103.4 4462.0 9690.8 14152.8

8 4414.3 4372.7 8787.0 97.7 49.7 3765.7 8833.4 12599.1

Table 10

Performance improvement of Anchor&Ascend over the X-ATC rule in each problem category.

Problem Tardy Inv. Total category improvement improvement improvement

(%) (%) (%)

1 29.9 42.8 37.5

2 22.8 43.6 37.5

3 38.9 38.2 38.4

4 16.4 41.1 37.9

5 19.4 51.0 31.9

6 0.4 52.5 24.1

7 26.5 44.3 38.7

8 – 17.2 50.5 30.3

All (avg.) 17.2 45.5 34.5

the results in weighted tardiness cost. Anchor&Ascend performed considerably better in the one-bottleneck problems (categories 1, 2, 3, 4) than in the two-bottleneck prob-lems (categories 5, 6, 7, 8). The results were as expected because the coordination strategy of anchoring on one bottleneck resource would not be as effective when there are two bottleneck resources. For either one- or two-bottleneck problems, Anchor&Ascend performed better in problems with narrow due date range (categories 1, 3, 5, 7) than in problems with wide due date range (categories 2, 4, 6, 8). We examined the difference of the initial optimal weighted tardiness cost and the final weighted tardiness cost of each category of the one-bottleneck problems compared to

that of the X-ATC rule. We found that for one-bottleneck problems with a narrow due date range, the difference was only 0.5%, while the difference was 17% for problems with a wide due date range. In other words, using weighted tardiness cost produced by the X-ATC rule as benchmark, Anchor&Ascend found schedules with weighted tardiness cost very close to the initial optimal weighted tardiness cost in problems with a narrow due date range. But the weighted tardiness cost of the final solution for problems with a wide due date range were moderately increased from the initial opti-mal weighted tardiness cost. We conclude that Anchor&Ascend finds less optiopti-mal solutions in problems with more variation of job due dates. For the parameter of the tardy factor, we did not find significant overall performance difference in problems with tight due dates (categories 1, 2, 5, 6) or loose due dates (categories 3, 4, 7, 8).

Anchor&Ascend substantially reduces the inventory cost on all problems. This is due to job agents’ just-in-time&no-delay policy of re-assigning operation start times whenever the bottleneck resource agent configures a new bottleneck operation process-ing sequence. Therefore, the final schedule is a result of the balanced optimization by both job agents and the bottleneck resource agent with respect to inventory cost and weighted tardiness cost, respectively. Overall, Anchor&Ascend finds schedules with reduced weighted tardiness cost and substantially less inventory cost in most problems.

As an additional evaluation, we also compare, on a smaller scale, Anchor&

Ascend against the Focused Simulated Annealing Search (FSAS) proposed in [35], whose study was conducted on the same set of job shop scheduling optimization problems. Table 11 reports the comparison on a representative problem instance in each problem category.12) Table 12 shows the improvement performance of Anchor&

Ascend over FSAS. Note that FSAS is a stochastic procedure. The reported results were the best results over 10 FSAS runs of each problem. Overall, Anchor&Ascend always found solutions with reduced weighted tardiness cost, slightly increased inven-tory cost, and better total cost than the best results of FSAS.

As to computational cost, Anchor&Ascend required only 12 seconds on average for a one-bottleneck problem, but consumed almost 4 minutes on average for a two-bottleneck problem. Both CPU times were based on Lisp implementation on a SPARC IPX workstation. A single run of the FSAS procedure in C implementation required about 5 to 8 minutes on a DECstation 5000y200. Although there are substantial effici-ency differences in problems with a different number of bottlenecks, Anchor&Ascend is still more efficient than the FSAS procedure. In fact, Anchor&Ascend is extremely efficient in one-bottleneck problems. The results show the significant achievement of Anchor&Ascend with its capability to optimize conflicting objectives simultaneously and effectively find a very good solution in the job shop scheduling optimization problems.

12)Unfortunately, we have FSAS results only on the first problem instance in each problem category, which was kindly provided to us by Mr. Nakakuki.

Table 11

Comparison between Anchor&Ascend and Focused Simulated Annealing Search (FSAS).

Problem Anchor&Ascend FSAS

category Tardy Inv. Total Tardy Inv. Total

1 10780 5986 16766 12620 5899 18519

2 4920 5449 10369 7660 5200 12860

3 5250 6659 11909 7260 6342 13602

4 1320 6059 7379 2020 5517 7537

5 16370 5227 21597 18040 5189 23229

6 6460 4653 11113 8300 4741 13041

7 7400 5950 13350 8090 6419 14509

8 2410 5185 7597 3360 4978 8338

Table 12

Performance improvement of Anchor&Ascend over Focused Simulated Annealing Search (FSAS).

Problem Tardy Inv. Total category improvement improvement improvement

(%) (%) (%)

1 14.6 – 1.5 9.5

2 35.8 – 4.8 19.3

3 27.7 – 5.0 12.4

4 34.7 – 9.8 2.1

5 9.3 – 0.7 7.0

6 22.2 1.9 14.8

7 8.5 7.3 8.0

8 28.3 – 4.2 8.9

All (avg.) 22.6 – 2.1 10.2

8.2. Applicability conditions

The fundamental coordination strategy of Anchor&Ascend is to exploit disparity among agents. Job shop scheduling problems with clear bottleneck resources naturally involve disparity between bottleneck resources and non-bottleneck resources. The previous experimental results show Anchor&Ascend’s performance on one-bottleneck and two-bottleneck problems. However, in order to get a complete picture of the relation of Anchor&Ascend’s performance and disparity conditions of the problems, we need to quantify disparity conditions of job shop scheduling

We denote a bottleneck resource as BRi, a non-bottleneck resource as NBRi. The average processing time pavi of a resource (BRi or NBRi) is the average processing time

of operations requiring the use of the resource (BRi or NBRi). In addition, numb is the number of bottleneck resources, and numnb is the number of non-bottleneck resources in the shop. pAVb is the average pavi of bottleneck resources, i.e., ∑inum=1b pavi ynumb. pAVnb is the average piav of non-bottleneck resources, i.e., ∑inum=1nb pavi ynumnb. We define two disparity characteristics in job shop scheduling as follows:

Disparity Ratio is the ratio of the average pavi of bottleneck resources to the average pavi of non-bottleneck resources, i.e., pAVb y pAVnb.

Disparity Composition Ratio is the ratio of the number of bottleneck resources to the number of resources in the shop, i.e., numby(numb+ numnb).

These two parameters quantify disparity conditions of job shop scheduling prob-lems and specify the job shop conditions that our distributed optimization heuristics (described in section 3.1) is designed for. Anchor&Ascend is intended for shops with at least one bottleneck resource, e.g., (Disparity Composition Ratio > 0)∧ (Disparity Ratio > 1).

To study the performance of the Anchor&Ascend procedure under different dis-parity conditions, we constructed a set of test problems13) with a disparity ratio ranging from 1.25 to 5.0 with a granularity of 0.25, and a disparity composition ratio ranging from 0.2 to 0.8 with a granularity of 0.2. Each combination of the two parameters is represented by a subset of 10 problems that are randomly generated while controlling the disparity condition. Therefore, the problem set includes 64 subsets and a total of 640 problems. Each problem consists of 20 jobs on 5 resources with 100 operations to be scheduled. The disparity ratio represents the ratio of average processing times between the subgroup of bottleneck resources and the subgroup of non-bottleneck resources. A disparity composition ratio of 0.4 means that 2 out of 5 resources are bottleneck resources. Table 13 specifies the sequence (in bold) of using bottleneck resources in each job for each disparity composition ratio. For example, in the disparity composition ratio of 0.4, the second operation uses the first bottleneck resource, the fourth operation uses the second bottleneck resource, in each job. In cases of more than one bottleneck resource, the Anchor&Ascend mechanism requires the selection of a particular bottleneck resource as the anchor agent. In this study, the latest bottle-neck resource is selected to be the anchor agent.

Experimental results are evaluated by both computational cost and solution quality. We use the total number of search states14) the anchor agent explored before a global solution was found as an estimate of the computational cost. CPU times of

13)This is similar to the set of problems we used to evaluate Anchor&Ascend in the previous experiments, except we manipulated the number of bottleneck resources and the average processing times of each resource. The tardy factor and due date range were fixed at a tight and narrow level, respectively. The problem generator code was kindly provided by Dr. Sadeh.

14)Each search state represents a configuration of the anchor agent’s sub-solution.

(1 100 300 500) states explored approximately correspond to (0.522 105 420) seconds in Common Lisp implementation on an HP-715y100 workstation. For problems of high disparity composition ratio and low disparity ratio, the anchor agent usually needs to explore a large number of search states before a solution can be found. In order to keep the experimentation within a reasonable time frame, we set a limit of 500 search states, upon which the procedure would terminate even if a global solution has not been found. Solution quality is measured by weighted tardiness cost only.

Anchor&Ascend’s solution quality (SA) is evaluated by comparing it to that of the naive First Come First Served (FCFS)15) dispatch rule (SF) and indicated by an improvement measure, (SF– SA)ySF. As a more serious evaluation, the solution quality of Anchor&Ascend is also compared to that of the X-ATC heuristic dispatch rule [24].

For each subset of problems representing a combination of a disparity ratio and a disparity composition ratio, an average computational cost and an average solution quality are obtained from results of 10 problems in the subset. For problems that were not solved within 500 search states, a computational cost of 500 search states is included in calculating the average computational cost, while not contributing to the average solution quality.

Figure 20 shows the computational cost over a range of combinations of disparity ratio and disparity composition ratio. Generally, computational cost increases with increasing disparity composition ratio andyor decreasing disparity ratio. Anchor&

Ascend is especially efficient for problems with a disparity composition ratio of 0.2 (1 bottleneck resource out of 5 resources) and a disparity ratio of 2.0 and above, finding

Ascend is especially efficient for problems with a disparity composition ratio of 0.2 (1 bottleneck resource out of 5 resources) and a disparity ratio of 2.0 and above, finding

相關文件