EP3901860A1 - Delivery plan creation support program, delivery plan creation support method, and information processing apparatus - Google Patents

Delivery plan creation support program, delivery plan creation support method, and information processing apparatus Download PDF

Info

Publication number
EP3901860A1
EP3901860A1 EP21153713.9A EP21153713A EP3901860A1 EP 3901860 A1 EP3901860 A1 EP 3901860A1 EP 21153713 A EP21153713 A EP 21153713A EP 3901860 A1 EP3901860 A1 EP 3901860A1
Authority
EP
European Patent Office
Prior art keywords
delivery
goods
relay point
destinations
cost
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP21153713.9A
Other languages
German (de)
French (fr)
Inventor
Kenji Nomura
Hideshi Yamaguchi
Hidetoshi Matsuoka
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of EP3901860A1 publication Critical patent/EP3901860A1/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • G06Q10/0833Tracking
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • G06Q10/047Optimisation of routes or paths, e.g. travelling salesman problem
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • G06Q10/0832Special goods or special handling procedures, e.g. handling of hazardous or fragile goods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • G06Q10/0834Choice of carriers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • G06Q10/0836Recipient pick-ups
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems

Definitions

  • An embodiment discussed herein is related to a delivery plan creation support program, a delivery plan creation support method, and an information processing apparatus.
  • a delivery plan from a supply point (delivery source) such as a factory to a plurality of demand points (delivery destination) is treated as a vehicle routing problem (VRP) that optimizes a delivery cost on the basis of a demand amount (delivery amount) of each demand point, a distance between the supply point and the demand point, or the like.
  • VRP vehicle routing problem
  • VRP a technique for searching for an optimum solution of the problem by formulating a delivery plan problem as a minimization problem of an energy function and obtaining the minimum state of the energy function using simulated annealing.
  • the number of combinations is about 60 (5!/2) in a case where the number of delivery points is five, is about 1.8 million (10!/2) in a case where the number of delivery points is 10, and is about 600 billion (15!/2) in a case where the number of delivery points is 15. Furthermore, when a case is assumed where a cost is further reduced by using a relay point between the supply point and the delivery destination, a path including the relay point in the middle is considered, and the number of combinations further increases.
  • an object is to provide a delivery plan creation support program, a delivery plan creation support method, and an information processing apparatus that can support reduction in a calculation cost when a delivery plan is created.
  • the method includes: for each of a delivery source and each of a plurality of delivery destinations to which goods are delivered from the delivery source, receiving distance information that indicates a distance between points, delivery amount information that indicates a total delivery amount of the goods to each of the plurality of delivery destinations, and maximum delivery amount information that indicates a maximum delivery amount per delivery; calculating a first cost to deliver the goods for the total delivery amount from the delivery source to each of the plurality of delivery destinations while setting the maximum delivery amount indicated by the maximum delivery amount information as an upper limit; calculating a second cost to deliver the goods for the total delivery amount from the delivery source to each of the delivery destinations to which the goods are delivered via a relay point and each of the delivery destinations to which the goods are delivered not via the relay point in a case where the maximum delivery amount indicated by the maximum delivery amount information is set as the upper limit and a predetermined delivery destination among the plurality of delivery destinations is set as the relay point; executing selection processing for selecting a delivery
  • a delivery plan creation support program a delivery plan creation support method, and an information processing apparatus according to an embodiment will be described with reference to the drawings. Configurations having the same functions in the embodiment are denoted by the same reference signs, and redundant description will be omitted. Note that the delivery plan creation support program, the delivery plan creation support method, and the information processing apparatus described in the following embodiment are merely examples and do not limit the embodiment. Additionally, each of the embodiments below may be appropriately combined unless otherwise contradicted.
  • FIG. 1 is a block diagram illustrating an exemplary functional configuration of the information processing apparatus according to the embodiment.
  • an information processing apparatus 1 is an apparatus that executes processing related to creation of a delivery plan from a supply point (delivery source) to a plurality of demand points (delivery destination), and for example, a personal computer (PC) or the like can be applied.
  • a supply point delivery source
  • a plurality of demand points delivery destination
  • PC personal computer
  • FIG. 2 is an explanatory diagram for explaining an outline of a VRP.
  • creation of a delivery plan from a supply point P0 to demand points P1, P2... is treated as the VRP that optimizes a delivery cost.
  • the information processing apparatus 1 creates the delivery plan from the supply point P0 to the demand points P1, P2... by solving an optimization problem of the delivery cost on the basis of a demand amount (delivery amount) at each of the demand points P1, P2..., a distance between points, or the like.
  • the delivery plan When the delivery plan is created, there is a case where the delivery cost is reduced by utilizing some demand points as relay points and delivering goods through the relay points than that in a case where the goods are directly delivered from the supply point P0 to each of the demand points P1, P2....
  • the information processing apparatus 1 selects a relay point estimated to have a lower delivery cost and a delivery destination (demand point) to which the goods are delivered via the relay point from among the demand points P1, P2.... Next, the information processing apparatus 1 creates the delivery plan from the supply point P0 to the demand points P1, P2... on the basis of the selection result. Specifically, for example, the information processing apparatus 1 divides points into a group including the selected relay point and the delivery destinations (demand point) to which the goods are delivered via the relay point and a group including the delivery destinations (demand point) to which the goods are directly delivered from the supply point P0 not via the relay point and creates a delivery plan for each group.
  • the number of combinations of delivery paths when the delivery plan is created is largely reduced than that in a case where delivery paths from the supply point P0 to all the delivery destinations (demand points P1, P2...) are examined. Therefore, regarding the information processing apparatus 1, it is expected to largely lower a calculation cost when the optimization problem is solved at the time of creating the delivery plan.
  • the information processing apparatus 1 includes a communication unit 10, a storage unit 20, and a control unit 30.
  • the communication unit 10 communicates with another device (for example, display device, server device, or the like) via a communication cable or the like under control of the control unit 30.
  • the communication unit 10 is realized by, for example, a communication interface connected to the display device, a network interface card (NIC) connected to a communication network such as a local area network (LAN), or the like.
  • NIC network interface card
  • the storage unit 20 corresponds to, for example, a semiconductor memory element such as a random access memory (RAM) and a flash memory, or a storage device such as a hard disk drive (HDD).
  • the storage unit 20 stores input information 21 or the like regarding input data received by an input reception unit 31.
  • the input information 21 is, for example, an INPUT file or the like that is input as a delivery condition when the delivery plan is created.
  • the INPUT file includes, for example, distance information indicating a distance between points including the supply point P0 and each of demand points P1, P2..., a total delivery amount of goods to each of the demand points P1, P2..., a truck size that indicates a maximum allowable delivery amount per delivery, or the like.
  • the control unit 30 includes the input reception unit 31, a combination processing unit 32, a relay point selection unit 33, an optimization problem processing unit 34, and an output unit 35.
  • the control unit 30 can be implemented by a central processing unit (CPU), a micro processing unit (MPU), or the like.
  • the control unit 30 can be realized by a hard wired logic such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or the like.
  • ASIC application specific integrated circuit
  • FPGA field programmable gate array
  • the input reception unit 31 is a processing unit that receives data input. Specifically, for example, the input reception unit 31 receives data input, for example, by an operation input through a keyboard, a touch panel, or the like, a file input through communication via the communication unit 10. Next, the input reception unit 31 stores the input data in the storage unit 20 as the input information 21. For example, the input reception unit 31 stores the INPUT file that has been input as the delivery condition when the delivery plan is created in the storage unit 20 as the input information 21. In other words, for example, the input reception unit 31 is an example of a reception unit.
  • the combination processing unit 32 is a processing unit that lists combinations of all the demand points (warehouse) to which the goods are delivered from the relay point in a case where a predetermined delivery destination is set as the relay point for each delivery destination (demand points P1, P2%) in the INPUT file that has been input as the delivery condition.
  • the combination processing unit 32 sets each delivery destination in the INPUT file as a relay point and lists all the combinations of the demand points (warehouse) to which delivery is made via the relay point.
  • the information processing apparatus 1 can obtain all the combinations of the relay point and the delivery destinations (demand point) to which the goods are delivered via the relay point, from among the plurality of delivery destinations (demand points P1, P2%) in the INPUT file.
  • the relay point selection unit 33 is a processing unit that selects a relay point that is estimated to have a lower delivery cost and the delivery destinations (demand point) via the relay point from among the demand points P1, P2... in the INPUT file.
  • the relay point selection unit 33 estimates the delivery cost as follows for all the combinations listed by the combination processing unit 32 and selects the relay point and the delivery destinations (demand point) via the relay point. First, the relay point selection unit 33 obtains a cost (first cost) for delivery from the delivery source (supply point P0) to each delivery destination (demand points P1, P2...) for the total delivery amount while setting a truck size received from the INPUT file as an upper limit.
  • the relay point selection unit 33 obtains a cost for delivery for the total delivery amount from the delivery source (supply point P0) to each delivery destination via the relay point in a case where a predetermined delivery destination among the plurality of delivery destinations (demand points P1, P2...) is set as a relay point in all the listed combinations. Furthermore, the relay point selection unit 33 obtains a cost for delivery for the total delivery amount to each delivery destination not via the relay point and obtains a cost (second cost) obtained by adding the cost for the delivery via the relay point and the cost for the delivery not via the relay point.
  • the relay point selection unit 33 selects a relay point and a delivery destination to which the goods are delivered via the relay point from among the plurality of delivery destinations on the basis of the first cost and the second cost. Specifically, for example, the relay point selection unit 33 extracts the relay point and the delivery destination to which the goods are delivered via the relay point in a case where the second cost is smaller than the first cost. Next, the relay point selection unit 33 sets a combination (relay point and delivery destination to which goods are delivered via relay point) that minimizes the second cost among the extracted combinations as a selection result.
  • the relay point selection unit 33 selects the relay point and the delivery destination to which the goods are delivered via the relay point using the following selection formula (1) for selecting the relay point.
  • d i,j indicates a distance between points (warehouse) i and j and corresponds to the distance information indicating the distance between the points in the INPUT file.
  • zero means a departure point (supply point P0)
  • r means a relay point.
  • CL is a preset value (for example, cost value such as 0.5 corresponding to 0.25 per day needed for loading or unloading) as a cost related to unloading.
  • D ij indicates a cost in a case where the goods are delivered by traveling between the points i-j.
  • T i is a maximum truck size that can be selected in the warehouse (i) at the demand point and corresponds to the maximum truck size in the INPUT file.
  • P i is a total delivery amount to the warehouse (i) at the demand point and corresponds to the total delivery amount of the goods in the INPUT file.
  • S is a set of warehouses and corresponds to all the combinations listed by the combination processing unit 32.
  • the first term on the right side in the formula (1) corresponds to the cost (first cost) in a case where goods are directly transported from the supply point P0 to each demand point (warehouse).
  • the second term on the right side corresponds to the cost in a case where the goods are transported from the supply point P0 to the relay point (r).
  • the third term on the right side corresponds to the cost in a case where the goods are transported from the relay point (r) to each demand point (warehouse).
  • the second term on the right side + the third term on the right side corresponds to the cost (second cost) in a case where the goods are transported to each demand point via the relay point.
  • the relay point selection unit 33 obtains C (difference between first cost and second cost) from the above selection formula (1) for all the combinations listed by the combination processing unit 32. Next, the relay point selection unit 33 sets a combination (relay point and delivery destination to which goods are delivered via relay point) that has a larger C among all the listed combinations as a selection result.
  • the optimization problem processing unit 34 is a processing unit that creates a delivery plan for delivering goods from a delivery source to a plurality of delivery destinations by solving an optimization problem of a cost for delivery under a condition such as a demand amount (delivery amount) at each of the demand points P1, P2..., a distance between points, or the like on the basis of the selection result of the relay point selection unit 33. Specifically, for example, the optimization problem processing unit 34 divides the points into a group of relay points selected by the relay point selection unit 33 and delivery destinations (demand point) to which the goods are delivered via the relay point, and a group of delivery destinations (demand point) to which the goods are directly delivered from the supply point P0 not via the relay point, and solves an optimization problem for each divided group. The optimization problem processing unit 34 combines the delivery plan via the relay point and the delivery plan not via the relay point that are obtained by solving the optimization problem in this way and creates a delivery plan for delivering the goods from the delivery source to the plurality of delivery destinations.
  • a known method can be applied for formulating the delivery plan problem as the minimization problem of the energy function and solving the minimum state of the energy function, which has been formulated, using, for example, simulated annealing.
  • the output unit 35 is a processing unit that executes output processing such as display output or file output to the display device. Specifically, for example, the output unit 35 outputs the delivery plan for delivering the goods from the delivery source (supply point P0) to the plurality of delivery destinations (demand points P1, P2...) created by the optimization problem processing unit 34 to a user as a display output or a file output to the display device.
  • FIGs. 3A to 3C are flowcharts illustrating an exemplary operation of the information processing apparatus 1 according to the embodiment.
  • the combination processing unit 32 reads the INPUT file (input information 21), and adds elements (distance matrix indicating distance between points, demand (amount), vehicle contact limitation (truck size)) to the list including the supply point P0 and the demand points P1, P2... (S1).
  • elements distance matrix indicating distance between points, demand (amount), vehicle contact limitation (truck size)
  • the combination processing unit 32 derives a total demand (amount) of each warehouse (demand points P1, P2%) in a period and the maximum size of the truck that can enter from the elements in the list (S2).
  • the combination processing unit 32 lists combinations of the relay point and all the warehouses (demand points) to which the goods are delivered via the relay point from among the delivery destinations (demand points P1 and P2) in the INPUT file (S3).
  • the relay point selection unit 33 derives the number of operating days (cost) in each of the listed combinations by using the selection formula (1) (S4). Specifically, for example, the relay point selection unit 33 derives the number of operating days (cost) from the departure point (depot (D)) to the relay point (R) from the second term on the right side of the selection formula (1). Furthermore, the relay point selection unit 33 derives the number of operating days (cost) from the relay point (R) to the warehouse (W) from the third term on the right side of the selection formula (1). Furthermore, the relay point selection unit 33 derives the number of operating days (cost) from the departure point (depot (D)) to the warehouse (W) from the first term on the right side of the selection formula (1).
  • the relay point selection unit 33 determines whether or not the total of the cost of (D-R) + the cost of (R-W) is smaller than the cost of (D-W) (S5).
  • S5 a combination in which the total of the cost of (D-R) + the cost of (R-W) is not smaller than the cost of (D-W) is a case where a smaller cost is needed if the goods are directly delivered from the supply point P0 to each demand point. Therefore, in a case where the total of the cost of (D-R) + the cost of (R-W) is not smaller than the cost of (D-W) (S5: No), the relay point selection unit 33 returns the processing to S4 in order to derive a cost of the next combination.
  • the relay point selection unit 33 saves the relay point and the warehouse (demand point) group to which the goods are delivered from the relay point in a memory or the like together with the number of operating days (cost) that has been derived as the value of C in the selection formula (1) and has been reduced by a relay point effect (S6).
  • the relay point selection unit 33 determines whether or not all the combinations listed in S3 have been implemented (S7). In a case where all the combinations have not been implemented (S7: No), the relay point selection unit 33 returns the processing to S4 to examine the next combination.
  • the relay point selection unit 33 determines whether or not there is a candidate of the group of the relay point and the warehouses (demand point) to which the goods are delivered from the relay point saved in the memory (S8).
  • the relay point selection unit 33 determines whether or not there is a best candidate automatic selection flag (S9).
  • the best candidate automatic selection flag is a flag that is set in advance by a user or the like.
  • the relay point selection unit 33 automatically selects a candidate that minimizes the cost from among the plurality of candidates.
  • the relay point selection unit 33 displays and outputs a plurality of candidates of the relay point, the warehouse (demand point) group to which the goods are delivered from the relay point, and the number of operating days (cost) reduced by the relay point effect that are saved in the memory via the output unit 35 (S10).
  • the relay point selection unit 33 receives the selection of the candidate selected from among the plurality of candidates that has been displayed and output on the basis of an operation input on a keyboard or the like (S11).
  • FIG. 4 is an explanatory diagram for explaining an example of a value according to a relay point selection formula.
  • the relay point selection unit 33 displays and outputs the relay point, the warehouse (demand point) group to which the goods are delivered from the relay point, and the operating days (cost) that is derived as the value of C and is reduced by the relay point effect from the relay point selection formula (1).
  • the user can select a candidate selected from among the plurality of candidates by referring to content of the relay point and the warehouse (demand point) group to which the goods are delivered from the relay point and the value of the cost.
  • the relay point selection unit 33 saves the selected relay point and warehouse (demand point) group to which the goods are delivered from the relay point in the memory or the like as one of the selection results (S12).
  • the relay point selection unit 33 outputs a warehouse group "excluding" the selected relay point and warehouse (demand point) group to which the goods are delivered from the relay point (S13). Specifically, for example, the relay point selection unit 33 outputs a list of the delivery destinations, excluding the selected relay point and warehouse (demand point) group to which the goods are delivered from the relay point from among the plurality of delivery destinations (demand points P1, P2%) in the INPUT file.
  • the combination processing unit 32 adds, as in S1, the elements (distance matrix indicating distance between points, demand (amount), and vehicle contact limitation (truck size)) to the list of the warehouse (demand point) group after the exclusion in S13 using the output warehouse group in S13 as INPUT (S14).
  • the elements distance matrix indicating distance between points, demand (amount), and vehicle contact limitation (truck size)
  • the combination processing unit 32 returns the processing to S2 and executes the processing in and subsequent to S2 on the list of the warehouse (demand point) group after the exclusion in S13.
  • the information processing apparatus 1 selects a relay point different from the relay point selected in the previous processing and a delivery destination to which the goods are delivered via the different relay point from among the warehouse (demand point) group after the exclusion in S13.
  • the optimization problem processing unit 34 executes the processing for creating the delivery plan for delivering the goods from the delivery source to the plurality of delivery destinations (S15 to S18) on the basis of the selection result of the relay point selection unit 33.
  • the optimization problem processing unit 34 reads the relay point and the warehouse (demand point) group, to which the goods are delivered from the relay point, selected by the relay point selection unit 33 from the memory (S15).
  • the optimization problem processing unit 34 divides the optimization problem into a group of the delivery destinations (demand point) to which the goods are delivered via the relay point read from the memory and the group of the delivery destinations (demand point) that are not selected (delivery destination to which goods are directly delivered from supply point P0 not via relay point) (S16).
  • the optimization problem processing unit 34 sets a division problem (1) of the optimization problem regarding the delivery destination to which the goods are directly delivered from the supply point P0 not via the relay point (S16a). Specifically, for example, the optimization problem processing unit 34 adds the elements (distance matrix indicating distance between points, demand (amount), vehicle contact limitation (truck size)) to the list at each point using the group of the warehouses (demand point) not selected (delivery destination to which goods are directly supplied from supply point P0 not via relay point) and the selected relay point as INPUT.
  • the elements distance matrix indicating distance between points, demand (amount), vehicle contact limitation (truck size)
  • the optimization problem processing unit 34 sets the division problem (2A, 2B%) of the optimization problem regarding the delivery destination to which the goods are delivered via the relay point for each of the selected relay points (S16b, S16c). Specifically, for example, the optimization problem processing unit 34 adds the elements (distance matrix indicating distance between points, demand (amount), vehicle contact limitation (truck size)) to the list at each point using the selected relay point and the warehouse (demand point) group to which the goods are delivered from the relay point as IN PUT.
  • elements distance matrix indicating distance between points, demand (amount), vehicle contact limitation (truck size)
  • the optimization problem processing unit 34 obtains a delivery plan indicating a delivery order that minimizes a delivery cost by solving each division problem (optimization problem) in S16 by minimizing the energy function using the Ising machine, for example (S17).
  • FIG. 5 is an explanatory diagram for explaining a delivery destination, a delivery order, and a distance between the delivery destinations.
  • formulization is performed by using the Ising model as indicated by the following formula (2).
  • E x ⁇ ⁇ ⁇ i , j ⁇ w ij x i x j ⁇ ⁇ i b i x i
  • Xoo xo
  • Xoo xo
  • a distance between the delivery destinations (i) and (j) is set as d ij .
  • the optimization problem processing unit 34 rearranges the result obtained in S17 so that an output path starts from the supply point P0 or the relay point (S18).
  • the output unit 35 outputs the rearranged final path as the delivery plan for delivering the goods from the delivery source (supply point P0) to the plurality of delivery destinations (demand points P1, P2...) (S19).
  • the output unit 35 saves the output final path (obtained delivery plan) in the memory or the like (S20) and terminates the processing.
  • the information processing apparatus 1 includes the input reception unit 31, the relay point selection unit 33, and the optimization problem processing unit 34.
  • the input reception unit 31 receives distance information indicating a distance between the points, the total delivery amount of the goods to each delivery destination, and the truck size indicating the maximum allowable delivery amount per delivery for each of the delivery source and the plurality of delivery destinations to which the goods are delivered from the delivery source.
  • the relay point selection unit 33 sets the received truck size as the upper limit and obtains the first cost for the delivery for the total delivery amount from the delivery source to each delivery destination.
  • the relay point selection unit 33 obtains the second cost for the delivery for the total delivery amount to each of the delivery destinations to which the goods are delivered from the delivery source via the relay point and each of the delivery destinations to which the goods are delivered not via the relay point in a case where a predetermined delivery destination among the plurality of delivery destinations is set as a relay point.
  • the relay point selection unit 33 selects a relay point and a delivery destination to which the goods are delivered via the relay point from among the plurality of delivery destinations on the basis of the first cost and the second cost.
  • the optimization problem processing unit 34 creates a delivery plan for delivering the goods from the delivery source to the plurality of delivery destinations on the basis of the selection result.
  • the delivery plan is created after the relay point and the delivery destination to which the goods are delivered via the relay point are selected from among the plurality of delivery destinations. Therefore, the number of combinations of the delivery paths at the time of creating the delivery plan is largely reduced than that in a case where all the combinations are examined to create the delivery plan. Therefore, it is expected that a calculation cost when the optimization problem is solved at the time of creating the delivery plan is largely lowered.
  • FIG. 6 is an explanatory diagram for explaining an example of a divided path problem.
  • the information processing apparatus 1 creates the delivery plan after selecting relay points (demand points P6 and P12) and delivery destinations (demand points P6 ⁇ P3 to P5 and demand points P12 ⁇ P13 to P15) to which the goods are delivered via the relay points from among the plurality of delivery destinations (demand points P1 to P15).
  • the information processing apparatus 1 creates the delivery plan by solving a path problem in which the demand points are divided into a group G2 of the demand points P6 ⁇ P3 to P5, a group G3 of the demand points P12 ⁇ P13 to P15, and a group G1 of the demand points (P1, P2, and P6 to P12) to which the goods are directly delivered from the supply point P0. Therefore, because the number of combinations when the path problem is solved is largely reduced, it is expected that the calculation cost is largely lowered.
  • FIGs. 7A , 8A , and 9A are diagrams for explaining examples of input data.
  • FIGs. 7B , 8B , and 9B are explanatory diagrams for explaining examples of the divided path problem.
  • the demand amount for each point (supply point P0 and demand points P1 to P15), the truck size, the distance information indicating the distance between the points be input to the information processing apparatus 1 as input data D11 and D12 regarding conditions of the delivery plan.
  • the information processing apparatus 1 creates a delivery plan on the basis of the input data D11 and D12.
  • the information processing apparatus 1 creates the delivery plan after selecting a relay point (demand point P6) and delivery destinations (demand points P6 ⁇ P3 to P5) to which the goods are delivered via the relay point from among the plurality of delivery destinations (demand points P1 to P15). Specifically, for example, the information processing apparatus 1 creates a delivery plan by solving a path problem in which the demand points are divided into the group G2 of the demand points P6 ⁇ P3 to P5 and the group G1 of the demand points (P1, P2, and P6 to P15) to which the goods are directly delivered from the supply point P0.
  • the number of combinations when the path problem is solved is reduced from about 50 trillion combinations, which is the total number of combinations, to about 700 million combinations. Therefore, a calculation speed is expected to be about 70 thousand times faster.
  • the demand amount for each point (supply point P0 and demand points P1 to P15), the truck size, the distance information indicating the distance between the points be input to the information processing apparatus 1 as input data D21 and D22 regarding conditions of the delivery plan.
  • the information processing apparatus 1 creates a delivery plan on the basis of the input data D21 and D22.
  • the information processing apparatus 1 creates a delivery plan after selecting a relay point (demand point P1) and delivery destinations (demand points P1 ⁇ P2 to P15) to which the goods are delivered via the relay point from among the plurality of delivery destinations (demand points P1 to P15). Specifically, for example, the information processing apparatus 1 creates the delivery plan by solving a path problem in which the demand points are divided into the group G2 of the demand points P1 ⁇ P2 to P15 and the group G1 of the demand point P1 to which the goods are directly delivered from the supply point P0. As a result, the number of combinations when the path problem is solved is reduced from about 50 trillion combinations, which is the total number of combinations, to about 40 billion combinations. Therefore, the calculation speed is expected to be about a thousand times faster.
  • the demand amount for each point (supply point P0 and demand points P1 to P15), the truck size, the distance information indicating the distance between the points be input to the information processing apparatus 1 as input data D31 and D32 regarding conditions of the delivery plan.
  • the information processing apparatus 1 creates the delivery plan on the basis of the input data D31 and D32.
  • the information processing apparatus 1 creates a delivery plan after selecting a relay point (demand point P7) and delivery destinations (demand points P7 ⁇ P12 to P15) to which the goods are delivered via the relay point from among the plurality of delivery destinations (demand points P1 to P15). Specifically, for example, the information processing apparatus 1 creates the delivery plan by solving a path problem in which the demand points are divided into the group G2 of the demand points P7 ⁇ P12 to P15 and the group G1 of the demand points P1 to P11 to which the goods are directly delivered from the supply point P0. As a result, the number of combinations when the path problem is solved is reduced from about 50 trillion combinations, which is the total number of combinations, to about 200 million combinations. Therefore, the calculation speed is expected to be about 200 thousand times faster.
  • the relay point selection unit 33 selects a relay point and a delivery destination to which the goods are delivered via the relay point from among the candidates on the basis of the difference (C) between the first cost and the second cost that is obtained as indicated in the formula (1), for each of the candidates of the relay point and the candidates of the delivery destination to which the goods are delivered via the relay point, among the plurality of delivery destinations.
  • the information processing apparatus 1 can select the relay point and the delivery destination to which the goods are delivered via the relay point from among the candidates on the basis of the difference between the first cost and the second cost that is obtained by using the formula (1) described above while setting the truck size indicating the maximum allowable delivery amount per delivery as the upper limit.
  • the relay point selection unit 33 selects a relay point different from the relay point and a delivery destination to which the goods are delivered via the different relay point from among the delivery destinations excluding the delivery destination, to which the goods are delivered via the relay point, selected from among the plurality of delivery destinations. With this selection, the information processing apparatus 1 can create the delivery plan after selecting the plurality of relay points and the delivery destinations to which the goods are delivered via each of the plurality of relay points from among the plurality of delivery destinations.
  • the delivery plan is created after the plurality of relay points and the delivery destinations to which the goods are delivered via each of the plurality of relay points, it is expected that the calculation cost when the optimization problem is solved at the time of creating the delivery plan is largely lowered than that in a case where the number of relay points is one.
  • the optimization problem processing unit 34 creates a delivery plan by solving the optimization problem in a case where the goods are delivered from the delivery source to the relay point and each of the delivery destinations to which the goods are delivered via the relay point and the optimization problem in a case where the goods are delivered from the delivery source to each of the delivery destinations to which the goods are delivered not via the relay point.
  • the information processing apparatus 1 by separately solving the optimization problems when the delivery plan for delivering the goods from the delivery source to the plurality of delivery destinations is created, it is expected that the calculation cost is largely lowered than that in a case where the single optimization problem for all the combinations is solved.
  • each of the illustrated devices are not necessarily and physically configured as illustrated in the drawings.
  • the specific aspects of separation and integration of each of the apparatus and devices are not limited to the illustrated aspects, and all or some of the apparatus or devices can be functionally or physically configured by being separated and integrated in any unit, in accordance with various loads, use status, and the like.
  • various processing functions executed with the information processing apparatus 1 may be entirely or optionally partially executed on a central processing unit (CPU) (or a microcomputer, such as a microprocessor unit (MPU) or a micro controller unit (MCU)). Furthermore, it is needless to say that whole or any part of various processing functions may be executed by a program to be analyzed and executed on a CPU (or microcomputer such as MPU or MCU), or on hardware by wired logic. In addition, various processing functions executed with the information processing apparatus 1 may be executed by a plurality of computers in cooperation with each other through cloud computing.
  • CPU central processing unit
  • MPU microprocessor unit
  • MCU micro controller unit
  • FIG. 10 is a block diagram illustrating an exemplary hardware configuration of the information processing apparatus 1 according to the embodiment.
  • the information processing apparatus 1 includes a CPU 101 that executes various types of arithmetic processing, an input device 102 that receives data input, a monitor 103, and a speaker 104.
  • the information processing apparatus 1 includes a medium reading device 105 that reads a program and the like from a storage medium, an interface device 106 that is used to connect to various devices, and a communication device 107 that makes communicative connection with an external device in a wired or wireless manner.
  • the information processing apparatus 1 further includes a RAM 108 for temporarily storing various types of information, and a hard disk device 109.
  • each unit (101 to 109) in the information processing apparatus 1 is connected to a bus 110.
  • the hard disk device 109 stores a program 111 used to execute various processing by the input reception unit 31, the combination processing unit 32, the relay point selection unit 33, the optimization problem processing unit 34, the output unit 35, or the like described in the above embodiment.
  • the hard disk device 109 stores various types of data 112 to which the program 111 refers.
  • the input device 102 receives, for example, an input of operation information from an operator.
  • the monitor 103 displays, for example, various screens operated by the operator.
  • the interface device 106 is connected to, for example, a printing device or the like.
  • the communication device 107 is connected to a communication network such as a local area network (LAN), and exchanges various types of information with the external device via the communication network.
  • LAN local area network
  • the CPU 101 reads the program 111 stored in the hard disk device 109 and develops and executes the program 111 on the RAM 108 so as to execute various processing regarding the input reception unit 31, the combination processing unit 32, the relay point selection unit 33, the optimization problem processing unit 34, the output unit 35, or the like. Note that, it is not needed for the program 111 to be stored in the hard disk device 109. For example, the program 111 that is stored in a storage medium that can be read by the information processing apparatus 1 may be read and executed.
  • the storage medium which can be read by the information processing apparatus 1 corresponds to, for example, a portable recording medium such as a CD-ROM, a DVD disk, and a universal serial bus (USB) memory, a semiconductor memory such as a flash memory, a hard disk drive, and the like.
  • the program 111 may be prestored in a device connected to a public line, the Internet, a LAN, or the like, and the information processing apparatus 1 may read the program 111 from the device to execute the program 111.

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Operations Research (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Quality & Reliability (AREA)
  • Game Theory and Decision Science (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Automation & Control Theory (AREA)

Abstract

A method includes: for each of a delivery source and each of plural delivery destinations to which goods are delivered, receiving distance information indicating a distance between points, delivery amount information indicating a total delivery amount of the goods to each of the plural delivery destinations, and maximum delivery amount information indicating a maximum delivery amount per delivery; calculating a first cost to deliver the goods for the total delivery amount from the delivery source to each of the plural delivery destinations while setting the maximum delivery amount indicated by the maximum delivery amount information; calculating a second cost to deliver the goods for the total delivery amount from the delivery source to each of the delivery destinations; executing selection processing for selecting a delivery destination by using the first cost and the second cost; and creating a delivery plan by using a result of the selection processing.

Description

    FIELD
  • An embodiment discussed herein is related to a delivery plan creation support program, a delivery plan creation support method, and an information processing apparatus.
  • BACKGROUND
  • Typically, a delivery plan from a supply point (delivery source) such as a factory to a plurality of demand points (delivery destination) is treated as a vehicle routing problem (VRP) that optimizes a delivery cost on the basis of a demand amount (delivery amount) of each demand point, a distance between the supply point and the demand point, or the like.
  • Regarding this VRP, a technique is known for searching for an optimum solution of the problem by formulating a delivery plan problem as a minimization problem of an energy function and obtaining the minimum state of the energy function using simulated annealing.
  • SUMMARY [TECHNICAL PROBLEM]
  • However, the above related art has a problem in that there is a case where it is difficult to analyze and optimize all combinations in terms of a calculation cost because the number of combinations becomes enormous if the number of delivery points increases.
  • For example, the number of combinations is about 60 (5!/2) in a case where the number of delivery points is five, is about 1.8 million (10!/2) in a case where the number of delivery points is 10, and is about 600 billion (15!/2) in a case where the number of delivery points is 15. Furthermore, when a case is assumed where a cost is further reduced by using a relay point between the supply point and the delivery destination, a path including the relay point in the middle is considered, and the number of combinations further increases.
  • According to an aspect, an object is to provide a delivery plan creation support program, a delivery plan creation support method, and an information processing apparatus that can support reduction in a calculation cost when a delivery plan is created.
  • [SOLUTION TO PROBLEM]
  • According to an aspect of the embodiments, provided is a method implemented by a computer. In an example, the method includes: for each of a delivery source and each of a plurality of delivery destinations to which goods are delivered from the delivery source, receiving distance information that indicates a distance between points, delivery amount information that indicates a total delivery amount of the goods to each of the plurality of delivery destinations, and maximum delivery amount information that indicates a maximum delivery amount per delivery; calculating a first cost to deliver the goods for the total delivery amount from the delivery source to each of the plurality of delivery destinations while setting the maximum delivery amount indicated by the maximum delivery amount information as an upper limit; calculating a second cost to deliver the goods for the total delivery amount from the delivery source to each of the delivery destinations to which the goods are delivered via a relay point and each of the delivery destinations to which the goods are delivered not via the relay point in a case where the maximum delivery amount indicated by the maximum delivery amount information is set as the upper limit and a predetermined delivery destination among the plurality of delivery destinations is set as the relay point; executing selection processing for selecting a delivery destination to be the relay point and the delivery destination to which the goods are delivered via the relay point from among the plurality of delivery destinations on the basis of the first cost and the second cost; and creating a delivery plan for delivering the goods from the delivery source to the plurality of delivery destinations on the basis of a result of the selection processing.
  • [ADVANTAGEOUS EFFECTS OF INVENTION]
  • According to one aspect, it is possible to support reduction in a calculation cost when a delivery plan is created.
  • BRIEF DESCRIPTION OF DRAWINGS
    • FIG. 1 is a block diagram illustrating an exemplary functional configuration of an information processing apparatus according to an embodiment;
    • FIG. 2 is an explanatory diagram for explaining an outline of a VRP;
    • FIG. 3A is a flowchart illustrating an exemplary operation of the information processing apparatus according to the embodiment;
    • FIG. 3B is a flowchart illustrating an exemplary operation of the information processing apparatus according to the embodiment;
    • FIG. 3C is a flowchart illustrating an exemplary operation of the information processing apparatus according to the embodiment;
    • FIG. 4 is an explanatory diagram for explaining an example of a value according to a relay point selection formula;
    • FIG. 5 is an explanatory diagram for explaining a delivery destination, a delivery order, and a distance between the delivery destinations;
    • FIG. 6 is an explanatory diagram for explaining an example of a divided path problem;
    • FIG. 7A is an explanatory diagram for explaining an example of input data;
    • FIG. 7B is an explanatory diagram for explaining an example of the divided path problem;
    • FIG. 8A is an explanatory diagram for explaining an example of the input data;
    • FIG. 8B is an explanatory diagram for explaining an example of the divided path problem;
    • FIG. 9A is an explanatory diagram for explaining an example of the input data;
    • FIG. 9B is an explanatory diagram for explaining an example of the divided path problem; and
    • FIG. 10 is a block diagram illustrating an exemplary hardware configuration of the information processing apparatus according to the embodiment.
    DESCRIPTION OF EMBODIMENTS
  • Hereinafter, a delivery plan creation support program, a delivery plan creation support method, and an information processing apparatus according to an embodiment will be described with reference to the drawings. Configurations having the same functions in the embodiment are denoted by the same reference signs, and redundant description will be omitted. Note that the delivery plan creation support program, the delivery plan creation support method, and the information processing apparatus described in the following embodiment are merely examples and do not limit the embodiment. Additionally, each of the embodiments below may be appropriately combined unless otherwise contradicted.
  • FIG. 1 is a block diagram illustrating an exemplary functional configuration of the information processing apparatus according to the embodiment. As illustrated in FIG. 1, an information processing apparatus 1 is an apparatus that executes processing related to creation of a delivery plan from a supply point (delivery source) to a plurality of demand points (delivery destination), and for example, a personal computer (PC) or the like can be applied.
  • FIG. 2 is an explanatory diagram for explaining an outline of a VRP. As illustrated in FIG. 2, creation of a delivery plan from a supply point P0 to demand points P1, P2... is treated as the VRP that optimizes a delivery cost. The information processing apparatus 1 creates the delivery plan from the supply point P0 to the demand points P1, P2... by solving an optimization problem of the delivery cost on the basis of a demand amount (delivery amount) at each of the demand points P1, P2..., a distance between points, or the like.
  • When the delivery plan is created, there is a case where the delivery cost is reduced by utilizing some demand points as relay points and delivering goods through the relay points than that in a case where the goods are directly delivered from the supply point P0 to each of the demand points P1, P2....
  • Before creating the delivery plan, the information processing apparatus 1 selects a relay point estimated to have a lower delivery cost and a delivery destination (demand point) to which the goods are delivered via the relay point from among the demand points P1, P2.... Next, the information processing apparatus 1 creates the delivery plan from the supply point P0 to the demand points P1, P2... on the basis of the selection result. Specifically, for example, the information processing apparatus 1 divides points into a group including the selected relay point and the delivery destinations (demand point) to which the goods are delivered via the relay point and a group including the delivery destinations (demand point) to which the goods are directly delivered from the supply point P0 not via the relay point and creates a delivery plan for each group.
  • As a result, the number of combinations of delivery paths when the delivery plan is created is largely reduced than that in a case where delivery paths from the supply point P0 to all the delivery destinations (demand points P1, P2...) are examined. Therefore, regarding the information processing apparatus 1, it is expected to largely lower a calculation cost when the optimization problem is solved at the time of creating the delivery plan.
  • Here, a configuration of the information processing apparatus 1 will be described in detail. As illustrated in FIG. 1, the information processing apparatus 1 includes a communication unit 10, a storage unit 20, and a control unit 30.
  • The communication unit 10 communicates with another device (for example, display device, server device, or the like) via a communication cable or the like under control of the control unit 30. The communication unit 10 is realized by, for example, a communication interface connected to the display device, a network interface card (NIC) connected to a communication network such as a local area network (LAN), or the like.
  • The storage unit 20 corresponds to, for example, a semiconductor memory element such as a random access memory (RAM) and a flash memory, or a storage device such as a hard disk drive (HDD). The storage unit 20 stores input information 21 or the like regarding input data received by an input reception unit 31.
  • Note that the input information 21 is, for example, an INPUT file or the like that is input as a delivery condition when the delivery plan is created. The INPUT file includes, for example, distance information indicating a distance between points including the supply point P0 and each of demand points P1, P2..., a total delivery amount of goods to each of the demand points P1, P2..., a truck size that indicates a maximum allowable delivery amount per delivery, or the like.
  • The control unit 30 includes the input reception unit 31, a combination processing unit 32, a relay point selection unit 33, an optimization problem processing unit 34, and an output unit 35. The control unit 30 can be implemented by a central processing unit (CPU), a micro processing unit (MPU), or the like. Furthermore, the control unit 30 can be realized by a hard wired logic such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or the like.
  • The input reception unit 31 is a processing unit that receives data input. Specifically, for example, the input reception unit 31 receives data input, for example, by an operation input through a keyboard, a touch panel, or the like, a file input through communication via the communication unit 10. Next, the input reception unit 31 stores the input data in the storage unit 20 as the input information 21. For example, the input reception unit 31 stores the INPUT file that has been input as the delivery condition when the delivery plan is created in the storage unit 20 as the input information 21. In other words, for example, the input reception unit 31 is an example of a reception unit.
  • The combination processing unit 32 is a processing unit that lists combinations of all the demand points (warehouse) to which the goods are delivered from the relay point in a case where a predetermined delivery destination is set as the relay point for each delivery destination (demand points P1, P2...) in the INPUT file that has been input as the delivery condition.
  • Specifically, for example, the combination processing unit 32 sets each delivery destination in the INPUT file as a relay point and lists all the combinations of the demand points (warehouse) to which delivery is made via the relay point. As a result, the information processing apparatus 1 can obtain all the combinations of the relay point and the delivery destinations (demand point) to which the goods are delivered via the relay point, from among the plurality of delivery destinations (demand points P1, P2...) in the INPUT file.
  • The relay point selection unit 33 is a processing unit that selects a relay point that is estimated to have a lower delivery cost and the delivery destinations (demand point) via the relay point from among the demand points P1, P2... in the INPUT file.
  • Specifically, for example, the relay point selection unit 33 estimates the delivery cost as follows for all the combinations listed by the combination processing unit 32 and selects the relay point and the delivery destinations (demand point) via the relay point. First, the relay point selection unit 33 obtains a cost (first cost) for delivery from the delivery source (supply point P0) to each delivery destination (demand points P1, P2...) for the total delivery amount while setting a truck size received from the INPUT file as an upper limit.
  • Furthermore, the relay point selection unit 33 obtains a cost for delivery for the total delivery amount from the delivery source (supply point P0) to each delivery destination via the relay point in a case where a predetermined delivery destination among the plurality of delivery destinations (demand points P1, P2...) is set as a relay point in all the listed combinations. Furthermore, the relay point selection unit 33 obtains a cost for delivery for the total delivery amount to each delivery destination not via the relay point and obtains a cost (second cost) obtained by adding the cost for the delivery via the relay point and the cost for the delivery not via the relay point.
  • Next, the relay point selection unit 33 selects a relay point and a delivery destination to which the goods are delivered via the relay point from among the plurality of delivery destinations on the basis of the first cost and the second cost. Specifically, for example, the relay point selection unit 33 extracts the relay point and the delivery destination to which the goods are delivered via the relay point in a case where the second cost is smaller than the first cost. Next, the relay point selection unit 33 sets a combination (relay point and delivery destination to which goods are delivered via relay point) that minimizes the second cost among the extracted combinations as a selection result.
  • More specifically, for example, the relay point selection unit 33 selects the relay point and the delivery destination to which the goods are delivered via the relay point using the following selection formula (1) for selecting the relay point.
    Figure imgb0001
  • In the formula (1), di,j indicates a distance between points (warehouse) i and j and corresponds to the distance information indicating the distance between the points in the INPUT file. However, zero means a departure point (supply point P0), and r means a relay point. CL is a preset value (for example, cost value such as 0.5 corresponding to 0.25 per day needed for loading or unloading) as a cost related to unloading. In other words, for example, Dij indicates a cost in a case where the goods are delivered by traveling between the points i-j.
  • Ti is a maximum truck size that can be selected in the warehouse (i) at the demand point and corresponds to the maximum truck size in the INPUT file. Pi is a total delivery amount to the warehouse (i) at the demand point and corresponds to the total delivery amount of the goods in the INPUT file. S is a set of warehouses and corresponds to all the combinations listed by the combination processing unit 32.
  • The first term on the right side in the formula (1) corresponds to the cost (first cost) in a case where goods are directly transported from the supply point P0 to each demand point (warehouse). Furthermore, the second term on the right side corresponds to the cost in a case where the goods are transported from the supply point P0 to the relay point (r). Furthermore, the third term on the right side corresponds to the cost in a case where the goods are transported from the relay point (r) to each demand point (warehouse). In other words, for example, the second term on the right side + the third term on the right side corresponds to the cost (second cost) in a case where the goods are transported to each demand point via the relay point.
  • The relay point selection unit 33 obtains C (difference between first cost and second cost) from the above selection formula (1) for all the combinations listed by the combination processing unit 32. Next, the relay point selection unit 33 sets a combination (relay point and delivery destination to which goods are delivered via relay point) that has a larger C among all the listed combinations as a selection result.
  • The optimization problem processing unit 34 is a processing unit that creates a delivery plan for delivering goods from a delivery source to a plurality of delivery destinations by solving an optimization problem of a cost for delivery under a condition such as a demand amount (delivery amount) at each of the demand points P1, P2..., a distance between points, or the like on the basis of the selection result of the relay point selection unit 33. Specifically, for example, the optimization problem processing unit 34 divides the points into a group of relay points selected by the relay point selection unit 33 and delivery destinations (demand point) to which the goods are delivered via the relay point, and a group of delivery destinations (demand point) to which the goods are directly delivered from the supply point P0 not via the relay point, and solves an optimization problem for each divided group. The optimization problem processing unit 34 combines the delivery plan via the relay point and the delivery plan not via the relay point that are obtained by solving the optimization problem in this way and creates a delivery plan for delivering the goods from the delivery source to the plurality of delivery destinations.
  • Note that, as a method for solving the optimization problem by the optimization problem processing unit 34, a known method can be applied for formulating the delivery plan problem as the minimization problem of the energy function and solving the minimum state of the energy function, which has been formulated, using, for example, simulated annealing.
  • The output unit 35 is a processing unit that executes output processing such as display output or file output to the display device. Specifically, for example, the output unit 35 outputs the delivery plan for delivering the goods from the delivery source (supply point P0) to the plurality of delivery destinations (demand points P1, P2...) created by the optimization problem processing unit 34 to a user as a display output or a file output to the display device.
  • FIGs. 3A to 3C are flowcharts illustrating an exemplary operation of the information processing apparatus 1 according to the embodiment.
  • As illustrated in FIG. 3A, when the processing is started, the combination processing unit 32 reads the INPUT file (input information 21), and adds elements (distance matrix indicating distance between points, demand (amount), vehicle contact limitation (truck size)) to the list including the supply point P0 and the demand points P1, P2... (S1).
  • Next, the combination processing unit 32 derives a total demand (amount) of each warehouse (demand points P1, P2...) in a period and the maximum size of the truck that can enter from the elements in the list (S2).
  • Next, the combination processing unit 32 lists combinations of the relay point and all the warehouses (demand points) to which the goods are delivered via the relay point from among the delivery destinations (demand points P1 and P2) in the INPUT file (S3).
  • Next, the relay point selection unit 33 derives the number of operating days (cost) in each of the listed combinations by using the selection formula (1) (S4). Specifically, for example, the relay point selection unit 33 derives the number of operating days (cost) from the departure point (depot (D)) to the relay point (R) from the second term on the right side of the selection formula (1). Furthermore, the relay point selection unit 33 derives the number of operating days (cost) from the relay point (R) to the warehouse (W) from the third term on the right side of the selection formula (1). Furthermore, the relay point selection unit 33 derives the number of operating days (cost) from the departure point (depot (D)) to the warehouse (W) from the first term on the right side of the selection formula (1).
  • Next, the relay point selection unit 33 determines whether or not the total of the cost of (D-R) + the cost of (R-W) is smaller than the cost of (D-W) (S5). In S5, a combination in which the total of the cost of (D-R) + the cost of (R-W) is not smaller than the cost of (D-W) is a case where a smaller cost is needed if the goods are directly delivered from the supply point P0 to each demand point. Therefore, in a case where the total of the cost of (D-R) + the cost of (R-W) is not smaller than the cost of (D-W) (S5: No), the relay point selection unit 33 returns the processing to S4 in order to derive a cost of the next combination.
  • Furthermore, the combination in which the total of the cost of (D-R) + the cost of (R-W) is smaller than the cost of (D-W) in S5 is a case where it is estimated that the cost is lower if the delivery is made via the relay point. Therefore, in a case where the total of the cost of (D-R) + the cost of (R-W) is smaller than the cost of (D-W) (S5: Yes), the relay point selection unit 33 saves the relay point and the warehouse (demand point) group to which the goods are delivered from the relay point in a memory or the like together with the number of operating days (cost) that has been derived as the value of C in the selection formula (1) and has been reduced by a relay point effect (S6).
  • Next, the relay point selection unit 33 determines whether or not all the combinations listed in S3 have been implemented (S7). In a case where all the combinations have not been implemented (S7: No), the relay point selection unit 33 returns the processing to S4 to examine the next combination.
  • Next, the relay point selection unit 33 determines whether or not there is a candidate of the group of the relay point and the warehouses (demand point) to which the goods are delivered from the relay point saved in the memory (S8).
  • In a case where there is a candidate (S8: Yes), as illustrated in FIG. 3B, the relay point selection unit 33 determines whether or not there is a best candidate automatic selection flag (S9). The best candidate automatic selection flag is a flag that is set in advance by a user or the like. In a case where there is a flag (S9: Yes), the relay point selection unit 33 automatically selects a candidate that minimizes the cost from among the plurality of candidates.
  • In a case where there is no flag (S9: No), the relay point selection unit 33 displays and outputs a plurality of candidates of the relay point, the warehouse (demand point) group to which the goods are delivered from the relay point, and the number of operating days (cost) reduced by the relay point effect that are saved in the memory via the output unit 35 (S10). Next, the relay point selection unit 33 receives the selection of the candidate selected from among the plurality of candidates that has been displayed and output on the basis of an operation input on a keyboard or the like (S11).
  • FIG. 4 is an explanatory diagram for explaining an example of a value according to a relay point selection formula. As illustrated in FIG. 4, the relay point selection unit 33 displays and outputs the relay point, the warehouse (demand point) group to which the goods are delivered from the relay point, and the operating days (cost) that is derived as the value of C and is reduced by the relay point effect from the relay point selection formula (1). As a result, the user can select a candidate selected from among the plurality of candidates by referring to content of the relay point and the warehouse (demand point) group to which the goods are delivered from the relay point and the value of the cost.
  • Next, the relay point selection unit 33 saves the selected relay point and warehouse (demand point) group to which the goods are delivered from the relay point in the memory or the like as one of the selection results (S12).
  • Next, the relay point selection unit 33 outputs a warehouse group "excluding" the selected relay point and warehouse (demand point) group to which the goods are delivered from the relay point (S13). Specifically, for example, the relay point selection unit 33 outputs a list of the delivery destinations, excluding the selected relay point and warehouse (demand point) group to which the goods are delivered from the relay point from among the plurality of delivery destinations (demand points P1, P2...) in the INPUT file.
  • Next, the combination processing unit 32 adds, as in S1, the elements (distance matrix indicating distance between points, demand (amount), and vehicle contact limitation (truck size)) to the list of the warehouse (demand point) group after the exclusion in S13 using the output warehouse group in S13 as INPUT (S14).
  • Next, the combination processing unit 32 returns the processing to S2 and executes the processing in and subsequent to S2 on the list of the warehouse (demand point) group after the exclusion in S13. As a result, the information processing apparatus 1 selects a relay point different from the relay point selected in the previous processing and a delivery destination to which the goods are delivered via the different relay point from among the warehouse (demand point) group after the exclusion in S13.
  • In a case where there is no candidate in S8 (S8: No), the optimization problem processing unit 34 executes the processing for creating the delivery plan for delivering the goods from the delivery source to the plurality of delivery destinations (S15 to S18) on the basis of the selection result of the relay point selection unit 33.
  • Specifically, for example, the optimization problem processing unit 34 reads the relay point and the warehouse (demand point) group, to which the goods are delivered from the relay point, selected by the relay point selection unit 33 from the memory (S15).
  • Next, the optimization problem processing unit 34 divides the optimization problem into a group of the delivery destinations (demand point) to which the goods are delivered via the relay point read from the memory and the group of the delivery destinations (demand point) that are not selected (delivery destination to which goods are directly delivered from supply point P0 not via relay point) (S16).
  • For example, the optimization problem processing unit 34 sets a division problem (1) of the optimization problem regarding the delivery destination to which the goods are directly delivered from the supply point P0 not via the relay point (S16a). Specifically, for example, the optimization problem processing unit 34 adds the elements (distance matrix indicating distance between points, demand (amount), vehicle contact limitation (truck size)) to the list at each point using the group of the warehouses (demand point) not selected (delivery destination to which goods are directly supplied from supply point P0 not via relay point) and the selected relay point as INPUT.
  • Furthermore, the optimization problem processing unit 34 sets the division problem (2A, 2B...) of the optimization problem regarding the delivery destination to which the goods are delivered via the relay point for each of the selected relay points (S16b, S16c...). Specifically, for example, the optimization problem processing unit 34 adds the elements (distance matrix indicating distance between points, demand (amount), vehicle contact limitation (truck size)) to the list at each point using the selected relay point and the warehouse (demand point) group to which the goods are delivered from the relay point as IN PUT.
  • Next, the optimization problem processing unit 34 obtains a delivery plan indicating a delivery order that minimizes a delivery cost by solving each division problem (optimization problem) in S16 by minimizing the energy function using the Ising machine, for example (S17).
  • Here, the energy function solved by the Ising machine will be described. FIG. 5 is an explanatory diagram for explaining a delivery destination, a delivery order, and a distance between the delivery destinations. As illustrated in FIG. 5, after a delivery destination (i) and a delivery order (t) are defined, formulization is performed by using the Ising model as indicated by the following formula (2). E x = i , j w ij x i x j i b i x i
    Figure imgb0002
  • Here, in a case where the delivery destination (i) is not the t-th point: Xti = 0 is satisfied, and in a case where the delivery destination (i) is not the t-th point, Xti = 1 is satisfied. Furthermore, Xoo = xo, Xoi = X4,..., Xoo = xo, and X01 = x4,... are satisfied.
  • A distance between the delivery destinations (i) and (j) is set as dij. For example, d01 = d10 = W05 = W16 = W27... is satisfied. Here, a total distance (D) is as indicated in the following formula (3). D = t , i , j d ij x ti x t + 1 j
    Figure imgb0003
  • Note that, only a delivery order is determined without distinguishing the departure point, the relay point, and the demand point as the delivery destination here. There is a constraint term such that "only one delivery destination at the same time". In other words, for example, ∑iXti = 1 ⇒ (∑iXti - 1) 2 = 0 is satisfied, and Σtti - 1)2 is set to satisfy this formula for all t.
  • Furthermore, there is a constraint term such that "to pass through all the delivery destinations once". In other words, for example, ΣtXti = 1 ⇒ (ΣtXti - 1)2 = 0 is satisfied, and ΣitXti - 1)2 is set to satisfy this formula for all i.
  • Therefore, the energy function is as in the following formula (4). However, α and β are factors of the above constraint terms. E = D + α t i x ti 1 2 + β i i x ti 1 2
    Figure imgb0004
    (α, β: Factors of constraint term)
  • Next, the optimization problem processing unit 34 rearranges the result obtained in S17 so that an output path starts from the supply point P0 or the relay point (S18). Next, the output unit 35 outputs the rearranged final path as the delivery plan for delivering the goods from the delivery source (supply point P0) to the plurality of delivery destinations (demand points P1, P2...) (S19). Next, the output unit 35 saves the output final path (obtained delivery plan) in the memory or the like (S20) and terminates the processing.
  • As described above, the information processing apparatus 1 includes the input reception unit 31, the relay point selection unit 33, and the optimization problem processing unit 34. The input reception unit 31 receives distance information indicating a distance between the points, the total delivery amount of the goods to each delivery destination, and the truck size indicating the maximum allowable delivery amount per delivery for each of the delivery source and the plurality of delivery destinations to which the goods are delivered from the delivery source. The relay point selection unit 33 sets the received truck size as the upper limit and obtains the first cost for the delivery for the total delivery amount from the delivery source to each delivery destination. Furthermore, the relay point selection unit 33 obtains the second cost for the delivery for the total delivery amount to each of the delivery destinations to which the goods are delivered from the delivery source via the relay point and each of the delivery destinations to which the goods are delivered not via the relay point in a case where a predetermined delivery destination among the plurality of delivery destinations is set as a relay point. Next, the relay point selection unit 33 selects a relay point and a delivery destination to which the goods are delivered via the relay point from among the plurality of delivery destinations on the basis of the first cost and the second cost. The optimization problem processing unit 34 creates a delivery plan for delivering the goods from the delivery source to the plurality of delivery destinations on the basis of the selection result.
  • In this way, the delivery plan is created after the relay point and the delivery destination to which the goods are delivered via the relay point are selected from among the plurality of delivery destinations. Therefore, the number of combinations of the delivery paths at the time of creating the delivery plan is largely reduced than that in a case where all the combinations are examined to create the delivery plan. Therefore, it is expected that a calculation cost when the optimization problem is solved at the time of creating the delivery plan is largely lowered.
  • FIG. 6 is an explanatory diagram for explaining an example of a divided path problem. As illustrated in FIG. 6, the information processing apparatus 1 creates the delivery plan after selecting relay points (demand points P6 and P12) and delivery destinations (demand points P6 → P3 to P5 and demand points P12 → P13 to P15) to which the goods are delivered via the relay points from among the plurality of delivery destinations (demand points P1 to P15). As a result, the information processing apparatus 1 creates the delivery plan by solving a path problem in which the demand points are divided into a group G2 of the demand points P6 → P3 to P5, a group G3 of the demand points P12 → P13 to P15, and a group G1 of the demand points (P1, P2, and P6 to P12) to which the goods are directly delivered from the supply point P0. Therefore, because the number of combinations when the path problem is solved is largely reduced, it is expected that the calculation cost is largely lowered.
  • FIGs. 7A, 8A, and 9A are diagrams for explaining examples of input data. FIGs. 7B, 8B, and 9B are explanatory diagrams for explaining examples of the divided path problem.
  • As an example, as illustrated in FIG. 7A, it is assumed that the demand amount for each point (supply point P0 and demand points P1 to P15), the truck size, the distance information indicating the distance between the points be input to the information processing apparatus 1 as input data D11 and D12 regarding conditions of the delivery plan. The information processing apparatus 1 creates a delivery plan on the basis of the input data D11 and D12.
  • At this time, as illustrated in FIG. 7B, the information processing apparatus 1 creates the delivery plan after selecting a relay point (demand point P6) and delivery destinations (demand points P6 → P3 to P5) to which the goods are delivered via the relay point from among the plurality of delivery destinations (demand points P1 to P15). Specifically, for example, the information processing apparatus 1 creates a delivery plan by solving a path problem in which the demand points are divided into the group G2 of the demand points P6 → P3 to P5 and the group G1 of the demand points (P1, P2, and P6 to P15) to which the goods are directly delivered from the supply point P0. As a result, the number of combinations when the path problem is solved is reduced from about 50 trillion combinations, which is the total number of combinations, to about 700 million combinations. Therefore, a calculation speed is expected to be about 70 thousand times faster.
  • Furthermore, as illustrated in FIG. 8A, it is assumed that the demand amount for each point (supply point P0 and demand points P1 to P15), the truck size, the distance information indicating the distance between the points be input to the information processing apparatus 1 as input data D21 and D22 regarding conditions of the delivery plan. The information processing apparatus 1 creates a delivery plan on the basis of the input data D21 and D22.
  • At this time, as illustrated in FIG. 8B, the information processing apparatus 1 creates a delivery plan after selecting a relay point (demand point P1) and delivery destinations (demand points P1 → P2 to P15) to which the goods are delivered via the relay point from among the plurality of delivery destinations (demand points P1 to P15). Specifically, for example, the information processing apparatus 1 creates the delivery plan by solving a path problem in which the demand points are divided into the group G2 of the demand points P1 → P2 to P15 and the group G1 of the demand point P1 to which the goods are directly delivered from the supply point P0. As a result, the number of combinations when the path problem is solved is reduced from about 50 trillion combinations, which is the total number of combinations, to about 40 billion combinations. Therefore, the calculation speed is expected to be about a thousand times faster.
  • Furthermore, as illustrated in FIG. 9A, it is assumed that the demand amount for each point (supply point P0 and demand points P1 to P15), the truck size, the distance information indicating the distance between the points be input to the information processing apparatus 1 as input data D31 and D32 regarding conditions of the delivery plan. The information processing apparatus 1 creates the delivery plan on the basis of the input data D31 and D32.
  • At this time, as illustrated in FIG. 9B, the information processing apparatus 1 creates a delivery plan after selecting a relay point (demand point P7) and delivery destinations (demand points P7 → P12 to P15) to which the goods are delivered via the relay point from among the plurality of delivery destinations (demand points P1 to P15). Specifically, for example, the information processing apparatus 1 creates the delivery plan by solving a path problem in which the demand points are divided into the group G2 of the demand points P7 → P12 to P15 and the group G1 of the demand points P1 to P11 to which the goods are directly delivered from the supply point P0. As a result, the number of combinations when the path problem is solved is reduced from about 50 trillion combinations, which is the total number of combinations, to about 200 million combinations. Therefore, the calculation speed is expected to be about 200 thousand times faster.
  • Furthermore, the relay point selection unit 33 selects a relay point and a delivery destination to which the goods are delivered via the relay point from among the candidates on the basis of the difference (C) between the first cost and the second cost that is obtained as indicated in the formula (1), for each of the candidates of the relay point and the candidates of the delivery destination to which the goods are delivered via the relay point, among the plurality of delivery destinations. With this selection, the information processing apparatus 1 can select the relay point and the delivery destination to which the goods are delivered via the relay point from among the candidates on the basis of the difference between the first cost and the second cost that is obtained by using the formula (1) described above while setting the truck size indicating the maximum allowable delivery amount per delivery as the upper limit.
  • Furthermore, the relay point selection unit 33 selects a relay point different from the relay point and a delivery destination to which the goods are delivered via the different relay point from among the delivery destinations excluding the delivery destination, to which the goods are delivered via the relay point, selected from among the plurality of delivery destinations. With this selection, the information processing apparatus 1 can create the delivery plan after selecting the plurality of relay points and the delivery destinations to which the goods are delivered via each of the plurality of relay points from among the plurality of delivery destinations. Furthermore, in a case where the delivery plan is created after the plurality of relay points and the delivery destinations to which the goods are delivered via each of the plurality of relay points, it is expected that the calculation cost when the optimization problem is solved at the time of creating the delivery plan is largely lowered than that in a case where the number of relay points is one.
  • Furthermore, the optimization problem processing unit 34 creates a delivery plan by solving the optimization problem in a case where the goods are delivered from the delivery source to the relay point and each of the delivery destinations to which the goods are delivered via the relay point and the optimization problem in a case where the goods are delivered from the delivery source to each of the delivery destinations to which the goods are delivered not via the relay point. In this way, regarding the information processing apparatus 1, by separately solving the optimization problems when the delivery plan for delivering the goods from the delivery source to the plurality of delivery destinations is created, it is expected that the calculation cost is largely lowered than that in a case where the single optimization problem for all the combinations is solved.
  • Note that the components of each of the illustrated devices are not necessarily and physically configured as illustrated in the drawings. In other words, for example, the specific aspects of separation and integration of each of the apparatus and devices are not limited to the illustrated aspects, and all or some of the apparatus or devices can be functionally or physically configured by being separated and integrated in any unit, in accordance with various loads, use status, and the like.
  • In addition, various processing functions executed with the information processing apparatus 1 may be entirely or optionally partially executed on a central processing unit (CPU) (or a microcomputer, such as a microprocessor unit (MPU) or a micro controller unit (MCU)). Furthermore, it is needless to say that whole or any part of various processing functions may be executed by a program to be analyzed and executed on a CPU (or microcomputer such as MPU or MCU), or on hardware by wired logic. In addition, various processing functions executed with the information processing apparatus 1 may be executed by a plurality of computers in cooperation with each other through cloud computing.
  • Meanwhile, the various processing described in the above embodiment can be achieved by execution of a prepared program on a computer. Thus, there will be described below an example of a computer (hardware) that executes a program having functions similar to the above embodiment. FIG. 10 is a block diagram illustrating an exemplary hardware configuration of the information processing apparatus 1 according to the embodiment.
  • As illustrated in FIG. 10, the information processing apparatus 1 includes a CPU 101 that executes various types of arithmetic processing, an input device 102 that receives data input, a monitor 103, and a speaker 104. In addition, the information processing apparatus 1 includes a medium reading device 105 that reads a program and the like from a storage medium, an interface device 106 that is used to connect to various devices, and a communication device 107 that makes communicative connection with an external device in a wired or wireless manner. Furthermore, the information processing apparatus 1 further includes a RAM 108 for temporarily storing various types of information, and a hard disk device 109. Furthermore, each unit (101 to 109) in the information processing apparatus 1 is connected to a bus 110.
  • The hard disk device 109 stores a program 111 used to execute various processing by the input reception unit 31, the combination processing unit 32, the relay point selection unit 33, the optimization problem processing unit 34, the output unit 35, or the like described in the above embodiment. In addition, the hard disk device 109 stores various types of data 112 to which the program 111 refers. The input device 102 receives, for example, an input of operation information from an operator. The monitor 103 displays, for example, various screens operated by the operator. The interface device 106 is connected to, for example, a printing device or the like. The communication device 107 is connected to a communication network such as a local area network (LAN), and exchanges various types of information with the external device via the communication network.
  • The CPU 101 reads the program 111 stored in the hard disk device 109 and develops and executes the program 111 on the RAM 108 so as to execute various processing regarding the input reception unit 31, the combination processing unit 32, the relay point selection unit 33, the optimization problem processing unit 34, the output unit 35, or the like. Note that, it is not needed for the program 111 to be stored in the hard disk device 109. For example, the program 111 that is stored in a storage medium that can be read by the information processing apparatus 1 may be read and executed. The storage medium which can be read by the information processing apparatus 1 corresponds to, for example, a portable recording medium such as a CD-ROM, a DVD disk, and a universal serial bus (USB) memory, a semiconductor memory such as a flash memory, a hard disk drive, and the like. Alternatively, the program 111 may be prestored in a device connected to a public line, the Internet, a LAN, or the like, and the information processing apparatus 1 may read the program 111 from the device to execute the program 111.
  • [REFERENCE SIGNS LIST]
    • 1information processing apparatus
    • 10communication unit
    • 20storage unit
    • 21input information
    • 30control unit
    • 31input reception unit
    • 32combination processing unit
    • 33relay point selection unit
    • 34optimization problem processing unit
    • 35output unit
    • 101CPU
    • 102input device
    • 103monitor
    • 104speaker
    • 105medium reading device
    • 106interface device
    • 107communication device
    • 108RAM
    • 109hard disk device
    • 110bus
    • 111program
    • 112various types of data
    • D11 to D32input data
    • G1 to G3group
    • P0supply point
    • P1 to P15demand point
    • Tltruck
    [CITATION LIST] [PATENT LITERATURE]
    • Japanese Laid-open Patent Publication No. 2005-263447
    • Japanese Laid-open Patent Publication No. 2002-356232 .

Claims (12)

  1. A delivery plan creation support program comprising instructions which, when the program is executed by a computer, cause the computer to carry out processing, the processing comprising:
    for each of a delivery source and each of a plurality of delivery destinations to which goods are delivered from the delivery source, receiving distance information that indicates a distance between points, delivery amount information that indicates a total delivery amount of the goods to each of the plurality of delivery destinations, and maximum delivery amount information that indicates a maximum delivery amount per delivery;
    calculating a first cost to deliver the goods for the total delivery amount from the delivery source to each of the plurality of delivery destinations while setting the maximum delivery amount indicated by the maximum delivery amount information as an upper limit;
    calculating a second cost to deliver the goods for the total delivery amount from the delivery source to each of the delivery destinations to which the goods are delivered via a relay point and each of the delivery destinations to which the goods are delivered not via the relay point in a case where the maximum delivery amount indicated by the maximum delivery amount information is set as the upper limit and a predetermined delivery destination among the plurality of delivery destinations is set as the relay point;
    executing selection processing for selecting a delivery destination to be the relay point and the delivery destination to which the goods are delivered via the relay point from among the plurality of delivery destinations on the basis of the first cost and the second cost; and
    creating a delivery plan for delivering the goods from the delivery source to the plurality of delivery destinations on the basis of a result of the selection processing.
  2. The delivery plan creation support program according to claim 1, wherein
    for each of a candidate of the relay point and a candidate of the delivery destination to which the goods are delivered via the candidate of the relay point among the plurality of delivery destinations, the selection processing selects the relay point and the delivery destination to which the goods are delivered via the relay point from among the candidates on the basis of a difference (C) between the first cost and the second cost that is obtained as indicated in a formula (1):
    Figure imgb0005
  3. The delivery plan creation support program according to claim 1 or 2, wherein
    the selection processing selects a relay point different from the relay point and a delivery destination to which the goods are delivered via the different relay point from among delivery destinations excluding the delivery destination, to which the goods are delivered via the relay point, selected from among the plurality of delivery destinations.
  4. The delivery plan creation support program having stored therein the delivery plan creation support program according to any one of claims 1 to 3, wherein
    the creating processing creates the delivery plan by solving an optimization problem in a case where the goods are delivered from the delivery source to each of the selected relay point and the selected delivery destinations to which the goods are delivered via the relay point and an optimization problem in a case where the goods are delivered from the delivery source to each of the delivery destinations to which the goods are delivered not via the relay point.
  5. A method implemented by a computer, the method comprising:
    for each of a delivery source and each of a plurality of delivery destinations to which goods are delivered from the delivery source, receiving distance information that indicates a distance between points, delivery amount information that indicates a total delivery amount of the goods to each of the plurality of delivery destinations, and maximum delivery amount information that indicates a maximum delivery amount per delivery;
    calculating a first cost to deliver the goods for the total delivery amount from the delivery source to each of the plurality of delivery destinations while setting the maximum delivery amount indicated by the maximum delivery amount information as an upper limit;
    calculating a second cost to deliver the goods for the total delivery amount from the delivery source to each of the delivery destinations to which the goods are delivered via a relay point and each of the delivery destinations to which the goods are delivered not via the relay point in a case where the maximum delivery amount indicated by the maximum delivery amount information is set as the upper limit and a predetermined delivery destination among the plurality of delivery destinations is set as the relay point;
    executing selection processing for selecting a delivery destination to be the relay point and the delivery destination to which the goods are delivered via the relay point from among the plurality of delivery destinations on the basis of the first cost and the second cost; and
    creating a delivery plan for delivering the goods from the delivery source to the plurality of delivery destinations on the basis of a result of the selection processing.
  6. The method according to claim 5, wherein
    for each of a candidate of the relay point and a candidate of the delivery destination to which the goods are delivered via the candidate of the relay point among the plurality of delivery destinations, the selection processing selects the relay point and the delivery destination to which the goods are delivered via the relay point from among the candidates on the basis of a difference (C) between the first cost and the second cost that is obtained as indicated in a formula (1):
    Figure imgb0006
  7. The method according to claim 5 or 6, wherein
    the selection processing selects a relay point different from the relay point and a delivery destination to which the goods are delivered via the different relay point from among delivery destinations excluding the delivery destination, to which the goods are delivered via the relay point, selected from among the plurality of delivery destinations.
  8. The method according to any of claims 5 to 7, wherein
    the creating processing creates the delivery plan by solving an optimization problem in a case where the goods are delivered from the delivery source to each of the selected relay point and the selected delivery destinations to which the goods are delivered via the relay point and an optimization problem in a case where the goods are delivered from the delivery source to each of the delivery destinations to which the goods are delivered not via the relay point.
  9. An information processing apparatus comprising:
    a reception unit configured to, for each of a delivery source and each of a plurality of delivery destinations to which goods are delivered from the delivery source, receive distance information that indicates a distance between points, delivery amount information that indicates a total delivery amount of the goods to each of the plurality of delivery destinations, and maximum delivery amount information that indicates a maximum delivery amount per delivery;
    a selection unit configured to calculate a first cost to deliver the goods for the total delivery amount from the delivery source to each of the plurality of delivery destinations while setting the maximum delivery amount indicated by the maximum delivery amount information as an upper limit, calculate a second cost to deliver the goods for the total delivery amount from the delivery source to each delivery destination to which the goods are delivered via a relay point and each delivery destination to which the goods are delivered not via the relay point in a case where the maximum delivery amount indicated by the maximum delivery amount information is set as the upper limit and a predetermined delivery destination among the plurality of delivery destinations is set as the relay point, and execute selection processing for selecting a delivery destination to be the relay point and the delivery destination to which the goods are delivered via the relay point from among the plurality of delivery destinations on the basis of the first cost and the second cost; and
    a creation unit configured to create a delivery plan for delivering the goods from the delivery source to the plurality of delivery destinations on the basis of a result of the selection processing.
  10. The information processing apparatus according to claim 9, wherein
    for each of a candidate of the relay point and a candidate of the delivery destination to which the goods are delivered via the candidate of the relay point among the plurality of delivery destinations, the selection unit selects the relay point and the delivery destination to which the goods are delivered via the relay point from among the candidates on the basis of a difference (C) between the first cost and the second cost that is obtained as indicated in a formula (1):
    Figure imgb0007
  11. The information processing apparatus according to claim 9 or 10, wherein
    the selection unit selects a relay point different from the relay point and a delivery destination to which the goods are delivered via the different relay point from among delivery destinations excluding a delivery destination, to which the goods are delivered via the relay point, selected from among the plurality of delivery destinations.
  12. The information processing apparatus according to any one of claims 9 to 11, wherein
    the creation unit creates the delivery plan by solving an optimization problem in a case where the goods are delivered from the delivery source to each of the selected relay point and the selected delivery destinations to which the goods are delivered via the relay point and an optimization problem in a case where the goods are delivered from the delivery source to each of the delivery destinations to which the goods are delivered not via the relay point.
EP21153713.9A 2020-04-24 2021-01-27 Delivery plan creation support program, delivery plan creation support method, and information processing apparatus Withdrawn EP3901860A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020077846A JP2021174262A (en) 2020-04-24 2020-04-24 Delivery plan creation support program, delivery plan creation support method, and information processing device

Publications (1)

Publication Number Publication Date
EP3901860A1 true EP3901860A1 (en) 2021-10-27

Family

ID=74285382

Family Applications (1)

Application Number Title Priority Date Filing Date
EP21153713.9A Withdrawn EP3901860A1 (en) 2020-04-24 2021-01-27 Delivery plan creation support program, delivery plan creation support method, and information processing apparatus

Country Status (4)

Country Link
US (1) US11544660B2 (en)
EP (1) EP3901860A1 (en)
JP (1) JP2021174262A (en)
CN (1) CN113554382A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023214264A1 (en) * 2022-05-05 2023-11-09 Deliverider Ltd. Methods and systems for middle-channel consolidation of distributed objects

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7484556B2 (en) * 2020-08-17 2024-05-16 富士通株式会社 Information processing device, optimization method, and optimization program
US11972390B1 (en) * 2021-03-25 2024-04-30 Amazon Technologies, Inc. Multi-stage optimization of transportation plan associated with a transportation network
US20230090740A1 (en) * 2021-07-30 2023-03-23 PCS Software, Inc. System and Method for Predicting Arrival Time in a Freight Delivery System
JP2025021165A (en) * 2023-07-31 2025-02-13 富士通株式会社 Information processing program, information processing method, and information processing device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002356232A (en) 2001-05-31 2002-12-10 Mitsubishi Chemicals Corp How to optimize logistics via relay points
US20030078802A1 (en) * 2001-10-22 2003-04-24 International Business Machines Corporation Method, system and program for creating a delivery plan
JP2005263447A (en) 2004-03-19 2005-09-29 Yaskawa Electric Corp Optimal vehicle allocation planning method and program storage medium thereof
EP2254082A1 (en) * 2009-05-19 2010-11-24 Hitachi, Ltd. Transportation schedule planning support system and transportation schedule planning support method

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100470919B1 (en) * 2002-12-21 2005-03-10 한국전자통신연구원 System and method for backbone transportation planning of hub-and-spoke transportation networks
US8364607B2 (en) * 2009-08-19 2013-01-29 United Parcel Service Of America, Inc. Shipment flow validation systems and methods
CN109564647B (en) * 2016-09-09 2023-07-14 罗集帝株式会社 Evaluation device, evaluation method and evaluation program
CN108399518A (en) * 2018-02-08 2018-08-14 优荑众创实业(深圳)有限公司 Internet of Things Package Management system and method
JP7500223B2 (en) * 2020-02-27 2024-06-17 株式会社東芝 Information processing device, information processing system, information processing method, and information processing program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002356232A (en) 2001-05-31 2002-12-10 Mitsubishi Chemicals Corp How to optimize logistics via relay points
US20030078802A1 (en) * 2001-10-22 2003-04-24 International Business Machines Corporation Method, system and program for creating a delivery plan
JP2005263447A (en) 2004-03-19 2005-09-29 Yaskawa Electric Corp Optimal vehicle allocation planning method and program storage medium thereof
EP2254082A1 (en) * 2009-05-19 2010-11-24 Hitachi, Ltd. Transportation schedule planning support system and transportation schedule planning support method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023214264A1 (en) * 2022-05-05 2023-11-09 Deliverider Ltd. Methods and systems for middle-channel consolidation of distributed objects

Also Published As

Publication number Publication date
US11544660B2 (en) 2023-01-03
JP2021174262A (en) 2021-11-01
US20210334745A1 (en) 2021-10-28
CN113554382A (en) 2021-10-26

Similar Documents

Publication Publication Date Title
EP3901860A1 (en) Delivery plan creation support program, delivery plan creation support method, and information processing apparatus
WO2022218308A1 (en) Warehousing network planning method and apparatus, readable storage medium, and electronic device
US20130103441A1 (en) Generating Predictions for Business Processes Whose Execution is Driven by Data
CN112488623A (en) Method, device, equipment and storage medium for displaying package pre-distribution route
CN113506068A (en) Warehouse entry and exit method and device, storage medium and electronic equipment
US20180330279A1 (en) Computer-readable recording medium, learning method, and learning apparatus
EP4207006A1 (en) Model generation program, model generation method, and model generation device
US20230334342A1 (en) Non-transitory computer-readable recording medium storing rule update program, rule update method, and rule update device
EP3121778A1 (en) Information processing apparatus, information processing method, and program
EP3879466A1 (en) Information processing apparatus, route generation method, and route generation program
CN114174996B (en) Repair support system and repair support method
CN113196335B (en) Small batch learning device and its working procedure and working method
US12039710B2 (en) Method for improving efficiency of defect detection in images, image defect detection apparatus, and computer readable storage medium employing method
JP2024029969A (en) Information processing device control method, information processing device, and program
CN111678530A (en) Carpooling path determination method and device
US20240362908A1 (en) Image analysis apparatus, image analysis method, and storage medium
JP2021022199A (en) Classification method for terminal data, terminal, and program
Zhao et al. Managing Multitier Inventory Networks with Expediting Under Normal and Disrupted Modes
US10546256B2 (en) Security plan support method, security plan support device and recording medium
CN110797081B (en) Activation area identification method and device, storage medium and electronic equipment
EP3975069A1 (en) Information processing apparatus, information processing system and information processing method
JP2008269418A (en) Stock change support method, stock change support program, and recording medium
US12443860B2 (en) Systems and methods for generating customer journeys for an application based on process management rules
US20230058114A1 (en) Operation control apparatus, operation control method, and non-transitorycomputer readable medium
JP7501012B2 (en) Document processing device, document management server and program

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN PUBLISHED

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

B565 Issuance of search results under rule 164(2) epc

Effective date: 20210604

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20211115

RBV Designated contracting states (corrected)

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20220726

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20240801