• No se han encontrado resultados

Diagramas de secuencia

Capítulo 4: Diseño e Implementación del Sistema

4.6 Diagramas de secuencia

Every evaluation of an allocation B provides information about E[W (B)]

and SLγ(B). To exclude a set of other candidate allocations from future evaluations we use this information and the Observations 6.4.3 and 6.4.4.

Every feasible allocation B is used to exclude all allocations B0 with Bm,i0 ≥ Bm,i ∀m, ∀i, i.e., all allocations with componentwise greater or equal buffer capacities. Observation 6.4.3 suggests that for these allocations E[W (B0)]≥ E[W (B)] holds. Consequently, the allocations B0 are not can-didates for a lower objective value than E[W (B)]. Moreover, the resulting expected average WIP, E[W (B)], of the feasible allocation provides an up-per bound on the objective value. In the following, UBW denotes the best upper bound on the objective value found so far by the algorithm.

Every infeasible allocation B with SLγ(B) < γis used to exclude all al-locations B0 with Bm,i0 ≤ Bm,i ∀m, ∀i. According to Observation 6.4.4 the service level of the allocations B0is expected to be lower than the one of allocation B, i.e., SLγ(B0) ≤ SLγ(B). Hence, the allocations B0 are also infeasible. If in addition E[W (B)] > UBW holds, we also exclude all allo-cations B0 with Bm,i0 ≥ Bm,i ∀m, ∀i. According to Observation 6.4.3 the allocations B0cannot yield an improved objective value because any increase in the buffer capacities will lead to an at least as high expected average WIP value as UBW.

6.4.3 Local search approach

The proposed algorithm exploits the dominance criteria to avoid a complete enumeration of all allocations. Given that Observations 6.4.3 and 6.4.4 hold true, the algorithm delivers optimal results. It divides the decision problem into subproblems with two decision variables Bm0,i0 and Bm00,i00 and fixed values for all other decision variables Bm,i, m ∈ {1, 2, ..., M }\{m0, m00}, i ∈ {0, 1, ..., I }\{i0, i00}. A subproblem is solved if all allocations are either evaluated or excluded by a dominating allocation. In the following we first describe the case M = 1 and then explain the required extensions of the algorithm to cases with M > 1.

The algorithm solves all subproblems that are generated by iterating over all possible configurations of the decision variables BM,i, i ∈ {0, 1, ..., I }\{i0, i00}.

Information about dominated allocations obtained from previously solved subproblems are exploited to reduce the number of required evaluations. For all i ∈ {0, 1, ..., I }\{i0, i00} the algorithm divides the interval of not evaluated values into two subintervals. Starting with the evaluation of BM,i = bbMmax/2c ∀i ∈ {0, 1, ..., I }\{i0, i00} the algorithm continues re-cursively with the subintervals[0;bbMmax/2c − 1] and [bbMmax/2c + 1; bMmax].

This recursive procedure systematically evaluates allocations which poten-tially dominate infeasible and feasible allocations of other subproblems.

The best upper bound, UBW, on the objective value is constantly updated during the search process. Thus, at termination of the algorithm, the obtained solution is the allocation which generates the best upper bound found.

Each subproblem is solved in three steps as illustrated in Figure 6.3. In part (a) of step 1 the value of BM,i00 is fixed to bMmax and the smallest value for BM,i0 which results in a feasible allocation is determined(BM1a,i0). For the search a bisection method is applied. It exploits the observation that the service level increases in the buffer capacities. After step 1 (a) all allocations with BM,i0 < BM,i1a 0 are excluded from future evaluations within subprob-lem due to infeasibility. Moreover, according to the dominance criterion for feasible solutions, all allocations with BM,i00 = bMmax ∧ BM,i0 ≥ BM,i1a 0 are excluded from being evaluated within the subproblem.

Step 1 (b) applies a bisection method to determine BM,i1b 00, i.e, the small-est value of BM,i00 that ensures feasibility with given BM,i0 = BM,i1a 0. The advantage of step 1 is that it quickly determines if according to Observa-tions 6.4.3 and 6.4.4 no feasible solution exists to the subproblem (BM1a,i0 > bMmax), or if all allocations are feasible (BM1a,i0 = BM,i1b 00 = 0).

If neither of this is the case the algorithm continues with step 2.

In step 2 the feasible allocation in the subproblem with the lowest value of BM,i00 and the corresponding lowest possible value of BM,i0 is determined.

We therefor fix the value of BM,i0 to bMmax and determine the smallest value of BM,i00that ensures feasibility (BM2a,i00). The search of the bisection method is limited to allocations that are not dominated by allocations that were eval-uated in step 1. In step 2 (b) we fix BM,i00to the value obtained for BM,i2a 00in step 2 (a) and search for BM2b,i0, i.e., the smallest value of BM,i0 that provides a feasible allocation given BM,i2a 00. After completion of step 2 all allocations with BM,i00≥ BM,i2a 00∧ BM,i0 ≥ BM,i2b 0 can be excluded from future evalua-tions due to the dominance criterion for feasible allocaevalua-tions. Furthermore, the

feasible allocations (unknown) excluded due to insufficient service level excluded due to excessive WIP x-th application of the bisection method [x]

best feasible solution found by bisection method BM,i´

Figure 6.3: Search procedure for subproblem with 2 decision variables BM,i0 and BM,i00

allocations with lower buffer capacities than in the allocation(BM2b,i0, BM,i2a 00) are expected to be infeasible, i.e., all allocations with BM,i00 < BM2a,i00 and BM,i0 < BM,i2b 0∧ BM,i00 = BM,i2a 00are excluded from future evaluations.

To complete the search in the subproblem we iteratively increase the value of BM,i00(step 3). For each iteration the corresponding smallest value of BM,i0, which ensures feasibility, is obtained. Dominated allocations from previous iterations are excluded from the search with the bisection method. The algo-rithm terminates the search in the subproblem if all allocations are dominated by already evaluated allocations.

For M > 1 it has to be specified for which buffers m0 and m00 the sub-problems are solved. The iteration then has to be performed over all val-ues of the remaining decision variables Bm,i, m ∈ {1, 2, ..., M }\{m0, m00}, i∈ {0, 1, ..., I }\{i0, i00}.

There are three reasons that prevent the algorithm from completely iterating over all allocations, (i) the efficient solution of the subproblems in three steps, as outlined above, (ii) that infeasible allocations for one subproblem are as-sumed to be also infeasible for all other subproblems with smaller fixed buffer capacities Bm,i, m ∈ {1, 2, ..., M }\{m0, m00}, i ∈ {0, 1, ..., I }\{i0, i00}, and (iii) that allocations which are dominated by a feasible allocation with smaller expected average WIP are also dominated in all subproblems with larger fixed buffer capacities.

Preliminary numerical test show that the obtained allocation is not affected by the choice of m0,m00,i0and i00. However, the numerical results indicate that buffers and phases for which low buffer capacities are expected in the solu-tion should be selected as m0,m00,i0and i00. They tend to reduce the number of required evaluations because infeasible allocations with high buffer capac-ities Bm,i, m∈ {1, 2, ..., M }\{m0, m00}, i ∈ {0, 1, ..., I }\{i0, i00} are found early in the search process.

Documento similar