• No results found

Optimal Inventory Rationing of Perishable and Substitutable Products Subject to Multiple Demand Classes

N/A
N/A
Protected

Academic year: 2021

Share "Optimal Inventory Rationing of Perishable and Substitutable Products Subject to Multiple Demand Classes"

Copied!
33
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

Optimal Inventory Rationing of Perishable and

Substitutable Products Subject to Multiple Demand Classes

Richard van der Veen

(2)

Master’s Thesis Econometrics, Operations Research and Actuarial Studies

(3)

Abstract

(4)

1 Introduction

The majority of discussions in inventory management revolve around maintaining a certain level of inventory in order to continuously provide a solid supply of products to demanding customers. Problems dealt with in this field of research are often characterized by a set of decisions that have to be made during a given time span regarding the inventory state of one or multiple products. Depending on the nature of the problem, this inventory state is influenced by one or more external factors. The complexity of these problems lies within the fact that one strives to achieve a balance between costs that can arise on the one hand from backlogging and potentially loosing customers due to a lack of inventory, while on the other hand maintaining high levels of inventory to avoid these costs can lead to a loss in value in the form of storage costs or due to products having a rate at which they perish. The combination between different types of demand and the rates at which these demands arrive together with the rich diversity of inventory products results into a wide range of problems to be solved. Substantial research has been performed where the emphasis is either placed upon demand of different types, or the nature of the products that are being distributed, thereby investigating the effects of substitutability or perishability.

Even though placing the emphasis on either different demand types or the nature of the goods is useful in a lot of practical situations, the combination of these two vast areas of research is one that can be found as occurring in real practical situations as well. Consider for instance a factory serving a perishable product to both "large" and relatively "small" customers. Any demand stemming from small customers has to be met and delivered to them in a compact and small format, as those customers lack the ability to store in bulk. On the other hand, large customers can be served in bulk but are nonetheless content if they are served using the smaller, compact format of the product, given that their demand is met, there is no difference in quality and that no extra costs are incurred on their side as a result of this.

(5)

extra costs. At any point in time in between these big bag allocation moments, a decision has to be made whether it might be cost efficient to start serving large customers with big bags. This will lead to some additional costs, as loading big bags is more time consuming and more costly than bulk loading. However, by doing so the factory may avoid the costs of having to dispose big bags that are perished at the end of the season, as these big bags tend to perish fast relative to products stored in silos due to the fact that the air and temperature control provided by these silos significantly reduces perishability.

Whilst taking into account the insights obtained by earlier performed research in the earlier mentioned areas, being the nature of the demand and products at hand, this paper tackles a supply chain optimization problem characterized by the intersection of the two. The setting considered consists of two types of products, which are linked to each other in the sense that one of the product types can be transformed into the other. This transformation can be performed at any time, however the costs of doing so are time-specific. An important characteristic of these products is that one of them will perish, while the other does not. Furthermore, two types of demand occur: one type of demand can be served by either one of the product types, while the other can solely be served by the type of product that perishes.

The decision that has to be made in this situation consists of three elements. First, the initial allocation of inventory to the product that can serve both demand types has to be chosen. Secondly, the moments at which customers that can be served by both types of products will be served by the perishing product as well as the amounts to serve them with has to be determined. Finally, any periodical transformation from the non-perishing product into the perishing product to avoid stock outs has to be determined. All of the decisions that are made will potentially result into specific costs, e.g. transformation costs or disposal costs, which will be minimized.

(6)

are investigated in section 5. Section 6 provides extensions on the model given in section 4 by discussing how changes to any made assumptions influence the model’s structure and complexity. Finally, the paper is concluded in section 7, recapping the results while also giving future research opportunities.

2 Literature review

In the last two decades, substantial research has been performed within the field of inven-tory optimization. Specifically in the areas of perishibility and substitutibility, research has been done in order to provide optimal solutions and heuristics for a vast array of different problem settings. Figure 1 is included in order to illustrate the different common research elements and their intersections in inventory management with regards to product teristics. The figure provides an abstract representation of a subset, that is product charac-terization, of the research landscape surrounding inventory optimization models. Areas I, II and III are areas that have enjoyed a lot research so far, while areas IV, V and VI consist of substantially harder and more complex problems. These areas are less explored, but are nonetheless home to a set of problems that represent actual practical applications in the real world.

Initially, much of the research performed within these sub fields was revolving around a single item inventory setting, where often the effects of perishability played a role, i.e. area I and II in figure 1. Distinctions between the different researches were often made by changing how the products perish. For instance, deterioration is often modelled to be of one of the following: time or inventory dependent, fixed lifetime or age dependent.

(7)

Figure 1: The research landscape for common product characteristics in inventory optimization

problem settings.

pricing problem with substitution. Others contributed to this area and layed the focus more on optimal ordering decisions and quantities of settings with multiple products that are substitutable, e.g. Schlapp & Fleischmann (2018) and Khademi & Eksioglu (2018). While substitution at a cost is not very prevalent in most of the work, Gurnani & Drezner (2000) looked at a multi product problem where the substitution comes at a certain cost, similar to the scenario this paper deals with.

Further down the line, researchers tackled problem settings belonging to area VI, thereby looking at systems with multiple inventory products that perish but are also subject to cus-tomer substitution. Akcay et al. (2010) utilized a stochastic programming procedure to solve a problem setting with multiple substitutable and perishable products, quite similar to the setting this paper is dealing with. Maity & Maiti (2009), Duong et al. (2015) and Chen et al. (2015) also came up with a policy for inventory systems with multiple substi-tutable and perishable items.

(8)

back-logged. Most of the problem settings dealt with are based on one single product, where the objective is often to ration the inventory between different demand classes, e.g. Fadiloglu & Bulut (2010), Hung & Hsiao (2013). Wang et al. (2014) made a distinction between customers based upon backlogging behaviour, where a decision has to be made upon how to allocate available stock amongst the classes of demand. In the same year, Wang & Tang (2014) researched a setting where demand classes are a mixture of back order type and lost sales type. Ding et al. (2016) and Bao et al. (2018) both looked at an inventory opti-mization problem characterized by multiple classes of demand, where the different classes are also based on their backlogging behaviour. None of these works combine multiple de-mand classes with inventory systems that consist of multiple perishable and substitutable products.

Taking into account the areas illustrated in figure 1, this paper belongs to area VI. It extends upon earlier work performed in the area of perishable and substitutable products and combines this with multiple demand classes. The distinction in demand classes is made by differing the willingness to substitute, in contrast to the majority of the literature, where the emphasis is most often placed upon backlogging behaviour of demand classes. Fur-thermore, even though a lot of work has been done surrounding inventory models with substitution, it is rarely the case that there are costs associated with substituting items. The unique combination of the above mentioned elements results into a problem setting that has not been dealt with in the current literature, providing an empty spot where this paper fits in.

3 Problem description

(9)

of the supplied products take place at distinct points in time. Furthermore, all the problems dealt with in this paper are setup to be a multi period problem.

Throughout this paper, only one supplying entity is considered. Besides the character-istics as described in the previous section, this entity is assumed to also consist of a fictive decision making agent who is in charge of selecting a set of policies for each period, starting with the initial period. These policies can possibly affect the inventory levels of the prod-ucts that characterize the supplying entity. The problem settings considered in this paper all describe a situation where the supplying entity manages two different types of products. One of these products, from now on referred to as the perishing product, is assumed to have a fixed lifetime and perishes entirely in the final period, after all demand has been satisfied. The other product is assumed not to perish, hence it will be referred to as the non-perishing product from now on. Even though the cost functions are an important part of the supply-ing entity, they are left to be described until the demandsupply-ing entities are explained as both the demanding and supplying entities have the potential to influence these costs.

Two demanding entities are taken into account, each described by their own set of characteristics. The first entity is described by a dynamic non negative demand for prod-ucts which occurs each period after the initial period. The dynamic nature of the demand implies that the demand can be satisfied by either the perishing product, the non-perishing product or a combination of the two. In line with the practical application provided in the introduction, this entity will be referred to as a "large customer" from now on. The second entity is said to have a demand that can be satisfied only by the perishing product, and will be referred to as a "small customer". In every period, excluding the initial period, a non-negative demand for each of the demanding entities occurs. This size of the demand for both entities is assumed to be a random variable following an arbitrary probability dis-tribution, which can be selected matching the practical problem at hand.

(10)

customer with the perishing product comes at a per unit cost. Finally, transforming any unit of the non-perishing product into the perishing product at other moments than when it is done to satisfy unmet demand as a result of a policy results into a cost incurred per unit transformed. It is assumed throughout the paper that the per unit cost for transforming non-perishable product into the perishable product is equal to zero for the initial period, as rather than transforming, the product is directly stocked in its perishing form.

The task at hand for the decision making agent is threefold: First, in the initial period, the decision making agent has to decide upon the size of the initial transformation from the non-perishing product into the perishing product. Then, for each of the subsequent periods, the agent has to decide upon two target threshold levels of stock for the perishing product. Both the first and the second threshold, which will be referred to as the replenish-up-to threshold and the transform-down-to threshold from now on, describe a potentially desired stock level of the perishing product for each period after the first. If the stock level of the perishing product is below the replenish-up-to threshold at the start in any given period, an amount of the non-perishing product is transformed into the perishing product until the stock level described by this threshold is reached. Similarly, if the stock level is above the transform-down-to threshold, part of the inventory of the perishing product is set aside to be served to large customers. The amount set aside is of such a magnitude that the stock of the perishing product left over is equal to the transform-down-to threshold. Note that since the demand size of large customers is relatively large compared to the demand size of small customers, it is likely that all the perishing product set aside will be used to satisfy demand of large customers.

4 Mathematical model

Consider two different products x and y, placed in a discrete time setting which is described by N periods. Product x is characterized by its perishing nature, while product y does not perish. For each period i, described by the set { i | i ∈ {0} ∪ Z+, i ≤ N }, except for the first period, i.e. when i = 0, two different types of demand arise, described by d1 and d2.

Demand of type d1 has to be satisfied using product x while demand of type d2 can be

satisfied using both product x and product y. The magnitude of the demand of type d1that

occurs during a given period i is described by a random variable d1,i with range Rd1,i which

is limited by a minimum level

(11)

d1,i ≤ ¯d1} for every period i. Similarly, the magnitude of the demand of type d2 occurring

in each period i is described by a random variable d2,i with range Rd2,i which is limited by

a minimum level

¯d2 and a maximum level ¯d2 leading to the set {d2,i | ¯d2 ≤ d2,i ≤ ¯d2} for every period i. The variables d1,i and d2,i are considered to be independent, implying

that Pr(d1,i = d0|d2,i) = Pr(d1,i = d0) and Pr(d2,i = d00|d1,i) = Pr(d2,i = d00) for all d1,i and

d2,i, where d0∈ Rd1,i and d

00 ∈ R

d2,i. The stock level of product x at the start of period i is

described by xi and the maximum level of stock xi can reach is given by ¯x, hence the set of xi for any period i is{ xi | xi ∈ {0} ∪ Z+, xi ≤ ¯x}. In a similar fashion, the stock level of product y at the start of period i is described by yi which is capped by ¯y, implying that the set of yi for any period i is{ yi| yi∈ {0} ∪ Z+, yi≤ ¯y}.

Now consider the decision making agent, who has to decide on a set of policy choices in the first period for each period i. First of all, the agent has to decide upon the initial stock level of x, i.e. setting x0. For every period other than the first, the agent has to decide

upon a set of threshold values, i.e. the replenish-up-to and transform-down-to thresholds. In any period i where i> 0, the replenish-up-to threshold level is described by the variable ki, while the transform-down-to threshold is described by the variable zi. The replenish-up-to threshold ki cannot exceed the value of the transform-down-to threshold zi, while both variables are limited by the maximum stock level of x. Hence the threshold levels are described by the following sets: {ki | ki ∈ {0} ∪ Z+, ki ≤ ¯x, ki ≤ zi} and {zi | zi ∈ {0} ∪ Z+, zi ≤ ¯x, zi ≥ ki}.

When comparing these thresholds to the stock level of x, potential action is undertaken to manipulate the stock level of x. If during the first check in every period i with i> 0, the stock level is less than the replenish-up-to threshold level ki, i.e. xi < ki, an amount equal to ki− xi is added to the stock level of x. After these events, the stock level xi is compared to the transform-down-to threshold level zi. In the case that xi > zi, an amount equal to xi− zi is subtracted from the stock level of x. Note that the above actions are mutually exclusive, either the stock level is increased as a result of a violation of the replenish-up-to threshold or it is decreased as a result of a violation of the transform-down-to threshold (or stays the same if none of the threshold policies are violated).

(12)

first period is described by events that are characterized by stock level transformations and arrival of demand. Each of these periods initiate with performing a check, comparing the stock level of product x to a threshold level, earlier referred to as the replenish-up-to threshold level, which has been set by the agent. Then, if the policy determined by the agent dictates that it is required to increase the stock level, a sufficient amount is transformed and corresponding costs are incurred. Subsequently and in a similar fashion, a second check is performed, again comparing the stock level to another threshold value chosen by the decision making agent, the transform-down-to threshold level. Now, if the level exceeds the threshold, an amount equal to the difference between the stock level and the threshold is set aside to be served to large customers, resulting into a per unit incurred cost for doing so. After these checks and potential transformations are performed, demand of both types arrive simultaneously and is met. Any demand of type d2 is first satisfied using the stock

of x set aside as a result of the transform-down-to threshold. For periods other than the final period, the arrival and satisfaction of demand concludes the period. In the final period however, one more event occurs after demand is met: any remaining stock level of product x perishes and costs are incurred as a result of this.

To lower the complexity of the model, a set of assumptions are made with regards to product y and demand of type d2. As will be shown, by making these assumptions a

mod-elling opportunity arises to omit product y and the demand of type d2 from the

mathemat-ical model entirely. The assumptions made with regards to product y and demand of type d2 are the following:

• There is always enough inventory of y in any given period i to meet the demand of type d2 in that period.

• The demand of type d2 is always larger compared to what is set aside as a result of

the transform-down-to threshold.

(13)

d2 can always be satisfied using product y and there is always the possibility to transform

product y into x to satisfy demand of type d1.

Moving from one period to another, the stock level of x changes. The stock level of product x in the initial period is set as a decision variable by the agent. The evolution of the stock level of product x from a period i to period i+ 1 with i > 0 depends on the stock level xi, what is set aside to be served to large customers i.e. max(xi− zi, 0), what is replenished at the beginning of the period i.e. max(ki− xi, 0) and what is being demanded by small customers i.e. d1,i. This leads to the following equation for the evolution of the

stock level of x:

xi+1= max(xi− max(xi− zi, 0) + max(ki− xi, 0) − d1,i, 0), (1)

for i∈ {1 . . . N }. Note that the stock level at the start of period 1 is equal to the level set in the first period, i.e. x1= x0.

Costs as a result of any demand of type d1 that has to be met by transforming product

y into product x due to a lack of inventory during any given period i other than the first period is described as a cost c1 incurred per unit transformed. Furthermore, for every unit

transformed from product y to product x at the beginning of a period i due to the stock level xi being less than the policy-chosen transformation threshold ki a cost of c2is incurred.

Similarly, for every unit set aside for large customers due to the stock level xi being more than the threshold zia cost of c3is incurred. Finally, for every product x that is left over after

all demand has been met in the finalizing period a per-unit cost of c4 is incurred. During the first period, there are no costs incurred, as there is no demand arriving and the initial stock allocation does not come at a cost. In any given subsequent period other than the final period, costs are incurred anytime the stock level of x is insufficient to fully satisfy the demand of type d1in that period, or whenever any policy-driven stock level transformations are performed. Note that the stock level of x after checking threshold values and either reducing or increasing the stock accordingly is given by

x0i = xi− max(xi− zi, 0) + max(ki− xi, 0). (2) The amount of demand that cannot be satisfied using x0i is then given by max(d1,i− x0i, 0),

(14)

x0i, 0)c1. The costs incurred for transforming product y to product x at the start of a period

iare equal to max(ki−xi, 0)c2. Furthermore, the costs of setting aside and serving product x

to customers of type d2at the start of period i are always max(xi−zi, 0)c3, as by assumption

the demand size of type d2is always larger than the amount of product x set aside as a result

of the policy. Combining the above, the total costs incurred in any period other than the first or the last period are given by

Ci(xi, zi, ki, d1,i) = max(d1,i− x0i, 0)c1+ max(ki− xi, 0)c2+ max(xi− zi, 0)c3, (3)

for i ∈ {1 . . . N − 1}. In the final period, i = N , costs are an extension of (3) as there are added costs for any perishing products of type x left over after demand has been met. Similar to other periods, the stock level of x after threshold values are checked and any transformation or substitution is performed is given by xN0 = xN−max(xN−zN, 0)+max(kNxN, 0). Using this, the amount of product x that perishes is given by max(x0

N− d1,N, 0). The

total costs occurring in period N is given by

CN(xN, zN, kN, d1,N) =

max(d1,N− x0N, 0)c1+ max(kN− xN, 0)c2+ max(xN− zN, 0)c3

+ max(x0

N− d1,N, 0)c4. (4)

Using (1), (3) and (4) the optimization equations, also referred to as the Bellman equa-tions, used to apply the backwards dynamic programming procedure for each period can be constructed. These functions consist of a minimization over the policy variables x0, zi and ki of the direct expected cost of the policy decision made in the current period together with any future expected costs. For the finalizing period, the latter is not present hence the Bellamn equation is given by

(15)

Bellman equation is given by φi(xi) = min zi,ki ( Ed1,i[Ci(xi, zi, ki, d1,i)] + X v∈[0,¯x] Pr(xi+1= v|xi, zi, kii+1(v) ) , (7)

with i∈ {1, . . . , N − 1}. For the first period, the Bellman equation is given by

φ0(x0) = min

x0

1(x1)} , (8)

as there are no direct costs in the first period. The probability of the stock level xi+1 as present in (7) depends on the stock level xi, the policy choices made for the threshold values zi and ki and the random variable d1,i. (1) implies that

xi+1=   

x0i− d1,i for xi0− d1,i> 0

0 otherwise,

(9)

which in turn implies that the probability that xi+1= 0 corresponds to the probability that

x0i− d1,i ≤ 0 or equivalently Pr(d1,i≥ x0i).

For the special case that the demand of type d1 in any given period i is sampled from a

discrete uniform distribution, that is d1,i∼ U{0, ¯d1}, it can be concluded that

Pr(xi+1= 0) =    1− x0i+1 ¯ d1+1+ 1 ¯ d1+1 for x 0 i ∈ [0, ¯d1] 0 for xi0∈ ( ¯d1,∞). (10)

The probability that xi+1 is equal to any given value w ∈ (0, ¯x] is given by the probability that w = x0

i − d1,i or equivalently Pr(d1,i = x0i − w). Again, when d1,i is sampled from a

discrete uniform distribution, it can be stated that

Pr(d1,i = x0i− w) =    1 ¯ d1+1 for x 0 i− w ∈ [0, ¯d1] 0 otherwise. (11)

(16)

on any given value w is for this special case given by Pr(xi+1= w) =            1− x0i+1 ¯ d1+1+ 1 ¯ d1+1 for w= 0 and x 0 i ∈ [0, ¯d1] 1 ¯ d1+1 for w∈ [x 0 i− ¯d1, x 0 i] and w ∈ (0, ¯x] 0 otherwise. (12) 5 Numerical results

This section provides several numerical scenarios to analyze the structure of the optimal policy that results from applying the model in section 4 as well as its sensitivity to changes in the time span or the cost structure. Section 5.1 starts off by determining the optimal policy for a scenario that has a cost structure justifiable for the practical case of starch factories in the Netherlands as introduced in section 1. In section 5.2 the structure of the problem setting as described in section 5.1 is taken and altered by changing the time span or cost parameters. The optimal policy obtained for the scenario in section 5.1 serves as a base case against which any policies obtained in section 5.2 are compared.

Unless specified otherwise, the scenarios dealt with in this section are all defined by the same structure. The demand of type d1is sampled from a discrete uniform distribution with

a lower bound equal to 1 and an upper bound equal to 10, i.e. d1,i ∼ U{1, 10}. The time span is set to be equal to 5 periods, implying that demand for products arrive a total of 4 times as in the first period (i = 0) there is no arrival of demand. The cost parameters are considered to be constant throughout each of the periods.

5.1 Base case

(17)

c

1

c

2

c

3

c

4

¯

d

1

¯

d

1

150 100 50 200

1

10

Table 1: Scenario parameters for the base case.

i

0

1

2

3

4

k

i

23 10

9

6

2

z

i

∞ 34 25 16 6

Table 2: Optimal threshold values with c1= 150, c2= 100, c3= 50 and c4= 200.

x, due to the unpredictable nature of these stock outs. The event of a stock out occurs simultaneously with the arrival of most or all of the demand, hence the act of transforming interferes with the process of satisfying the demand of (other) customers. Thus, apart from the labour costs involved in the transformation, costs arise from the delay in the firm’s operations and customer service as well. The costs of replenishing the stock level of x by transforming product y into x in the beginning of every period as a result of a policy driven decision consists of the labour costs, but no service delay is experienced. Finally, reserving product x to be served to large customers comes at a small labour cost, as the product has to be prepared to suit the transportation method of the customer, but this cost can be considered inferior compared to the other cost sources. The above reasoning implies that the cost parameters in the base case are set up in such a way, that the following holds: c4> c1> c2> c3. Table 1 provides an overview of the cost parameters and demand

distribution bounds used in this scenario.

Table 2 shows the optimal threshold values for each of the periods. It is important to realize that the initial stock level of x before replenishing in the first period is equal to 0, explaining why the transform-down-to level z0 in the first period is equal to infinity.

(18)

gradually lower threshold values in order to avoid potential disposal costs in the final pe-riod. The transform-down-to threshold values decrease faster over the periods compared to the replenish-up-to threshold values, causing the tightening of the gap between the two types of thresholds. This can be attributed to the lower per unit cost of transforming down relative to replenishing.

The optimal solution for this scenario and its possible solution paths can be derived using table 2 and by looking at the possible realizations of demand in each period. The costs associated with this optimal solution are equal to 645.47. The optimal decision path is structured in such a way, that stock outs in early period are entirely avoided, while bal-ancing the expected costs of stock outs and disposal in later periods. Transformations and replenishments are postponed to later periods, which is not surprising given the decreas-ing variance of the sum of future demand in later periods combined with the static cost structure.

(19)

will be between 2 and 6.

5.2 Sensitivity analysis

In order to learn more about the optimal solutions that are provided by applying the model, an additional set of scenarios are investigated. These scenarios are all constructed by taking the structure of the base case scenario and changing either the time span or one of the cost parameters.

5.2.1 Lowering the per unit disposal cost c4

The first alternative scenario that is investigated is constructed by lowering the cost of disposal in the final period, i.e. c4. Table 3 displays the optimal threshold values for when

the model is applied with the same structure as in the base case but with c4= 75. Compared

to the base case, a similar structure can be observed with regards to the decreasing gap between the two types of thresholds and the threshold values themselves over the course of the periods. The major difference that can be observed is the magnitude of every single threshold value, which is either the same or increased. Unsurprisingly so, as the relatively low value of the per unit cost of disposal c4 makes it more likely that it is cost efficient to

maintain a higher stock level with increased risk of disposal in order to lower the probability of a stock out happening.

i

0

1

2

3

4

k

i

25 10 10

7

3

z

i

∞ 37 28 19 9

Table 3: Optimal threshold values with c1= 150, c2= 100, c3= 50 and c4= 75.

(20)

base case. Finally, in the last period the stock level can range between 0 and 18, hence the occurrence of a replenishment or stock out is the most likely in this period. An interesting observation is that the possible range of stock levels that can be reached is higher for each period compared to the base case, which is a direct result of the higher initial stock level and and indirect result of the lower per unit disposal cost.

5.2.2 Lowering the per unit replenishment cost c2

The next scenario is constructed by taking the base case structure and significantly lower the per unit cost c2 of replenishing at the start of a period. Table 4 shows the optimal

pol-icy parameters for each of the periods. Note that the optimal transform-down-to threshold values for this scenario are exactly the same as in the base case. Comparing the optimal replenish-up-to threshold values to the base case, it can be observed that the initial alloca-tion is lower while for each other period the values are higher. The lower initial allocaalloca-tion can be fully attributed to the lower value of c2, as even though the initial risk of a stock

out occurring in later periods is higher, the costs of periodically reducing this risk is lower due to the relatively cheaper replenishments. This is reflected in the optimal values of k in the other periods, as the cheaper replenishments fully or almost fully prevent stock outs for most of the periods. Only in the final period, where the expensive disposal costs weigh in more heavily, is the replenishment lower.

i

0

1

2

3

4

k

i

20 10 10

9

4

z

i

∞ 34 25 16 6

Table 4: Optimal threshold values with c1= 150, c2= 25, c3= 50 and c4= 200.

(21)

or replenishments is more likely in later periods, in line with the previous scenarios.

5.2.3 Increasing the per unit transformation cost c3

For this scenario, the per unit cost of transforming at the beginning of a period c3is increased

relative to the base case. Table 5 provides the optimal threshold values for each of the periods. Apart from the initial stock level allocation, each of the optimal replenish-up-to threshold values are exactly the same as in the base case. Note however that for each period the optimal transform-down-to thresholds are higher compared to the base case. This is a direct result of the increase of c3, as it is now less likely that transforming down another

unit is cost efficient compared to the expected costs of disposal associated with not doing so.

i

0

1

2

3

4

k

i

21 10

9

6

2

z

i

∞ 37 29 20 10

Table 5: Optimal threshold values with c1= 150, c2= 100, c3= 175 and c4= 200.

The optimal decision path resulting from setting the initial stock level to be equal to 21 comes with associated costs equal to 766.89. Once again, no replenishments (other than setting the initial stock level), transformations or stock outs occur in the first three periods. Interestingly, where in the base case in period 3 the optimal threshold levels might lead to both replenishments or down transformations, in this case there are no down transforma-tions in period 3, a direct result of the higher transformation costs. Only in the final period, where the stock level ranges between 0 and 18 can a potential down transformation be observed.

5.2.4 Increasing the per unit transformation cost on stock out c1

(22)

solution to set the values as such that the probability of a stock out in every period is lower relative to the base case.

The optimal decision path can be obtained by setting the initial stock level of x equal to 25, which results into optimal expected costs equal to 784.38. No replenishments, down transformations or stock outs occur in the first 3 periods, in line with the scenarios covered so far. The higher initial stock level reduces the probability of stock outs in later periods, especially combined with the higher values for k3and k4. Down transformations are

poten-tially performed in period 3 and 4. The likelihood of a transformation is similar compared to the optimal decision path of the base case, however average stock levels are higher as a result of the higher initial stock level. The higher stock levels combined with the higher threshold values result into the amount being transformed being almost the same compared to the base case.

i

0

1

2

3

4

k

i

25 10 10

8

4

z

i

∞ 35 26 17 7

Table 6: Optimal threshold values with c1= 250, c2= 100, c3= 50 and c4= 200.

5.2.5 Increasing the time span to 10 periods

The final scenario in this section provides insights into the structure of the optimal solution if the time span of the setting is increased from 5 to 10 periods, i.e. N = 9. Table 7 provides the optimal threshold values for each of the periods. The optimal threshold values for the last 4 periods are exactly the same as the threshold values for the last 4 periods in table 2 of the base case. During the earlier periods, replenishments in each period are up to a stock level of 10, thereby entirely eliminating any chance of a stock out occurring. Similar to the base case, the optimal transform-down-to threshold levels are strictly decreasing over the periods.

(23)

i

0

1

2

3

4

5

6

7

8

9

k

i

52 10 10 10 10 10 10

9

6

2

z

i

∞ 81 71 61 51 43 34 25 16 6

Table 7: Optimal threshold values with c1= 150, c2= 100, c3= 50 and c4= 200.

higher likelihood of both replenishments and stock outs occurring. A down transformation can be observed in the sixth period (i = 5) if the realization of demand is extremely low for the first periods, i.e. a sum of demand less than 9 through period 1 to 4. For any later period, the likelihood of a down transformation increases as it becomes more cost efficient to do so taking into account the expected disposal costs. Overall however, the solution path shows a similar structure compared to the optimal solution path of the base case.

6 Extensions

The model as given in section 4 and applied in section 5 is build upon a set of assump-tions that are justifiable for the problem setting of starch factories in the Netherlands. By making these assumptions however, the application of the model is restricted to a smaller set of problems, as for some problem settings the assumptions are too bold. This section is an elaboration on the model, discussing the implications of discarding some of the made assumptions, changing current model component characteristics or adding entirely new el-ements to the model. The objective of this section is to provide a foundation for future research. The section follows a narrative approach, in which either the technical details are left out or they are presented in an appendix.

One important assumption made in section 4 is that the size of the demand of type d2 in any period is always larger than the amount of product x set aside to be served to large customers as a result of the transform-down-to threshold. Dropping this assumption implicitly puts a limit on the amount of product x that will be used to satisfy demand of type d2 in any period. This changes the model substantially and increases its complexity, as there are now two random variables to be dealt with in each period i, i.e. d1,i and d2,i.

(24)

in any period i is now given by min(d2,i, xi − zi). Not only has this implications on the cost structure of the problem, it also increases the complexity of deriving the probability of reaching a certain state of the stock level of x. Appendix A provides the derivation of the model when this assumption is discarded.

The second assumption made in section 4 was to assume that the stock level of product y is always large enough to meet the demand of type d2 in any period. By discarding this

assumption, the model has the potential to be applied to a much wider variety of problem settings, as the existence of an undepletable stock is rare in practical problems. Doing so however has some major implications on the technical specification of the model. Suppose for instance that the stock of product y can be depleted, and in order to maintain a certain optimal stock level the agent has the possibility to place an order to replenish the stock of product y. This adds a decision variable to the policy, as the decision making agent now also needs to decide on the moments and magnitude of orders. The sequence of events in every period have to be reassessed, as ordering before or after performing policy driven transformations might both result into different outcomes. Additional assumptions have to be made with regards to lead times, backlogging behaviour and the order in which demand is satisfied. Whereas the state of the original model is described by the stock level of x only, the state of this model changes to the stock level of both product x and y. This means that it is required to adapt the equation describing the evolution of the stock level of x to incorporate y, whilst also constructing an equation describing the evolution of the stock level of y. Furthermore, apart from deriving the probabilities of reaching a certain stock level of x, it is in this case also required to derive the probabilities of reaching a certain stock level of y in any period.

(25)

from during any given time period. This change does not influence the state variable and the probabilities linked to reaching a certain stock level of x however, hence the resulting model is apart from a different cost structure similar to the one described in section 4.

7 Conclusions

In this paper, a stochastic backwards dynamic programming procedure is applied to obtain an optimal solution for a multi periodical inventory optimization problem characterized by two products, of which one perishes in the final period. The demand for the two products can be divided into two different classes, based on the customer’s willingness to substitute one of the products for the other. One class of demand can only be satisfied using the perishing product, while the other can be satisfied using both products. By making a set of assumptions, a modelling opportunity arises to omit the non-perishing product from the mathematical model. The model as given in this paper provides an initial optimal allocation of the stock level of the perishing product. Furthermore, it provides optimal policy decisions for every period, dictating down transformations or replenishments of the stock level of the perishing product. The developed model is generic in the sense that the distribution of the demand and the values of the cost parameters are flexible and can be changed to suit any practical application inhibiting the characteristics of the problem description of this paper. Application of the model, where demand is drawn from a discrete uniform distribution and cost parameters are set to values which are reasonable in the case of starch factories in the Netherlands, results into a policy showing intuitive values for the policy thresholds and the initial optimal stock level. Transformations, replenishments and stock outs are entirely avoided in earlier periods, while later periods show an increasing likelihood of these events. This solution structure appears to be prevailing, even when the time span is doubled. Increasing a specific cost parameter directs the structure of the optimal solution to lower the likelihood that events associated with the cost parameter occur. Lowering a cost parameter results into an optimal solution where events associated with the cost parameter are leveraged and used to steer away from other relatively more expensive events.

(26)
(27)

References

[1] Y. Akcay, H.P. Natarajan, S.H. Xu (2010). Joint dynamic pricing of multiple perishable products under consumer choice. Management Science 56(8), 1345-1361.

[2] L. Bao, Z. Liu, Y. Yu, W. Zhang (2018). On the decomposition property for a dynamic inventory rationing problem with multiple demand classes and backorder. European Journal of Operational Research 265, 99-106.

[3] X. Chen, Y. Feng, M.F. Keblis, J. Xu (2015). Optimal inventory policy for two substi-tutable products with customer service objectives. European Journal of Operations Re-search 246, 76-85.

[4] M. Cimen, C. Kirkbride (2013). Approximate dynamic programming algorithms for multidimensional inventory optimization problems. 7th IFAC Conference on Manufac-turing Modelling, Management and Control.

[5] Q. Ding, P. Kouvelis, J. Milner (2016). Inventory rationing for multiple class demand under continuous review. Production and Operations Management 25(8), 1344-1362.

[6] L. Dong, P. Kouvelis, Z. Tian (2009). Dynamic pricing and inventory control of substitute products. Manufacturing and Service Operations Management 11(2), 317-339.

[7] L.N.K. Duong, L.C. Wood, W.Y.C. Wang (2015). A multi-criteria inventory management system for perishable and substitutable products. Procedia Manufacturing 2, 66-76.

[8] M.M. Fadiloglu, O. Bulut (2010). A dynamic rationing policy for continuous-review inventory systems. European Journal of Operations Research 202, 675-685.

[9] H. Feng, Q. Wu, K. Muthuraman, V. Deshpande (2015). Replenishment policies for multi-product stochastic inventory systems with correlated demand and joint-replenishment costs. Production and Operations Management 24(4), 647-664.

[10] H. Gurnani, Z. Dresner (2000). Deterministic hierarchical substitution inventory mod-els. Journal of the Operational Research Society 51, 129-133.

(28)

[12] A. Khademi, B. Eksioglu (2018). Spare parts inventory management with substitution-dependent reliability. Informs Journal on Computing 30(3), 507-521.

[13] C. Kouki, M. Zied Babai, Z. Jemai, S. Minner (2016). A coordinated multi-item inven-tory system for perishables with random lifetime. International Journal of Production Economics 181, 226-237.

[14] K. Maity, M. Maiti (2009). Optimal inventory policies for deteriorating complementary and substitute items. International Journal of Systems Science 40(3), 267-276.

[15] A.K. Maity, K. Maity, S. Mondal, M. Maiti (2007). A chebychev approximation for solving the optimal production inventory problem of deteriorating multi-item. Mathe-matical and Computer Modelling 45, 149-161.

[16] J. Schlapp, M. Fleischmann (2018). Multiproduct inventory management under cus-tomer substitution and capacity restrictions. Operations Research 66(3), 740-747.

[17] H. G. H. Tiemessen, M. Fleischmann, G. J. van Houtum (2017). Dynamic control in multi-item production/inventory systems. OR Spectrum 39, 165-191.

[18] H. Wang, X. Liang, S. Sethi, H. Yan (2014). Inventory commitment and prioritized backlogging clearance with alternative delivery lead times. Production and Operations Management 23(7), 1227-1242.

[19] D. Wang, O. Tang (2014). Dynamic inventory rationing with mixed backorders and lost sales. International Journal of Production Economics 149, 56-67.

(29)

A Derivation of the mathematical model assuming a limitation on the size of d2

Relaxing the assumption that the demand of type d2 in any period i is large enough to

completely consume the inventory set aside as a result of the transform-down-to threshold z implies that the demand size of type d2 places a restriction on how much this policy

influences the stock level. The amount that can be dictated by the policy to be subtracted from the stock level xi in a period i is given by by min(d2,i, xi− zi). The evolution of the stock level of x is thus given by

xi+1= max((xi− min(max(xi− zi, 0), d2,i) + max(ki− xi, 0)) − d1,i, 0), (13)

for i∈ {1 . . . N }. Note that the stock level at the start of period 1 remains equal to the level set in the first period, i.e. x0= x1. The stock level of x after checking threshold values and

either reducing or increasing the stock accordingly is now given by

x00i = xi− min(max(xi− zi, 0), d2,i) + max(ki− xi, 0). (14) While there are still no costs incurred in the first period, costs for each period other than the last and the first are now given by

Ci(xi, zi, ki, d1,i, d2,i) =

max(d1,i− xi00, 0)c1+ max(ki− xi, 0)c2+ min(max(xi− zi, 0), d2,i)c3, (15)

for i∈ {1 . . . N − 1}. Costs in the last period are now described by

CN(xN, zN, kN, d1,N, d2,N) =

max(d1,N− xN00, 0)c1+ max(kN− xN, 0)c2+ min(max(xN− zN, 0), d2,N)c3

+ max(x00

N− d1,N, 0)c4. (16)

(30)

final period, the Bellman equation is given by φN(xN) = min zN,kN ¦ Ed1,N,d2,N[CN(xN, zN, kN, d1,N, d2,N)] © . (17)

In any period i other than the first and the last period the Bellman equation is given by

φi(xi) = min

zi,ki

(

Ed1,i,d2,i[Ci(xi, zi, ki, d1,i, d2,i)] +

X v∈[0,¯x]

Pr(xi+1= v|xi, zi, kii+1(v) )

, (18)

with i∈ {1, . . . , N − 1}. For the first period, the Bellman equation is given by

φ0(x0) = minx

0

1(x1)} , (19)

as there are still no direct costs in the first period. Note that (13) now implies that

xi+1=   

x00i − d1,i for xi00− d1,i> 0

0 otherwise.

(20)

From (20) it can be derived what the probability that xi+1 = 0 is, i.e. Pr(xi+1 = 0) = Pr(x00

i − d1,i≤ 0). If x00i is expanded, plugged in and rearranged the following is obtained:

Pr(xi+1= 0) =

Pr((xi− min(max(xi− zi, 0), d2,i) + max(ki− xi, 0)) − d1,i) ≤ 0) =

Pr(xi+ max(ki− xi) ≤ d1,i+ min(max(xi− zi, 0), d2,i)). (21)

The above equation can be split up into two different equations if the two cases resulting from min(max(xi− zi, 0), d2,i) are handled separately. If d2,i > max(xi− zi, 0), (21) can be written as

(31)

Else, if d2,i ≤ max(xi− zi, 0), (21) can be written as

Pr(xi+1= 0) = Pr(d1,i+ d2,i ≤ xi+ max(ki− xi, 0)). (23) The probability that xi+1 is any other value w ∈ (0, ¯x] is given by the probability that

w= x00i − d1,i or equivalently

Pr(xi+1= w) =

Pr((xi− min(max(xi− zi, 0), d2,i) + max(ki− xi, 0)) − d1,i= w) =

Pr(xi+ max(ki− xi, 0) − w = d1,i+ min(max(xi− zi, 0), d2,i)). (24)

Again, two different cases arise as a result of min(max(xi−zi, 0), d2,i). If d2,i> max(xi−zi, 0) then (24) can be written as

Pr(xi+1= w) = Pr(d1,i= xi− w + max(ki− xi, 0) − max(xi− zi, 0)). (25) Else, if d2,i ≤ max(xi− zi, 0), (24) can be written as

Pr(xi+1= w) = Pr(d1,i+ d2,i= xi− w + max(ki− xi, 0)). (26) Since the probability that xi+1takes on a specific value is dependent on the probability that

either d2,i> max(xi−zi, 0) or d2,i < max(xi−zi, 0), the following holds true for determining the probability that xi+1= 0:

Pr(d2,i> max(xi− zi, 0) ∩ xi+1= 0) =

Pr(d2,i> max(xi− zi, 0)) ∗ Pr(xi+1= 0|d2,i> max(xi− zi, 0)) = Pr(d2,i> max(xi− zi, 0))∗

(32)

and

Pr(d2,i< max(xi− zi, 0) ∩ xi+1= 0) =

Pr(d2,i< max(xi− zi, 0)) ∗ Pr(xi+1= 0|d2,i< max(xi− zi, 0)) = Pr(d2,i< max(xi− zi, 0))∗

Pr(d1,i+ d2,i≤ xi+ max(ki− xi, 0)), (28) while for any other value of xi+1the following holds:

Pr(d2,i> max(xi− zi, 0) ∩ xi+1= w) =

Pr(d2,i > max(xi− zi, 0)) ∗ Pr(xi+1= w|d2,i > max(xi− zi, 0)) =

Pr(d2,i> max(xi− zi, 0)) ∗ Pr(d1,i = xi− w + max(ki− xi, 0) − max(xi− zi, 0)) (29) and

Pr(d2,i< max(xi− zi, 0) ∩ xi+1= w) =

Pr(d2,i < max(xi− zi, 0)) ∗ Pr(xi+1= w|d2,i < max(xi− zi, 0)) = Pr(d2,i< max(xi− zi, 0))∗

Pr(d1,i+ d2,i = xi− w + max(ki− xi, 0)). (30) Using the above equations, the probabilities of the realizations of xi+1 can be defined and

(33)

B Code repository

The code used to solve the numerical scenarios from section 5 can be found at the following web address: https://github.com/Blackjaguar18/stochastic_dynamic_programming.

Referenties

GERELATEERDE DOCUMENTEN

Figure 4: Achieved cycle service levels and average inventory levels regarding the normal, discrete, BDQ, general distribution fitted on the basis of one mean estimate and one

More specifically, the following values will be taken from the annual proxy statements: yearly cash compensation, yearly salary and bonus, total yearly compensation, name of the

High labour productivity may lead to a higher educational level of the labour force, to a greater openness in trading, higher share of urban population or higher capital

In additional ANOVA analyses, containing the variable General health interest, it turned out that Assortment structure did have a significant positive direct effect on the

The on-hand inventory level, backorder level, and the lost sales level will be monitored, and used to determine the total cost (per time unit). Supplier lead times for the

In the experiments section four policies were tested to determine if and when to adjust the order policy for products subject to obsolescence, in the context of nonstationary

(2007) develop the restriction-decomposition heuristic (RD ), in which they restrict the central base stock level to have one of three possible values: zero (‘cross-docking’),

First the variations and patterns in all-cause mortality in the different COROP-regions of the Netherlands will be shown, secondly the mortality variations and patterns in