• Keine Ergebnisse gefunden

POP-DYN applied on the accompanying example

We depict the basic ideas of our Algorithm3, POP-DYN, with help of the example from the last section.

Example 5(solving POPeˆby Algorithm3). All valid (partial) mark-down strategies for the example from Section4.7are pictured in the enumeration tree in Figure4.2.

Revenue and stock can be found beside the nodes. Nodes which can be pruned by dominance are colored gray.

We just consider the scenario “normal seller”. We start by extending the partial mark-down strategyP˜ = (˜a,˜t,r)˜ witha˜= 0,˜t= ()and˜rb,s =Ib,s,∀s∈S,∀b∈B.

Becausekobs= 2we have to maintain the starting price with Price index 0 in the two first periods.

For Branch1and Size S the demand in Period 0 amounts to 2, the current stock is 5. That means all the demand for this branch and size is met and we obtain a revenue ofexp(−0·0.10)·2·10.99 = 21.98for this branch and size. The revenue for Branch 1and Size L is given byexp(−0·0.01)·3·10.99 = 32.97. For Branch2we earn 10.99and for Size L21.98. There is no mark-down in this period. Hence, the revenue for all branches and sizes is the sum of the single revenues, namely87.92.

We get to Period 1. For Branch 1 and Size S there are 3 items left, for Size L 2.

In Branch 2 there are still2items of Size S and 6 items of Size L available. Thus, all demand of this period can be met and our updated revenue at the end of Period 1 is 87.92 + exp(−1·0.01)·10.99·(1.5 + 2 + 0.9 + 1) = 146.68.

Because we traverse the enumeration tree by depth-first-search we first consider the extension of the current partial mark-down strategy with Price Index 0. In Branch 1 the demand for Size S can be met, Size L is sold out. The demands for both sizes in Branch 2 can be fully met. So the revenue for the current partial mark-down strategy amounts to146.68 + exp(−2·0.01)·10.99·(1 + 0 + 0.8 + 0.9) = 175.76.

Now we perform the dominance check. Because we stand in the first branch of the enumeration tree pruning is not yet possible. But we are able to update our bounds abound2,p , p= 0,1,2which still take value−∞. For the current periodk= 2and price indexpthere could be only one additional mark-down in the extension (see4.55) and with the maximum mark-down costs that can arise in Periodkmaxwe get

aµ = exp(−3·0.01)·(0.5 + 0 + 0.3 + 4.1)·0.1

+ exp(−4·0.01)·((0.5 + 0 + 0.3 + 4.1)·2·0.1 + 2·1) = 3.34.

So the updated bound amounts toabound2,0 = 175.76−3.34 = 172.42.

Forp= 1we have to regard that in comparison to a mark-down strategy of the same length with the current last price index 0 an additional mark-down may be possible, that means we update our bound to

abound2,1 = 175.76−exp(−3·0.01)·(0.1·(0.5 + 0 + 0.3 + 4.1) + 1) + exp(−4·0.01)·((0.5 + 0 + 0.3 + 4.1)·2·0.1 + 2·1) = 171.45.

All new bounds for Period 2 are outlined in the following table:

p 0 1 2

abound2,p 172.42 171.45 171.45

At Period 3 we extend the current partial mark-down strategy again with Price Index 0. In Branch 1 the demand of Size S can be met while Size L is as always sold out. In Branch 2 we meet the demand only partly and sell all remaining items of Size S. The demand for Size L can be fully met. Therefore the revenue is given by 175.76 + exp(−3·0.01)·10.99·(0.5 + 0 + 0.3 + 0.5) = 189.63.

Now we come to extend the partial mark-down strategy to a complete one. For ev-ery remaining item on the one hand we earn the salvage value on the other hand we have to pay two times variable mark-down cost. We obtain a complete strategy with revenue 189.63 + exp(−4·0.01)·((0.99−2·0.1)·(0 + 0 + 0 + 3.6)−2·1) = 190.44. We setP= (190.44,(0,0,0,0,3)).

The next step in the depth-first-search is to extend the partial mark-down strategy with partial price trajectory(0,0,0)by Price index 1. This implies a mark-down at the beginning of Period 3 and together with the yield earned by the sales the corresponding revenue amounts to175.76 + exp(−3·0.01)·(5.99·(0.5 + 0 + 0.3 + 1)−2·1−2· 0.1·(0.5 + 0 + 0.3 + 4.1)) = 184.78.

Extending the current partial mark-down strategy to a complete one yields a rev-enue of185.21.

We have to continue the algorithm without the possibility to prune nodes until our partial mark-down strategy will end up in Period 2 with Price Index 1. The revenue for this strategy amounts to166.09. Because166.09<171.45 =abound2,1 the current branch of the tree can be pruned. This is the same with Period 2 and Price Index 2.

We end up with the optimal mark-down strategyP= (190.44,(0,0,0,0,3)).

Algorithm 3POP-DYN

Require: complete data of an instance of the POPeˆ Ensure: optimal mark-down strategyP= (a, t) 1: initaboundk,p =−∞,∀k < kmax1,∀p < pmax,

init˜a= 0,˜t= (),˜rb,s=Ib,s∀bB,∀sS, initP= (a, t)witha=−∞andtuninitialised 2: setP˜= (˜a,˜t,r)˜

3: POP-DFS(P)˜ 4: returnP

Algorithm 4POP-DFS

Require: a partial mark-down strategyP˜= (˜a,˜t,r)˜ witht˜= (t0, . . . , tk) Ensure: valid non-dominated extensions ofP˜

1: ifk < kmax1then 2: ifPOP-DOM(P˜)=truethen 3: return

4: end if

5: for allvalid extensionsP˜extofP˜(see Definition5)do 6: POP-DFS(P˜ext)

7: end for 8: else

9: extendP˜to obtain the complete mark-down strategyP= (a, t)(see Definition6) 10: ifa > athen

11: P=P 12: end if 13: end if

Algorithm 5POP-DOM

Require: a partial mark-down strategyP˜= (˜a, t,r)˜ witht˜= (t0, . . . , tk), for each price indexp:p < pmaxa boundaboundk,p

Ensure: possibly updated boundaboundk,p fortkp < pmax, P˜dominated? true or false

1: if˜aaboundk,t

k then 2: returntrue 3: else

4: for allp:ptk, p < pmaxdo

5: compute the maximal additional mark-down costsa˜µfor extendingP˜by all valid exten-sions starting with the price indexp(see Lemma1)

6: if˜aa˜µ> aboundk,p then 7: aboundk,p = ˜a˜aµ

8: end if 9: end for 10: returnfalse 11: end if

4.PRICEOPTIMIZATION57

3 a=190.44 3 a=185.21 3 a=178.69 3 a=173.27 3 a=167.72 3 a=155.32

Figure 4.2: Example for the dynamic generation of mark-down strategies, Algorithm3, POP-DYN

Instance scenariolow scenarionormal scenariohigh

nd d nd d nd d

time(s) time(s) %n time(s) time(s) %n time(s) time(s) %n

1 3.47 1.10 34.70 3.29 0.68 21.23 3.45 0.43 13.47

2 3.66 0.71 21.89 4.07 0.37 10.18 3.85 0.24 7.98

3 3.55 0.99 30.97 3.48 0.80 21.60 3.95 0.47 14.79

4 3.55 1.16 22.53 4.07 0.73 22.33 3.37 0.53 14.93

5 4.06 0.79 24.23 3.24 0.52 16.76 3.41 0.36 11.79

6 3.57 1.17 35.80 4.05 0.85 22.84 3.48 0.50 16.32

7 4.57 0.74 21.96 4.46 0.52 15.37 3.50 0.40 11.86

8 2.86 0.90 28.26 2.92 0.51 20.50 3.31 0.32 12.66

9 3.23 0.85 27.60 2.88 0.51 19.62 3.30 0.28 11.64

12 2.96 0.93 30.01 3.35 0.62 22.62 2.80 0.38 24.49

3.55 0.93 27.80 3.58 0.61 19.31 3.44 0.39 13.99

Table 4.1: Dynamic generation of mark-down strategies – computational results

4.9 Computational results

In Table 4.1we compare two implementations of Algorithm 3, one with the usage of dominance checks, Algorithm5, and one without it. We took articles with known supply from our setI, AppendixE, of real-world instances. We performed the tests for all three different scenarios, see also Chapter3: good seller, bad seller and normal seller.

To compare the number of visited inner nodes we use the results of the corollar-ies2,3and4. We compare runtime in seconds “time” and the percentage of visited inner nodes of the enumeration tree.1 With kmax = 13 andpmax = 4the overall number of nodes in the enumeration tree according to Corollary 3amounts to 1730.

Without the leaves there remain 1730−364 = 1366= 100%b visited nodes in the complete enumeration tree for applying Algorithm3without dominance checks “nd”.

The percentages of this number for applying the procedure with dominance checks via Algorithm5“d” are given in the columns with label “%n”.

We see that with the application of our dominance rule depending on the considered scenario we can reduce the mean number of visited inner nodes to a number between 12.83 and 27.55 percents of the number of inner nodes we would have to visit if we enumerated all trajectories. The computation times can be reduced by a factor between 3.38 and 8.29. For “higher” scenarios we get better results with the usage of dominance checks.

We used the same instances from the setIto compare Algorithm3with solving the mixed-integer programming formulation of Problem5directly via CPLEX. To avoid nonlinearity we set the mark-down costs – both, fixed and variable – to zero. The results for the “low” scenario can be found in Table4.2.

While the solving process for the MIP averagely needs more than 8 hours our dy-namic programming approach with dominance checks can yield the optimal solution averagely in less than one second. Compared to the results stated in Table4.1we also see that the number of cut off inner nodes is averagely more than14percentage points higher as against the case where mark-down costs are regarded.

1We exclude the leaves in the enumeration tree from this consideration because extensions to complete mark-down strategies are easy to compute by including the overall stock in the labels.

Instance nd d MIP time(s) time(s) %nodes time

1 3.56 0.48 14.79 30067.8

2 4.09 0.44 13.69 27423.3

3 4.08 0.44 15.45 28637.7

4 3.59 0.49 15.45 30303.6

5 3.49 0.53 14.79 28752.7

6 3.58 0.41 12.81 25800.5

7 4.56 0.18 4.90 36300.9

8 2.95 0.43 14.13 32898.0

9 2.99 0.36 13.47 30194.3

12 3.39 0.36 14.35 32356.2

3.63 0.41 13.38 30273.5

Table 4.2: POP – dynamic generation versus MIP