Multi-Stove Scheduling for Sustainable On-Demand Food Delivery
Abstract
:1. Introduction
2. Literature Review
3. Double-Layer Scheduling Model
3.1. Problem Description
- Arrangement of dish-packages on the stoves.
- Allocation of dish-packages to needed orders. The two-phase scheduling aims to ensure that the completion time of the order is earlier than the expected time.
3.2. Logic of the Double-Layer Model
3.3. The Lower Layer Model: Dish-Package Scheduling Model
- Dish-packages are processed in the package set . The cooking time and weight coefficient of dish-package is denoted as and .
- Identical parallel processing stoves can be found in stove set .
- Switching time is ignored.
- A time axis is set for each stove and non-overlapping time-slots are divided on this axis by applying the idea of virtual time-slot in parallel machine scheduling. The length of time slot is determined by the dish-package actually produced. The preset number of virtual time-slots as is set, which means that a dish-package must choose a virtual time slot from every stove. If the dish-package is not actually cooked on that stove, the completion time of this time slot is equal to its start time. The start time of the th time-slot on stove is denoted as , and completion time is .
- Equation (1) is the objective function, which minimizes the weighted completion time of all dish-packages.
- Constraint (2) determines the completion time for each virtual timeslot. The completion time is equal to the start time in addition to processing time if there it is an actual processing task. Otherwise, the completion is equal to start time.
- The start time and completion time of th time-slot on stove [ are given. Constraint (3) indicates that all time intervals cannot intersect. The joint result of this constraint and the objective function ensures that the completion time of the previous task is equal to the start time of the next task.
- Constraint (4) ensures that each dish-package must be actually processed.
- Constraint (5) denotes the binary restriction of the decision variable.
3.4. The Upper Layer Model: Order Selection Model
- Dish-packages can be found in the package set . The actual completion time and weight coefficient of the dish-package is denoted by and , respectively.
- Orders can be found in the order set . The actual completion time and the latest required time of the order is denoted as and .
- There are types of dishes in dish set . The number of servings for dish type from order is . The subordinate relationship between dish-package and dish type is expressed by . If the dish type of the dish-package is dish type , then , otherwise .
- Equation (6) is the objective function that minimizes the completion time of each order.
- Constraint (7) indicates that all dishes from each order can be found from the corresponding dish-package.
- Constraint (8) ensures that the total size of dishes selected in a dish-package cannot exceed its capacity.
- Constraint (9) ensures that the completion time of the order is determined by the completion time of its dish.
- Constraints (10) and (11) denote the binary restriction of , which is used to calculate the number of delayed orders. The restaurant should ensure service quality by controlling the delay proportion of orders, which is tentatively set as 30%.
- Constraints (12) and (13) denote the binary restriction of , which indicates whether the dish package is selected for the order; gives the number of servings of dish-package selected by order .
4. Numerical Experiment and Results
4.1. Basic Data
4.2. Result
5. Model Expansion
5.1. Dish-Package Scheduling Model While Considering Switching Time
- A virtual dish-package is imported, and then turned into a problem with dish-packages, which are processed in the new package set . The processing time and weight coefficient of dish-package is denoted by and . The virtual dish-package is introduced to replicate the stove scheduling model after the basic VRP model. Thus, the existing VRP algorithms can help to solve the stove scheduling model.
- There are identical parallel processing stoves in stove set .
- The start time and the finish time of the th dish-package on stove is denoted by and , respectively.
- Equation (14) is the objective function, which minimizes the weighted finish time of the dish-packages.
- Constraints (15) and (16) ensure that every stove should start and finish on the virtual dish-package .
- Constraint (17) determines the relationship between the decision variable and .
- Constraints (18)–(20) ensure that each dish-package can only choose one stove for processing.
- Constraint (21) ensures each dish-package must be processed.
- Constraint (22) determines that the finish time of dish-package on stove is equal to its start time and processing time.
- Constraint (23) determines the start time of the dish-package is equal to the completion time and switching time in the previous package.
- Constraints (24) and (25) denote the binary restriction of the decision variable and .
5.2. Supplementary Data
5.3. Result
6. Conclusions
7. Future Research
Author Contributions
Funding
Conflicts of Interest
References
- Zhang, C.; Jiang, J.; Jin, H.; Chen, T. The Impact of COVID-19 on Consumers’ Psychological Behavior Based on Data Mining for Online User Comments in the Catering Industry in China. Int. J. Environ. Res. Public Health 2021, 18, 4178. [Google Scholar] [CrossRef] [PubMed]
- Liu, Y.; Guo, B.; Du, H.; Yu, Z.; Zhang, D.; Chen, C. Poster: FooDNet. In Proceedings of the 23rd Annual International Conference on Mobile Computing and Networking, MobiCom ’17, Snowbird, UT, USA, 16–20 October 2017; pp. 564–566. [Google Scholar] [CrossRef]
- Liu, P.; Lv, J.; Jiang, T.; Chai, X. Equilibrium Joining Strategies of Delay-Sensitive Customers in a Queueing System with Service Quality Feedback. Discret. Dyn. Nat. Soc. 2020, 2020, 5906407. [Google Scholar] [CrossRef]
- Naderi, B.; Roshanaei, V. Branch-Relax-and-Check: A tractable decomposition method for order acceptance and identical parallel machine scheduling. Eur. J. Oper. Res. 2020, 286, 811–827. [Google Scholar] [CrossRef]
- Brauner, N.; Kovalyov, M.Y.; Quilliot, A.; Toussaint, H. No-idle parallel-machine scheduling of unit-time jobs with a small number of distinct release dates and deadlines. Comput. Oper. Res. 2021, 132, 105315. [Google Scholar] [CrossRef]
- Tighazoui, A.; Sauvey, C.; Sauer, N. Minimizing the Total Weighted Waiting Times and Instability in a Rescheduling Problem with Dynamic Jobs Weight. Appl. Sci. 2021, 11, 7040. [Google Scholar] [CrossRef]
- Kim, J.; Kim, H.-J. Parallel machine scheduling with multiple processing alternatives and sequence-dependent setup times. Int. J. Prod. Res. 2020, 59, 5438–5453. [Google Scholar] [CrossRef]
- Yepes-Borrero, J.C.; Perea, F.; Ruiz, R.; Villa, F. Bi-objective parallel machine scheduling with additional resources during setups. Eur. J. Oper. Res. 2021, 292, 443–455. [Google Scholar] [CrossRef]
- Lee, J.-H.; Jang, H. Uniform Parallel Machine Scheduling with Dedicated Machines, Job Splitting and Setup Resources. Sustainability 2019, 11, 7137. [Google Scholar] [CrossRef] [Green Version]
- Hidri, L.; Alqahtani, A.; Gazdar, A.; Ben Youssef, B. Green Scheduling of Identical Parallel Machines with Release Date, Delivery Time and No-Idle Machine Constraints. Sustainability 2021, 13, 9277. [Google Scholar] [CrossRef]
- Dong, J.; Goebel, R.; Hu, J.; Lin, G.; Su, B. Minimizing total job completion time in MapReduce scheduling. Comput. Ind. Eng. 2021, 158, 107387. [Google Scholar] [CrossRef]
- Witteman, M.; Deng, Q.; Santos, B.F. A bin packing approach to solve the aircraft maintenance task allocation problem. Eur. J. Oper. Res. 2021, 294, 365–376. [Google Scholar] [CrossRef]
- De Lima, V.L.; Alves, C.; Clautiaux, F.; Iori, M.; Valério de Carvalho, J.M. Arc flow formulations based on dynamic programming: Theoretical foundations and applications. Eur. J. Oper. Res. 2022, 296, 3–21. [Google Scholar] [CrossRef]
- Garrisi, G.; Cervelló-Pastor, C. Train-Scheduling Optimization Model for Railway Networks with Multiplatform Stations. Sustainability. 2020, 12, 257. [Google Scholar] [CrossRef] [Green Version]
- Psychas, K.; Ghaderi, J. High-Throughput Bin Packing: Scheduling Jobs With Random Resource Demands in Clusters. IEEE/ACM Trans. Netw. 2021, 29, 220–233. [Google Scholar] [CrossRef]
- Dantzig, G.B.; Ramser, J.H. The Truck Dispatching Problem. Manag. Sci. 1959, 6, 80–91. [Google Scholar] [CrossRef]
- Zhang, H.; Ge, H.; Yang, J.; Tong, Y. Review of Vehicle Routing Problems: Models, Classification and Solving Algorithms. Arch. Comput. Methods Eng. 2021, 1–27. [Google Scholar] [CrossRef]
- Baldacci, R.; Mingozzi, A.; Roberti, R. Recent exact algorithms for solving the vehicle routing problem under capacity and time window constraints. Eur. J. Oper. Res. 2012, 218, 1–6. [Google Scholar] [CrossRef]
- Chen, C.; Demir, E.; Huang, Y. An adaptive large neighborhood search heuristic for the vehicle routing problem with time windows and delivery robots. Eur. J. Oper. Res. 2021, 294, 1164–1180. [Google Scholar] [CrossRef]
- Fallahtafti, A.; Karimi, H.; Ardjmand, E.; Ghalehkhondabi, I. Time slot management in selective pickup and delivery problem with mixed time windows. Comput. Ind. Eng. 2021, 159, 107512. [Google Scholar] [CrossRef]
Strategy | Objectives of the Strategy | Value-Setting |
---|---|---|
No. 1 | Workload balance between stoves | Set every dish-package as the same weight |
No. 2 | The dish with the shortest cooking is taken first | Take the reciprocal of the cooking time as the weight |
No. 3 | The most popular dishes are taken first | Take the order quantity by choosing the dish as the weight |
No. 4 | The most urgent dishes are taken first | Take the reciprocal of the remaining time as the weight |
Order No. | Expected Time/min | Dish 1 | Dish 2 | Dish 3 | Dish 4 | Dish 5 | Dish 6 | Dish 7 | Dish 8 | Dish 9 | Dish 10 |
---|---|---|---|---|---|---|---|---|---|---|---|
1′ | 20 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
2′ | 23 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 2 | 0 |
3′ | 27 | 0 | 3 | 0 | 4 | 0 | 0 | 0 | 1 | 0 | 0 |
4′ | 30 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 |
5′ | 31 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
6′ | 32 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 |
7′ | 38 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
8′ | 40 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 |
9′ | 42 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
10′ | 45 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 |
Parameter | Dish 1 | Dish 2 | Dish 3 | Dish 4 | Dish 5 | Dish 6 | Dish 7 | Dish 8 | Dish 9 | Dish 10 |
---|---|---|---|---|---|---|---|---|---|---|
Cooking time/min | 7 | 6 | 6.5 | 5.5 | 5 | 5 | 4.5 | 6.5 | 4.5 | 4 |
Package limitation/portion | 2 | 2 | 1 | 3 | 2 | 3 | 2 | 2 | 3 | 1 |
Package No. | Expected Time/min | Dish Type | Servings/Piece | Processing Time/min | a_ Strategy I | a_ Strategy II | a_ Strategy III | a_ Strategy Ⅳ |
---|---|---|---|---|---|---|---|---|
1″ | 20 | Dish 1 | 2 | 7 | 1 | 0.143 | 5 | 0.05 |
2″ | 31 | Dish 1 | 2 | 7 | 1 | 0.143 | 5 | 0.032 |
3″ | 38 | Dish 1 | 2 | 7 | 1 | 0.143 | 5 | 0.026 |
4″ | 27 | Dish 2 | 2 | 6 | 1 | 0.167 | 1 | 0.037 |
5″ | 27 | Dish 2 | 1 | 6 | 1 | 0.167 | 1 | 0.037 |
6″ | 23 | Dish 3 | 1 | 6.5 | 1 | 0.154 | 2 | 0.043 |
7″ | 23 | Dish 3 | 1 | 6.5 | 1 | 0.154 | 2 | 0.043 |
8″ | 38 | Dish 3 | 1 | 6.5 | 1 | 0.154 | 2 | 0.026 |
9″ | 27 | Dish 4 | 3 | 5.5 | 1 | 0.182 | 3 | 0.037 |
10″ | 27 | Dish 4 | 3 | 5.5 | 1 | 0.182 | 3 | 0.037 |
11″ | 30 | Dish 6 | 2 | 5 | 1 | 0.2 | 2 | 0.033 |
12″ | 32 | Dish 7 | 2 | 4.5 | 1 | 0.222 | 2 | 0.031 |
13″ | 27 | Dish 8 | 1 | 6.5 | 1 | 0.154 | 1 | 0.037 |
14″ | 20 | Dish 9 | 3 | 4.5 | 1 | 0.222 | 4 | 0.05 |
15″ | 40 | Dish 9 | 2 | 4.5 | 1 | 0.222 | 4 | 0.025 |
16″ | 32 | Dish 10 | 1 | 4 | 1 | 0.25 | 2 | 0.031 |
17″ | 40 | Dish 10 | 1 | 4 | 1 | 0.25 | 2 | 0.025 |
18″ | 40 | Dish 10 | 1 | 4 | 1 | 0.25 | 2 | 0.025 |
Evaluating Indicator | Strategy I | Strategy II 1 | Strategy III | Strategy Ⅳ |
---|---|---|---|---|
The number of delayed orders | 3 | 4 | 3 | 3 |
The total delayed time of the orders/min | 19.5 | 25.5 | 25 | 17.5 |
Evaluating Indicator | Strategy I | Strategy II | Strategy III | Strategy Ⅳ |
---|---|---|---|---|
The number of delayed dish-packages | 3 | 4 | 4 | 2 |
The total delayed time of dish-packages/min | 19.5 | 30 | 22 | 11 |
Sum of dish-packages finish time/min | 321 | 323.5 | 353.5 | 336 |
Max stoves’ completion time gap/min | 1.5 | 5.5 | 10 | 7 |
Total stove completion time’s difference/min | 2 | 6 | 14 | 8 |
Evaluating Indicator | Strategy I | Strategy II | Strategy III | Strategy Ⅳ |
---|---|---|---|---|
Number of delayed orders | 1 | 3 | 1 | 3 |
Total time delay of orders/min | 9 | 16.5 | 10.5 | 18.5 |
Evaluating Indicator | Strategy I | Strategy II | Strategy III | Strategy Ⅳ |
---|---|---|---|---|
Number of delayed dish-packages | 2 | 4 | 4 | 3 |
Total time delay of dish-packages/min | 11 | 20.5 | 18 | 15 |
Total dish-package finish time/min | 386.5 | 377 | 411 | 396 |
Max stoves’ completion time gap/min | 8 | 2.5 | 8 | 8.5 |
Total stove completion time’s difference/min | 8.33 | 2.67 | 8.67 | 9.33 |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Dai, T.; Fan, X. Multi-Stove Scheduling for Sustainable On-Demand Food Delivery. Sustainability 2021, 13, 13133. https://doi.org/10.3390/su132313133
Dai T, Fan X. Multi-Stove Scheduling for Sustainable On-Demand Food Delivery. Sustainability. 2021; 13(23):13133. https://doi.org/10.3390/su132313133
Chicago/Turabian StyleDai, Tao, and Xiangqi Fan. 2021. "Multi-Stove Scheduling for Sustainable On-Demand Food Delivery" Sustainability 13, no. 23: 13133. https://doi.org/10.3390/su132313133
APA StyleDai, T., & Fan, X. (2021). Multi-Stove Scheduling for Sustainable On-Demand Food Delivery. Sustainability, 13(23), 13133. https://doi.org/10.3390/su132313133