# Computational Approaches for Grocery Home Delivery Services
###### Abstract
This delivery approach is less practical for most groceries that are bought on a daily basis, as frozen goods, vegetables, fruits, and milk-based products are very sensitive to temperature changes and their quality quickly deteriorates when not being stored at the correct temperatures. The shipment of larger grocery purchases via postal services is also impractical due to size and weight. Therefore, many supermarket chains currently offer home delivery services where the goods are transported in temperature-controlled vehicles. Additionally, \"click-and-collect\" services, where the customers can pick up their purchases at a physical location, are becoming more popular. When offering home delivery services, the grocery supply chain does no longer end at the supermarket shelves, but is extended towards the customers' doors. Supermarkets that offer such services are now facing a \"last-mile\" delivery problem that must be dealt with efficiently. The company must ensure that the cold chain is not interrupted, and therefore the ordered products cannot be dropped off at the customer's door unattended. Hence, the customer must be present when the delivery arrives. A common way to approach this last-mile delivery problem, from the supermarket or distribution center to the customer, is that the grocery vendor and the customer mutually agree on a delivery time slot during which the arrival of the delivery as well as the presence of the customer can be assured. In the scientific literature, this kind of delivery service is widely known as the attended home delivery (AHD) problem [7]. AHD services offer several benefits for the customer, such as the nonstop opening hours of the online store, the avoidance of traveling to the brick-and-mortar stores, almost no interruptions of the cold chain when buying groceries, and no carrying of heavy or bulky items. Despite the huge potential and benefits for customers, online grocery shopping services pose several interrelated logistics and optimization challenges to the grocer. Deliveries may be dispatched from brick-and-mortar stores where the purchases are picked by store employees and then handed over to a delivery driver [8]. At a certain scale, the utilization of dedicated distribution centers, as commonly used by e-commerce giants, is a reasonable alternative [9]. So-called \"dark stores\", i.e., supermarkets that are not open to the public but are only used for picking online grocery orders, are a common in-between solution. This work focuses on the online shopping service of one of the world's leading grocery chains. However, the basic principle of AHD services applies to many other applications besides groceries, such as maintenance and repair services [10], on-demand mobility services [11], or patient home-health-care services [12]. In this work, we provide a general framework for the operational planning of the \"last-mile\" delivery of groceries purchased online. For a better understanding, we break down the planning and fulfillment process of the e-grocer into four phases (see also reference [13]). The first phase is called the _tactical planning phase_, which happens several months/weeks before delivery. During this period, the fleet of delivery vehicles is defined and drivers are assigned to them. Several weeks up to days/hours before delivery starts the _ordering phase_, in which the grocery chain accepts orders and starts planning the deliveries. Once all orders are placed (usually days/hours before delivery), the company prepares the accepted orders for delivery during the _preparation phase_ (see [PERSON] et al. [9] for a model that describes the order picking at a central warehouse). Finally, during the _delivery phase_, the delivery vehicles execute the orders according to the delivery schedule. During the ordering phase, customers place their grocery orders using the company's website or mobile app. This interaction with customers through the online store holds several computational challenges.