<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.0 20120330//EN" "JATS-journalpublishing1.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">INFORMATICA</journal-id>
<journal-title-group><journal-title>Informatica</journal-title></journal-title-group>
<issn pub-type="epub">1822-8844</issn><issn pub-type="ppub">0868-4952</issn><issn-l>0868-4952</issn-l>
<publisher>
<publisher-name>Vilnius University</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">INFOR520</article-id>
<article-id pub-id-type="doi">10.15388/23-INFOR520</article-id>
<article-categories><subj-group subj-group-type="heading">
<subject>Research Article</subject></subj-group></article-categories>
<title-group>
<article-title>On Order Policies for a Perishable Product in Retail</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<contrib-id contrib-id-type="orcid">https://orcid.org/0000-0003-1572-1436</contrib-id>
<name><surname>Hendrix</surname><given-names>Eligius M.T.</given-names></name><email xlink:href="eligius@uma.es">eligius@uma.es</email><xref ref-type="aff" rid="j_infor520_aff_001">1</xref><xref ref-type="corresp" rid="cor1">∗</xref><bio>
<p><bold>E.M.T. Hendrix</bold> is a full professor at the Universidad de Málaga. His research interests are global and dynamic optimization and computational impacts. He obtained his PhD from Wageningen University and his MSc and Bsc from Tilburg University.</p></bio>
</contrib>
<contrib contrib-type="author">
<contrib-id contrib-id-type="orcid">https://orcid.org/0000-0002-8437-2455</contrib-id>
<name><surname>Pauls-Worm</surname><given-names>Karin G.J.</given-names></name><email xlink:href="karin.pauls@wur.nl">karin.pauls@wur.nl</email><xref ref-type="aff" rid="j_infor520_aff_002">2</xref><bio>
<p><bold>K.G.J. Pauls-Worm</bold> is an assistant professor at Wageningen University. Her main topics are logistics, mathematical modelling and inventory control. She obtained her PhD from Wageningen University and her MSc from the University of Amsterdam.</p></bio>
</contrib>
<contrib contrib-type="author">
<contrib-id contrib-id-type="orcid">https://orcid.org/0000-0003-3567-5713</contrib-id>
<name><surname>de Jong</surname><given-names>Maartje V.</given-names></name><email xlink:href="maartje.dejong@wur.nl">maartje.dejong@wur.nl</email><xref ref-type="aff" rid="j_infor520_aff_003">3</xref><bio>
<p><bold>M.V. de Jong</bold> is a junior researcher at the Social Science department of Wageningen University and Research. Her research interests are supply chain management, risk analysis, logistics, inventory control and financial and management. She obtained her BSc from the Technical University in Eindhoven and MSc from Wageningen University.</p></bio>
</contrib>
<aff id="j_infor520_aff_001"><label>1</label>Computer Architecture, <institution>Universidad de Málaga</institution>, <country>Spain</country></aff>
<aff id="j_infor520_aff_002"><label>2</label>Operations Research and Logistics, <institution>Wageningen University</institution>, <country>The Netherlands</country></aff>
<aff id="j_infor520_aff_003"><label>3</label>Wageningen Economic Research, <institution>Wageningen University &amp; Research</institution>, <country>The Netherlands</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>∗</label>Corresponding author.</corresp>
</author-notes>
<pub-date pub-type="ppub"><year>2023</year></pub-date><pub-date pub-type="epub"><day>1</day><month>6</month><year>2023</year></pub-date><volume>34</volume><issue>2</issue><fpage>271</fpage><lpage>283</lpage><history><date date-type="received"><month>11</month><year>2022</year></date><date date-type="accepted"><month>5</month><year>2023</year></date></history>
<permissions><copyright-statement>© 2023 Vilnius University</copyright-statement><copyright-year>2023</copyright-year>
<license license-type="open-access" xlink:href="http://creativecommons.org/licenses/by/4.0/">
<license-p>Open access article under the <ext-link ext-link-type="uri" xlink:href="http://creativecommons.org/licenses/by/4.0/">CC BY</ext-link> license.</license-p></license></permissions>
<abstract>
<p>We study an inventory control problem of a perishable product with a fixed short shelf life in Dutch retail practice. The demand is non-stationary during the week but stationary over the weeks, with mixed LIFO and FIFO withdrawal. The supermarket uses a service level requirement. A difficulty is that the age-distribution of products in stock is not always known. Hence, the challenge is to derive practical and efficient order policies that deal with situations where this information is either available or lacking. We present the optimal policy in case the age distribution is known, and compare it with benchmarks from literature. Three heuristics have been developed that do not require product age information, to align with the situation in practice. Subsequently, the performance of the heuristics is evaluated using demand patterns from practice. It appears that the so-called STIP heuristic (S for Total estimated Inventory of Perishables) provides the lowest cost and waste levels.</p>
</abstract>
<kwd-group>
<label>Key words</label>
<kwd>perishable</kwd>
<kwd>inventory</kwd>
<kwd>service level</kwd>
<kwd>order policy</kwd>
</kwd-group>
<funding-group><funding-statement>This work has been funded by Grant PID2021-123278OB-I00 funded by MCIN/AEI/ 10.13039/501100011033 and by “ERDF A way of making Europe”.</funding-statement></funding-group>
</article-meta>
</front>
<body>
<sec id="j_infor520_s_001">
<label>1</label>
<title>Introduction</title>
<p>Supermarket managers face a trade-off between risking to lose both revenue and goodwill by not having products available when demand arises on the one hand, and discarding surplus products, due to out-dating, on the other hand (Gruen <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor520_ref_006">2002</xref>). Food waste is mainly a result of retailer and consumer behaviour (Parfitt <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor520_ref_011">2010</xref>). Food waste occurs in two ways; either in markdowns when products are still saleable but approach the end of their shelf life or appear less attractive, or in garbage when products are no longer (re)saleable, usable or edible. In Europe, the total food loss and waste is 31% of the initial production from which 6.1% occurs during food processing, packaging and distribution (HLPE, 2014). Leberorger and Schneider (<xref ref-type="bibr" rid="j_infor520_ref_009">2014</xref>) report a food loss rate of fruit and vegetables of 4.19% in an Austrian food retail company from September 2011 to August 2012. For dairy products, the food loss rate was 1.14%, and for bread and pastry – 2.84%.</p>
<p>Generally, retailers rather build up more stock than risk a stock-out (Thyberg and Tonjes, <xref ref-type="bibr" rid="j_infor520_ref_015">2016</xref>). Moreover, availability of fresher items significantly affects consumer choice on where to shop (Wyman, <xref ref-type="bibr" rid="j_infor520_ref_016">2013</xref>). Furthermore, the demand rate is influenced by product availability and freshness (Sebatjane and Adetunji, <xref ref-type="bibr" rid="j_infor520_ref_013">2021</xref>). So, there is simply a business incentive for retailers to overstock. This is not without risk. Waste represents a loss of business and a risk for already small margins (Cicatiello <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor520_ref_005">2017</xref>). Reducing the annual food waste will result in benefits for companies, consumers and the environment in terms of money, volume, energy and sustainability. Retailers are therefore very keen to implement strategies to reduce food waste. To illustrate this, members of the Consumer Goods Forum promised in 2015 to halve the food they waste by 2025 (The Consumer Goods Forum, <xref ref-type="bibr" rid="j_infor520_ref_014">2015</xref>). This motivates looking for order policies that may help to reduce food waste and at the same time reduce costs for retailers. Many recent studies, such as (Herbon, <xref ref-type="bibr" rid="j_infor520_ref_007">2017</xref>) and (Buisman <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor520_ref_002">2019</xref>), focus on discounting and adapting prices when the product approaches the expiration date, as a way of waste reduction. However, the competitive strategy of the retailer we study focuses on availability of fresh produce for fixed prices, without discounting, applying strict service level requirements. This relates to waste prevention. In the case of dynamic pricing, profit maximization and waste reduction do not necessarily go along, while in our case cost minimization and waste reduction are equivalent.</p>
<p>The Dutch retailer case studied in this paper enhances a highly perishable product inventory system with a fixed shelf life of three days on delivery at the store, noticeable by its best-before or use-by date. The supermarket is replenished every day which implies the retailer has items of different ages in stock. In many practical retail situations, the checkout system only registers the number of items sold but not their age, see Pantsar (<xref ref-type="bibr" rid="j_infor520_ref_010">2019</xref>). Consequently, the retailer is facing an order decision without knowledge of the age-distribution of the remaining items in stock. The observed total number of items in stock may be different from the inventory status according to the checkout system, due to damaged items and the occurrence of more waste than expected based on supply and demand data of the supermarket. In order to minimize waste, supermarkets prefer and stimulate customers to pick the oldest items first (FIFO, First In First Out), by putting those items in front on the shelf. However, practitioners in Dutch retail estimate that about 40% of the customers search for the freshest items and pick according to LIFO (Last In First Out).</p>
<p>Competition among supermarkets stimulates the aim to have fresh produce available. The product availability of a supermarket can be observed by the number of days the items are in-stock (not out-of-stock) in a supermarket. To monitor and ensure product availability, supermarkets generally set a target service level. In case of lost demand and periodic review of inventory levels, a so-called <italic>α</italic>-service level is most suitable. On the other hand, a supermarket aims at limiting product waste. By appropriate order policies, waste prevention can be improved.</p>
<p>Literature discusses several approaches in case the cash registering enhances the age of the sold products. This means that the age of items that remain in stock is known. In this paper, we will derive the optimal policy for this situation. However, we found that in retail practice the age is often not registered. This means that only the total number of items in stock is known after the products that expired their shelf life have been thrown out. Therefore, our aim is to derive practical heuristics in case the age distribution of the stock is unknown to approximate the situation in practice more accurately.</p>
<p>This paper is organised as follows. Section <xref rid="j_infor520_s_002">2</xref> describes the retail situation and a stochastic dynamic model of the situation. Section <xref rid="j_infor520_s_005">3</xref> discusses various approaches to determine the order quantity and Section <xref rid="j_infor520_s_009">4</xref> shows the results of numerical experiments based on practical data for the approaches. A discussion of findings and conclusions can be found in Section <xref rid="j_infor520_s_013">5</xref>.</p>
</sec>
<sec id="j_infor520_s_002">
<label>2</label>
<title>Model of the Retail Situation Inventory Control</title>
<p>To be able to model the stochastic dynamics for this problem, it is necessary to first identify the underlying characteristics of the practical situation. These characteristics are discussed in Section <xref rid="j_infor520_s_003">2.1</xref> and the model in Section <xref rid="j_infor520_s_004">2.2</xref>.</p>
<table-wrap id="j_infor520_tab_001">
<label>Table 1</label>
<caption>
<p>Table with used symbols.</p>
</caption>
<table>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left"><bold>Indices</bold></td>
<td style="vertical-align: top; text-align: left"/>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>t</italic></td>
<td style="vertical-align: top; text-align: left">Day of the week, <inline-formula id="j_infor520_ineq_001"><alternatives><mml:math>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>7</mml:mn></mml:math><tex-math><![CDATA[$t=1,\dots ,7$]]></tex-math></alternatives></inline-formula></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>b</italic></td>
<td style="vertical-align: top; text-align: left">Age of item in stock, <inline-formula id="j_infor520_ineq_002"><alternatives><mml:math>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">M</mml:mi></mml:math><tex-math><![CDATA[$b=1,\dots ,M$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor520_ineq_003"><alternatives><mml:math>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>3</mml:mn></mml:math><tex-math><![CDATA[$M=3$]]></tex-math></alternatives></inline-formula></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>L</italic></td>
<td style="vertical-align: top; text-align: left">Lead time, <inline-formula id="j_infor520_ineq_004"><alternatives><mml:math>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$L=1$]]></tex-math></alternatives></inline-formula></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>Data</bold></td>
<td style="vertical-align: top; text-align: left"/>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>c</italic></td>
<td style="vertical-align: top; text-align: left">Purchasing cost per item</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor520_ineq_005"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mu _{t}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">Expected demand day <italic>t</italic></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor520_ineq_006"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${d_{t}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">Random demand day <italic>t</italic>, Poisson distributed</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>α</italic></td>
<td style="vertical-align: top; text-align: left">Service level requirement as probability</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>λ</italic></td>
<td style="vertical-align: top; text-align: left">Probability a client selects according to LIFO</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor520_ineq_007"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${S_{t}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">Order up-to level day <italic>t</italic></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>Variables</bold></td>
<td style="vertical-align: top; text-align: left"/>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor520_ineq_008"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${Q_{t}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">Order quantity day <italic>t</italic></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor520_ineq_009"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{bt}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">Number of items in stock of age <italic>b</italic> at the end of day <italic>t</italic></td>
</tr>
</tbody>
</table>
</table-wrap>
<sec id="j_infor520_s_003">
<label>2.1</label>
<title>Description of the Retail Situation</title>
<p>In this study, a period <italic>t</italic> in the model is a day at the store, from opening until closing time. In the retail practice of perishable products, mostly the order quantity <inline-formula id="j_infor520_ineq_010"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${Q_{t}}$]]></tex-math></alternatives></inline-formula> of today is delivered the next day, so the lead time is <inline-formula id="j_infor520_ineq_011"><alternatives><mml:math>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$L=1$]]></tex-math></alternatives></inline-formula> day. The used symbols are presented in Table <xref rid="j_infor520_tab_001">1</xref>. In the model the sequence of events is as follows: 
<list>
<list-item id="j_infor520_li_001">
<label>1.</label>
<p>Store opening;</p>
</list-item>
<list-item id="j_infor520_li_002">
<label>2.</label>
<p>Delivery of quantity <inline-formula id="j_infor520_ineq_012"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${Q_{t-1}}$]]></tex-math></alternatives></inline-formula>;</p>
</list-item>
<list-item id="j_infor520_li_003">
<label>3.</label>
<p>Ordering of quantity <inline-formula id="j_infor520_ineq_013"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${Q_{t}}$]]></tex-math></alternatives></inline-formula>;</p>
</list-item>
<list-item id="j_infor520_li_004">
<label>4.</label>
<p>Demand during the day from a mixed LIFO and FIFO withdrawal, ageing of remaining items in stock and disposal of wasted items, at store closure.</p>
</list-item>
</list> 
At the moment of the order decision, the previous order has arrived, so there is no outstanding order. The order quantity is based on the on-hand inventory and the expected demand during the replenishment cycle. At the end of day <italic>t</italic>, the inventory level <inline-formula id="j_infor520_ineq_014"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{bt}}$]]></tex-math></alternatives></inline-formula> is realized for items of all ages <italic>b</italic>. So, items from quantity <inline-formula id="j_infor520_ineq_015"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${Q_{t-1}}$]]></tex-math></alternatives></inline-formula> delivered on day <italic>t</italic> have age <inline-formula id="j_infor520_ineq_016"><alternatives><mml:math>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$b=1$]]></tex-math></alternatives></inline-formula> at the end of day <italic>t</italic>. Items with an age reaching the shelf life <inline-formula id="j_infor520_ineq_017"><alternatives><mml:math>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">M</mml:mi></mml:math><tex-math><![CDATA[$b=M$]]></tex-math></alternatives></inline-formula>, are waste and removed from the shelf at the end of the day. In case of waste, the purchasing cost is lost. The time horizon <italic>T</italic> is 7 days with <inline-formula id="j_infor520_ineq_018"><alternatives><mml:math>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$t=1$]]></tex-math></alternatives></inline-formula> being Monday. Inventory at the end of Sunday (<inline-formula id="j_infor520_ineq_019"><alternatives><mml:math>
<mml:mi mathvariant="italic">T</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>7</mml:mn></mml:math><tex-math><![CDATA[$T=7$]]></tex-math></alternatives></inline-formula>) transfers to Monday morning.</p>
<p>The demand is independently Poisson distributed with expectation <inline-formula id="j_infor520_ineq_020"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mu _{t}}$]]></tex-math></alternatives></inline-formula> for day <italic>t</italic>. When demand is higher than the inventory level, sales are lost and the inventory level will be zero. Moreover, we consider a mixed LIFO-FIFO withdrawal, where the number of customers buying LIFO is binomially distributed.</p>
</sec>
<sec id="j_infor520_s_004">
<label>2.2</label>
<title>Stochastic Model</title>
<p>The general reorder decision problem can be formulated as a stochastic optimization model that minimizes purchasing cost and fulfils the service level constraint. For this specific model, minimization of cost and minimization of waste coincide. 
<disp-formula id="j_infor520_eq_001">
<label>(1)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mo movablelimits="false">min</mml:mo>
<mml:mo fence="true" maxsize="2.45em" minsize="2.45em">{</mml:mo>
<mml:mi mathvariant="italic">E</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">T</mml:mi>
<mml:mi mathvariant="italic">C</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>:</mml:mo>
<mml:mo>=</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mi mathvariant="italic">E</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">c</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo fence="true" maxsize="2.45em" minsize="2.45em">}</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \min \Bigg\{E(TC):={\sum \limits_{t=1}^{T}}E(c{Q_{t}})\Bigg\}.\]]]></tex-math></alternatives>
</disp-formula> 
Let <inline-formula id="j_infor520_ineq_021"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>+</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>:</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo movablelimits="false">max</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[${x^{+}}:=\max \{x,0\}$]]></tex-math></alternatives></inline-formula>. The total inventory balance for all ages is given by 
<disp-formula id="j_infor520_eq_002">
<label>(2)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" maxsize="2.45em" minsize="2.45em">(</mml:mo>
<mml:mspace width="0.1667em"/>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" maxsize="2.45em" minsize="2.45em">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>+</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\sum \limits_{b=1}^{M}}{I_{bt}}={\Bigg(\hspace{0.1667em}{\sum \limits_{b=1}^{M-1}}{I_{b,t-1}}+{Q_{t-1}}-{d_{t}}\Bigg)^{+}},\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_infor520_ineq_022"><alternatives><mml:math>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn></mml:math><tex-math><![CDATA[$t-1=0$]]></tex-math></alternatives></inline-formula> corresponds to <inline-formula id="j_infor520_ineq_023"><alternatives><mml:math>
<mml:mi mathvariant="italic">T</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>7</mml:mn></mml:math><tex-math><![CDATA[$T=7$]]></tex-math></alternatives></inline-formula>. Period <italic>t</italic> starts with the inventory levels at the end of period <inline-formula id="j_infor520_ineq_024"><alternatives><mml:math>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$t-1$]]></tex-math></alternatives></inline-formula> of ages <inline-formula id="j_infor520_ineq_025"><alternatives><mml:math>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$b=1,\dots ,M-1$]]></tex-math></alternatives></inline-formula>. Items of age <italic>M</italic> are waste. The starting inventory is added to the delivered quantity <inline-formula id="j_infor520_ineq_026"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${Q_{t-1}}$]]></tex-math></alternatives></inline-formula> and demand in period <italic>t</italic> is subtracted to give the end inventory. The service level requirement is put on the probability that sufficient material is available to fulfil demand: 
<disp-formula id="j_infor520_eq_003">
<label>(3)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="italic">P</mml:mi>
<mml:mo mathvariant="normal" fence="true" maxsize="2.45em" minsize="2.45em">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>⩽</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" maxsize="2.45em" minsize="2.45em">)</mml:mo>
<mml:mo>⩾</mml:mo>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ P\Bigg({d_{t}}\leqslant {\sum \limits_{b=1}^{M-1}}{I_{b,t-1}}+{Q_{t-1}}\Bigg)\geqslant \alpha .\]]]></tex-math></alternatives>
</disp-formula> 
This means that we consider a minimal service level constraint as studied by Chen and Krass (<xref ref-type="bibr" rid="j_infor520_ref_003">2001</xref>), where for every day, on average, the service level has to be met.</p>
<p>The company we cooperated with in this study viewed demand <inline-formula id="j_infor520_ineq_027"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${d_{t}}$]]></tex-math></alternatives></inline-formula> for this type of fresh products as Poisson distributed. A part of the customers pick the freshest items first. The distribution of demand into LIFO and FIFO follows a binomial distribution <inline-formula id="j_infor520_ineq_028"><alternatives><mml:math>
<mml:mi mathvariant="italic">B</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">λ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$B({d_{t}},\lambda )$]]></tex-math></alternatives></inline-formula>, with a fraction <inline-formula id="j_infor520_ineq_029"><alternatives><mml:math>
<mml:mn>0</mml:mn>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">λ</mml:mi>
<mml:mo>⩽</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$0\leqslant \lambda \leqslant 1$]]></tex-math></alternatives></inline-formula> of customers that choose the items according to LIFO. This means that the LIFO inventory dynamics is followed for LIFO demand binomially drawn from <inline-formula id="j_infor520_ineq_030"><alternatives><mml:math>
<mml:mi mathvariant="italic">B</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">λ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$B({d_{t}},\lambda )$]]></tex-math></alternatives></inline-formula> and the rest of the customers follow the FIFO dynamics, where demand is fulfilled first by the oldest items before the fresher items. LIFO dynamics is modelled as 
<disp-formula id="j_infor520_eq_004">
<label>(4)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>+</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {I_{1t}}={({Q_{t-1}}-{d_{t}})^{+}},\hspace{1em}t=1,\dots ,T\]]]></tex-math></alternatives>
</disp-formula> 
and 
<disp-formula id="j_infor520_eq_005">
<label>(5)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" maxsize="2.45em" minsize="2.45em">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" maxsize="2.45em" minsize="2.45em">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" maxsize="2.45em" minsize="2.45em">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>+</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="2.45em" minsize="2.45em">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>+</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">T</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {I_{bt}}={\Bigg({I_{b-1,t-1}}-{\Bigg({d_{t}}-{Q_{t-1}}-{\sum \limits_{j=1}^{b-2}}{I_{j,t-1}}\Bigg)^{+}}\Bigg)^{+}},\hspace{1em}t=1,\dots ,T,\hspace{2.5pt}b=2,\dots ,M.\]]]></tex-math></alternatives>
</disp-formula> 
In the FIFO dynamics, first the older items are picked: 
<disp-formula id="j_infor520_eq_006">
<label>(6)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" maxsize="2.45em" minsize="2.45em">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" maxsize="2.45em" minsize="2.45em">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>+</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {I_{1t}}={Q_{t-1}}-{\Bigg({d_{t}}-{\sum \limits_{b=1}^{M-1}}{I_{b,t-1}}\Bigg)^{+}},\hspace{1em}t=1,\dots ,T\]]]></tex-math></alternatives>
</disp-formula> 
and 
<disp-formula id="j_infor520_eq_007">
<label>(7)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" maxsize="2.45em" minsize="2.45em">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" maxsize="2.45em" minsize="2.45em">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" maxsize="2.45em" minsize="2.45em">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>+</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="2.45em" minsize="2.45em">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>+</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">T</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {I_{bt}}={\Bigg({I_{b-1,t-1}}-{\Bigg({d_{t}}-{\sum \limits_{j=b}^{M-1}}{I_{j,t-1}}\Bigg)^{+}}\Bigg)^{+}},\hspace{1em}t=1,\dots ,T,\hspace{2.5pt}b=2,\dots ,M.\]]]></tex-math></alternatives>
</disp-formula> 
The model should keep track of the end of the week balance, where 
<disp-formula id="j_infor520_eq_008">
<label>(8)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mspace width="1em"/>
<mml:mtext>and</mml:mtext>
<mml:mspace width="1em"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {I_{b0}}={I_{bT}}\hspace{1em}\text{and}\hspace{1em}{Q_{0}}={Q_{T}}.\]]]></tex-math></alternatives>
</disp-formula> 
Moreover, order quantities and inventory cannot be negative: <disp-formula-group id="j_infor520_dg_001">
<disp-formula id="j_infor520_eq_009">
<label>(9)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>⩾</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">T</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}& {Q_{t}}\geqslant 0,\hspace{1em}t=1,\dots ,T,\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_infor520_eq_010">
<label>(10)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>⩾</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">T</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}& {I_{bt}}\geqslant 0,\hspace{1em}t=1,\dots ,T,\hspace{2.5pt}b=1,\dots ,M.\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</disp-formula-group></p>
</sec>
</sec>
<sec id="j_infor520_s_005">
<label>3</label>
<title>Order Policies</title>
<p>First of all, we have to distinguish the situation that the age of the products in stock is known versus a practical situation where this is not the case. In the first case, the order quantity <inline-formula id="j_infor520_ineq_031"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${Q_{t}}$]]></tex-math></alternatives></inline-formula> as a policy is a function of the vector <inline-formula id="j_infor520_ineq_032"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$({Q_{t-1}},{I_{1,t-1}},{I_{2,t-1}},\dots ,{I_{M-1,t-1}})$]]></tex-math></alternatives></inline-formula>. When the distribution is not known, the order quantity is a function of the total available inventory <inline-formula id="j_infor520_ineq_033"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mo largeop="false" movablelimits="false">∑</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${Q_{t-1}}+{\textstyle\sum _{b=1}^{M-1}}{I_{b,t-1}}$]]></tex-math></alternatives></inline-formula>. A specific case of the latter is the so-called base-stock policy (BSP), where an order-up-to level <italic>S</italic> determines the order quantity <italic>Q</italic>. The current situation asks for a day dependent order-up-to level <inline-formula id="j_infor520_ineq_034"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${S_{t}}$]]></tex-math></alternatives></inline-formula> for each day <italic>t</italic> of the week. The order quantity in terms of an order-up-to policy is determined by 
<disp-formula id="j_infor520_eq_011">
<label>(11)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" maxsize="2.45em" minsize="2.45em">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" maxsize="2.45em" minsize="2.45em">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>+</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {Q_{t}}={\Bigg({S_{t}}-{Q_{t-1}}-{\sum \limits_{b=1}^{M-1}}{I_{b,t-1}}\Bigg)^{+}}.\]]]></tex-math></alternatives>
</disp-formula> 
Given a required <italic>α</italic>-service level, the value <inline-formula id="j_infor520_ineq_035"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${S_{t}}$]]></tex-math></alternatives></inline-formula> for which the in-stock probability is <italic>α</italic> is a value <inline-formula id="j_infor520_ineq_036"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>3</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[${S_{t}}\in \{0,1,2,3,\dots \}$]]></tex-math></alternatives></inline-formula>. Standard textbooks like Chopra and Meindl (<xref ref-type="bibr" rid="j_infor520_ref_004">2016</xref>) cover the derivation of the order-up-to level in a periodic review system taking demand during lead time <italic>L</italic> and the replenishment cycle into account. The values for <italic>S</italic> can easily be derived using an Excel or Matlab search routine. In our case, we should determine the minimum value <inline-formula id="j_infor520_ineq_037"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${S_{t}}$]]></tex-math></alternatives></inline-formula> for which 
<disp-formula id="j_infor520_eq_012">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="italic">P</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>⩽</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>⩾</mml:mo>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ P({d_{t}}+{d_{t+1}}\leqslant {S_{t}})\geqslant \alpha .\]]]></tex-math></alternatives>
</disp-formula> 
Specifically for the Poisson distribution, this is a value <inline-formula id="j_infor520_ineq_038"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${S_{t}}$]]></tex-math></alternatives></inline-formula> for which 
<disp-formula id="j_infor520_eq_013">
<label>(12)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="italic">P</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>⩽</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo>!</mml:mo>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>⩾</mml:mo>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ P({d_{t}}+{d_{t+1}}\leqslant {S_{t}})={e^{{\mu _{t}}+{\mu _{t+1}}}}{\sum \limits_{j=0}^{{S_{t}}}}\frac{{({\mu _{t}}+{\mu _{t+1}})^{j}}}{j!}\geqslant \alpha .\]]]></tex-math></alternatives>
</disp-formula> 
We will discuss two approaches from literature for the known age distribution in Section <xref rid="j_infor520_s_006">3.1</xref>, derive the optimal order quantity in Section <xref rid="j_infor520_s_007">3.2</xref> and deal with the practical situation of not having this information in Section <xref rid="j_infor520_s_008">3.3</xref>.</p>
<sec id="j_infor520_s_006">
<label>3.1</label>
<title>EWA, EWA<sub><italic>ss</italic></sub> Heuristics if Oldest Items in Stock are Known</title>
<p>Broekmeulen and Van Donselaar (<xref ref-type="bibr" rid="j_infor520_ref_001">2009</xref>) proposed the so-called Estimated Withdrawal and Ageing (EWA) heuristic, where knowledge of the number of oldest items, which is going to expire during lead time, is known as part of the total inventory. Notice that the lead time is <inline-formula id="j_infor520_ineq_039"><alternatives><mml:math>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$L=1$]]></tex-math></alternatives></inline-formula>. So in that case, the number of items to expire during lead time is <inline-formula id="j_infor520_ineq_040"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{M-1,t-1}}$]]></tex-math></alternatives></inline-formula>. The order quantity is determined by an order-up-to level containing a safety stock, which is corrected for expected waste. Broekmeulen and Van Donselaar (<xref ref-type="bibr" rid="j_infor520_ref_001">2009</xref>) used a fixed safety stock, optimized by simulation. Kiil <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor520_ref_008">2018</xref>) determine the safety stock using the standard deviation of forecast errors during lead time and replenishment cycle times a safety factor. Their modified EWA<sub><italic>ss</italic></sub> policy uses a smaller buffer stock consisting of the maximum of either the safety stock, or the expected waste. In our implementation, we calculate the safety stock SS in the order-up-to level by 
<disp-formula id="j_infor520_eq_014">
<label>(13)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ S{S_{t}}={S_{t}}-{\mu _{t}}-{\mu _{t+1}}.\]]]></tex-math></alternatives>
</disp-formula>
</p>
</sec>
<sec id="j_infor520_s_007">
<label>3.2</label>
<title>The Optimal Order Quantity <inline-formula id="j_infor520_ineq_041"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∗</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${Q^{\ast }}$]]></tex-math></alternatives></inline-formula>, if Oldest Items in Stock are Known</title>
<p>Due to the lead time of one day, the optimal order quantity <inline-formula id="j_infor520_ineq_042"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∗</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${Q^{\ast }}$]]></tex-math></alternatives></inline-formula> can be determined if the number <inline-formula id="j_infor520_ineq_043"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{M-1,t-1}}$]]></tex-math></alternatives></inline-formula> of oldest items in stock at the beginning of the day is known. This means that we can derive a table <inline-formula id="j_infor520_ineq_044"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∗</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mo largeop="false" movablelimits="false">∑</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${Q^{\ast }}({Q_{t-1}}+{\textstyle\sum _{b=1}^{M-2}}{I_{b,t-1}},{I_{M-1,t-1}})$]]></tex-math></alternatives></inline-formula> of optimal order quantities. For the ease of notation, consider the fresh inventory <inline-formula id="j_infor520_ineq_045"><alternatives><mml:math>
<mml:mi mathvariant="italic">X</mml:mi>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mo largeop="false" movablelimits="false">∑</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$X={Q_{t-1}}+{\textstyle\sum _{b=1}^{M-2}}{I_{b,t-1}}$]]></tex-math></alternatives></inline-formula> and old inventory <inline-formula id="j_infor520_ineq_046"><alternatives><mml:math>
<mml:mi mathvariant="italic">Z</mml:mi>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$Z={I_{M-1,t-1}}$]]></tex-math></alternatives></inline-formula>. The optimal order quantity <inline-formula id="j_infor520_ineq_047"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∗</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">X</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">Z</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${Q^{\ast }}(X,Z,t)$]]></tex-math></alternatives></inline-formula> follows from minimizing order quantity <inline-formula id="j_infor520_ineq_048"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${Q_{t}}$]]></tex-math></alternatives></inline-formula>, such that the leftover <italic>x</italic> of the amount in stock at the end of the day plus the ordered quantity <inline-formula id="j_infor520_ineq_049"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${Q_{t}}$]]></tex-math></alternatives></inline-formula> fulfils the demand <inline-formula id="j_infor520_ineq_050"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${d_{t+1}}$]]></tex-math></alternatives></inline-formula> with a required service level <italic>α</italic>: 
<disp-formula id="j_infor520_eq_015">
<label>(14)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">X</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="italic">X</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">Z</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>×</mml:mo>
<mml:mi mathvariant="italic">P</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>⩾</mml:mo>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\sum \limits_{x=0}^{X}}{P_{x}}(x|X,Z,t)\times P({d_{t+1}}\leqslant x+{Q_{t}})\geqslant \alpha .\]]]></tex-math></alternatives>
</disp-formula> 
To find this quantity requires deriving the probability function of the conditional loss function 
<disp-formula id="j_infor520_eq_016">
<label>(15)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="italic">X</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">Z</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">P</mml:mi>
<mml:mo mathvariant="normal" fence="true" maxsize="2.45em" minsize="2.45em">(</mml:mo>
<mml:mspace width="0.1667em"/>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="italic">X</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">Z</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" maxsize="2.45em" minsize="2.45em">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {P_{x}}(x|X,Z,t)=P\Bigg(\hspace{0.1667em}{\sum \limits_{b=1}^{M-1}}{I_{bt}}=x|X,Z,t\Bigg).\]]]></tex-math></alternatives>
</disp-formula> 
This is not straightforward, as one not only has to take the probability distribution of <inline-formula id="j_infor520_ineq_051"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${d_{t}}$]]></tex-math></alternatives></inline-formula> into account, but also the binomial distribution of LIFO demand. Consider a realization <italic>D</italic> of demand <inline-formula id="j_infor520_ineq_052"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${d_{t}}$]]></tex-math></alternatives></inline-formula> and <italic>y</italic> the LIFO demand. The boundary of the probability mass function of the loss is the probability that there is no left-over 
<disp-formula id="j_infor520_eq_017">
<label>(16)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="italic">X</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">Z</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:mspace width="1em"/>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">P</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>⩾</mml:mo>
<mml:mi mathvariant="italic">X</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">Z</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">D</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">X</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">Z</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munderover>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">y</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">D</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mfenced separators="" open="(" close=")">
<mml:mrow>
<mml:mtable equalrows="false" equalcolumns="false" columnalign="center">
<mml:mtr>
<mml:mtd class="array">
<mml:mi mathvariant="italic">D</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="array">
<mml:mi mathvariant="italic">y</mml:mi>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">y</mml:mi>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">λ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">D</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">y</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="italic">P</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">D</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}& {P_{x}}(0|X,Z,t)\\ {} & \hspace{1em}=P({d_{t}}\geqslant X+Z)+{\sum \limits_{D=X}^{X+Z-1}}{\sum \limits_{y=X}^{D}}\left(\begin{array}{c}D\\ {} y\end{array}\right){\lambda ^{y}}{(1-\lambda )^{(D-y)}}P({d_{t}}=D).\end{aligned}\]]]></tex-math></alternatives>
</disp-formula> 
The probability mass for obtaining a left-over of <inline-formula id="j_infor520_ineq_053"><alternatives><mml:math>
<mml:mn>1</mml:mn>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">X</mml:mi></mml:math><tex-math><![CDATA[$1\leqslant x\leqslant X$]]></tex-math></alternatives></inline-formula> is 
<disp-formula id="j_infor520_eq_018">
<label>(17)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="italic">X</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">Z</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:mspace width="1em"/>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">P</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">y</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">X</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">D</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">X</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">X</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">Z</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mfenced separators="" open="(" close=")">
<mml:mrow>
<mml:mtable equalrows="false" equalcolumns="false" columnalign="center">
<mml:mtr>
<mml:mtd class="array">
<mml:mi mathvariant="italic">D</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="array">
<mml:mi mathvariant="italic">X</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">X</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">λ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">D</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">X</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="italic">P</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">D</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}& {P_{x}}(x|X,Z,t)\\ {} & \hspace{1em}=P(y=X-x)={\sum \limits_{D=X-x}^{X+Z-x}}\left(\begin{array}{c}D\\ {} X-x\end{array}\right){\lambda ^{(X-x)}}{(1-\lambda )^{(D-X+x)}}P({d_{t}}=D).\end{aligned}\]]]></tex-math></alternatives>
</disp-formula> 
A practical way to derive the values of the probability distribution of <italic>x</italic> is to enumerate all events of demand realizations <inline-formula id="j_infor520_ineq_054"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">X</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">Y</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[${d_{t}}=0,\dots ,X+Y-1$]]></tex-math></alternatives></inline-formula> and of the binomial event <italic>y</italic> of the LIFO demand with their probability of occurrence. Then one accumulates the probability on the event on the outcome <italic>x</italic>. After generating the corresponding probability distribution and minimizing <inline-formula id="j_infor520_ineq_055"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${Q_{t}}$]]></tex-math></alternatives></inline-formula> in (<xref rid="j_infor520_eq_015">14</xref>), one obtains the optimal daily ordering table <inline-formula id="j_infor520_ineq_056"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∗</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">X</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">Z</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${Q^{\ast }}(X,Z,t)$]]></tex-math></alternatives></inline-formula> for the case that the retailer not only knows the total inventory level <inline-formula id="j_infor520_ineq_057"><alternatives><mml:math>
<mml:mi mathvariant="italic">X</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">Z</mml:mi></mml:math><tex-math><![CDATA[$X+Z$]]></tex-math></alternatives></inline-formula>, but also how many items <inline-formula id="j_infor520_ineq_058"><alternatives><mml:math>
<mml:mi mathvariant="italic">Z</mml:mi>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$Z={I_{M-1,t-1}}$]]></tex-math></alternatives></inline-formula> expire at the end of the day.</p>
</sec>
<sec id="j_infor520_s_008">
<label>3.3</label>
<title>Heuristic Policies if the Age Information is Unknown</title>
<p>We developed three heuristics for the order quantity based on the knowledge of the total inventory for the case that the age of the items in stock is not known. 
<list>
<list-item id="j_infor520_li_005">
<label>•</label>
<p>An easy way to deal with lack of knowledge of the oldest items in stock is to simulate the system using the table of <inline-formula id="j_infor520_ineq_059"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∗</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${Q^{\ast }}$]]></tex-math></alternatives></inline-formula> and derive the corresponding average rounded value for order-up-to levels <inline-formula id="j_infor520_ineq_060"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${S_{t}}$]]></tex-math></alternatives></inline-formula>. Basically, we simulate the system with knowledge of the oldest items in stock and measure the realizations <inline-formula id="j_infor520_ineq_061"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${X_{t}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor520_ineq_062"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${Z_{t}}$]]></tex-math></alternatives></inline-formula> of the inventory system and average observations of the revealed order-up-to level <inline-formula id="j_infor520_ineq_063"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${S_{t}}={Q_{t}}+{X_{t}}+{Z_{t}}$]]></tex-math></alternatives></inline-formula> using <inline-formula id="j_infor520_ineq_064"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∗</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">X</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">Z</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${Q_{t}}={Q^{\ast }}(X,Z,t)$]]></tex-math></alternatives></inline-formula> for each day <italic>t</italic> of the week. The computational procedure requires simulating the optimal <inline-formula id="j_infor520_ineq_065"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∗</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${Q^{\ast }}$]]></tex-math></alternatives></inline-formula> with the known age distribution only once. We call this heuristic <bold>S</bold> for <bold>T</bold>otal estimated <bold>I</bold>nventory of <bold>P</bold>erishables, <bold>STIP</bold>.</p>
</list-item>
<list-item id="j_infor520_li_006">
<label>•</label>
<p>In the Expected Waste heuristic <bold>SEW</bold>, the order quantity <inline-formula id="j_infor520_ineq_066"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${Q_{t}}$]]></tex-math></alternatives></inline-formula> is determined by (<xref rid="j_infor520_eq_011">11</xref>) using order-up-to level <inline-formula id="j_infor520_ineq_067"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${S_{t}}$]]></tex-math></alternatives></inline-formula> from (<xref rid="j_infor520_eq_013">12</xref>) corrected by an expected waste estimate considering a mixed expected LIFO-FIFO demand and the inventory dynamics. If a stock-out occurs, i.e. the supermarket is out of stock, the policy takes as order quantity <inline-formula id="j_infor520_ineq_068"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${Q_{t}}={S_{t}}$]]></tex-math></alternatives></inline-formula>. This means that the computation of the order quantity is based on predefined values following from probability theory.</p>
</list-item>
<list-item id="j_infor520_li_007">
<label>•</label>
<p>In the <bold>S_Augmented</bold> heuristic, we also use order-up-to level policy (<xref rid="j_infor520_eq_013">12</xref>). However, the order-up-to levels <inline-formula id="j_infor520_ineq_069"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${S_{t}}$]]></tex-math></alternatives></inline-formula> have been defined by simulating the system and incrementing the values if service levels are not reached. The actual order quantity <inline-formula id="j_infor520_ineq_070"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${Q_{t}}$]]></tex-math></alternatives></inline-formula> is determined by (<xref rid="j_infor520_eq_011">11</xref>), but in case a stock-out occurs, the policy takes as order quantity <inline-formula id="j_infor520_ineq_071"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${Q_{t}}={S_{t}}$]]></tex-math></alternatives></inline-formula>. In a simulation-optimization approach, if the average service level (SL) in a simulation is below the target on day <italic>t</italic>, the order-up-to level of of day <inline-formula id="j_infor520_ineq_072"><alternatives><mml:math>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$t-1$]]></tex-math></alternatives></inline-formula> is incremented by one unit. The new order-up-to levels <inline-formula id="j_infor520_ineq_073"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${S_{t}}$]]></tex-math></alternatives></inline-formula> are input in a new simulation run, until for all days the target SL is met. The result is a vector <inline-formula id="j_infor520_ineq_074"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>7</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$({S_{1}},{S_{2}},\dots ,{S_{7}})$]]></tex-math></alternatives></inline-formula> of order-up-to levels that meets the SL requirement.</p>
</list-item>
</list>
</p>
</sec>
</sec>
<sec id="j_infor520_s_009">
<label>4</label>
<title>Numerical Evaluation</title>
<p>We evaluate the described order policies. The design of experiments is described in Section <xref rid="j_infor520_s_010">4.1</xref>, followed by the obtained results in Section <xref rid="j_infor520_s_011">4.2</xref>. In Section <xref rid="j_infor520_s_012">4.3</xref> we discuss some computational aspects.</p>
<sec id="j_infor520_s_010">
<label>4.1</label>
<title>Design of Experiments</title>
<p>All approaches are evaluated in a rolling horizon simulation of 10,000 weeks using pseudo random samples from the Poisson – and the binomial distribution. The expected demand <inline-formula id="j_infor520_ineq_075"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mu _{t}}$]]></tex-math></alternatives></inline-formula> varies during the week. A base demand pattern is taken from observed data in a practical retail case regarding iceberg lettuce. To evaluate the effect of larger numbers, a double base pattern has been designed. A pattern with higher peaks on Wednesday and Saturday provides more challenge to fulfil the service level and has therefore been included. The target service level is taken as <inline-formula id="j_infor520_ineq_076"><alternatives><mml:math>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>90</mml:mn>
<mml:mi mathvariant="normal">%</mml:mi></mml:math><tex-math><![CDATA[$\alpha =90\% $]]></tex-math></alternatives></inline-formula>. The evaluated three demand patterns are depicted in Fig. <xref rid="j_infor520_fig_001">1</xref>. Table <xref rid="j_infor520_tab_002">2</xref> provides the exact numbers of the expected values in order to be able to repeat the experiments.</p>
<fig id="j_infor520_fig_001">
<label>Fig. 1</label>
<caption>
<p>Evaluated expected demand patterns during the week. Day 1 corresponds to Monday.</p>
</caption>
<graphic xlink:href="infor520_g001.jpg"/>
</fig>
<table-wrap id="j_infor520_tab_002">
<label>Table 2</label>
<caption>
<p>Expected Poisson demand.</p>
</caption>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin"/>
<td style="vertical-align: top; text-align: left; border-top: solid thin">Monday</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin">Tuesday</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin">Wednesday</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin">Thursday</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin">Friday</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin">Saturday</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin">Sunday</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Period <italic>t</italic></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">2</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">3</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">4</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">5</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">6</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">7</td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left">Base <inline-formula id="j_infor520_ineq_077"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mu _{t}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">3.5</td>
<td style="vertical-align: top; text-align: left">2.3</td>
<td style="vertical-align: top; text-align: left">3.0</td>
<td style="vertical-align: top; text-align: left">2.8</td>
<td style="vertical-align: top; text-align: left">4.5</td>
<td style="vertical-align: top; text-align: left">4.2</td>
<td style="vertical-align: top; text-align: left">2.0</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Double base <inline-formula id="j_infor520_ineq_078"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mu _{t}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">7.0</td>
<td style="vertical-align: top; text-align: left">4.6</td>
<td style="vertical-align: top; text-align: left">6.0</td>
<td style="vertical-align: top; text-align: left">5.6</td>
<td style="vertical-align: top; text-align: left">9.0</td>
<td style="vertical-align: top; text-align: left">8.4</td>
<td style="vertical-align: top; text-align: left">4.0</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Peaks <inline-formula id="j_infor520_ineq_079"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mu _{t}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">2.6</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">2.9</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">4.4</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">2.0</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">3.6</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">8.5</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">5.9</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The variable purchasing cost is <inline-formula id="j_infor520_ineq_080"><alternatives><mml:math>
<mml:mi mathvariant="italic">c</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$c=1$]]></tex-math></alternatives></inline-formula> per unit. As a result, the average total cost per week is equal to the average order quantity per week. The practitioners in retail we consulted, estimate a LIFO fraction of about 0.4 to be realistic. For the base demand pattern, we vary the fraction of LIFO demand <inline-formula id="j_infor520_ineq_081"><alternatives><mml:math>
<mml:mi mathvariant="italic">λ</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>0.4</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>0.6</mml:mn>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$\lambda \in \{0,0.4,0.6\}$]]></tex-math></alternatives></inline-formula> for all schedules. To show the effect of partly LIFO demand on the order policies and the average amount of waste, also the situation of only FIFO withdrawal and a LIFO fraction of 0.6 are investigated for the base demand pattern. The other demand patterns are evaluated for a LIFO fraction of <inline-formula id="j_infor520_ineq_082"><alternatives><mml:math>
<mml:mi mathvariant="italic">λ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.4</mml:mn></mml:math><tex-math><![CDATA[$\lambda =0.4$]]></tex-math></alternatives></inline-formula>, for all schedules.</p>
</sec>
<sec id="j_infor520_s_011">
<label>4.2</label>
<title>Results</title>
<p>Table <xref rid="j_infor520_tab_003">3</xref> summarizes the results for the base demand pattern for all described approaches. It shows the average total cost (avgTC) and the average total waste (avgTW) per week. To observe the feasibility of the policy with respect to the minimal service level (SL) constraint, the attained SL is measured for each day. We provide the minimum of these values over the days of the week (minSL) in the table. The policies using information about the oldest items in stock are supposed to do better than the heuristic policies that do not use this information. As expected, one can observe that the costs and the number of wasted items increase when the fraction of LIFO demand increases.</p>
<table-wrap id="j_infor520_tab_003">
<label>Table 3</label>
<caption>
<p>Results for base demand with LIFO fractions <inline-formula id="j_infor520_ineq_083"><alternatives><mml:math>
<mml:mi mathvariant="italic">λ</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>0.4</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>0.6</mml:mn>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$\lambda \in \{0,0.4,0.6\}$]]></tex-math></alternatives></inline-formula>. Average total cost, total waste and minimum service level in the week.</p>
</caption>
<table>
<thead>
<tr>
<td colspan="10" style="vertical-align: top; text-align: center; border-top: solid thin; border-bottom: solid thin">Knowledge oldest items in stock</td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left">Policy</td>
<td colspan="3" style="vertical-align: top; text-align: left">EWA</td>
<td colspan="3" style="vertical-align: top; text-align: left">EWA<sub><italic>ss</italic></sub></td>
<td colspan="3" style="vertical-align: top; text-align: left"><inline-formula id="j_infor520_ineq_084"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∗</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${Q^{\ast }}$]]></tex-math></alternatives></inline-formula></td>
</tr>
<tr>
<td style="vertical-align: top"/>
<td colspan="3" style="vertical-align: top"><hr/></td>
<td colspan="3" style="vertical-align: top"><hr/></td>
<td colspan="3" style="vertical-align: top"><hr/></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>λ</italic></td>
<td style="vertical-align: top; text-align: left">avgTC</td>
<td style="vertical-align: top; text-align: left">avgTW</td>
<td style="vertical-align: top; text-align: left">minSL</td>
<td style="vertical-align: top; text-align: left">avgTC</td>
<td style="vertical-align: top; text-align: left">avgTW</td>
<td style="vertical-align: top; text-align: left">minSL</td>
<td style="vertical-align: top; text-align: left">avgTC</td>
<td style="vertical-align: top; text-align: left">avgTW</td>
<td style="vertical-align: top; text-align: left">minSL</td>
</tr>
</tbody><tbody>
<tr>
<td style="vertical-align: top; text-align: left">0</td>
<td style="vertical-align: top; text-align: left">23.19</td>
<td style="vertical-align: top; text-align: left">1.59</td>
<td style="vertical-align: top; text-align: left">0.92</td>
<td style="vertical-align: top; text-align: left">23.05</td>
<td style="vertical-align: top; text-align: left">1.53</td>
<td style="vertical-align: top; text-align: left">0.93</td>
<td style="vertical-align: top; text-align: left">22.65</td>
<td style="vertical-align: top; text-align: left">1.20</td>
<td style="vertical-align: top; text-align: left">0.92</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">0.4</td>
<td style="vertical-align: top; text-align: left">24.87</td>
<td style="vertical-align: top; text-align: left">3.25</td>
<td style="vertical-align: top; text-align: left">0.93</td>
<td style="vertical-align: top; text-align: left">24.21</td>
<td style="vertical-align: top; text-align: left">2.86</td>
<td style="vertical-align: top; text-align: left">0.91</td>
<td style="vertical-align: top; text-align: left">24.05</td>
<td style="vertical-align: top; text-align: left">2.63</td>
<td style="vertical-align: top; text-align: left">0.93</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.6</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">26.22</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">4.55</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.94</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">24.94</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">3.69</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.90</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">25.05</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">3.63</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.92</td>
</tr>
</tbody>
</table>
<table>
<thead>
<tr>
<td colspan="10" style="vertical-align: top; text-align: center; border-top: solid thin; border-bottom: solid thin">Age items in stock unknown</td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left">Policy</td>
<td colspan="3" style="vertical-align: top; text-align: left">STIP</td>
<td colspan="3" style="vertical-align: top; text-align: left">SEW</td>
<td colspan="3" style="vertical-align: top; text-align: left">S_augmented</td>
</tr>
<tr>
<td style="vertical-align: top"/>
<td colspan="3" style="vertical-align: top"><hr/></td>
<td colspan="3" style="vertical-align: top"><hr/></td>
<td colspan="3" style="vertical-align: top"><hr/></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>λ</italic></td>
<td style="vertical-align: top; text-align: left">avgTC</td>
<td style="vertical-align: top; text-align: left">avgTW</td>
<td style="vertical-align: top; text-align: left">minSL</td>
<td style="vertical-align: top; text-align: left">avgTC</td>
<td style="vertical-align: top; text-align: left">avgTW</td>
<td style="vertical-align: top; text-align: left">minSL</td>
<td style="vertical-align: top; text-align: left">avgTC</td>
<td style="vertical-align: top; text-align: left">avgTW</td>
<td style="vertical-align: top; text-align: left">minSL</td>
</tr>
</tbody><tbody>
<tr>
<td style="vertical-align: top; text-align: left">0</td>
<td style="vertical-align: top; text-align: left">22.77</td>
<td style="vertical-align: top; text-align: left">1.34</td>
<td style="vertical-align: top; text-align: left">0.91</td>
<td style="vertical-align: top; text-align: left">23.14</td>
<td style="vertical-align: top; text-align: left">1.56</td>
<td style="vertical-align: top; text-align: left">0.93</td>
<td style="vertical-align: top; text-align: left">24.00</td>
<td style="vertical-align: top; text-align: left">2.66</td>
<td style="vertical-align: top; text-align: left">0.90</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">0.4</td>
<td style="vertical-align: top; text-align: left">23.91</td>
<td style="vertical-align: top; text-align: left">2.68</td>
<td style="vertical-align: top; text-align: left">0.91</td>
<td style="vertical-align: top; text-align: left">24.56</td>
<td style="vertical-align: top; text-align: left">3.07</td>
<td style="vertical-align: top; text-align: left">0.92</td>
<td style="vertical-align: top; text-align: left">25.00</td>
<td style="vertical-align: top; text-align: left">3.69</td>
<td style="vertical-align: top; text-align: left">0.90</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.6</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">24.57</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">3.47</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.89</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">25.59</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">4.16</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.91</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">26.00</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">4.60</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.91</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Table <xref rid="j_infor520_tab_004">4</xref> compares all approaches for the three demand patterns with a LIFO fraction of <inline-formula id="j_infor520_ineq_085"><alternatives><mml:math>
<mml:mi mathvariant="italic">λ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.4</mml:mn></mml:math><tex-math><![CDATA[$\lambda =0.4$]]></tex-math></alternatives></inline-formula>. From the measured performance indicators in Tables <xref rid="j_infor520_tab_003">3</xref> and <xref rid="j_infor520_tab_004">4</xref>, it is surprising to observe that the policies STIP, SEW and S_augmented, which do not require age information, perform even better than the EWA policy. In this case, EWA<sub><italic>ss</italic></sub> has also lower costs and waste than the EWA approach, validating the claim of Kiil <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor520_ref_008">2018</xref>). However, in case of the double base demand, the EWA approach outperforms the EWA<sub><italic>ss</italic></sub> approach, which does not consistently meet the service level constraint due to a lowest attained SL of 0.88. <inline-formula id="j_infor520_ineq_086"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∗</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${Q^{\ast }}$]]></tex-math></alternatives></inline-formula> gives the optimal order policy when age information is available. One might expect a reached SL of 0.90 in this approach, but the measured SL is higher due to the small numbers of discrete demand. However, the over achievement may also be related to the conditional character of the order policy as described by Pauls-Worm and Hendrix (<xref ref-type="bibr" rid="j_infor520_ref_012">2015</xref>).</p>
<p>The SEW approach quickly generates easy-to-calculate order quantities with feasible results. The only exception occurs for the peak demand pattern where a minimum average SL of 0.89 is reached for one of the days. The STIP approach, which corresponds to lowest costs and waste and reasonable service levels, fails to reach the target SL of 90% for the double base demand and peaks demand patterns, reaching an average SL of 0.89 for one of the days, which is still close to the target level.</p>
<table-wrap id="j_infor520_tab_004">
<label>Table 4</label>
<caption>
<p>Results for 3 demand patterns with LIFO fraction <inline-formula id="j_infor520_ineq_087"><alternatives><mml:math>
<mml:mi mathvariant="italic">λ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.4</mml:mn></mml:math><tex-math><![CDATA[$\lambda =0.4$]]></tex-math></alternatives></inline-formula>. Average total cost, total waste and minimum service level in the week.</p>
</caption>
<table>
<thead>
<tr>
<td rowspan="3" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Pattern policy</td>
<td colspan="3" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Base demand</td>
<td colspan="3" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Double base demand</td>
<td colspan="3" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Peaks demand</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">avgTC</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">avgTW</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">minSL</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">avgTC</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">avgTW</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">minSL</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">avgTC</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">avgTW</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">minSL</td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left">EWA</td>
<td style="vertical-align: top; text-align: left">24.87</td>
<td style="vertical-align: top; text-align: left">3.25</td>
<td style="vertical-align: top; text-align: left">0.93</td>
<td style="vertical-align: top; text-align: left">46.01</td>
<td style="vertical-align: top; text-align: left">2.49</td>
<td style="vertical-align: top; text-align: left">0.93</td>
<td style="vertical-align: top; text-align: left">33.04</td>
<td style="vertical-align: top; text-align: left">3.92</td>
<td style="vertical-align: top; text-align: left">0.92</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">EWA<sub><italic>ss</italic></sub></td>
<td style="vertical-align: top; text-align: left">24.21</td>
<td style="vertical-align: top; text-align: left">2.86</td>
<td style="vertical-align: top; text-align: left">0.91</td>
<td style="vertical-align: top; text-align: left">45.63</td>
<td style="vertical-align: top; text-align: left">2.33</td>
<td style="vertical-align: top; text-align: left">0.88</td>
<td style="vertical-align: top; text-align: left">32.24</td>
<td style="vertical-align: top; text-align: left">3.39</td>
<td style="vertical-align: top; text-align: left">0.90</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor520_ineq_088"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∗</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${Q^{\ast }}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">24.05</td>
<td style="vertical-align: top; text-align: left">2.63</td>
<td style="vertical-align: top; text-align: left">0.93</td>
<td style="vertical-align: top; text-align: left">45.36</td>
<td style="vertical-align: top; text-align: left">2.06</td>
<td style="vertical-align: top; text-align: left">0.92</td>
<td style="vertical-align: top; text-align: left">32.15</td>
<td style="vertical-align: top; text-align: left">3.25</td>
<td style="vertical-align: top; text-align: left">0.92</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">STIP</td>
<td style="vertical-align: top; text-align: left">23.91</td>
<td style="vertical-align: top; text-align: left">2.86</td>
<td style="vertical-align: top; text-align: left">0.91</td>
<td style="vertical-align: top; text-align: left">45.41</td>
<td style="vertical-align: top; text-align: left">2.19</td>
<td style="vertical-align: top; text-align: left">0.89</td>
<td style="vertical-align: top; text-align: left">32.05</td>
<td style="vertical-align: top; text-align: left">3.32</td>
<td style="vertical-align: top; text-align: left">0.89</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">SEW</td>
<td style="vertical-align: top; text-align: left">24.56</td>
<td style="vertical-align: top; text-align: left">3.07</td>
<td style="vertical-align: top; text-align: left">0.92</td>
<td style="vertical-align: top; text-align: left">45.71</td>
<td style="vertical-align: top; text-align: left">2.35</td>
<td style="vertical-align: top; text-align: left">0.90</td>
<td style="vertical-align: top; text-align: left">32.53</td>
<td style="vertical-align: top; text-align: left">3.60</td>
<td style="vertical-align: top; text-align: left">0.89</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">S_augmented</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">24.31</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">2.95</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.91</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">45.72</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">2.39</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.91</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">32.49</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">3.63</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.92</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="j_infor520_s_012">
<label>4.3</label>
<title>Computational Aspects</title>
<p>The evaluated approaches include four new approaches to determine order policies. The existing policies – EWA Broekmeulen and Van Donselaar (<xref ref-type="bibr" rid="j_infor520_ref_001">2009</xref>) and EWA<sub><italic>ss</italic></sub> Kiil <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor520_ref_008">2018</xref>) policy – require knowledge of the oldest items in stock. As a benchmark, we evaluated the newly derived optimal quantity <inline-formula id="j_infor520_ineq_089"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∗</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${Q^{\ast }}$]]></tex-math></alternatives></inline-formula> policy.</p>
<p>The EWA, EWA<sub><italic>ss</italic></sub> and SEW approaches offer easy and fast calculation rules to determine the order quantity. Like the determination of table <inline-formula id="j_infor520_ineq_090"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∗</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${Q^{\ast }}$]]></tex-math></alternatives></inline-formula>, they require computation based on probability theory. Basically, the complexity would increase linearly with the considered horizon <italic>T</italic>. However, in the practical retail setting, the stationary behaviour captures one week. The STIP approach follows from simulating the <inline-formula id="j_infor520_ineq_091"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∗</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${Q^{\ast }}$]]></tex-math></alternatives></inline-formula> policy only once. However, the complexity of the simulation-optimization S_augmented approach depends also on the number of iterations of increments to reach a solution which is feasible in terms of service level. Computing time is hard to compare among the implemented methods, because different software and processors were used. The computational speed also depends on the way of programming.</p>
<p>For the investigated experiments, determination of <inline-formula id="j_infor520_ineq_092"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∗</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${Q^{\ast }}$]]></tex-math></alternatives></inline-formula> requires for all experiments about 7.5 s. The S_augmented heuristic needs 4.5 s to 9.0 s. These experiments were performed in <sc>Matlab</sc>, on an Intel Core i7-4770 CPU, 3.40 GHz desktop processor.</p>
</sec>
</sec>
<sec id="j_infor520_s_013">
<label>5</label>
<title>Conclusion</title>
<p>The research question of this paper deals with the development and investigation of order policies for a Dutch retail situation with a service level requirement where the age-distribution of the inventory may be known or unknown. We investigated a retail situation where a product has a fixed shelf life of three days upon delivery, demand is non-stationary during the week, but stationary over the weeks, with a mixed LIFO-FIFO depletion and a lead time of one day. For all patterns of expected demand, the policy that provides the minimum amount of waste coincides with the one that minimizes expected cost. This is a logical consequence in absence of the disposal cost or salvage value and not focusing on a profit margin.</p>
<p>In case of having information of the oldest items in stock that are going to expire when not sold, two heuristic approaches can be found in literature, EWA and EWA<sub><italic>ss</italic></sub>. In this paper, we derive the optimal order quantity as function of the state of inventory where the LIFO-FIFO demand is described by a binomial distribution.</p>
<p>In case of not having age information, the developed S_augmented heuristic performs best, it always meets the service level requirement and has lower costs than the SEW approach and the benchmark EWA approach. The costs and waste in case of partly LIFO demand are slightly higher than those of the EWA<sub><italic>ss</italic></sub> benchmark. However, the benchmark approaches from literature take the age-distribution of the inventory into account. The STIP approach provides the lowest costs and lowest waste, but in some cases it does not reach the target service level of 0.90, providing an attained SL of 0.89 on one day of the week.</p>
<p>Future research deals with the derivation of heuristics for the practical cases where the shop cannot be delivered on all days of the week. This means that a varying replenishment cycle length has to be taken into account.</p>
</sec>
</body>
<back>
<ref-list id="j_infor520_reflist_001">
<title>References</title>
<ref id="j_infor520_ref_001">
<mixed-citation publication-type="journal"><string-name><surname>Broekmeulen</surname>, <given-names>R.A.</given-names></string-name>, <string-name><surname>Van Donselaar</surname>, <given-names>K.H.</given-names></string-name> (<year>2009</year>). <article-title>A heuristic to manage perishable inventory with batch ordering, positive lead-times, and time-varying demand</article-title>. <source>Computers &amp; Operations Research</source>, <volume>36</volume>(<issue>11</issue>), <fpage>3013</fpage>–<lpage>3018</lpage>.</mixed-citation>
</ref>
<ref id="j_infor520_ref_002">
<mixed-citation publication-type="journal"><string-name><surname>Buisman</surname>, <given-names>M.E.</given-names></string-name>, <string-name><surname>Haijema</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Bloemhof-Ruwaard</surname>, <given-names>J.M.</given-names></string-name> (<year>2019</year>). <article-title>Discounting and dynamic shelf life to reduce fresh food waste at retailers</article-title>. <source>International Journal of Production Economics</source>, <volume>209</volume>, <fpage>274</fpage>–<lpage>284</lpage>.</mixed-citation>
</ref>
<ref id="j_infor520_ref_003">
<mixed-citation publication-type="journal"><string-name><surname>Chen</surname>, <given-names>F.Y.</given-names></string-name>, <string-name><surname>Krass</surname>, <given-names>D.</given-names></string-name> (<year>2001</year>). <article-title>Inventory models with minimal service level constraints</article-title>. <source>European Journal of Operational Research</source>, <volume>134</volume>, <fpage>120</fpage>–<lpage>140</lpage>.</mixed-citation>
</ref>
<ref id="j_infor520_ref_004">
<mixed-citation publication-type="book"><string-name><surname>Chopra</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Meindl</surname>, <given-names>P.</given-names></string-name> (<year>2016</year>). <source>Supply Chain Management: Strategy, Planning, and Operation</source>. <publisher-name>Pearson Education</publisher-name>, <publisher-loc>Michigan</publisher-loc>, pp. <fpage>528</fpage>.</mixed-citation>
</ref>
<ref id="j_infor520_ref_005">
<mixed-citation publication-type="journal"><string-name><surname>Cicatiello</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Franco</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Pancino</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Blasi</surname>, <given-names>E.</given-names></string-name>, <string-name><surname>Falasconi</surname>, <given-names>L.</given-names></string-name> (<year>2017</year>). <article-title>The dark side of retail food waste: evidences from in-store data</article-title>. <source>Resources, Conservation and Recycling</source>, <volume>125</volume>, <fpage>273</fpage>–<lpage>281</lpage>.</mixed-citation>
</ref>
<ref id="j_infor520_ref_006">
<mixed-citation publication-type="book"><string-name><surname>Gruen</surname>, <given-names>T.W.</given-names></string-name>, <string-name><surname>Corsten</surname>, <given-names>D.S.</given-names></string-name>, <string-name><surname>Bharadwaj</surname>, <given-names>S.</given-names></string-name> (<year>2002</year>). <source>Retail Out-of-Stocks: A Worldwide Examination of Extent, Causes and Consumer Responses</source>. <publisher-name>Grocery Manufacturers of America</publisher-name>, <publisher-loc>Washington, DC</publisher-loc>.</mixed-citation>
</ref>
<ref id="j_infor520_ref_007">
<mixed-citation publication-type="journal"><string-name><surname>Herbon</surname>, <given-names>A.</given-names></string-name> (<year>2017</year>). <article-title>Should retailers hold a perishable product having different ages? The case of a homogeneous market and multiplicative demand model</article-title>. <source>International Journal of Production Economics</source>, <volume>193</volume>, <fpage>479</fpage>–<lpage>490</lpage>.</mixed-citation>
</ref>
<ref id="j_infor520_ref_008">
<mixed-citation publication-type="journal"><string-name><surname>Kiil</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Hvolby</surname>, <given-names>H.-H.</given-names></string-name>, <string-name><surname>Fraser</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Dreyer</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Strandhagen</surname>, <given-names>J.O.</given-names></string-name> (<year>2018</year>). <article-title>Automatic replenishment of perishables in grocery retailing: the value of utilizing remaining shelf life information</article-title>. <source>British Food Journal</source>, <volume>120</volume>(<issue>9</issue>), <fpage>2033</fpage>–<lpage>2046</lpage>.</mixed-citation>
</ref>
<ref id="j_infor520_ref_009">
<mixed-citation publication-type="journal"><string-name><surname>Leberorger</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Schneider</surname>, <given-names>F.</given-names></string-name> (<year>2014</year>). <article-title>Food loss rates at the food retail, influencing factors and reasons as a basis for waste prevention measures</article-title>. <source>Waste Management</source>, <volume>34</volume>, <fpage>1911</fpage>–<lpage>1919</lpage>.</mixed-citation>
</ref>
<ref id="j_infor520_ref_010">
<mixed-citation publication-type="other"><string-name><surname>Pantsar</surname>, <given-names>H.</given-names></string-name> (2019). <italic>Estimation of Daily Batch Balances of Perishable Products in Retail</italic>. Master’s thesis, Aalto University, Finland.</mixed-citation>
</ref>
<ref id="j_infor520_ref_011">
<mixed-citation publication-type="journal"><string-name><surname>Parfitt</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Barthel</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Macnaughton</surname>, <given-names>S.</given-names></string-name> (<year>2010</year>). <article-title>Food waste within food supply chains: quantification and potential for change to 2050</article-title>. <source>Philosophical Transactions of the Royal Society B: Biological Sciences</source>, <volume>365</volume>(<issue>1554</issue>), <fpage>3065</fpage>–<lpage>3081</lpage>.</mixed-citation>
</ref>
<ref id="j_infor520_ref_012">
<mixed-citation publication-type="chapter"><string-name><surname>Pauls-Worm</surname>, <given-names>K.G.</given-names></string-name>, <string-name><surname>Hendrix</surname>, <given-names>E.M.</given-names></string-name> (<year>2015</year>). <chapter-title>SDP in inventory control: non-stationary demand and service level constraints</chapter-title>. In: <source>International Conference on Computational Science and Its Applications, LNCS</source>, Vol. 9156. <publisher-name>Springer</publisher-name>, pp. <fpage>397</fpage>–<lpage>412</lpage>.</mixed-citation>
</ref>
<ref id="j_infor520_ref_013">
<mixed-citation publication-type="journal"><string-name><surname>Sebatjane</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Adetunji</surname>, <given-names>O.</given-names></string-name> (<year>2021</year>). <article-title>Optimal lot-sizing and shipment decisions in a three-echelon supply chain for growing items with inventory level- and expiration date-dependent demand.</article-title> <source>Applied Mathematical Modelling</source>, <volume>90</volume>, <fpage>1204</fpage>–<lpage>1225</lpage>.</mixed-citation>
</ref>
<ref id="j_infor520_ref_014">
<mixed-citation publication-type="other"><string-name><surname>The Consumer Goods Forum</surname></string-name> (2015). <italic>Consumer Goods Industry Commits to Food Waste Reduction</italic>.</mixed-citation>
</ref>
<ref id="j_infor520_ref_015">
<mixed-citation publication-type="journal"><string-name><surname>Thyberg</surname>, <given-names>K.L.</given-names></string-name>, <string-name><surname>Tonjes</surname>, <given-names>D.J.</given-names></string-name> (<year>2016</year>). <article-title>Drivers of food waste and their implications for sustainable policy development</article-title>. <source>Resources, Conservation and Recycling</source>, <volume>106</volume>, <fpage>110</fpage>–<lpage>123</lpage>.</mixed-citation>
</ref>
<ref id="j_infor520_ref_016">
<mixed-citation publication-type="other"><string-name><surname>Wyman</surname>, <given-names>O.</given-names></string-name> (2013). Getting fresh: lessons from the global leaders in fresh food. <uri>http://www.oliverwyman.com/content/dam/oliver-wyman/europe/germany/de/insights/publications/2015/jan/OW_POV_Getting%20Fresh.pdf</uri>.</mixed-citation>
</ref>
</ref-list>
</back>
</article>
