Delivery order assignment method and system
Patent Information
- Application Number
- KR1020250030806
- Authority / Receiving Office
- KR · KR
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-03-10
- Publication Date
- 2026-09-17
Smart Images

Figure PAT00003_ABST
Abstract
Description
Technology Field
[0001] The present disclosure relates to a delivery order assignment method and system. Background Technology
[0003] With the development of e-commerce, products ordered by customers are being delivered across various online platforms. In the e-commerce market, transactions take place online through networks, and products for which a transaction has been concluded can be delivered to a delivery address set by the customer via a delivery service. At this time, a delivery order allocation system is provided to facilitate delivery services between sellers and buyers.
[0004] In e-commerce, the provision of fast and accurate delivery services for products has a significant impact on service satisfaction (or customer experience (CX)). Therefore, when delivering products (e.g., food) for a customer's delivery order, it is important to provide a delivery service that is both efficient and fast.
[0005] Therefore, properly classifying delivery orders and assigning them to delivery personnel is a critical process in delivery services. However, the problem of classifying orders and assigning personnel is a difficult data science task, and general approaches are currently used to solve this complex issue. Consequently, there is a need for methods and systems to classify delivery orders more accurately and efficiently, and to assign the classified orders to the optimal personnel. The problem to be solved
[0007] The present disclosure provides a delivery order allocation method and system for solving the above-mentioned problems. means of solving the problem
[0009] The present disclosure may be implemented in various ways, including a method, an apparatus (system), or a computer program stored on a readable storage medium.
[0010] A delivery order assignment method according to an embodiment of the present disclosure for solving a technical problem may include the steps of: receiving a plurality of delivery orders, each of which includes a pickup location and a drop location; classifying among the plurality of delivery orders, delivery orders in which the distance between each pickup location and the distance between each drop location are less than or equal to a first reference distance into a first group; assigning each of the first group to delivery personnel; classifying among the first remaining delivery orders, excluding the delivery orders included in the first group from the plurality of delivery orders, delivery orders in which at least one of the distance between each pickup location and the distance between each drop location is greater than the first reference distance and less than or equal to a second reference distance greater than the first reference distance into a second group; assigning each of the second group to delivery personnel; and assigning each of the second remaining delivery orders, excluding the delivery orders included in the second group from the first remaining delivery orders, to delivery personnel.
[0011] According to one embodiment of the present disclosure, a first group includes a first subgroup, and the number of delivery orders included in each subgroup of the first subgroup is a first value, and the step of classifying delivery orders into a first group may include the step of classifying a plurality of delivery orders into a first subgroup.
[0012] According to one embodiment of the present disclosure, a first group includes a second subgroup, and the second subgroup is a second value in which the number of delivery orders included in each subgroup is smaller than a first value, and the step of classifying delivery orders into a first group may include the step of classifying delivery orders excluding delivery orders included in the first subgroup from a plurality of delivery orders into a second subgroup.
[0013] According to one embodiment of the present disclosure, a second group includes a third subgroup, and the number of delivery orders included in each subgroup of the third subgroup is a first value, and the step of classifying delivery orders into a second group may include the step of classifying a first remaining delivery order into a third subgroup.
[0014] According to one embodiment of the present disclosure, the second group includes a fourth subgroup, and the fourth subgroup is a second value in which the number of delivery orders included in each subgroup is smaller than a first value, and the step of classifying delivery orders into the second group may include the step of classifying delivery orders into the fourth subgroup, excluding delivery orders included in the third subgroup from the first remaining delivery orders.
[0015] According to one embodiment of the present disclosure, the step of assigning each of the second remaining delivery orders to a delivery person may include the step of assigning the second remaining delivery orders to first delivery people who are currently delivering.
[0016] According to one embodiment of the present disclosure, the step of assigning to first delivery personnel currently delivering may include assigning the second remaining delivery order to one or more delivery personnel located closest to the pickup location of the second remaining delivery order among the first delivery personnel.
[0017] According to one embodiment of the present disclosure, the step of assigning each of the second remaining delivery orders to a delivery person may include the step of assigning the delivery orders, excluding the delivery orders assigned to the first delivery people from the second remaining delivery orders, to an idle delivery person.
[0018] According to one embodiment of the present disclosure, the step of assigning each of the first groups to delivery personnel may include, among the first groups, calculating a total distance based on the distance between each pickup location and the distance between each drop location of the delivery orders included in the first group; calculating an estimated delivery time for each of the delivery personnel for the delivery orders included in the first group based on the total distance; and selecting candidate delivery personnel who can comply with the estimated arrival time of the delivery orders included in the first group based on the estimated delivery time.
[0019] According to one embodiment of the present disclosure, the step of assigning each of the first groups to delivery personnel may include calculating the suitability of candidate delivery personnel based on total distance and estimated delivery time, and selecting the optimal delivery personnel among the candidate delivery personnel based on the suitability.
[0020] According to one embodiment of the present disclosure, the step of assigning each of the second groups to delivery personnel may include, among the second groups, calculating a total distance based on the distance between each of the pickup locations included in the second group and the distance between each of the drop locations; calculating the estimated delivery time for each of the delivery personnel for the delivery orders included in the second group based on the total distance; and selecting candidate delivery personnel who can comply with the estimated arrival time of the delivery orders included in the second group based on the estimated delivery time.
[0021] According to one embodiment of the present disclosure, the step of assigning each of the second groups to delivery personnel may include calculating the suitability of candidate delivery personnel based on total distance and estimated delivery time, and selecting the optimal delivery personnel among the candidate delivery personnel based on the suitability.
[0022] According to one embodiment of the present disclosure, the step of receiving a plurality of delivery orders may include classifying some of the plurality of delivery orders as priority delivery orders, assigning the priority delivery orders to a single delivery person, and excluding the priority delivery orders from the plurality of delivery orders.
[0023] A computer-readable, non-transient recording medium may be provided that records instructions for executing a delivery order assignment method according to one embodiment of the present disclosure on a computer.
[0024] According to one embodiment of the present disclosure, a delivery order assignment system is provided. The delivery order assignment system includes a memory and at least one processor connected to the memory and configured to execute at least one computer-readable program included in the memory. The system receives a plurality of delivery orders, each of which includes a pickup location and a drop location. Among the plurality of delivery orders, delivery orders in which the distance between each pickup location and the distance between each drop location are less than or equal to a first reference distance are classified into a first group, and each of the first group is assigned to a delivery person. Among the first remaining delivery orders excluding the delivery orders included in the first group from the plurality of delivery orders, delivery orders in which at least one of the distance between each pickup location and the distance between each drop location is greater than the first reference distance and less than or equal to a second reference distance greater than the first reference distance are classified into a second group, and each of the second group is assigned to a delivery person. Each of the second remaining delivery orders excluding the delivery orders included in the second group from the first remaining delivery orders is assigned to a delivery person. Effects of the invention
[0026] According to some embodiments of the present disclosure, as described above, through a multi-layer structure that groups multiple delivery orders, the efficiency of the delivery process can be increased and the cost consumed can be reduced.
[0027] According to some embodiments of the present disclosure, delivery orders can be efficiently assigned by configuring multiple layers based on reference distances and setting priorities between layers, based on the geographical location of each delivery order. Additionally, by further subdividing classification criteria through a multi-layer structure, costs such as transportation costs and delivery fees incurred during the delivery process can be reduced.
[0028] In addition, according to some embodiments of the present disclosure, by assigning delivery orders to the optimal delivery person based on multiple layers subdivided according to reference distances, labor costs can also be reduced.
[0029] In addition, according to some embodiments of the present disclosure, by applying deduplication logic that excludes delivery orders assigned in the upper layer, system / computation errors caused by duplicate assignment of delivery orders can be prevented and the complexity of the multi-layer structure can be reduced.
[0030] According to some embodiments of the present disclosure, even within a layer that groups based on a reference distance, delivery orders can be classified and assigned more efficiently by setting the number of delivery orders included in each group in stages according to priority, thereby further reducing costs such as transportation costs and delivery fees incurred during the delivery process.
[0031] According to some embodiments of the present disclosure, delivery orders that are not close to other delivery orders located in different geographical locations are assigned sequentially or in parallel to delivery personnel currently in progress and idle personnel, taking into account various conditions and / or situations, thereby preventing a decrease in delivery efficiency that may occur due to grouping (or bundling) with other delivery orders, and delivery orders from various locations can also be executed precisely.
[0032] According to some embodiments of the present disclosure, delivery orders can be assigned by selecting an optimal delivery person based on the geographical location of a plurality of delivery people. Additionally, suitability can be calculated by considering not only geographical location but also various situations and / or conditions, and thus, a delivery person with optimal delivery conditions can be selected.
[0033] According to some embodiments of the present disclosure, by classifying delivery orders that are not easy or efficient to group (i.e., bundle) with other delivery orders as priority delivery orders, the efficiency of the entire delivery process can be improved and higher customer satisfaction can be provided. Brief explanation of the drawing
[0035] Embodiments of the present disclosure will be described with reference to the accompanying drawings described below, wherein similar reference numerals indicate similar elements, but are not limited thereto. FIG. 1 is a drawing for explaining an information processing system according to one embodiment of the present disclosure. FIG. 2 is a block diagram showing the internal configuration of a server device according to one embodiment of the present disclosure. FIG. 3 is a flowchart illustrating an example of a delivery order assignment method according to one embodiment of the present disclosure. FIG. 4 is a flowchart illustrating an example of a delivery order classification according to one embodiment of the present disclosure. FIGS. 5 and 6 are drawings for illustrating an example of a delivery order classification according to one embodiment of the present disclosure. FIG. 7 is a flowchart illustrating an example of a delivery order classification according to one embodiment of the present disclosure. FIGS. 8 and 9 are drawings for illustrating an example of a delivery order classification according to one embodiment of the present disclosure. FIG. 10 is a flowchart illustrating an example of a delivery order assignment according to one embodiment of the present disclosure. FIG. 11 is a drawing for illustrating an example of a delivery order assignment according to one embodiment of the present disclosure. FIG. 12 is a flowchart illustrating an example of selecting a delivery person according to one embodiment of the present disclosure. FIG. 13 is a drawing for explaining an example of selecting a delivery person according to one embodiment of the present disclosure. FIG. 14 is a drawing for illustrating an example of a delivery order assignment according to one embodiment of the present disclosure. Specific details for implementing the invention
[0036] Hereinafter, specific details for implementing the present disclosure will be described in detail with reference to the attached drawings. However, in the following description, specific descriptions regarding widely known functions or configurations will be omitted if there is a risk that the gist of the present disclosure may be unnecessarily obscured.
[0037] In the attached drawings, identical or corresponding components are assigned the same reference numerals. Additionally, in the description of the following embodiments, the description of identical or corresponding components may be omitted. However, even if a description of a component is omitted, it is not intended that such component is not included in any embodiment.
[0038] The advantages and features of the disclosed embodiments and the methods for achieving them will become clear by referring to the embodiments described below in conjunction with the accompanying drawings. However, the present disclosure is not limited to the embodiments disclosed below but may be implemented in various different forms, and the embodiments provided are merely to make the present disclosure complete and to fully inform those skilled in the art of the scope of the invention.
[0039] The terms used in this specification will be briefly explained, and the disclosed embodiments will be described in detail. The terms used in this specification have been selected to be as generally used as possible, taking into account their functions in this disclosure; however, these terms may vary depending on the intent of those skilled in the art, case law, the emergence of new technologies, etc. Additionally, in specific cases, terms may be arbitrarily selected by the applicant, and in such cases, their meanings will be described in detail in the relevant description of the invention. Therefore, the terms used in this disclosure should be defined not merely by their names, but based on their meanings and the content throughout this disclosure.
[0040] In this specification, singular expressions include plural expressions unless the context clearly specifies them as singular. Additionally, plural expressions include singular expressions unless the context clearly specifies them as plural. Throughout the specification, when a part is described as including a certain component, this means that, unless specifically stated otherwise, it does not exclude other components but may include additional components.
[0041] Additionally, the terms 'module' or 'part' as used in the specification refer to software or hardware components, and the 'module' or 'part' performs certain roles. However, the meaning of 'module' or 'part' is not limited to software or hardware. The 'module' or 'part' may be configured to reside in an addressable storage medium or configured to run on one or more processors. Thus, as an example, the 'module' or 'part' may include components such as software components, object-oriented software components, class components, and task components, and at least one of processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, or variables. The components and the functions provided within the 'module' or 'part' may be combined into a smaller number of components and 'modules' or 'parts', or further separated into additional components and 'modules' or 'parts'.
[0042] According to one embodiment of the present disclosure, a ‘module’ or ‘part’ may be implemented as a processor and memory. The term ‘processor’ should be broadly interpreted to include a general-purpose processor, a central processing unit (CPU), a microprocessor, a digital signal processor (DSP), a controller, a microcontroller, a state machine, etc. In some environments, the term ‘processor’ may refer to an application-specific integrated circuit (ASIC), a programmable logic device (PLD), a field programmable gate array (FPGA), etc. The term ‘processor’ may also refer to a combination of processing devices, such as, for example, a combination of a DSP and a microprocessor, a combination of multiple microprocessors, a combination of one or more microprocessors combined with a DSP core, or any other combination of such configurations. Additionally, the term ‘memory’ should be broadly interpreted to include any electronic component capable of storing electronic information. 'Memory' may refer to various types of processor-readable media, such as Random Access Memory (RAM), Read-Only Memory (ROM), Non-Volatile Random Access Memory (NVRAM), Programmable Read-Only Memory (PROM), Erasable-Programmable Read-Only Memory (EPROM), Electrically Erasable PROM (EEPROM), Flash Memory, Magnetic or Optical Data Storage Devices, Registers, etc. If a processor can read information from memory and / or write information to memory, the memory is said to be in an electronic communication state with the processor. Memory integrated into a processor is in an electronic communication state with the processor.
[0043] In addition, the terms "first," "second," etc., used in the following embodiments are used merely to distinguish one component from another, and the essence, order, or sequence of the said component is not limited by such terms.
[0044] Additionally, in the following embodiments, where it is stated that a component is 'connected', 'coupled', or 'joined' to another component, it should be understood that the component may be directly connected or joined to the other component, but that another component may also be 'connected', 'coupled', or 'joined' between each component.
[0045] Additionally, the terms 'comprises' and / or 'comprising' as used in the following embodiments do not exclude the presence or addition of one or more other components, steps, actions, and / or elements to the mentioned components, steps, actions, and / or elements.
[0046] In the present disclosure, the 'system' may include at least one of a server device and a cloud device, but is not limited thereto. For example, the system may be composed of one or more server devices. As another example, the system may be composed of one or more cloud devices. As yet another example, the system may be configured and operated with both a server device and a cloud device.
[0047] In the present disclosure, 'display' may refer to any display device associated with a computing device, for example, any display device capable of displaying any information / data controlled by or provided by the computing device.
[0048] In the present disclosure, 'each of a plurality of A' or 'each of a plurality of A' may refer to each of all components included in a plurality of A, or each of some components included in a plurality of A.
[0049] In the present disclosure, 'user' may refer to a user utilizing the application or a user account of the application. Here, a user account may represent an account created and utilized by the user within the application or data associated therewith.
[0050] In the present disclosure, the number of display areas for a plurality of items and the number of items are not limited to the specific number described by example.
[0051] Various embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings. The size or location of display screens, images, buttons, etc., as illustrated and described in the drawings are exemplary and are not limited thereto. For example, some buttons may be added or omitted, or configured with sizes and locations different from those illustrated. Furthermore, the flowcharts and descriptions illustrated in the drawings are merely examples and may be implemented differently in some embodiments. For example, one or more steps may be omitted, the order of each step may be changed, one or more steps may be performed in overlap, or one or more steps may be performed repeatedly.
[0052] FIG. 1 is a drawing for explaining an information processing system according to one embodiment of the present disclosure.
[0053] Referring to FIG. 1, the information processing system (300) may include system(s) capable of providing a delivery order assignment service. A plurality of user terminals (110_1, 110_2, 110_3) may be connected to the information processing system (300) capable of providing a delivery order assignment service through a network (200). Here, the plurality of user terminals (110_1, 110_2, 110_3) may include a user terminal receiving the delivery order assignment service. The information processing system (300) and the plurality of user terminals (110_1, 110_2, 110_3) may perform operations according to various embodiments of the present disclosure based on a delivery order assignment system implemented in each device. Although the information processing system (300) is depicted as a single device in the drawings, it is not limited thereto, and the information processing system (300) may be composed of a plurality of devices.
[0054] The information processing system (300) may be any computing device capable of storing, providing, and executing computer-executable programs (e.g., downloadable applications) and data related to a delivery order assignment service, for example, may include one or more server devices and / or databases, or one or more distributed computing devices and / or distributed databases based on a cloud computing service. For example, the information processing system (300) may include separate systems (e.g., servers) for the delivery order assignment service.
[0055] The information processing system (300) can perform delivery task assignment to delivery personnel, and in this process, can transmit and receive information related to delivery task assignment with multiple user terminals (110_1, 110_2, 110_3). In one embodiment, the information processing system (300) can assign delivery orders to delivery personnel by classifying (or dividing or grouping) multiple delivery orders and then transmitting the classified (or divided or grouped) delivery orders to multiple user terminals (110_1, 110_2, 110_3) through the network (200). In another embodiment, multiple user terminals (110_1, 110_2, 110_3) can transmit the current location of the user (i.e., delivery personnel) and / or whether the user is performing delivery tasks to the information processing system (300) through the network (200). The information processing system (300) can assign delivery orders based on data transmitted by a plurality of user terminals (110_1, 110_2, 110_3).
[0056] Multiple user terminals (110_1, 110_2, 110_3) can communicate with an information processing system (300) through a network (200). The network (200) can be configured to enable communication between multiple user terminals (110_1, 110_2, 110_3) and an information processing system (230). Depending on the installation environment, the network (200) may be configured as a wired network such as Ethernet, Power Line Communication, telephone line communication devices and RS-serial communication, a mobile communication network, a Wireless LAN (WLAN), Wi-Fi, Bluetooth and ZigBee, or a combination thereof. The communication method is not limited to this, and may include not only a communication method utilizing a communication network (e.g., mobile communication network, wired internet, wireless internet, broadcasting network, satellite network, etc.) that the network (220) may include, but also short-range wireless communication between multiple user terminals (110_1, 110_2, 110_3).
[0057] For example, a plurality of user terminals (110_1, 110_2, 110_3) transmit data (e.g., location data) to an information processing system (300) through a network (200), and the information processing system (300) can receive the data and perform delivery order assignment.
[0058] In FIG. 1, a mobile phone terminal (110_1), a tablet terminal (110_2), and a PC terminal (110_3) are illustrated as examples of user terminals, but are not limited thereto. A plurality of user terminals (110_1, 110_2, 110_3) may be any computing device capable of wired and / or wireless communication and capable of installing and running data processing applications. For example, user terminals may include smartphones, mobile phones, navigation systems, computers, laptops, digital broadcasting terminals, PDAs (Personal Digital Assistants), PMPs (Portable Multimedia Players), tablet PCs, game consoles, wearable devices, IoT (Internet of Things) devices, VR (Virtual Reality) devices, AR (Augmented Reality) devices, etc. In addition, other electronic devices that perform similar functions may be used as user terminals. For example, if the user terminal is a smartphone, it may include components that are generally included in a smartphone, and various components such as an accelerometer, a gyroscope, a microphone module, a camera module, various physical buttons, buttons using a touch panel, input / output ports, and a vibrator for vibration may be further included in the user terminal. Additionally, while FIG. 1 is illustrated as having three user terminals (110_1, 110_2, 110_3) communicating with an information processing system (300) through a network (200), it is not limited thereto, and may be configured so that a different number of user terminals communicate with an information processing system (300) through a network (200).
[0059] FIG. 2 is a block diagram showing the internal configuration of a server device according to one embodiment of the present disclosure.
[0060] Referring to FIG. 2, the server device (400) may include memory (410), a processor (420), a communication module (430), and an input / output interface (440). The server device (400) may correspond to the information processing system (300) of FIG. 1. The server device (400) may be configured to communicate information and / or data over a network using the communication module (430). The input / output interface (440) may be configured to transmit information and / or data provided by the server device (400) to a user (e.g., delivery person) terminal (e.g., assigning a delivery order to a delivery person) or to receive information and / or data (e.g., location data) generated from the user terminal.
[0061] The memory (410) can store various types of information. The memory (410) can store data temporarily or semi-permanently. For example, the memory (410) of the server device (400) may store data regarding an operating program (OS, Operating System) and / or applications for operating the server device (400). Additionally, the memory (410) may store various modules in the form of computer code. In one embodiment, the memory (410) may include any non-temporary computer-readable recording medium. Additionally, the memory (410) may include a non-permanent mass storage device such as ROM (read-only memory), a disk drive, an SSD (solid-state drive), or a flash memory. In another embodiment, a non-permanent mass storage device such as ROM, an SSD, a flash memory, or a disk drive may be included in the server device (400) as a separate permanent storage device distinct from the memory (410). These memories (410) can be provided as built-in or detachable types.
[0062] Various software components may be loaded from a computer-readable recording medium separate from memory (410). This separate computer-readable recording medium may include a recording medium that can be directly connected to the server device (400), for example, a computer-readable recording medium such as a floppy drive, disk, tape, DVD / CD-ROM drive, or memory card. As another example, software components may be loaded into memory (410) via a communication module (430) rather than a computer-readable recording medium. For example, at least one program may be loaded into memory (410) based on a computer program that is installed by files provided over a network by developers or a file distribution system that distributes installation files for the application.
[0063] The processor (420) can control the overall operation of the server device (400), and to this end, the processor (420) may be configured to process instructions of a computer program by performing basic arithmetic, logic, and input / output operations. For example, the processor (420) may control the operation of components of the server that assign delivery orders. Instructions of the computer program may be provided to the processor (420) by memory (410) or a communication module (430). For example, the processor (420) may be configured to execute instructions received according to program code stored in a recording device such as memory (410). In one embodiment, the processor (420) may execute a program or application for assigning delivery orders. For example, the processor (420) may classify multiple delivery orders and group them into multiple groups, and assign the grouped delivery orders to delivery personnel.
[0064] The processor (420) may be implemented as a computer or a similar device according to hardware, software, or a combination thereof. In terms of hardware, the processor (240) may be implemented in the form of an electronic circuit that processes electrical signals to perform control functions, and in terms of software, it may be implemented in the form of a program that drives the hardware processor (420). Meanwhile, unless otherwise specifically mentioned in the following description, the operation of the server device (400) (or service server) that performs delivery order assignment may be interpreted as being performed under the control of the processor (420). That is, when modules implemented in the server device (400) that performs delivery order assignment according to one embodiment of the present disclosure are executed, it may be interpreted that the processor (420) controls the modules to perform various operations. For example, the processor (420) may be configured to manage, process, and / or store information and / or data received from a plurality of user terminals and / or a plurality of external systems.
[0065] The communication module (430) may provide a configuration or function for the user terminal and the server device (400) to communicate with each other via a network, and may provide a configuration or function for the user terminal and / or the server device (400) to communicate with another user terminal or another system (e.g., a separate cloud system). Here, communication, i.e., the transmission and reception of data, may be performed via wired or wireless means. To this end, the communication module (430) may include a wired communication module that connects to the internet, etc., via a LAN (Local Area Network), a mobile communication module that connects to a mobile communication network via a mobile communication base station to transmit and receive data, a short-range communication module that uses a communication method of the WLAN (Wireless Local Area Network) family such as Wi-Fi or a communication method of the WPAN (Wireless Personal Area Network) family such as Bluetooth or Zigbee, a satellite communication module that uses a GNSS (Global Navigation Satellite System) such as GPS (Global Positioning System), or a combination thereof. In one embodiment, a request or data (e.g., delivery person location data) generated by a processor of a user terminal according to program code stored in a recording device such as memory can be transmitted to a server device (400) via a network. Conversely, information and / or data processed by the processor (420) can be provided to the user terminal through a communication module (430). For example, a control signal or command (e.g., delivery orders assigned to a plurality of groups) provided under the control of the processor (420) of the server device (400) can be transmitted to a user (e.g., delivery person) terminal via the communication module (430).
[0066] The input / output interface (440) may be various interfaces or connection ports that receive user input from a user terminal or output information to a user terminal. The input / output interface (440) may include an input module and / or an output module, wherein the input module may receive user input from the user terminal. In one embodiment, the input module may include devices such as a camera including an audio sensor and / or an image sensor, a keyboard, a microphone, or a mouse. User input may be provided in various forms, including key input, touch input, and voice input. The output module may output various types of information. The output module may include at least one of a display that outputs images, a speaker that outputs sound, a haptic device that generates vibrations, and various other forms of output means. In one embodiment, the output module may include devices such as a display, a speaker, or a haptic feedback device. In another embodiment, the input / output interface (440) may be a means for interfacing with a device in which the configuration or function for performing input and output is integrated into one, such as a touchscreen. In FIG. 2, the input / output interface (440) is shown as an element configured separately from the processor (420), but is not limited thereto, and the input / output interface (440) may be configured to be included in the processor (420).
[0067] Various embodiments of the present disclosure may be implemented through various means. For example, various embodiments may be implemented by hardware, firmware, software, or a combination thereof. In the case of implementation by hardware, the method according to various embodiments may be implemented by one or more ASICs (application specific integrated circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (programmable logic devices), FPGAs (field programmable gate arrays), processors, controllers, microcontrollers, microprocessors, etc. In the case of implementation by firmware or software, the delivery order assignment method according to various embodiments may be implemented in the form of a module, procedure, or function that performs the functions or operations described below.
[0068] FIG. 3 is a flowchart illustrating an example of a delivery order assignment method according to one embodiment of the present disclosure.
[0069] Referring to FIG. 3, the server device can group received delivery orders according to certain criteria and then assign the grouped delivery orders to delivery personnel. The server device described below may correspond to the information processing system (300) of FIG. 1 and / or the server device (400) of FIG. 2.
[0070] In step S110, the server device may receive multiple delivery orders. Each delivery order may include a pickup location and a drop location for the item that is the subject of the order. For example, a customer may request delivery of an item (i.e., a delivery order), and this request may include the location of the item (i.e., a pickup location) (e.g., a store location) and the location where the customer will receive the item (i.e., a drop location). The server device may receive a delivery order from the customer, and if the server device assigns the delivery order to a delivery person, the delivery person may collect the item from the pickup location and deliver it to the drop location.
[0071] In step S120, the server device (or the processor of the server device) may classify some of the received delivery orders into a first group. As described above, each of the delivery orders may include a pickup location and a drop location; thus, in other words, the server device that has received the delivery orders may secure multiple pickup locations and multiple drop locations. The server device may calculate the distance between each of the multiple pickup locations and the distance between each of the multiple drop locations.
[0072] In one embodiment, the server device may classify delivery orders into a first group in which the distance between each of the pickup locations and the distance between each of the drop locations are both less than or equal to a first reference distance. For example, the first delivery order may include a first pickup location and a first drop location, and the second delivery order may include a second pickup location and a second drop location. Similarly, the nth delivery order may include the nth pickup location and the nth drop location (where n is a natural number greater than or equal to 2). The server device may calculate the distance between the first pickup location and the second pickup location and the distance between the first drop location and the second drop location, and if both distances are less than or equal to a first reference distance (e.g., a distance pre-set by a user), the server device may classify the first delivery order and the second delivery order into a single group. Embodiments of the present disclosure may be implemented in various ways, not limited thereto. For example, the server device may receive a first delivery order, a second delivery order, and a third delivery order, and if the distance between each of the pickup locations of the first to third delivery orders and the distance between each of the drop locations are all less than or equal to a first reference distance, the server device may classify the first to third delivery orders into a single group. That is, if the distance between each of the pickup locations and the distance between each of the drop locations are all less than or equal to the first reference distance, the server device may classify any multiple delivery orders into a single group, and the number of delivery orders included in a single group may be implemented in various ways.
[0073] In one embodiment, the server device may classify delivery orders in which the distance between each of the pickup locations and the distance between each of the drop locations are both less than or equal to a first reference distance into a plurality of first groups. For example, the server device may receive first to fourth delivery orders, and the distance between each of the pickup locations and the distance between each of the drop locations of the first to fourth delivery orders may both be less than or equal to the first reference distance. In this case, the server device may classify the first to fourth delivery orders into a single group, but the server device may also classify the first and second delivery orders into a first group and the third and fourth delivery orders into a second group.
[0074] Alternatively, for example, the server device may receive the first through sixth delivery orders. The distance between each of the pickup locations of the first through third delivery orders and the distance between each of the drop locations may all be less than or equal to the first reference distance, and the distance between each of the pickup locations of the fourth through sixth delivery orders and the distance between each of the drop locations may all be less than or equal to the first reference distance. However, the distance between the pickup location of the third delivery order and the pickup location of the fourth delivery order, and / or the distance between the drop location of the third delivery order and the drop location of the fourth delivery order may exceed the first reference distance. In this case, the server device may classify the first through third delivery orders into a first group, and the fourth and sixth delivery orders into a second group.
[0075] That is, the grouping of delivery orders of a server device according to one embodiment of the present disclosure is not limited to this embodiment and can be implemented in various ways. When a server device according to one embodiment of the present disclosure groups a plurality of delivery orders, if the condition regarding the first reference distance as described above is satisfied, the number of groups included in the first group and the number of delivery orders included in one group can be implemented in various ways.
[0076] In step S130, the server device may assign each of the first groups to the delivery personnel. In one embodiment, when assigning any one group included in the first group, multiple delivery personnel may compete, and the server device may select and assign the optimal delivery personnel among the multiple delivery personnel. For example, the server device may select the optimal delivery personnel based on the estimated delivery time of each delivery personnel for the delivery orders included in the group to be assigned.
[0077] For example, as described in the example above, the server device may classify the first to third delivery orders among the received first to sixth delivery orders into the first group and the fourth to sixth delivery orders into the second group. The server device may assign the first group to the first delivery person and the second group to the second delivery person, respectively. Meanwhile, when assigning the first group, the first delivery person and the third delivery person may compete. The server device may determine that the third delivery person's estimated delivery time exceeds the customer's Estimated Time of Arrival (ETA). In this case, the server device may select the first delivery person as the optimal delivery person and assign the first group to the first delivery person.
[0078] In step S140, the server device may classify some of the first remaining delivery orders, excluding those already assigned, into a second group. More specifically, the server device may exclude the delivery orders included in the first group classified in step S120 from the plurality of delivery orders received in step S110. That is, deduplication logic may be applied to prevent duplicate assignment of delivery orders. The server device may classify some of the first remaining delivery orders, excluding those included in the first group from the initial plurality of delivery orders, into a second group.
[0079] In one embodiment, as described above, the server device can calculate the distance between each of the plurality of pickup locations included in the first remaining delivery order and the distance between each of the plurality of drop locations. The server device can group delivery orders in which at least one of the distance between each of the pickup locations and the distance between each of the drop locations is greater than a first reference distance and is less than or equal to a second reference distance greater than the first reference distance, and classify them into a second group.
[0080] For example, the distance between the first pickup location and the second pickup location and the distance between the first drop location and the second drop location can be calculated, and if both distances are greater than the first reference distance but less than or equal to the second reference distance, the server device can classify the first delivery order and the second delivery order into one group. Alternatively, for example, even if the distance between the first pickup location and the second pickup location is less than or equal to the first reference distance, if the distance between the first drop location and the second drop location exceeds the first reference distance, the first delivery order and the second delivery order may not be classified into the first group. Therefore, since the first delivery order and the second delivery order are not removed by the duplicate removal logic, they may be included in the first remaining delivery order, and since the distance between the first pickup location and the second pickup location is less than or equal to the second reference distance, the server device can classify the first delivery order and the second delivery order into one group (included in the second group).
[0081] Likewise, the grouping of the first remaining delivery orders of the server device according to one embodiment of the present disclosure is not limited to this embodiment and can be implemented in various ways. When the server device according to one embodiment of the present disclosure groups the first remaining delivery orders, if the condition regarding the second reference distance as described above is satisfied, the number of groups included in the second group and the number of delivery orders included in one group can be implemented in various ways.
[0082] In step S150, the server device may assign each of the second groups to the delivery personnel. In one embodiment, when assigning any one of the groups included in the second group as described above in step S130, multiple delivery personnel may compete, and the server device may select and assign the optimal delivery personnel among the multiple delivery personnel.
[0083] In step S160, the server device may assign a second set of remaining delivery orders to delivery personnel, excluding delivery orders that have already been assigned. More specifically, the server device may exclude all delivery orders included in the first group classified in step S120 and the second group classified in step S140 from the plurality of delivery orders received in step S110. That is, deduplication logic may be applied to prevent duplicate assignment of delivery orders. The server device may assign the second set of remaining delivery orders to delivery personnel, excluding the delivery orders included in the first and second groups from the initial plurality of deliveries.
[0084] In one embodiment, the server device may assign each of the second remaining delivery orders to a single delivery person. That is, the second remaining delivery orders that are not classified into either the first group or the second group may mean that they are geographically located relatively far from other delivery orders. Therefore, the second remaining delivery orders may be delivery orders unsuitable for bundle delivery. Accordingly, the server device may process the second remaining delivery orders as a single delivery order (i.e., single assignment) without grouping them with other delivery orders. For example, to efficiently process the second remaining delivery orders that are geographically located relatively far away, the server device may assign the second remaining delivery orders to a delivery person who is already in the middle of a delivery. Or, for example, the server device may assign the second remaining delivery orders to an idle delivery person.
[0085] The classification architecture through grouping according to the present disclosure is not limited to this embodiment and can be implemented in various ways. For example, the delivery order assignment method according to one embodiment of the present disclosure may perform grouping again on the second remaining delivery orders. The server device may classify the second remaining delivery orders into a third group after excluding all delivery orders included in the first group classified in step S120 and the second group classified in step S140 from the plurality of delivery orders received in step S110. In one embodiment, the server device may classify the second remaining delivery orders into a third group based on a third reference distance greater than a second reference distance. That is, the delivery order assignment method according to one embodiment of the present disclosure may be implemented not only as a dual-layer structure based on the first group and the second group, but also as a multi-layer structure with more than that, and as described above, the classification criteria of each layer may also be implemented in various ways.
[0086] The flowcharts and descriptions illustrated in FIG. 3 and the drawings below are merely examples and may be implemented differently in other embodiments. For example, the order of some steps may be changed, some steps may be omitted, or other components may be added, and some steps described as being performed sequentially may be performed simultaneously.
[0087] A delivery order assignment method according to one embodiment of the present disclosure can efficiently perform the assignment of delivery orders by configuring multiple layers based on reference distances and setting priorities between layers, based on the geographical location of each delivery order. A delivery order assignment method according to one embodiment of the present disclosure can reduce costs such as transportation costs and delivery fees incurred during the delivery process by further subdividing classification criteria through such a multiple-layer structure.
[0088] In addition, the delivery order assignment method according to one embodiment of the present disclosure can also reduce labor costs by assigning delivery orders to the optimal delivery person based on multiple layers subdivided according to reference distances.
[0089] In addition, a delivery order assignment method according to one embodiment of the present disclosure can prevent system / computation errors caused by duplicate assignment of delivery orders and reduce the complexity of a multi-layer structure by applying a deduplication logic that excludes delivery orders assigned in an upper layer.
[0090] FIG. 4 is a flowchart illustrating an example of a delivery order classification according to one embodiment of the present disclosure. FIG. 5 and FIG. 6 are drawings for explaining an example of a delivery order classification according to one embodiment of the present disclosure.
[0091] Referring to FIG. 4, the server device can classify multiple delivery orders in stages by setting different subgroups according to the number of delivery orders being grouped.
[0092] In step S121, when the server device classifies a plurality of received delivery orders into a first group, it may subdivide and classify them into a first subgroup (SG1) in which the number of delivery orders included in each group is set to a first value (i.e., the first subgroup (SG1) is a group included in the first group).
[0093] For example, the first value, which is the number of delivery orders included in each of the first subgroups (SG1), can be set to 3. As illustrated in FIG. 5, the server device can receive the first delivery order through the eighth delivery order. The server device can secure the first pickup location (P1) through the eighth pickup location (P8) and the first drop location (D1) through the eighth drop location (D8), and can calculate the distance between each of the pickup locations and the distance between each of the drop locations as described above. As a result of the calculation, the distance (s1) between the first pickup location (P1) and the second pickup location (P2), the distance (s2) between the second pickup location (P2) and the third pickup location (P3), and the distance (s3) between the first pickup location (P1) and the third pickup location (P3) can all be less than or equal to the first reference distance. Likewise, the distance (s4) between the first drop location (D1) and the second drop location (D2), the distance (s5) between the second drop location (D2) and the third drop location (D3), and the distance (s6) between the first drop location (D1) and the third drop location (D3) may all be less than or equal to the first reference distance. Therefore, since the condition for the first reference distance is satisfied, the server device can classify the first delivery order, the second delivery order, and the third delivery order by grouping them into a first sub-group (SG1).
[0094] Meanwhile, the distance between the fourth pickup location (P4) and the fourth drop location (D4) of the fourth delivery order and the first to third pickup locations (P1, P2, P3) and the first to third drop locations (D1, D2, D3), respectively, exceeds the first reference distance, so the fourth delivery order may not be classified into the first sub-group (SG1). Alternatively, in one embodiment, even if the distance between the fourth pickup location (P4) and the fourth drop location (D4), respectively, and the first to third pickup locations (P1, P2, P3) and the first to third drop locations (D1, D2, D3) is less than or equal to the first reference distance, the server device may classify the first delivery order, the second delivery order, and the third delivery order into the first sub-group (SG1) because the total distance between each location is smaller when the first to third delivery orders are classified into one group than when the fourth delivery order and other delivery orders are classified into one group.
[0095] Subsequently, delivery orders 4 through 8 may no longer be classified as 1st subgroup (SG1) because the distance between each of the pickup locations and the distance between each of the drop locations exceed the 1st reference distance.
[0096] In step S122, the server device may exclude the first to third delivery orders included in the first subgroup (SG1) from the initial delivery order to prevent duplicate allocation.
[0097] In step S123, the server device may subdivide and classify the residual delivery orders, excluding the first to third delivery orders included in the first subgroup (SG1), into a second subgroup (SG2) in which the number of delivery orders included in each group is set to a second value (i.e., the second subgroup (SG2) is a group included in the first group). At this time, the second value may be smaller than the first value.
[0098] For example, the second value, which is the number of delivery orders included in each of the second subgroups (SG2), can be set to 2. As illustrated in FIG. 6, the server device can perform grouping on the residual delivery orders remaining after excluding the first to third delivery orders from a plurality of delivery orders. As a result of the operation, the distance (s7) between the fourth pickup location (P4) and the fifth pickup location (P5), and the distance (s8) between the fourth drop location (D4) and the fifth drop location (D5) may both be less than or equal to the first reference distance. Therefore, since the condition for the first reference distance is satisfied, the server device can classify the fourth delivery order and the fifth delivery order by grouping them into the second subgroup (SG2).
[0099] Subsequently, delivery orders 6 through 8 may no longer be classified as 2nd subgroup (SG2) because the distance between each of the pickup locations and the distance between each of the drop locations exceed the 1st reference distance.
[0100] The delivery order assignment method according to one embodiment of the present disclosure may be implemented in various ways, not limited to this embodiment. The number of stores set corresponding to each subgroup may be implemented in various ways. In addition, the types of subgroups set stepwise by the server device may also be implemented in various ways. For example, the server device may classify the remaining delivery orders from a plurality of delivery orders, excluding the delivery orders included in the first subgroup (SG1) and the second subgroup (SG2), by further subdividing them into separate subgroups in which the number of delivery orders included in each subgroup is set to a third value smaller than the second value.
[0101] A delivery order assignment method according to one embodiment of the present disclosure can classify and assign delivery orders more efficiently by setting the number of delivery orders included in each group in stages according to priority, even within a layer that groups based on a first reference distance, and thus can reduce costs such as transportation costs and delivery fees incurred during the delivery process.
[0102] FIG. 7 is a flowchart illustrating an example of a delivery order classification according to one embodiment of the present disclosure. FIG. 8 and FIG. 9 are drawings for explaining an example of a delivery order classification according to one embodiment of the present disclosure.
[0103] Referring to FIG. 7, the server device can classify the first remaining delivery orders in stages by setting different subgroups according to the number of delivery orders being grouped. The first remaining delivery orders may be delivery orders excluding the delivery orders included in the first group (e.g., the first subgroup and the second subgroup) from the plurality of delivery orders received as described above.
[0104] In step S141, when the server device classifies the first remaining delivery orders into a second group, it may subdivide them into a third subgroup (SG3) in which the number of delivery orders included in each group is set to a first value (i.e., the third subgroup (SG3) is a group included in the second group).
[0105] For example, the first value, which is the number of delivery orders included in each of the third subgroups (SG3), can be set to 3. As illustrated in FIG. 8, the server device can receive the first delivery order through the sixth delivery order. The server device can secure the first pickup location (P1) through the sixth pickup location (P6) and the first drop location (D1) through the sixth drop location (D6), and can calculate the distance between each of the pickup locations and the distance between each of the drop locations. In one embodiment, as described above, the second reference distance may have a value greater than the first reference distance. As a result of calculation, the distance (s1) between the first pickup location (P1) and the second pickup location (P2), the distance (s2) between the second pickup location (P2) and the third pickup location (P3), and the distance (s3) between the first pickup location (P1) and the third pickup location (P3) may be less than or equal to the second reference distance. Likewise, the distance (s4) between the first drop location (D1) and the second drop location (D2), the distance (s5) between the second drop location (D2) and the third drop location (D3), and the distance (s6) between the first drop location (D1) and the third drop location (D3) may also be less than or equal to the second reference distance. Therefore, since the condition for the second reference distance is satisfied, the server device can classify the first delivery order, the second delivery order, and the third delivery order by grouping them into a third sub-group (SG3).
[0106] Meanwhile, the distance between the fourth pickup location (P4) and the fourth drop location (D4) of the fourth delivery order and the first to third pickup locations (P1, P2, P3) and the first to third drop locations (D1, D2, D3), respectively, exceeds the second reference distance, so the fourth delivery order may not be classified into the third sub-group (SG3). Alternatively, in one embodiment, even if the distance between the fourth pickup location (P4) and the fourth drop location (D4), respectively, and the first to third pickup locations (P1, P2, P3) and the first to third drop locations (D1, D2, D3) is less than or equal to the second reference distance, the server device may classify the first delivery order, the second delivery order, and the third delivery order into the third sub-group (SG3) because the total distance between each location is smaller when the first to third delivery orders are classified into one group than when the fourth delivery order and other delivery orders are classified into one group.
[0107] Subsequently, the 4th to 6th delivery orders may no longer be classified as the 3rd subgroup (SG3) because the distance between each of the pickup locations and the distance between each of the drop locations exceed the 2nd standard distance.
[0108] In step S142, the server device may exclude the first to third delivery orders included in the third subgroup (SG3) from the first remaining delivery order to prevent duplicate allocation.
[0109] In step S143, the server device may subdivide and classify the residual delivery orders, excluding the first to third delivery orders included in the third subgroup (SG3), into a fourth subgroup (SG4) in which the number of delivery orders included in each group is set to a second value (i.e., the fourth subgroup (SG4) is a group included in the second group). At this time, the second value may be smaller than the first value.
[0110] For example, the second value, which is the number of delivery orders included in each of the fourth subgroups (SG4), can be set to 2. As illustrated in FIG. 9, the server device can perform grouping on the residual delivery orders remaining after excluding the first to third delivery orders from the first residual delivery orders. As a result of the operation, the distance (s7) between the fourth pickup location (P4) and the fifth pickup location (P5), and the distance (s8) between the fourth drop location (D4) and the fifth drop location (D5) may be less than or equal to the second reference distance. Therefore, since the condition for the second reference distance is satisfied, the server device can classify the fourth delivery orders and the fifth delivery orders by grouping them into the fourth subgroup (SG4).
[0111] The delivery order assignment method according to one embodiment of the present disclosure may be implemented in various ways, not limited to this embodiment. Likewise, the number of stores set corresponding to each subgroup may be implemented in various ways. In addition, the types of subgroups set stepwise by the server device may also be implemented in various ways. For example, the server device may classify the remaining delivery orders, excluding the delivery orders included in the third subgroup (SG3) and the fourth subgroup (SG4) from the first remaining delivery orders, by further subdividing them into separate subgroups in which the number of delivery orders included in each subgroup is set to a third value smaller than the second value.
[0112] A delivery order assignment method according to one embodiment of the present disclosure can classify and assign delivery orders more efficiently by setting the number of delivery orders included in each group in stages according to priority, even within a layer that groups based on a second reference distance, and thus can further reduce costs such as transportation costs and delivery fees incurred during the delivery process.
[0113] FIG. 10 is a flowchart illustrating an example of a delivery order assignment according to one embodiment of the present disclosure. FIG. 11 is a drawing for explaining an example of a delivery order assignment according to one embodiment of the present disclosure.
[0114] Referring to FIG. 10, the server device can perform a single assignment for delivery orders that are not classified by grouping, i.e., second residual delivery orders. The second residual delivery orders may be delivery orders excluding delivery orders included in the second group (e.g., third sub-group and fourth sub-group) from the first residual delivery orders as described above. That is, in the initial plurality of delivery orders, it may be delivery orders excluding all delivery orders included in the first group and the second group.
[0115] In step S161, the server device may assign the second remaining delivery order to the delivery person currently carrying out the delivery.
[0116] As illustrated in FIG. 11, after the second group is excluded from the first remaining delivery order, the first to third delivery orders may remain. The server device may assign the first delivery order to any one of the first delivery worker (C1), the second delivery worker (C2), and the third delivery worker (C3) who are currently performing deliveries. For example, the server device may assign the first delivery order, which is the second remaining delivery order, to the first delivery worker (C1) who is currently performing deliveries.
[0117] Meanwhile, when the server device assigns a second remaining delivery order, multiple delivery personnel may compete. As described above, the second remaining delivery order may be located relatively far from other delivery orders in terms of geographical location, and it may not be easy to meet the customer's Estimated Time of Arrival (ETA). Therefore, to ensure the fastest possible delivery, in one embodiment, the server device may assign the second remaining delivery order to the delivery personnel located closest to the pickup location of the second remaining delivery order among the multiple delivery personnel currently making deliveries.
[0118] For example, when assigning a second delivery order, which is a second remaining delivery order, the server device can calculate the distance between the second pickup location (P2) of the second delivery order and each of the multiple delivery personnel (C2, C3) currently carrying out deliveries. As a result of the calculation, the distance (d1) between the second pickup location (P2) and the second delivery personnel (C2) may be smaller than the distance (d2) between the second pickup location (P2) and the third delivery personnel (C3). Therefore, the server device can assign the second delivery order to the second delivery personnel (C2).
[0119] However, the method by which the server device assigns the second remaining delivery order to the delivery person currently in progress is not limited to this embodiment and can be implemented in various ways. For example, even if the distance (d1) between the second pickup location (P2) and the second delivery person (C2) is smaller than the distance (d2) between the second pickup location (P2) and the third delivery person (C3), the server device may assign the second delivery order to the third delivery person (C3) by considering various situations and / or conditions. For example, even if the distance (d1) between the second pickup location (P2) and the second delivery person (C2) is smaller than the distance (d2) between the second pickup location (P2) and the third delivery person (C3), both the second delivery person (C2) and the third delivery person (C3) may be in a state where they can comply with the customer's estimated time of arrival (ETA). In this case, the server device may consider various conditions, such as the rejection history of delivery order assignments for each of the second delivery person (C2) and the third delivery person (C3), the history of violating the expected arrival time, customer evaluations, and / or the impact on the delivery person's existing delivery orders resulting from the assignment of the second delivery order, and as a result, the third delivery person (C3) may be selected as the delivery person for the second delivery order. As such, the delivery order assignment method according to one embodiment of the present disclosure may comprehensively consider various conditions and / or situations when selecting a delivery person to assign a delivery order, and may also utilize various selection algorithms and / or delivery person selection techniques not disclosed in this specification.
[0120] In step S162, the server device may exclude delivery orders assigned to delivery personnel currently carrying out deliveries from the second remaining delivery orders.
[0121] In step S163, the server device may assign the residual second delivery order remaining after excluding the delivery order in step S162 to an idle delivery person who is not currently making a delivery.
[0122] For example, as illustrated in FIG. 11, there may not be a delivery person currently carrying out a delivery at a geographical location close to the third pickup location (P3) of the third delivery order, which is the remaining second remaining delivery order, and thus the server device may assign the third delivery order to a new, separate delivery person. The server device may assign the third delivery order to an idle delivery person (IC) who is not currently carrying out a delivery.
[0123] However, the method by which the server device assigns the second remaining delivery order to an idle delivery worker is not limited to this embodiment and can be implemented in various ways. In one embodiment, the server device may perform the assignment operations of steps S161 and S163 simultaneously without performing step S162. In other words, the server device may assign the delivery order by considering both the delivery worker currently delivering and the idle delivery worker simultaneously (i.e., without priority), without first assigning the delivery order to the delivery worker currently delivering.
[0124] For example, even if a third delivery worker (C3) currently performing a delivery is located in a location close to the third pickup location (P3), the server device may assign the third delivery order to an idle delivery worker (IC) by considering various situations and / or conditions. For example, even if the third delivery order is assigned to the third delivery worker (C3), the estimated delivery time may exceed the customer's estimated time of arrival (ETA). Alternatively, the third delivery worker (C3) may have to wait for a long time at the third pickup location (P3) for the third delivery order. In such cases, even if a third delivery worker (C3) currently performing a delivery is located in a location close to the third pickup location (P3), the server device may assign the third delivery order to an idle delivery worker (IC) instead of the third delivery worker (C3) for accurate and efficient delivery. Thus, the delivery order assignment method according to one embodiment of the present disclosure may select the delivery worker to whom the delivery order is to be assigned by comprehensively considering various conditions and / or situations, without prioritizing between the delivery worker performing the delivery and the idle delivery worker.
[0125] A delivery order assignment method according to one embodiment of the present disclosure can prevent a decrease in delivery efficiency that may occur due to grouping (or bundling) with other delivery orders and can precisely execute delivery orders from various locations by sequentially or in parallel assigning delivery orders that are not close to other delivery orders located in different geographical locations to delivery personnel currently in progress and idle delivery personnel, taking into account various conditions and situations.
[0126] FIG. 12 is a flowchart illustrating an example of selecting a delivery person according to one embodiment of the present disclosure. FIG. 13 is a drawing for explaining an example of selecting a delivery person according to one embodiment of the present disclosure.
[0127] Referring to FIG. 12, the server device can select candidate delivery person(s) to deliver to each of the grouped groups (e.g., a first group and a second group), and further select the optimal delivery person among the candidate delivery people to assign the grouped delivery orders.
[0128] For example, as illustrated in FIG. 13, the server device may assign a delivery group (DG) grouped according to one embodiment of the present disclosure to any one of a plurality of delivery personnel (C1, C2, C3) at step S120 or step S140. For example, the delivery group (DG) may be either a first group or a second group, or may be any one of a first sub-group, a second sub-group, a third sub-group, and a fourth sub-group. Hereinafter, for convenience of explanation, it is assumed that the delivery group (DG) includes the first delivery order to the third delivery order.
[0129] In steps S131 and S151, the server device can calculate the total distance each delivery person must travel based on the distance between each of the first pickup location (P1), the second pickup location (P2), and the third pickup location (P3) included in the delivery group (DG), and the distance between each of the first drop location (D1), the second drop location (D2), and the third drop location (D3). At this time, the server device may use the distance data between each location calculated in step S120, etc., to group the first delivery order to the third delivery order.
[0130] In steps S132 and S152, the server device can calculate the estimated delivery time for each of the first to third delivery orders included in the delivery group (DG) based on the calculated total distance.
[0131] In steps S133 and S153, the server device can compare the estimated delivery time with the estimated arrival times (ETA) of each of the first to third delivery orders included in the delivery group (DG), and based on the comparison result, can select a delivery person whose estimated delivery time does not exceed the estimated arrival time. That is, the server device can select candidate delivery person(s) capable of complying with the estimated arrival times of each of the first to third delivery orders. In one embodiment, as a result of steps S133 and S153, only one delivery person may be selected as a candidate delivery person. At this time, the server device can select the one delivery person as the optimal delivery person without any separate additional computation or process, and can assign the delivery group (DG) to the one delivery person.
[0132] In another embodiment, as a result of steps S133 and S153, a plurality of delivery personnel (C1, C2, C3) may be selected as candidate delivery personnel. At this time, in steps S134 and S154, the server device may calculate the suitability of each of the candidate delivery personnel based on the total distance and the estimated delivery time. Subsequently, in steps S135 and S155, the server device may select the optimal delivery personnel among the candidate delivery personnel based on the suitability.
[0133] For example, as a result of calculating the total distance for each of the multiple delivery personnel (C1, C2, C3), the second delivery personnel (C2) may be located at the farthest distance from the first pickup location (P1) to the third pickup location (P3). Therefore, among the multiple delivery personnel (C1, C2, C3), the second delivery personnel (C2) may be most likely to fail to meet the estimated arrival time for one or more of the first to third delivery orders. For example, if the estimated delivery time is delayed due to traffic conditions and / or store conditions, the second delivery personnel (C2) may be most likely to fail to meet the estimated arrival time. In this case, the suitability of the second delivery personnel (C2) may be the lowest among the multiple delivery personnel (C1, C2, C3). Conversely, the first delivery personnel (C1) may be located at the closest distance from the first pickup location (P1) to the third pickup location (P3), and therefore may have the fastest estimated delivery time. As a result, the suitability of the first delivery person (C1) may be the highest among multiple delivery people (C1, C2, C3). In this case, the server device can select the first delivery person (C1) as the optimal delivery person.
[0134] Meanwhile, for example, since the first delivery person (C1) is located closest to the first pickup location (P1) to the third pickup location (P3), he / she can arrive at the pickup location relatively early before the item is ready at the pickup location. Therefore, the first delivery person (C1) may have to wait for a long time at the pickup location to collect the item to be delivered. In this case, since the delivery efficiency of the first delivery person (C1) may be excessively reduced, the server device may calculate the suitability of the first delivery person (C1) as relatively low. Consequently, even though the first delivery person (C1) is located closest to the first pickup location (P1) to the third pickup location (P3), the server device may select the second delivery person (C2) as the optimal delivery person.
[0135] However, the method by which the server device selects the optimal delivery person is not limited to this embodiment and can be implemented in various ways. That is, when the server device selects the optimal delivery person among a plurality of delivery persons (C1, C2, C3), various situations and / or conditions may be considered. For example, the server device may select the optimal delivery person by considering the rejection history of delivery order assignments for each of the plurality of delivery persons (C1, C2, C3), the history of violating the estimated arrival time, and / or customer evaluations. In addition, the server device may calculate the suitability by assigning different weights to each of the various situations and / or conditions. For example, the server device may assign weights proportional to the speed of the estimated delivery time, or may assign relatively high weights to customer evaluations. Furthermore, when selecting the optimal delivery person, the server device may utilize various selection algorithms and / or delivery person selection techniques not disclosed in this specification.
[0136] A delivery order assignment method according to one embodiment of the present disclosure can assign delivery orders by selecting an optimal delivery person based on the geographical locations of a plurality of delivery people. In addition, a delivery order assignment method according to one embodiment of the present disclosure can calculate suitability by considering not only geographical locations but also various situations and / or conditions, and thus can select a delivery person with optimal delivery conditions.
[0137] FIG. 14 is a drawing for illustrating an example of a delivery order assignment according to one embodiment of the present disclosure.
[0138] Referring to FIG. 14, the server device may pre-classify delivery orders subject to priority processing (e.g., long tail orders) from a plurality of received delivery orders and assign them to delivery personnel, and subsequently exclude said delivery orders subject to priority processing from the plurality of delivery orders. Delivery orders subject to priority processing may refer to delivery orders that are difficult to group (i.e., bundle) with other delivery orders. For example, delivery orders subject to priority processing may represent orders for which assignment and delivery have been delayed. Alternatively, delivery orders subject to priority processing may represent delivery orders that are not suitable for grouping with other delivery orders because they have already exceeded their estimated arrival time. Alternatively, for example, delivery orders subject to priority processing may represent delivery orders located at a geographical distance from other delivery orders, or may refer to orders for which it is difficult to optimize the delivery route for other delivery orders.
[0139] In step S111, the server device may classify some of the received (or pending) multiple delivery orders as priority delivery orders. As a non-limiting example, the multiple delivery orders may include one or more first orders that have already exceeded their estimated arrival time. In this case, the server device may prioritize processing the first orders quickly as priority delivery orders rather than grouping the first orders together with other delivery orders to increase delivery efficiency. That is, the server device may set the first orders to the highest priority as priority delivery orders. In this way, the server device may classify orders that have exceeded their estimated arrival time or orders located at a geographically distant location, etc., as priority delivery orders.
[0140] In step S112, the server device may assign priority delivery orders to a single delivery person in order to process priority delivery orders as quickly as possible. The server device may select a delivery person by performing the processes described above with reference to FIG. 12, etc. In one embodiment, since it may be most important for priority delivery orders to be processed as soon as possible, the server device may determine the distance between the pickup location of the priority delivery order and the delivery person as the most important factor and assign the highest weight to it when selecting a single delivery person to perform priority delivery orders.
[0141] In step S113, the server device can exclude priority delivery orders that have been assigned to a single delivery person from the initial multiple delivery orders. That is, the server device can first assign delivery orders that require priority for fast processing, and then perform subsequent processes.
[0142] A delivery order assignment method according to one embodiment of the present disclosure can improve the efficiency of the entire delivery process and provide higher customer satisfaction by classifying delivery orders that are difficult to group (i.e., bundle) with other delivery orders or for which there is a reason for quick assignment as priority delivery orders and processing them preferentially.
[0143] The method described above may be provided as a computer program stored on a computer-readable recording medium for execution on a computer. The medium may continuously store a program executable by a computer, or temporarily store it for execution or download. Additionally, the medium may be various recording or storage means in the form of a single or multiple hardware components combined, and may not be limited to a medium directly connected to a computer system but may exist distributed over a network. Examples of media may include magnetic media such as hard disks, floppy disks, and magnetic tapes; optical recording media such as CD-ROMs and DVDs; magneto-optical media such as floptical disks; and media configured to store program instructions, including ROM, RAM, and flash memory. Furthermore, other examples of media may include recording or storage media managed by app stores that distribute applications or sites and servers that supply or distribute various other software.
[0144] The methods, operations, or techniques of the present disclosure may be implemented by various means. For example, these techniques may be implemented in hardware, firmware, software, or a combination thereof. Those skilled in the art will understand that the various exemplary logical blocks, modules, circuits, and algorithmic steps described in connection with the present disclosure may be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate such interchangeability between hardware and software, various exemplary components, blocks, modules, circuits, and steps have been generally described above in terms of their functional aspects. Whether such functions are implemented in hardware or in software depends on the design requirements imposed on the specific application and the overall system. Those skilled in the art may implement the described functions in various ways for each specific application, but such implementations should not be construed as departing from the scope of the present disclosure.
[0145] In a hardware implementation, the processing units used to perform the techniques may be implemented in one or more ASICs, DSPs, digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, electronic devices, other electronic units designed to perform the functions described in this disclosure, computers, or a combination thereof.
[0146] Accordingly, the various exemplary logic blocks, modules, and circuits described in connection with the present disclosure may be implemented or performed by any combination of general-purpose processors, DSPs, ASICs, FPGAs or other programmable logic devices, discrete gate or transistor logic, discrete hardware components, or those designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but alternatively, the processor may be any conventional processor, controller, microcontroller, or state machine. The processor may also be implemented as a combination of computing devices, for example, a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors coupled with a DSP core, or any other combination of configurations.
[0147] In firmware and / or software implementations, techniques may be implemented as instructions stored on a computer-readable medium such as random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable PROM (EEPROM), flash memory, compact disc (CD), magnetic or optical data storage devices, etc. The instructions may be executable by one or more processors, and may cause the processor(s) to perform specific aspects of the functions described in this disclosure.
[0148] When implemented in software, the techniques described above may be stored on a computer-readable medium as one or more instructions or code, or transmitted through a computer-readable medium. Computer-readable media include both computer storage media and communication media, including any medium that facilitates the transmission of a computer program from one place to another. Storage media may be any available media accessible by a computer. As a non-limiting example, such computer-readable media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium accessible by a computer that can be used to transfer or store desired program code in the form of instructions or data structures. Additionally, any connection is appropriately referred to as a computer-readable medium.
[0149] For example, if software is transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair cable, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, coaxial cable, fiber optic cable, twisted pair cable, digital subscriber line, or wireless technologies such as infrared, radio, and microwave are included within the definition of a medium. As used herein, disks and discs include CDs, laser discs, optical discs, DVDs (digital versatile discs), floppy disks, and Blu-ray discs, wherein disks usually play data magnetically, whereas discs play data optically using a laser. The above combinations should also be included within the scope of computer-readable media.
[0150] The software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, or any other known form of storage medium. An exemplary storage medium may be connected to a processor so that the processor can read information from the storage medium or write information to the storage medium. Alternatively, the storage medium may be integrated into the processor. The processor and the storage medium may exist within an ASIC. The ASIC may exist within a user terminal. Alternatively, the processor and the storage medium may exist as separate components within the user terminal.
[0151] Although the embodiments described above have been described as utilizing aspects of the subject matter disclosed herein in one or more standalone computer systems, the present disclosure is not limited thereto and may be implemented in conjunction with any computing environment, such as a network or a distributed computing environment. Furthermore, aspects of the subject matter in the present disclosure may be implemented in a plurality of processing chips or devices, and storage may be similarly affected across a plurality of devices. Such devices may include PCs, network servers, and portable devices.
[0152] Although the present disclosure has been described in relation to some embodiments, various modifications and changes may be made without departing from the scope of the present disclosure as understood by a person skilled in the art to which the invention of the present disclosure pertains. Furthermore, such modifications and changes should be considered to fall within the scope of the claims appended to this specification. Explanation of the symbols
[0154] 110_1: Mobile phone terminal 110_2: Tablet terminal 110_3: PC Terminal 200: Network 300: Information Processing System
Claims
Claim 1 A delivery order assignment method performed by at least one processor, comprising: receiving a plurality of delivery orders, each delivery order including a pickup location and a drop location; classifying among the plurality of delivery orders into a first group delivery orders in which the distance between each pickup location and the distance between each drop location is less than or equal to a first reference distance; assigning each of the first group to delivery personnel; classifying among the plurality of delivery orders, excluding the delivery orders included in the first group, into a second group delivery orders in which at least one of the distance between each pickup location and the distance between each drop location is greater than the first reference distance and less than or equal to a second reference distance greater than the first reference distance; assigning each of the second group to delivery personnel; and assigning each of the second remaining delivery orders, excluding the delivery orders included in the second group from the first remaining delivery orders, to delivery personnel. Claim 2 A delivery order assignment method according to claim 1, wherein the first group includes a first subgroup, and the number of delivery orders included in each subgroup of the first subgroup is a first value, and the step of classifying the delivery orders into a first group includes the step of classifying the plurality of delivery orders into the first subgroup. Claim 3 A delivery order assignment method according to claim 2, wherein the first group further includes a second sub-group, and the second sub-group is a second value in which the number of delivery orders included in each sub-group is smaller than the first value, and the step of classifying the delivery orders into the first group includes the step of classifying the delivery orders excluding the delivery orders included in the first sub-group from the plurality of delivery orders into the second sub-group. Claim 4 A delivery order assignment method according to claim 1, wherein the second group includes a third sub-group, and the number of delivery orders included in each sub-group of the third sub-group is a first value, and the step of classifying the delivery orders into the second group includes the step of classifying the first remaining delivery orders into the third sub-group. Claim 5 A delivery order assignment method according to claim 4, wherein the second group further includes a fourth sub-group, and the number of delivery orders included in each sub-group of the fourth sub-group is a second value smaller than the first value, and the step of classifying the delivery orders into the second group includes the step of classifying the delivery orders, excluding the delivery orders included in the third sub-group from the first remaining delivery orders, into the fourth sub-group. Claim 6 A delivery order assignment method according to claim 1, wherein the step of assigning each of the second remaining delivery orders to a delivery person includes the step of assigning the second remaining delivery orders to first delivery people who are currently delivering. Claim 7 A delivery order assignment method according to claim 6, wherein the step of assigning to the first delivery personnel currently delivering includes the step of assigning the second remaining delivery order to one or more delivery personnel among the first delivery personnel who are located closest to the pickup location of the second remaining delivery order. Claim 8 A delivery order assignment method according to claim 6, wherein the step of assigning each of the second remaining delivery orders to a delivery person includes the step of assigning the delivery orders, excluding the delivery orders assigned to the first delivery people from the second remaining delivery orders, to an idle delivery person. Claim 9 A delivery order assignment method according to claim 1, wherein the step of assigning each of the first groups to delivery personnel comprises: a step of calculating a total distance based on the distance between each pickup location and the distance between each drop location of the delivery orders included in the first group among the first groups; a step of calculating the estimated delivery time for each of the delivery personnel for the delivery orders included in the first group based on the total distance; and a step of selecting candidate delivery personnel capable of complying with the estimated arrival time of the delivery orders included in the first group based on the estimated delivery time. Claim 10 A delivery order assignment method according to claim 9, wherein the step of assigning each of the first groups to delivery personnel comprises: a step of calculating the suitability of the candidate delivery personnel based on the total distance and the estimated delivery time; and a step of selecting the optimal delivery personnel among the candidate delivery personnel based on the suitability. Claim 11 A delivery order assignment method according to claim 1, wherein the step of assigning each of the second groups to delivery personnel comprises: a step of calculating a total distance based on the distance between each pickup location and the distance between each drop location included in the second group among the second groups; a step of calculating the estimated delivery time for each of the delivery personnel for the delivery orders included in the second group based on the total distance; and a step of selecting candidate delivery personnel capable of complying with the estimated arrival time of the delivery orders included in the second group based on the estimated delivery time. Claim 12 A delivery order assignment method according to claim 11, wherein the step of assigning each of the second groups to delivery personnel comprises: a step of calculating the suitability of the candidate delivery personnel based on the total distance and the estimated delivery time; and a step of selecting the optimal delivery personnel among the candidate delivery personnel based on the suitability. Claim 13 A delivery order assignment method according to claim 1, wherein the step of receiving a plurality of delivery orders comprises: a step of classifying some of the plurality of delivery orders as priority delivery orders; a step of assigning the priority delivery orders to a single delivery person; and a step of excluding the priority delivery orders from the plurality of delivery orders. Claim 14 A computer-readable, non-transient recording medium recording instructions for executing a delivery order assignment method according to any one of paragraphs 1 through 13 on a computer. Claim 15 A delivery order assignment system comprising: a memory; and at least one processor connected to the memory and configured to execute at least one computer-readable program included in the memory; receiving a plurality of delivery orders, each of which includes a pickup location and a drop location; classifying among the plurality of delivery orders, delivery orders in which the distance between each pickup location and the distance between each drop location are less than or equal to a first reference distance, and assigning each of the first groups to delivery personnel; classifying among the first remaining delivery orders, excluding the delivery orders included in the first group from the plurality of delivery orders, delivery orders in which at least one of the distance between each pickup location and the distance between each drop location is greater than the first reference distance and less than or equal to a second reference distance greater than the first reference distance, and assigning each of the second groups to delivery personnel; and assigning each of the second remaining delivery orders, excluding the delivery orders included in the second group from the first remaining delivery orders, to delivery personnel.
