2.2. Modelo de Negocio
2.2.4. Descripción de los Casos de Uso del Negocio
We propose three specific approaches for computing the solution of PII-d-MR effec-tively.
IV.6.2.1. The Perturb Algorithm
Based on our discussion in Section IV.5.3.2, the best power-of-two reorder intervals for our problem are not guaranteed by solving the underlying SWMR and Weber problems iteratively, even if we could start with the optimal solution of R-d-MR, (X∗, T∗). This is because these iterations generally result in premature termination.
To alleviate this situation, we utilize the observation provided before concluding Sec-tion IV.5.3.2. More specifically, for a given DC locaSec-tion X, it is clear that the setup costs, Si(X), are unique and so are the corresponding best relaxed reorder intervals.
Then, for a given DC location X, the best relaxed reorder intervals can be computed and transformed to power-of-two reorder intervals, T. We observe that, due to this rounding approach, there exist other locations that lead to the same power-of-two reorder intervals as T. That is, for a fixed T, there is a region of possible locations (a subset of point coordinates in the convex hull of retailers and the supplier) that imply the same T. Once a T is fixed, the corresponding location problem has well-defined
“weights” and its solution gives the best location in the region for T. Fixing this
best location as the new X and calculating the new setup costs Si(X), we can obtain the new best relaxed reorder intervals, and then the new best power-of-two reorder intervals.
There are now two possibilities. If the new T is different than the previous one, then we are in a new region of locations leading to the new T. We find the new best location, with the new weights, which is different than the previous location. On the other hand, if the new T is the same as the previous one, then we have not left the region of locations associated with the previous iteration (the corresponding best location will not change). In this case, there are again two possibilities. Either a local optimum is found or we have not been able to move out of the region of locations leading to the same T (called premature termination earlier). The Perturb algorithm provides a remedy to this latter situation via a perturbation of the current location coordinates in a direction that improves the objective function value thereby either avoiding premature termination or verifying that a local optimum is reached (if there is no improving direction).
The Perturb algorithm is outlined in Display 3. The algorithm parameters (step size, λ, and sweeping angle increment, δ) facilitate the perturbation process. After λ and δ are initialized, the iterations begin with choosing a random location Xprevin the convex hull. Given Xprev, we compute the corresponding best power-of-two reorder intervals Tprev. Next, we compute the best location Xnext given Tprev. We iterate one step further to obtain the new best power-of-two reorder intervals Tnext for given location Xnext. After obtaining Tprev and Tnext, we compare these values. They may or may not be the same. If Tprev 6= Tnext, we update the value of Tprev with Tnext and continue with the iterative procedure at Step 4. If Tprev = Tnext, there are two possibilities: a premature termination in the iterative procedure or the best power-of-two reorder intervals are found. Thus, we check whether the objective function can be
DISPLAY 3 The Perturb Algorithm.
0: Initialize step size λ and angular increment δ.
1: Pick a location Xprev in the convex hull randomly.
2: Calculate the modified setup costs Si(Xprev), ∀i ∈ I ∪ {0}.
Obtain the best power-of-two reorder intervals Tprev corresponding to Xprev. 3: Find the best facility location Xnext corresponding to Tprev.
4: Calculate the modified setup costs Si(Xnext), ∀i ∈ I ∪ {0}.
Obtain the corresponding best power-of-two reorder intervals Tnext. 5: Compare Tprev and Tnext :
if Tprev6= Tnext then Tprev= Tnext. Go to Step 4.
else θ = 0.
while θ < 2π do
Xperturb= Xnext+ λ(cos θ, sin θ).
Tperturb = arg minTZ(Xperturb, T).
if Z(Xperturb, Tperturb) < Z(Xnext, Tnext) then Tprev = Tperturb.
Go to Step 4.
else
θ = θ + δ.
end if end while end if
Terminate with Xnext and Tnext as the solution.
improved further by perturbing the facility location Xnext. An improvement direction, if there is one, is found by sweeping on a circle around Xnext. More specifically, we obtain Xperturb by modifying the existing Xnext in the direction θ as much as the step size λ. Considering location Xperturb, we compute for the corresponding best power-of-two policy Tperturb. At this point, if the perturbed solution improves the existing solution, we update Tprev with Tperturb and go back to the Step 4 of the algorithm. Otherwise, using δ, we modify the direction θ, which is varied from 0◦
to 360◦. At the end of the full circle sweep, if there does not exist an improving direction, we terminate with Xnext and Tnext as the solution.The Perturb algorithm produces high quality solutions, i.e., within 6% of the lower bound Z(X∗, T∗), as evidenced by our numerical results in Section IV.7 and may find the optimum solution under the provision that its parameters are selected carefully. If the step size is too big, the algorithm may overshoot the optimum or fall short moving away a local optimum. However, a relatively small step size that moves the current location to another location in a different (improving) region of T is a better choice. On the other hand, if the angular increment is too large, the approach may skip an improving direction, and if it is too small, the runtime may increase.
IV.6.2.2. The Circle Algorithm
Theorem 6 suggests that one can compute the upper and lower bounds, TiP min and TiP max, respectively, on the values of TiP using Simin and Simax for all i ∈ I ∪ {0}.
The corresponding ranges, [TiP min, TiP max], dictate the values of possible power-of-two reorder intervals for each i ∈ I ∪ {0}, and if they offer a reasonable number of possibilities then an enumeration algorithm can be utilized to find the best power-of-two reorder intervals TiP, i ∈ I ∪ {0} along with the implied XP. Although it becomes immediately clear that this approach is computationally prohibitive for ge-ographically realistic instances with large distances–where Simax and, hence, TiP max values are large–the concept of bounding the power-of-two reorder intervals is use-ful for developing the Circle algorithm. The Circle algorithm successively considers portions (discs), specified by circles, of the convex hull Ω and determines the best power-of-two reorder intervals for that part of Ω. The algorithm uses the Restricte-dEnumeration procedure, discussed later, as a subroutine to determine the possible power-of-two reorder intervals implied by a circle of location coordinates.
DISPLAY 4 The Circle Algorithm.
0: Initialize the circle radius R, IterNo=0 and set MaxIter.
1: Pick a location Xprev in Ω randomly (center of the circle).
2: For all i ∈ I ∪ {0}, calculate
SiL = Ki+ pi+ rid
d(Xprev, Pi)− R, if d(Xprev, Pi)≥ R.
0, otherwise.
SiU = Ki+ pi+ rid(d(Xprev, Pi) + R).
3: Using the setup cost vectors SL= (S0L, . . . , SnL) and SU = (S0U, . . . , SnU) perform the RestrictedEnumeration procedure to obtain the solution (Xnext, Tnext).
4: If the Xnext returned by the RestrictedEnumeration procedure is in the
current circle, then save the solution in Elite set. IterNo++. If IterNo<MaxIter, go to Step 1, otherwise, go to Step 5.
Else Xprev = Xnext. IterNo++. If IterNo<MaxIter, go to Step 2, otherwise, go to Step 5.
5: Return the solution with the lowest cost from the Elite set.
We provide the details of the Circle algorithm in Display 4. After we initialize the radius of the circle R, we pick a location Xprev randomly in Ω and let Xprev represent the center of the current circle. For each i ∈ I ∪ {0}, we determine the smallest and largest setup costs (denoted by SiL and SiU, respectively, and computed as explained in Display 5) considering the closest and the farthest points on the circle from the existing location Pi. Note that if Pi falls into the circle, its SiL is zero.
Employing the RestrictedEnumeration procedure (in Display 5), which is initialized with SL and SU, we find the best vector of power-of-two reorder intervals (Tnext) and a corresponding facility location Xnext. If Xnext falls into the circle, we place the solution (Xnext, Tnext) in the Elite set and return to Step 1. Otherwise, we update Xprev with Xnext, and return to Step 2. The iterations continue in this fashion until
a preset maximum iteration count is reached.
We provide the details of the the RestrictedEnumeration procedure in Display 5.
The procedure determines the best power-of-two reorder intervals within a restricted search space using the problem characteristics without performing a total enumeration of all the possible power-of-two reorder intervals implied by the upper and lower bounds (given by TL and TU in Display 5) on the reorder intervals. We illustrate the procedure next using a numerical example.
EXAMPLE 2 Consider a three retailer system with SL= (1000, 100, 400, 50); SU = (1200, 250, 500, 100); w1 = 80; w2 = 100; w3 = 160; h0 = 0.5; and h1 = h2 = h3 = 1.
The best vectors of power-of-two reorder intervals, considering SL and SU, are given by TL = (0.5, 1, 2, 0.5) and TU = (2, 2, 2, 1), respectively, whereas the underlying breakpoints for this problem are obtained using (4.19) and (4.20) as
τ′L = (1.29, 2.30, 0.64), τL = (1.58, 2.82, 0.79), τ′U = (2.04, 2.58, 0.83), and τU = (2.50, 3.16, 1.11).
We sort these breakpoints and perform Step 3 of the RestrictedEnumeration procedure.
Over each of the 4n + 1 = 13 ranges resulting from the breakpoints, we determine into which one(s) of the sets ¯G, ¯E and ¯L each retailer falls as illustrated in Figure 10. Also, over each of these 13 ranges we determine the set combinations for all FIGURE 10. Ranges Resulting from the Breakpoints and Leading to the Possible Set
Combinations.
retailers. The possible set combinations for this example are, starting from rightmost range in Figure 10, { ¯L, ¯L, ¯L}, { ¯L, ¯E, ¯L}, { ¯L, ¯G, ¯L}, { ¯E, ¯G, ¯L}, { ¯E, ¯E, ¯L}, { ¯G, ¯G, ¯L}, { ¯G, ¯G, ¯E}, { ¯G, ¯G, ¯G}.
For each set combination, we determine the feasible vectors of power-of-two reorder intervals using TL and TU. For instance, consider the set combination { ¯E, ¯E, ¯L}. Then, retailer 1 and 2 are in set ¯E, and retailer 3 is in set ¯L. Hence, T1 = T2 = T0, and T3 < T0. Considering these restrictions, along with TiL ≤ Ti ≤ TiU, i = 1, 2, 3, leads to two feasible vectors of power-of-two reorder intervals, (2, 2, 2, 0.5) and (2, 2, 2, 1), and these vectors are added to the restricted power-of-two search space. Similarly, consider set combination { ¯L, ¯L, ¯L} which indicates that T0 is greater than T1, T2, and T3. However, since TiL ≤ Ti ≤ TiU, i = 1, 2, 3, there is no such feasible solution. Hence, not every set combination contributes to the restricted power-of-two search space. After forming the restricted power-of-two search space in this manner, we compute the best facility location (X′) corresponding to each vector of power-of-two reorder intervals in this space, and subsequently determine the best vector of power-of-two reorder intervals (T′) for each of these possible locations. We finally return the solution with the lowest total cost.
The Circle algorithm also produces quality solutions as evidenced in Section IV.7. We note that if the circle radius R is large enough to cover the set I ∪ {0}, then the RestrictedEnumeration procedure takes into account all of the fea-sible power-of-two reorder intervals implied by TP min = (T0P min, . . . , TnP min) and TP max = (T0P max, . . . , TnP max) without performing a total enumeration, and, hence, finds the optimal solution in one iteration. However, this iteration may take an ex-cessive amount of time. More specifically, if R is sufficiently large then all of the retailers are in set B (defined in Display 5). Then, each retailer has at least one range
in Figure 10 containing all three sets, ¯G, ¯E, and ¯L, simultaneously. If the ranges con-taining all three sets coincide at least once for all retailers, then the number possible set combinations is 3n which, in turn, implies an exponential worst-case run time.
That is, the larger the radius, the more time consuming the enumeration procedure is, especially for systems with a large number of retailers. On the other hand, if the radius R is zero, then the Circle algorithm becomes identical to the initial stages (prior to the first perturbation) of the Perturb algorithm.
IV.6.2.3. A Local Search Algorithm
A local search algorithm, starting with a given initial feasible solution, finds a local optima by iteratively generating feasible solutions with at least the same objective value of the current solution under a given neighborhood function. We define the neighborhood of an existing solution using the discrete neighborhood of the reorder intervals. More specifically, let (Xk, Tk) be an existing solution where Tk = {Ti : 2viTb,∀i ∈ I∪{0}, vi ∈ Z}. The neighborhood of Tk,N (Tk), is obtained by modifying each of the reorder intervals in Tk, one at a time, to its closest discrete neighbors, i.e., Tj = 2mjTb is modified as either 2mj−1Tb or 2mj+1Tb. Therefore, in a given neighborhood, there are 2n+1 vectors of power-of-two reorder intervals. Furthermore, this neighborhood is also constrained using Theorem 6, i.e., the reorder intervals that are outside the bounds in Theorem 6 are not considered. We compute the best DC location corresponding to each vector of power-of-two reorder intervals inN (Tk). We pick the best overall solution in the existing neighborhood and compare it against the current best solution. If it is better than the current best solution, we accept it as the new best solution and the initial solution of the next iteration. The algorithm terminates when no improving solution exists in the neighborhood of the current best solution in which case a local minimum is found.
IV.7. Numerical Results
The purpose of the numerical experiments is twofold. First, we present the com-putational results demonstrating that our algorithms produce good quality solutions when compared with the lower bound Z(X∗, T∗), i.e., within 6% of the lower bound, in Section IV.7.1. Second, we discuss the potential benefit of PII-d-MR in practi-cal decision-making situations by comparing the integrated model with benchmark models in Section IV.7.2.
IV.7.1. Results Regarding the Performance of Algorithms
The computational results reported here were obtained considering the squared Eu-clidean distances, i.e., the only case where Z(X∗, T∗) can be computed exactly for benchmarking purposes. Under the ℓp distances, although the objective function of PII-d-MR is no longer convex, our algorithms are still applicable. The results pre-sented below offer promise that these algorithms may lead to acceptable solutions under the ℓp distances as well–especially when they are employed in a multi-start framework with different initial solutions.
The algorithms were implemented using C++ and run on a Pentium IV 3.2Ghz machine with 1 GB memory considering numerous data sets. We report detailed results based on four data groups that consist of 5, 20, 35, and 50 retailers. In each group, we have 500 problem instances, generated randomly using the uniform distributions in Table 10, resulting in a total of 2,000 of problem instances. We note that computational results were also obtained for additional 20,480 problem instances with other demand and cost parameter ranges3, and our fundamental conclusions are
3For the additional 20,480 instances, the demand and cost parameters were generated using the approach in Chen et al. (2001) whereas the existing locations were generated as indicated in Table 10. In these instances, the demand and cost parameters of the retailers were varied only slightly,
the same for all of the 22,480 problem instances examined. We do not report the solution times here since they are very small, less than 1 second for the majority of instances.
TABLE 10. Parameter Values for Testing the Performance of Proposed Algorithms Parameters Range
Di U[630,770]
K0 U[720,880]
Ki U[135,165]
h0 U[1.8,2.2]
h′i U[6.3,7.7]
p0 U[765,935]
pi U[180,120]
r0 U[1.8,2.2]
rdi U[1.35,1.65]
Pi U[0,100]× U[0,100]
|I| 5, 10, 35, 50
Our main findings regarding the performance of our algorithms, including the minimum, average, and maximum percentage gaps in the objective function value when compared to the lower bound Z(X∗, T∗), are summarized in Table IV.7.1. For each problem instance, the gap is defined as the percentage difference
Gap (% ) = Zalgorithm− ZL−BF GS−B
ZL−BF GS−B × 100,
where Zalgorithm is the cost of the solution suggested by the algorithm of interest and ZL−BF GS−B is the optimal solution of R-d-MR obtained using the L-BFGS-B algorithm, i.e., ZL−BF GS−B = Z(X∗, T∗).
Recall that the IterativeRelaxed algorithm provides a heuristic solution for R-d-MR. We employ this algorithm in a multi-start framework (with 50 re-starts) and take advantage of the resulting solution as a warm-start for our algorithms
de-i.e., not as significantly as in the other 2000 instances.
TABLE 11. Summary of Percentage Gaps for Problem Instances Generated Using the Data in Table 10
IterativeRelaxed Perturb Circle Local Search
|I| Min Ave Max Min Ave Max Min Ave Max Min Ave Max 5 0.00 (97) 0.31 2.94 0.02 1.69 4.14 0.02 1.81 5.61 0.02 1.72 4.46 20 0.00 (27) 0.50 5.67 0.57 1.63 3.26 0.57 1.67 3.83 0.57 1.66 3.27 35 0.00 (10) 0.48 5.37 0.79 1.84 2.91 0.79 1.92 4.35 0.79 1.88 2.96 50 0.00 (7) 0.49 5.22 0.85 1.93 2.89 0.85 2.06 3.73 0.91 1.98 3.17
veloped for solving PII-d-MR. For this reason, first we discuss our findings regarding the performance of the IterativeRelaxed algorithm by providing a comparison of the solution quality of this algorithm with the solution of R-d-MR obtained using the L-BFGS-B algorithm on NEOS. The first portion of Table IV.7.1 summarizes these findings4 where the average gaps are less than 0.50% and the maximum gaps do not exceed 5.67%. We note that the L-BFGS-B algorithm is quite slow compared to the IterativeRelaxed algorithm which provides good heuristic solutions for R-d-MR in a fast manner.
The second portion of Table IV.7.1 displays our findings regarding the perfor-mance of the Perturb algorithm. Observe that the average gaps are less than 1.93%
and the maximum gaps are less than 4.14%. Although these findings are based on the case where the solution of the IterativeRelaxed algorithm was utilized as a warm-start, we also obtained similar average and maximum gaps for the additional 20,480 problem instances where the Perturb algorithm was initiated considering a random DC location, i.e., the average gaps were always less than 2% and the maximum gaps were always less than 6%. This observation provides strong evidence that the Perturb algorithm is capable of effectively producing high quality solutions regardless of the
4The information in parentheses is the number of instances for which the IterativeRelaxed algo-rithm finds (X∗, T∗).
initial DC location. As we have noted earlier, the solution quality and run time of the Perturb algorithm depends on the step size λ and the sweeping angle δ. Hence, we tested the impact of different λ and δ values, and the best results in terms of the solution quality and run time were obtained with λ = 0.1 and δ = 5◦ for all data groups.
The results on the performance of the Circle Algorithm in Table IV.7.1 are also based on the case where the solution of the IterativeRelaxed algorithm was used as a warm-start. These results suggest that the average percentage gaps are less than 2.06% and the maximum gaps are less than 5.61% We note that, although the maximum gaps associated with the Circle Algorithm were sometimes larger than 6% for the additional 20,480 problem instances examined, they are always less than 6.831%. We also note that when a random initial location was used as the center of the circle, interestingly, the average gaps were slightly better. However, in terms of the maximum gaps, the warm-start improved on random initialization. In order to find the best radius R in terms of both the solution quality and run time, we also experimented with different radius values. A radius that is 10% of dmax = maxi,j∈I∪{0}{d(Pi, Pj)} seems to perform better for all data groups.
Finally, the last portion of Table IV.7.1 displays our findings regarding the per-formance of the Local Search algorithm where the average gaps are less than 1.98% and the maximum gaps are less than 4.46%. Again, the solution of the It-erativeRelaxed algorithm was utilized as a warm-start for obtaining these findings.
Since the IterativeRelaxed algorithm operates on neighborhood function of power-of-two reorder intervals, we also initialized this algorithm with a random a feasible (power-of-two) vector and observed that this approach consistently performed worse.
However, although maximum gaps with random initialization are high (potentially more than 6%), the average gaps are generally only slightly larger than those in Table
IV.7.1.
In summary, these findings indicate that the proposed algorithms are capable of effectively producing high quality solutions.
IV.7.2. Results Regarding the Practical Use of PII-d-MR
For the purpose of illustrating the potential benefit of (PII-d-MR) in practical decision-making situations, we discuss three benchmark models, and report additional
For the purpose of illustrating the potential benefit of (PII-d-MR) in practical decision-making situations, we discuss three benchmark models, and report additional