WO2023053287A1 - 配送計画装置、配送計画方法、及びプログラム - Google Patents

配送計画装置、配送計画方法、及びプログラム Download PDF

Info

Publication number
WO2023053287A1
WO2023053287A1 PCT/JP2021/035937 JP2021035937W WO2023053287A1 WO 2023053287 A1 WO2023053287 A1 WO 2023053287A1 JP 2021035937 W JP2021035937 W JP 2021035937W WO 2023053287 A1 WO2023053287 A1 WO 2023053287A1
Authority
WO
WIPO (PCT)
Prior art keywords
customer
time
service
delivery planning
customers
Prior art date
Application number
PCT/JP2021/035937
Other languages
English (en)
French (fr)
Inventor
ショウ オウ
雄介 中野
研 西松
Original Assignee
日本電信電話株式会社
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 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to JP2023550859A priority Critical patent/JPWO2023053287A1/ja
Priority to PCT/JP2021/035937 priority patent/WO2023053287A1/ja
Publication of WO2023053287A1 publication Critical patent/WO2023053287A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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

Definitions

  • the present invention relates to technology for solving delivery planning problems.
  • VRP vehicle routing problem
  • VRP solutions such as e-commerce just-in-time delivery, cold chain delivery, and store replenishment.
  • VRP time-framed VRP
  • VRPTW time-framed VRP
  • MDVRP multi-depot delivery planning problem
  • MDVRP there are a plurality of depots (service centers) from which vehicles can start and end.
  • OR-based algorithms manually define a search model and find a VRP solution at the expense of solution quality for efficiency.
  • conventional OR-based methods have two drawbacks.
  • the first drawback is that for practical-scale VRP problems (with more than 100 customers), calculations can take days or years to obtain an optimal or approximate solution using OR-based algorithms. There is a point that
  • a second drawback is that different VRP variations require different handcrafted search models and initial search conditions, and therefore different OR algorithms. For example, a poor initial solution can lead to long processing times and local optima. In this respect, OR-based algorithms are difficult to generalize and use in real business scenarios.
  • Non-Patent Document 1 discloses a VRP solution based on actor-critic reinforcement learning, which solves the shortcomings of OR-based algorithms. That is, neural network models can significantly improve complexity and expressiveness with high accuracy, especially when the number of customer nodes is large.
  • the neural network takes time in the learning phase, it can instantly find an approximate solution in the inference phase, greatly improving the execution efficiency of practical business applications.
  • data-driven neural networks do not need to define a mathematical model for exploration, so we can simply feed new data and adjust the reward function or other basic engineering tasks to create different VRP variations. It is also very convenient for practical research and business development.
  • VRP solution In real-world applications, there are many practical business scenarios where distribution and service costs can be optimized through the VRP solution, such as e-commerce just-in-time delivery, cold chain delivery, and store replenishment.
  • a telecommunications carrier receives a large number of requests from customers every day, and goes to the customer's home from the service center to help repair network failures.
  • the length of time it takes to repair will vary, and the difference often varies greatly.
  • it is important to plan a rational and efficient repair order and route in order to minimize the number of repair staff and work hours while considering the repair time zone specified by the customer. is considered to be one of the most necessary means for reducing costs and improving service quality.
  • the present invention has been made in view of the above points, and solves a delivery planning problem that considers time frame constraints and time cost constraints, thereby realizing a delivery plan under time frame constraints and time cost constraints.
  • the purpose is to provide technology to realize
  • a neural network that performs reinforcement learning by an actor-critic method is used to solve the delivery planning problem of determining a route for providing services to multiple customers by a vehicle departing from a service center. Equipped with a solving algorithm calculation unit, The algorithm calculation unit is provided with a delivery planning device that solves the delivery planning problem with constraints such as a time frame indicating the range of time to arrive at the customer and a time cost indicating the length of time required to provide the service to the customer. .
  • a technique for realizing a delivery plan under time-frame constraints and time-cost constraints by solving a delivery-planning problem that considers time-frame constraints and time-cost constraints. be done.
  • FIG. 1 is a configuration diagram of an apparatus according to an embodiment of the present invention
  • FIG. 3 is a configuration diagram of an algorithm calculation unit 130; FIG. It is a figure which shows problem setting.
  • FIG. 1 illustrates Algorithm 1;
  • FIG. 10 illustrates Algorithm 2; It is a figure which shows the hardware configuration example of an apparatus.
  • the problem formulation introduces two new constraints (timeframe and time cost) in addition to existing constraints in VRP such as demand and load in the optimization process.
  • "load” is assumed to be “luggage”, “load”, etc. mounted on a service vehicle, and "load” can be rephrased as “luggage”, "load”, etc. good too.
  • the present embodiment uses a data-driven, end-to-end policy-based reinforcement learning framework to solve VRPTWTC.
  • the policy-based reinforcement learning framework includes two neural networks, an actor network and a critic network.
  • the actor network generates paths for VRPTWTC, and the critic network estimates and evaluates the value function.
  • a novel masking algorithm is used in combination with the actor network.
  • the masking algorithm allows the problem to be solved under the constraints in conventional VRP as well as the time window and time cost constraints formulated in this embodiment.
  • FIG. 1 shows a configuration diagram of a delivery planning apparatus 100 according to this embodiment.
  • the delivery planning device 100 has a user information collection unit 110 , a service vehicle information collection unit 120 , an algorithm calculation unit 130 , a map API unit 140 and a vehicle allocation unit 150 .
  • the delivery planning device 100 may be implemented by one device (computer) or may be implemented by multiple devices.
  • the algorithm calculation unit 130 may be implemented in one computer, and the other functional units may be implemented in another computer.
  • An outline of the operation of the delivery planning device 100 is as follows.
  • the user information collection unit 110 acquires feature amounts for each user (customer).
  • the feature amount of each user includes, for example, each user's designated time frame (time window), service time cost (time cost), and the like.
  • the service vehicle information collection unit 120 collects feature amounts for each service vehicle.
  • the feature quantity for each service vehicle includes, for example, the departure position of each service vehicle.
  • the algorithm calculation unit 130 outputs a delivery plan by solving the VRP problem based on the information of each user (customer) and each service vehicle. Details of the algorithm calculation unit 130 will be described later.
  • the map API unit 140 performs a route search based on the information on the delivery plan output from the algorithm calculation unit 130, and draws, for example, the route of the delivery plan for each service vehicle on the map. Based on the output result of the map API unit 140, the vehicle allocation unit 150 distributes service route information to each service vehicle (or service center terminal) via the network. Note that the dispatch unit 150 may also be called an “output unit”.
  • the map API unit 140 may search for routes by accessing an external map server.
  • the map API unit 140 itself may store a map database and use the map database to search for a route.
  • the algorithm calculation unit 130 has obtained a delivery plan of "0 ⁇ 2 ⁇ 3 ⁇ 0" as a delivery plan.
  • 0 indicates a service center
  • 2 and 3 indicate customer numbers.
  • the map API unit 140 draws the actual road route of "service center ⁇ customer 2 ⁇ customer 3 ⁇ service center” on the map, and the dispatch unit 150 outputs map information with the drawn route. .
  • FIG. 2 shows a configuration example of the algorithm calculation unit 130.
  • the algorithm calculator 130 is a model of a neural network that performs actor-critic reinforcement learning. This model may be called the VRPTWTC model.
  • this model includes neural networks in both the actor network 131 and the critic network 132.
  • the actor network 131 has a Dense embedding layer (one layer), an LSTM cell, an Attention layer, a Softmax calculation unit (Softmax), and a masking unit (Masking). These constitute an encoder-decoder configuration and a pointer network.
  • the critical network 132 has Dense embedding layers (three layers).
  • the Dense embedding layer, LSTM cell, Attention layer in the actor network 131, and the Dense embedding layer in the critic network 132 have learnable parameters in the neural network.
  • the feature amount obtained by the LSTM cell from the hidden state which is the output from the Dense embedding layer corresponding to the encoder, is input to the Attention layer, and the output from the Dense embedding layer and the output from the Attention layer give the Context.
  • the obtained value calculated by Softmax from Context is output through Masking and used for reward calculation.
  • a loss (loss function) is obtained based on the feature amount obtained by the Dense embedding layer from the input data and the reward, and learning is performed to reduce the loss.
  • the arrow lines between the input hidden state, context, attention layer, LSTM, and softmax indicate attention-based pointer networks.
  • a loss function is calculated by the reward function and the critical network.
  • the algorithm calculation unit 130 uses the neural network shown in FIG. 2 to learn a large amount of simulation learning data, and has a mechanism that allows testing (delivery plan creation) with both real data and simulation data.
  • the processing content of the algorithm calculation unit 130 will be described in more detail below.
  • Service is provided to all customers, and the time at which service is provided (time at which service vehicles arrive) must be within the time frame (time window) specified by each customer.
  • Each customer has a service time cost that varies depending on the service. This "time cost" is the time required to provide the service at the customer's home. Service at the customer's premises is, for example, repair of communication equipment.
  • VRPTWTC vehicle routing problem with time windows and time costs
  • the neural network corresponding to the algorithm calculation unit 130 solves the above problem (delivery plan).
  • time frame specified by the customer and the time cost of the service are strictly considered in the optimization process. Violation of time slots and violation of total working hours limits will not be tolerated, which will also help improve the quality of service and protect the rights of staff.
  • the present embodiment uses the actual map application programming interface (API) to evaluate the effectiveness of the algorithm. For example, evaluating whether a service vehicle will arrive within a specified time frame. This improves the applicability of the proposed method in the actual industry.
  • API map application programming interface
  • FIG. A set of Customers ⁇ ⁇ x 1 , x 2 , .
  • a set of service vehicles is placed in the service center.
  • Each service vehicle is capable of leaving a service center and servicing a set of customers ⁇ .
  • Each customer is serviced only once by any service vehicle. After visiting all scheduled customers, the service vehicle returns to the service center.
  • x n f1 is the address of the nth customer.
  • x n f2 is the demand of the nth customer, which is the same demand feature of the classical VRP problem.
  • x n f3 is the time window specified by the nth customer, meaning that the customer needs to be visited by the service vehicle during that time window.
  • xnf4 is the time cost of servicing the nth customer, which indicates how long it takes to service the nth customer.
  • the service center is the 0th customer in the problem formulation.
  • time frame violations inability to service customers within the time frame
  • time cost violations service vehicles working more than 8 hours a day
  • the load is initialized with a value of 1 (adjustable depending on the task).
  • each service vehicle has a service time of up to 8 hours.
  • the maximum time for a service vehicle to leave the service center to provide service should not exceed 8 hours (this can be adjusted according to actual business demands).
  • the following two conditions (1) and (2) are defined as conditions for service vehicles to provide services. A service vehicle must return to the service center in the following cases (1) or (2).
  • ⁇ B Pointer Network in Actor Network 131>
  • the solution ⁇ to VRPTWTC is a sequence Markov Decision Process (MDP), which is the process of choosing the next action in the sequence (ie, which customer node to serve next).
  • MDP sequence Markov Decision Process
  • a pointer network (PointerNet) is used to formulate the MDP process.
  • PointerNet itself is an existing technology.
  • an encoder with a Dense layer performs an embedding of all incoming customer and depot (service center) features to extract hidden states.
  • the decoder then recovers the behavior of the MDP and passes it to the Attention layer by using Long Short-term Memory (LSTM) cells connected one by one.
  • LSTM Long Short-term Memory
  • Non-Patent Document 1 The key difference between the technique disclosed in Non-Patent Document 1 and the technique according to the present embodiment is that in the present embodiment, we design a novel masking algorithm and incorporate it into the actor network 131 to The point is to find a solution under the constraints of time frame, time cost and total time limit.
  • the Dense embedding layer (encoder) of the actor network and the pointer network will be explained in more detail.
  • each x n in ⁇ ⁇ x 1 , x 2 , .
  • ⁇ embedded ⁇ embedded ,b embedded ⁇ is a learnable parameter expressed as a dense layer in the embedding layer of this embodiment.
  • the decoder contains a sequence of LSTM cells.
  • sequences of LSTM cells are used to model actions in the MDP.
  • dm the hidden state in the LSTM cell with weight ⁇ LSTM .
  • M is the total number of decoder steps.
  • Softmax normalizes the vector u m (of length N) to the output distribution (probability distribution) over all inputs ⁇ .
  • the probability of each customer (probability of being selected as a service target) at the m-th step is output from equation (3).
  • ⁇ Pointer ⁇ v, W 1 , W 2 ⁇ are the learnable parameters of the pointer.
  • the final output of the actor network 131 is the service path ⁇ , which corresponds to the output of the sequence of all m LSTM cells.
  • multiple LSTMs can be interpreted as MDPs.
  • D 1 , D 2 . . . D m ⁇ 1 , ⁇ ; ⁇ ) we abbreviate p(D m ).
  • this embodiment proposes a novel masking algorithm and combines it with the actor network 131 to optimize the VRPTWTC.
  • Load-demand masking is used to solve the traditional VRP constraint.
  • Time window masking and time cost masking are used to optimize the new constraints formulated in VRPTWTC.
  • the masking algorithm is combined with the actor network 131 to output the probability of actions in reinforcement learning. We first describe each of these three sub-maskings, then how to combine them in the actor network. Both (2) and (3) may be implemented, or one of them may be implemented.
  • Load-demand submasking Both service capacity and customer demand for service vehicles are finite and finite, so when there is no remaining load on a service vehicle, the service vehicle must return to the service center for resupply.
  • Equation (4) states that if the nth customer is selected at decoder step m, then at the next decoder step m+1 the demand for customer n is 0 (served) and the demand minus the load (if service vehicles are insufficient to provide the entire service), whichever is greater. It also shows that the demands of customers other than n do not change.
  • Timeframe submasking In our problem setting, the service vehicle must arrive at each customer at a specified time (within a specified time frame), so each step of the decoder adds time window submasking to Set the probability of customers who are unlikely to reach to 0. Thus, setting the probability of a customer to 0 may be called masking or filtering.
  • equation (3) indicates that the pointer (Softmax) normalizes the vector u m to the output probability distribution p(D m ) for all input customers ⁇ .
  • p(D m ) is an n-dimensional vector denoting the probability distribution over ⁇ at decoder step m.
  • ⁇ ′ ⁇ denote the set of customers that need to be served. The reason for using such a set is that some customers will be serviced before step m or the service vehicles will not have sufficient load.
  • t total is the total time on the current route to the customer who received the service immediately before
  • t move is the travel time from the customer who received the service immediately before to n′. be.
  • Equation (6) states that the sum of the total time cost t total on a route and the time t move spent moving from the previous customer to the current customer n′ is the specified time frame of the current customer n′. is exceeded, it means that the probability of visiting the customer is set to 0.
  • Time cost submasking The time cost submasking is used to force the service vehicle back to the service center if the total time cost t total exceeds 8 hours and is given by equation (7) below.
  • the service center is the 0th customer in the formulation of this problem.
  • t total may also be called the total operating time.
  • FIG. 4 shows a masking processing algorithm (algorithm 1). This is the processing executed by Masking (masking unit) in FIG.
  • Masking masking unit
  • the masking algorithm shown in Algorithm 1 introduces three sub-maskings. After data input and initialization, at each step m of the LSTM-based decoder, first, for each demand of a customer, if all demands are 0, i.e., if all customers have been served, the decoder loop is finish.
  • the members of the pointer probability vector p(D m ) generated by the action network 131 are sorted in descending order to obtain p sort (D m ). Then, using equation (6), we filter the unserviceable customers into p sort,i (D m ) considering the time window and the total time cost of the current service path, and use Softmax to p Normalize sort,i (D m ).
  • a probabilistic policy ⁇ generates a probability distribution for the next action (which customer to visit) at any given decoder step.
  • a critic network 132 with learnable parameters ⁇ critical estimates the gradient for any problem instance from a given state in reinforcement learning.
  • the critic network 132 consists of three dense layers, takes static and dynamic states as inputs, and predicts rewards.
  • the output probabilities of the actor network 131 are used as weights and a single value is output by calculating the weighted sum of the embedded inputs (outputs from the Dense layer). This can be interpreted as the output of the value function predicted by the critic network 131 .
  • Figure 5 shows the actor-critic algorithm (algorithm 2).
  • Line 6 based on the current ⁇ embedded , we process the embedded layer to get x n-dense (batch).
  • Lines 7 and 12 mean repeating lines 8 to 11 at each decoder step m ⁇ (1, 2, . . . M).
  • Line 8 means that lines 9 to 11 are repeated as long as the termination condition is satisfied.
  • the reward R is calculated.
  • Algorithm 2 of the actor-critic in this embodiment shown in FIG. 5 shows a training process. After this learning process, a test (actual delivery plan output) may be performed, or a test may be performed while learning is progressing.
  • ⁇ actor includes ⁇ embedded , ⁇ LSTM and ⁇ Pointer .
  • V(D m ; ⁇ critical ) is the value function approximated from the critical network.
  • V( ⁇ ; ⁇ critical ) is a value function that predicts the reward for all raw inputs.
  • RV( ⁇ ; ⁇ critical ) is used as an advantage function to replace the cumulative reward of the conventional reinforcement learning-based VRP method. In actor critics, the method of using the advantage function itself is an existing technology.
  • Reward This embodiment uses a reward function based on the length of the tour (total route) as in the existing technology. A penalty term may be included that adds a penalty value if the time frame is violated. Note that using the length of the tour is an example, and a reward function other than the length may be used.
  • the delivery planning apparatus 100 can be implemented by, for example, causing a computer to execute a program.
  • This computer may be a physical computer or a virtual machine on the cloud.
  • the delivery planning device 100 can be realized by executing a program corresponding to the processing performed by the delivery planning device using hardware resources such as a CPU and memory built into the computer.
  • the above program can be recorded in a computer-readable recording medium (portable memory, etc.), saved, or distributed. It is also possible to provide the above program through a network such as the Internet or e-mail.
  • FIG. 6 is a diagram showing a hardware configuration example of the computer.
  • the computer of FIG. 6 has a drive device 1000, an auxiliary storage device 1002, a memory device 1003, a CPU 1004, an interface device 1005, a display device 1006, an input device 1007, an output device 1008, etc., which are interconnected by a bus BS.
  • a program that implements the processing in the computer is provided by a recording medium 1001 such as a CD-ROM or memory card, for example.
  • a recording medium 1001 such as a CD-ROM or memory card
  • the program is installed from the recording medium 1001 to the auxiliary storage device 1002 via the drive device 1000 .
  • the program does not necessarily need to be installed from the recording medium 1001, and may be downloaded from another computer via the network.
  • the auxiliary storage device 1002 stores installed programs, as well as necessary files and data.
  • the memory device 1003 reads and stores the program from the auxiliary storage device 1002 when a program activation instruction is received.
  • the CPU 1004 implements the functions of the light touch maintaining device 100 according to programs stored in the memory device 1003 .
  • the interface device 1005 is used as an interface for connecting to a network or the like.
  • a display device 1006 displays a GUI (Graphical User Interface) or the like by a program.
  • An input device 1007 is composed of a keyboard, a mouse, buttons, a touch panel, or the like, and is used to input various operational instructions.
  • the output device 1008 outputs the calculation result.
  • This specification discloses at least a delivery planning device, a delivery planning method, and a program according to the following items.
  • (Section 1) Equipped with an algorithm calculation unit that solves a delivery planning problem that determines a route for providing services to multiple customers by a vehicle departing from a service center using a neural network that performs reinforcement learning by the actor-critic method, The algorithm calculation unit solves the delivery planning problem under constraints of a time frame indicating the range of time to arrive at the customer and a time cost indicating the length of time required to provide the service to the customer.
  • (Section 2) 2.
  • the delivery planning device masks customers who do not satisfy the time frame constraint in the probability distribution of customers obtained using a decoder in the neural network.
  • the algorithm calculation unit masks the probability distribution of customers obtained using a decoder in the neural network such that the vehicle is returned to the service center when a value based on the total operating time of the vehicle exceeds a threshold.
  • the delivery planning device according to item 1 or 2.
  • the algorithm calculation unit adds the total operating time from the service center to the completion of service at a customer, the travel time from the customer to the next customer, and the time cost at the next customer, The delivery planning device according to paragraph 3. (Section 5) 5.
  • the delivery planning device according to any one of items 1 to 4, further comprising a map API section that draws on a map the route of visiting each customer, which is the delivery plan calculated by the algorithm calculation section.
  • (Section 6) A delivery planning method executed by a delivery planning device, An algorithm calculation step that solves a delivery planning problem for determining a route for providing services to a plurality of customers by a vehicle departing from a service center using a neural network of reinforcement learning based on the actor-critic method, A delivery planning method wherein, in the algorithm calculation step, the delivery planning problem is solved with a time frame indicating a range of time to arrive at the customer and a time cost indicating the length of time required to provide the service to the customer as constraints.
  • (Section 7) A program for causing a computer to function as each part of the delivery planning apparatus according to any one of items 1 to 5.
  • Delivery planning device 110 User information collection unit 120 Service vehicle information collection unit 130 Algorithm calculation unit 140 Map API unit 150 Vehicle allocation unit 1000 Drive device 1001 Recording medium 1002 Auxiliary storage device 1003 Memory device 1004 CPU 1005 interface device 1006 display device 1007 input device 1008 output device

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Quality & Reliability (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Development Economics (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Game Theory and Decision Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

アクター‐クリティック方式による強化学習を行うニューラルネットワークを用いて、サービスセンターから出発する車両により複数の顧客に対してサービス提供を行うための経路を決定する配送計画問題を解くアルゴリズム計算部を備え、前記アルゴリズム計算部は、顧客に到着するべき時間の範囲を示す時間枠と、顧客におけるサービス提供にかかる時間長を示す時間コストとを制約として、前記配送計画問題を解く配送計画装置。

Description

配送計画装置、配送計画方法、及びプログラム
 本発明は、配送計画問題を解く技術に関連するものである。
 配送計画問題(VRP:vehicle routing problem)とは、荷物の集積所(サービスセンター)から各顧客にサービス車両を使用して荷物を配送するときに、どのサービス車両がどの顧客をどの順番で回れば最適か(コストが最も低くなるか)を考える最適化問題である。なお、「配送計画問題」を「配車計画問題」と称してもよい。
 実際のアプリケーションでは、電子商取引のジャストインタイム配送、コールドチェーン配送、店舗補充など、流通とサービスコストをVRPの解を通して最適化できる多くの実用的なビジネスシナリオが存在する。
 そのため、異なる実際的な要求に応じて、種々のVRPのバリエーションが提案されている。VRPのバリエーションとして、例えば、時間枠付きVRP(VRPTW)がある。VRPTWにおいては、顧客に対して商品の配送のための時間枠が設定される。他のVRPとして、マルチデポ配送計画問題(MDVRP)がある。MDVRPでは、複数のデポ(サービスセンタ)が存在し、そこから車両が出発したり、そこで走行を終了したりすることができる。
 VRPとそのバリエーションはNP困難な問題であることが証明されているので、近似解を返す種々のオペレーションズリサーチ(OR)ベースの方法が長年研究されている。
 通常、ORベースのアルゴリズムでは、人手で探索モデルを定義し、効率を上げるために解の品質を犠牲にしてVRPの解を求める。しかしながら、従来のORベースの方法には2つの欠点がある。
 第1の欠点として、実用規模のVRP問題(100以上の顧客を有する)では、ORベースのアルゴリズムを用いた場合、最適解又は近似解を得るために、計算に数日又は数年を必要とするという点がある。
 第2の欠点として、異なるVRPのバリエーションは、異なる手作りの探索モデル及び初期探索条件を必要とするので、異なるORアルゴリズムを必要とするという点である。例えば、不適切な初期解は、長い処理時間及び局所最適解をもたらす可能性がある。このような点で、ORベースのアルゴリズムを、現実のビジネスシナリオで一般化し、使用することは困難である。
 非特許文献1には、アクター‐クリティック方式の強化学習に基づくVRPの解法が開示されており、これにより、ORベースのアルゴリズムの欠点が解決されている。すなわち、ニューラルネットワークモデルにより、特に顧客ノードの数が多い場合に、複雑さと表現能力を高精度で大幅に改善することができる。
 更に、ニューラルネットワークにより、学習フェーズに時間がかかるが、推論フェーズにおいて瞬時に近似解を見つけることができ、実用的なビジネスアプリケーションにおける実行効率を大幅に改善することができる。
 また、データ駆動型ニューラルネットワークは、探索のための数学モデルを定義する必要がないので、新しいデータを供給し、報酬関数又は他の基本的なエンジニアリングタスクを調整するだけで、様々なVRPのバリエーションに適用することができ、実用的な研究及び事業発展にとっても非常に便利である。
Nazari, Mohammadreza, Afshin Oroojlooy, Lawrence V. Snyder, and Martin Takac, "Reinforcement Learning for Solving the Vehicle Routing Problem", NIPS, 2018.
 現実のアプリケーションにおいて、電子商取引のジャストインタイム配送、コールドチェーン配送、店舗補充など、流通とサービスコストを、VRP解法を通して最適化できる多くの実用的なビジネスシナリオが存在する。
 例えば、通信キャリアは、毎日、顧客から多数の要求を受け付け、サービスセンターから、顧客宅に行って、ネットワーク障害の修復を支援している。故障の種類によって修理にかかる時間の長さが異なり、その差は大きく異なることが多い。サービスセンターの立場からは、顧客の指定する修理時間帯を考慮しつつ、修理スタッフの人数や作業時間を最小限に抑えるために、合理的かつ効率的な修理の順番や経路を計画することが、費用削減やサービス品質向上のために最も必要な手段の一つと考えられる。
 本発明は上記の点に鑑みてなされたものであり、時間枠の制約と時間コストの制約を考慮した配送計画問題を解くことにより、時間枠の制約と時間コストの制約の下での配送計画を実現するための技術を提供することを目的とする。
 開示の技術によれば、アクター‐クリティック方式による強化学習を行うニューラルネットワークを用いて、サービスセンターから出発する車両により複数の顧客に対してサービス提供を行うための経路を決定する配送計画問題を解くアルゴリズム計算部を備え、
 前記アルゴリズム計算部は、顧客に到着するべき時間の範囲を示す時間枠と、顧客におけるサービス提供にかかる時間長を示す時間コストとを制約として、前記配送計画問題を解く配送計画装置が提供される。
 開示の技術によれば、時間枠の制約と時間コストの制約を考慮した配送計画問題を解くことにより、時間枠の制約と時間コストの制約の下での配送計画を実現するための技術が提供される。
本発明の実施の形態における装置構成図である。 アルゴリズム計算部130の構成図である。 問題設定を示す図である。 アルゴリズム1を示す図である。 アルゴリズム2を示す図である。 装置のハードウェア構成例を示す図である。
 以下、図面を参照して本発明の実施の形態(本実施の形態)を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
 (実施の形態の概要)
 まず、本実施の形態の概要について説明する。本実施の形態では、ビジネスシナリオにおける非常に実用的な問題の定式化であるVRPTWTCと呼ばれる新規のVRPを導入している。
 本実施の形態では、問題定式化において、最適化プロセスにおける需要(demand)とロード(load)等のVRPにおける既存の制約に加えて、2つの新しい制約(時間枠と時間コスト)を導入している。なお、本実施の形態では、「ロード」は、サービス車両に搭載される「荷物」、「積載物」等を想定しており、「ロード」を「荷物」、「積載物」等に言い換えてもよい。
 本実施の形態では、VRPTWTCを解くために、データ駆動型の、エンドツーエンドのポリシー(方策)ベースの強化学習フレームワークを使用している。当該ポリシーベースの強化学習フレームワークは、アクターネットワークとクリティックネットワークの2つのニューラルネットワークを含む。アクターネットワークでVRPTWTCの経路を生成し、クリティックネットワークで価値関数を推定、評価する。
 また、本実施の形態では、アクターネットワークと組み合わせた新規なマスキングアルゴリズムを使用する。マスキングアルゴリズムにより、従来のVRPにおける制約と共に本実施の形態において定式化した時間枠制約と時間コスト制約の下で問題を解くことができる。
 また、本実施の形態では、実施の地図に基づく地図アプリケーションのAPIを使用することにより、実際の道路接続条件下で経路を計算し、実際の産業における採用可能性を増加させることができる。
 (装置構成例)
 図1に本実施の形態における配送計画装置100の構成図を示す。図1に示すように、配送計画装置100は、ユーザ情報収集部110、サービス車両情報収集部120、アルゴリズム計算部130、地図API部140、及び配車部150を有する。
 配送計画装置100は、1つの装置(コンピュータ)で実装されてもよいし、複数の装置で実装されてもよい。例えば、アルゴリズム計算部130があるコンピュータで実装され、それ以外の機能部が別のコンピュータで実装されてもよい。配送計画装置100の動作概要は下記のとおりである。
 ユーザ情報収集部110は、各ユーザ(顧客)における特徴量を取得する。各ユーザの特徴量は、例えば、各ユーザの指定時間枠(time window)、サービスの時間コスト(time cost)等を有する。
 サービス車両情報収集部120は、各サービス車両における特徴量を収集する。各サービス車両における特徴量は、例えば、各サービス車両の出発位置等を有する。
 アルゴリズム計算部130は、各ユーザ(顧客)及び各サービス車両の情報をベースにして、VRP問題を解くことにより、配送計画を出力する。アルゴリズム計算部130の詳細については後述する。
 地図API部140は、アルゴリズム計算部130から出力した配送計画の情報に基づき経路検索を行って、例えば各サービス車両の配送計画の経路を地図上に描画する。配車部150は、地図API部140の出力結果に基づいて、それぞれのサービス車両(あるいは、サービスセンターの端末)に対して、サービス経路の情報を、ネットワークを介して配信する。なお、配車部150を「出力部」と呼んでもよい。
 地図API部140は、例えば、外部にある地図サーバにアクセスすることで経路検索等を行うこととしてもよい。また、地図API部140自身が地図データベースを格納し、その地図データベースを用いて経路検索を行うこととしてもよい。
 一例として、配送計画として、「0→2→3→0」という配送計画がアルゴリズム計算部130により得られたとする。ここで、0はサービスセンターを示し、2、3はそれぞれ顧客の番号を示す。この場合、地図API部140は、「サービスセンター→顧客2→顧客3→サービスセンター」の実際の道路の経路を地図上に描画し、配車部150が、経路の描画された地図情報を出力する。
 (アルゴリズム計算部120の構成例)
 図2に、アルゴリズム計算部130の構成例を示す。アルゴリズム計算部130は、アクター-クリティック方式の強化学習を行うニューラルネットワークのモデルである。このモデルをVRPTWTCモデルと呼んでもよい。
 図2に示すとおり、本モデルは、アクターネットワーク131とクリティックネットワーク132の2つにニューラルネットワークを含む。
 アクターネットワーク131は、Dense埋め込み層(1層)、LSTMセル、Attention層、Softmax計算部(Softmax)、マスキング部(Masking)を有する。これらにより、エンコーダ‐デコーダの構成、及び、ポインタネットワークを構成する。クリティックネットワーク132は、Dense埋め込み層(3層)を有する。
 アクターネットワーク131におけるDense埋め込み層、LSTMセル、Attention層、及び、クリティックネットワーク132におけるDense埋め込み層は、ニューラルネットワークにおける学習可能パラメータを有する。
 アクターネットワーク131において、エンコーダに相当するDense埋め込み層からの出力である隠れ状態からLSTMセルにより得られた特徴量がAttention層に入力され、Dense埋め込み層からの出力とAttention層からの出力によりContextが得られる、ContextからSoftmaxにより計算された値がMaskingを通して出力され、報酬計算に利用される。クリティックネットワーク132において、入力データからDense埋め込み層により得られた特徴量と、報酬に基づき、損失(Loss function)が得られ、損失を小さくするような学習がなされる。
 なお、入力隠れ状態(input hidden state)、コンテクスト、Attention層、LSTM、ソフトマックスの間における矢印線は、アッテンションベースのポインタネットワークを示す。損失関数が、報酬関数とクリティックネットワークにより計算される。
 アルゴリズム計算部130では、図2に示したニューラルネットワークを用いて、大量のシミュレーション学習データを学習し、実データでもシミュレーションデータでもテスト(配送計画作成)をできる仕組みになっている。
 具体的には、アクター‐クリティックをベースにした強化学習モデルとMaskingアルゴリズムを使用することで、必ずサービス車両が顧客の指定時刻通り(指定の時間枠内に)到着し、必ず各サービス車両が一日8時間以内に作業すると制約の下での配送計画を効率良く計算し、出力することができる。
 以下、アルゴリズム計算部130の処理内容についてより詳細に説明する。
 (アルゴリズム計算部130の処理の概要)
 まず、アルゴリズム計算部130が解くVRP問題の概要を説明する。この問題は下記の3つの要素を有する。なお、本明細書において、「顧客」を「ユーザ」と呼んでもよい。
 (1)全ての顧客にサービスを提供し、サービスを提供する時刻(サービス車両が到着する時刻)が、各顧客により指定される時間枠(時間ウィンドウ)内でなければならない。
 (2)各顧客は、サービスに応じて変化するサービスの時間コストを有する。この「時間コスト」は、顧客宅でのサービス提供に要する時間である。顧客宅でのサービスとは、例えば、通信設備の修理である。
 (3)複数の顧客にサービスを提供するに際し、サービス車両は総サービス時間制限を超えることはできない。
 上記のような問題を「時間枠と時間コストを有する配送計画問題」(VRPTWTC:Vehicle Routing Problem with Time Windows and Time Costs)と呼ぶ。
 本実施の形態では、アルゴリズム計算部130に相当するニューラルネットワークが、アクター‐クリティックベースの深層強化学習に基づいて、エンドツーエンド、データ駆動によりVRPTWTCを解くことで、上記の問題の解(配送計画)を出力する。
 本実施の形態におけるアルゴリズム計算部130の特徴は下記のとおりである。
 第一に、従来の方法とは異なり、目的関数や初期探索条件のような手作りモデルの要素を定義する必要がなく、非常に短い処理時間(10秒未満)で中規模データセット(最大100顧客)におけるVRPTWTCの解を最適化できる。これにより、実際のビジネスアプリケーションの運用コストを削減できるだけでなく、この方法を実際の業界に展開しやすくなる。
 第二に、顧客が指定した時間枠とサービスの時間コストは、最適化の過程で厳密に考慮される。時間枠の違反やトータルの労働時間制限の違反は許容されず、これにより、サービスの質の向上やスタッフの権利保護にも役立つ。
 最後に、他の従来のVRPの解法とは異なり、本実施の形態では、実際の地図のアプリケーションプログラミングインタフェース(API)を用いてアルゴリズムの有効性を評価している。例えば、サービス車両が指定時間枠内に到着するかどうかを評価している。これにより、実産業における提案手法の適用性が向上する。
 (アルゴリズム計算部130の処理の詳細)
 以下、アルゴリズム計算部130の処理内容を詳細に説明する。
 <A:問題設定>
 図3を参照して、本実施の形態における問題設定について説明する。顧客(Customer)の集合χ={x,x,・・・x}が、地図上のある範囲に位置しており、集合における各xは、サービスを必要とする顧客である。また、サービス提供のためのロードの積み込み等を行うサービスセンターが存在する。顧客の位置、サービスセンターの位置は既知であるとする。また、顧客とサービスセンターとの間、任意の顧客間において、サービス車両の走行時間は既知(例えば、予め定めた速度と距離から計算)であってもよいし、地図APIから実際の道路状況(渋滞等)を考慮して算出してもよい。
 まず、サービス車両の集合がサービスセンターに配置される。各サービス車両は、サービスセンターを離れて、顧客の集合χにサービスを提供することができる。各顧客は、いずれかのサービス車両により一度だけサービスを受ける。サービス車両は計画された全ての顧客を訪問した後、サービスセンターに戻る。
 χにおける各顧客は4つの特徴を持つので、各顧客xを、ベクトルとして、x=[x f1,x f2,x f3,x f4]と表す。x f1は、n番目の顧客のアドレス(住所)である。x f2は、n番目の顧客の需要であり、これは古典的なVRP問題の需要特徴と同じである。x f3は、n番目の顧客によって指定された時間枠(Time window)であり、その時間枠の間に顧客がサービス車両により訪問される必要があることを意味する。x f4は、n番目の顧客のサービスの時間コスト(Time cost)であり、これはn番目の顧客のサービスにどれだけの時間がかかるかを示す。モデル化を簡易にするために、問題定式化において、サービスセンターを0番目の顧客としている。
 ここで、本問題では、時間枠の違反(時間枠内で顧客にサービスできないこと)と時間コストの違反(サービス車両が1日8時間を超えて働くこと)を許容できないものとする。
 サービス車両毎に、サービスを提供するサービス車両の最大積載容量を示す固定の初期ロードの特徴を定義する。具体的には、サービス車両がサービスセンターを離れ、顧客にサービスを提供する前に、ロードを1(タスクに応じて調整可能)の値で初期化する。
 また、サービス車両毎に最大サービス時間を8時間と設定する。これは、各サービス車両が最大8時間のサービス時間を有することを意味する。つまり、サービス車両がサービスセンターを離れてサービスを提供するための最長時間は8時間を超えないようにしている(これは、実際の業務の需要に応じて調整することができる)。
 サービス車両がサービスを提供する際の条件として、次の2つの条件(1)、(2)を定めている。サービス車両は、下記の(1)又は(2)の場合にサービスセンターに戻らなければならない。
 条件(1)サービス車両のロードが0に近く、残りの顧客にサービスを提供する容量(
残存するロード)が不十分な場合
 条件(2)サービス車両のサービス時間が最大の8時間に近い場合
 上記の顧客情報と最適化のための制約の下で、VRPTWTCに対する解ζを見つける。解ζは、サービスの経路又はサービスの順番と解釈できる、χにおける顧客の列(シーケンス)である。例えば、解としてζ={0,3,2,0,4,1,0}の列が得られた場合、この列は、二つの経路に対応する。一つは、0→3→2→0に沿って進む経路であり、もう一つは、0→4→1→0に沿って進む経路であり、これは2つのサービス車両が用いられることを暗に示している。また、これは、あるサービス車両が、一旦サービスセンターに戻る場合であると解釈することもできる。
 <B:アクターネットワーク131におけるポインタネットワーク>
 VRPTWTCの解ζは列(シーケンス)のマルコフ決定過程(MDP)であり、これは、列内の次の行動(つまり、次にどの顧客ノードをサービス対象とするか)を選択する過程である。
 本実施の形態では、MDPプロセスの定式化にポインタネットワーク(PointerNet)を使用する。なお、ポインタネットワーク(PointerNet)自体は既存技術である。最初に、Dense層を有するエンコーダが、全ての入力顧客及びデポ(サービスセンタ)の特徴の埋め込みを行って、隠れ状態を抽出する。続いて、デコーダは、1つずつ接続されるLSTM(Long Short-term Memory)セルを使用することによって、MDPの行動を復元し、Attention層に渡す。各LSTMセル(行動)では、入力された顧客ノードがサービスを受ける確率を表すポインタを出力する。
 非特許文献1に開示された技術と本実施の形態に係る技術との間のキーとなる相違は、本実施の形態において、新規なマスキングアルゴリズムを設計し、それをアクターネットワーク131に組み込んで、時間枠、時間コスト、及びトータル時間制限の制約の下で解を求める点にある。
 アクターネットワークのDense埋め込み層(エンコーダ)と、ポインタネットワークについて、より具体的に説明する。
 前述したとおり、χ={x,x,・・・,x}における各xは、顧客(顧客ノード)を表し、各xを、エンコーダにより、式(1)に示すとおり、dense表現xn-denseとして埋め込む。
Figure JPOXMLDOC01-appb-M000001
 ここで、θembedded={ωembed,bembed}は、本実施の形態の埋め込み層におけるdense層として表される学習可能なパラメータである。
 デコーダはLSTMセルのシーケンスを含む。当該デコーダにおいて、LSTMセルのシーケンスを用いてMDPにおける行動(アクション)をモデル化する。デコーダ部の各ステップm∈(1,2,…,M)において、重みθLSTMを有するLSTMセルにおける隠れ状態をdで表す。Mはデコーダステップの総数である。
 本実施の形態において、PointerNetと同様に、ポインタDを計算することによりサービス順序をモデル化する。すなわち、デコーダ部の各ステップmにおいて、χ={x,x,・・・,x}のどのメンバがポイントされるかを決定するために、Softmax結果を計算する。
 ここで、p(D|D,D・・・Dm-1,χ;θ)を、デコーダ部の各ステップにおけるポインタとして、パラメータθPointerを持つLSTMセルを用いて下記の式(2)、式(3)によりモデル化する。
Figure JPOXMLDOC01-appb-M000002
Figure JPOXMLDOC01-appb-M000003
 ここで、Softmaxは(長さNの)ベクトルuを、全ての入力χに対する出力分布(確率分布)に正規化する。つまり、式(3)により、第mステップにおける、各顧客の確率(サービス対象として選択する確率)が出力される。θPointer={v,W,W}はポインタの学習可能なパラメータである。
 アクターネットワーク131の最終出力は、サービス経路ζであり、これはm個全てのLSTMセルの列(シーケンス)の出力に相当する。ここで、複数のLSTMをMDPとして解釈することができる。p(D│D,D・・・Dm-1,χ;θ)をp(D)と略記する。
 <C:マスキング>
 前述したように、本実施の形態では、新規のマスキングアルゴリズムを提案し、それをアクターネットワーク131と結合してVRPTWTCを最適化している。当該マスキングアルゴリズムでは、ロード‐需要マスキング、時間枠マスキング、及び時間コストマスキングの3つのサブマスキングが存在する。
 ロード‐需要マスキングは従来のVRP制約を解くために使用される。時間枠マスキングと時間コストマスキングはVRPTWTCで定式化された新たな制約を最適化するために使用される。
 当該マスキングアルゴリズムがアクターネットワーク131と組み合わされ、強化学習における行動(アクション)の確率を出力する。最初に、これら3つのサブマスキングの各々を説明し、次に、アクターネットワークにおいてそれを結合する方法を説明する。なお、(2)、(3)は両方実施してもよいし、いずれか1つを実施してもよい。
 (1)ロード‐需要サブマスキング:
 サービス車両のサービス容量と顧客の需要の両方は有限であり、限られているため、サービス車両に残存するロードがなくなると、サービス車両は補給のためにサービスセンターに戻らなければならない。
 ここでは、このプロセスをモデル化するためにロード‐需要サブマスキングを使用する。各デコーダステップm∈(1,2…M)において、各顧客∈(1,2…N)における残存する需要δn,mと、残存する車両ロードΔを同時に追跡する。m=1で、これらはδn,m=δ、Δ=1として初期化され、その後、以下のように更新される。なお、πは、デコーダステップmでサービス対象として選択された顧客のインデックスである。
Figure JPOXMLDOC01-appb-M000004
Figure JPOXMLDOC01-appb-M000005
 式(4)は、デコーダステップmでn番目の顧客が選択された場合、次のデコーダステップm+1で、顧客nの需要が、0(サービスを受けたこと)と、需要からロードを引いた値(サービス車両がサービス全体を提供するのに不十分な場合)のうちの大きいほうになることを示している。また、n以外の他の顧客の需要は変化しないことを示す。
 式(5)は、m+1において、サービス車両がサービスセンターに戻った場合、車両のロードが1(補充される値)になり、それ以外は、車両のロードが、mにおけるロードからサービス対象の顧客の需要を引いた値(車両により顧客にサービス提供される場合)になることを示す。なお、本問題の定式化では、サービスセンターが0番目の顧客であるため、π=0は、サービス車両がサービスセンターに戻ったことを示す。
 (2)時間枠サブマスキング:
 本実施の形態における問題設定では、サービス車両は、各顧客に指定時刻(指定時間枠内)に到着しなければならないので、デコーダの各ステップでは、時間枠サブマスキングを追加して、指定時間に到達しそうにない顧客の確率を0にする。このように、顧客の確率を0にすることをマスキング又はフィルタリングと呼んでもよい。
 前述したように、式(3)は、ポインタ(Softmax)がベクトルuを、全ての入力顧客χに対する出力確率分布p(D)に正規化することを示している。ここで、p(D)は、n次元ベクトルであり、デコーダのステップmにおけるχ全体にわたる確率分布を示す。
 デコーダの各ステップmにおいて、サービスする必要のある顧客の集合をχ´∈χで示す。このような集合を用いる理由は、いくつかの顧客はステップmより前にサービスを受けるか、サービス車両が十分なロードを有しないためである。
 顧客数N´の顧客集合χ´について、χ´の顧客n´毎に下記の処理を繰り返すことで、時間枠のサブマスキングτn´,mを計算する:
Figure JPOXMLDOC01-appb-M000006
 式(6)は、ttotal+tmoveが、時間枠x f3の範囲内でなければ、τn´,m=0にする処理である。式(6)において、ttotalは、現在の経路における、直前にサービスを受けていた顧客までの総時間であり、tmoveは、直前にサービスを受けていた顧客からn´までの移動時間である。式(6)は、ある経路における総時間コストttotalと、前の顧客から現在の顧客n´へ移動するのに費やされる時間tmoveを加えた値が、現在の顧客n´の指定時間枠を超えた場合、その顧客に訪問する確率を0にすることを意味する
 (3)時間コストサブマスキング:
 時間コストサブマスキングは、総時間コストttotalが8時間を超える場合に、サービス車両をサービスセンターに強制的に戻すために使用されるものであり、下記の式(7)で表される。
Figure JPOXMLDOC01-appb-M000007
 式(7)は、総時間コストttotalが8時間を超えた場合、n=0のp(D)を1とし、0以外のnのp(D)を0とすることを意味する。ここで、n=0は、顧客がサービスセンターであることを意味する。前述したように、サービスセンターは、本問題の定式化において、0番目の顧客である。なお、ttotalを総稼働時間と呼んでもよい。
 図4にマスキング処理のアルゴリズム(アルゴリズム1)を示す。これは、図2のMasking(マスキング部)が実行する処理である。第1行で、各顧客n∈(1,2…N)について、顧客の需要x f2、車両の容量Δ、時間枠x f3、時間コストx f4を入力し、ttotalを0に初期化する。
 第2行は、各デコーダステップm=1,2....Mにおいて、ステップ3~13を繰り返すことを意味する。第3行では、ステップmにおいて、全顧客n∈(1,2…N)で残存需要δn,m=0であれば、ループの処理を終了する。
 第4行では、各顧客n∈(1,2…N)において、δn,m>0かつδn,m<Δであれば、mskn,m=1とし、そうでなければmskn,m=0とする。mskn,m=1は、サービス可能であることを示し、mskn,m=0は、サービス済みあるいは車両容量不足を示し、その顧客をサービス対象にしないこと(確率を0にすること)を示す。
 第5行において、ベクトルp(D)のN個のメンバを降順にソートして、ソート後インデックスi(1,2…N)を持つpsort(D)にする。
 第6行~第7行において、psort(D)における各i番目のメンバpsort,i(D)について、式(6)(時間枠サブマスキング)に基づき顧客をフィルタリング(マスキング)する。
 第8行において、Softmax(psort,i(D))を新しいアクションポインタの確率として設定する。第9行において、式(7)による時間コストマスキングのチェックを行う。
 第10行において、式(4)による残存需要δn,mの更新を行う。第11行において、式(5)により残存ロードの更新を行う。第12行において、mをm+1に更新する。第13行において、nが0でなければ、ttotal=ttotal+tmove+x f4とする。これは、サービスセンターからある顧客でのサービス完了までの総稼働時間に、当該顧客から次の顧客までの移動時間と、当該次の顧客における時間コストとを足した値を、当該次の顧客における総稼働時間とすることを意味する。第14行で処理を終了する。
 図4に示すとおり、アルゴリズム1に示すマスキングアルゴリズムには3つのサブマスキングが導入されている。データ入力と初期化の後、LSTMベースのデコーダの各ステップmで、まず、顧客の各需要について、全ての需要が0である場合、つまり、全ての顧客がサービスを受けた場合、デコーダループが終了する。
 もしそうでなければ、ゼロでない需要値を持つ全ての顧客を1でマスクする。なお、需要値は車両の動的ロードより小さい必要がある。
 次に、アクションネットワーク131で生成されたポインタの確率であるベクトルp(D)のメンバを降順にソートし、psort(D)とする。その後、式(6)を用いて、時間枠と現在のサービス経路の総時間コストを考慮して、サービス不可能な顧客をフィルタリングしてpsort,i(D)とし、Softmaxを用いてpsort,i(D)を正規化する。
 更に、式(7)を用いて、トータル時間コストttotalが8時間を超えているかどうかを確認する。超えている場合は、サービス車両をサービスセンター(0番目の顧客)へ返す。最後に、動的需要δn,m、動的ロードΔ、及び総時間コストttotalを更新し、次のデコーダステップm+1に進む。
 <D:アクター‐クリティック>
 本実施の形態では、ポリシー(方策)と価値関数の両方を同時に学習するために、アクター‐クリティックに基づく深層強化学習を使用している。なお、アクター‐クリティックに基づく深層強化学習自体は既存技術である。
 アクターネットワーク131については、Aで説明したように、学習可能な重みθactor={θembedded,θLSTM,θPointer}を持つ。
 本実施の形態では、アクターネットワーク131におけるポインタパラメータθPointer={ν,W,W}とLSTMパラメータθLSTMを用いて、確率的(stochastic)ポリシーπをパラメトライズしている。確率的ポリシーπにより、任意の所与のデコーダステップで次の行動(どの顧客に訪問するか)に対する確率分布を生成する。
 一方、学習可能なパラメータθcriticを持つクリティックネットワーク132は、強化学習における与えられた状態から任意の問題インスタンスに対する勾配を推定する。
 クリティックネットワーク132は、3つのDense層からなり、静的及び動的の状態を入力とし、報酬を予測する。本実施の形態では、アクターネットワーク131の出力確率を重みとして使用し、埋め込まれた入力(Dense層からの出力)の加重和を計算することで、単一値を出力する。これは、クリティックネットワーク131によって予測される価値関数の出力と解釈できる。
 図5に、アクター‐クリティックのアルゴリズム(アルゴリズム2)を示す。
 第1行において、アクターネットワーク(Embedding2Seq with PN)をランダムな重みθactor={θembedded,θLSTM,θPointer}で初期化し、クリティックネットワークをランダムな重みθcriticで初期化する。第2行及び第17行は、第3行~第16行を各エポックで繰り返すことを意味する。
 第3行において、パラメータの勾配であるdθactorと、dθcriticをそれぞれ0にリセットする。第4行において、現在のθactorを持つアクターネットワークに従ってB個のインスタンスをサンプルする。第5行及び第14行は、Bにおける各サンプルについて、第6行~第13行を繰り返すことを意味する。
 第6行において、現在のθembeddedに基づき、埋め込み層の処理を行って、xn-dense(batch)を得る。第7行及び第12行は、各デコーダステップm∈(1,2,….M)において、第8行~第11行を繰り返すことを意味する。第8行は、終了条件を満たす限り、第9行~第11行を繰り返すことを意味する。
 第9行において、分布p(D)に基づき、確率的(stochastic)デコーダに基づいてDを計算する。Dは、第mステップにおいて、サービス対象(訪問先)となる顧客を示す。
 第10行において、新しい状態の列D1,…,Dm-1,Dを観測する。第11行において、mをm+1で更新する。
 第13行において、報酬Rを算出する。第15行において、式(8)によるポリシー勾配∇θactorを計算し、θactorを更新する。第16行において、勾配∇θcriticを計算し、θcriticを更新する。
 図5に示した、本実施の形態におけるアクター‐クリティックのアルゴリズム2は、学習プロセス(training process)を示している。この学習プロセスの後、テスト(実際の配送計画出力)を行うこととしてもよいし、学習を進めながらテストを行うこととしてもよい。
 既に説明したように、重みベクトルθactorとθcriticを持つ二つのニューラルネットワーク(アクターネットワークとクリティックネットワーク)を使用する。θactorは、θembedded、θLSTM、θPointerを含む。
 アクターネットワークの現在の重みθactorを有する各学習の繰り返しにおいて、B個のサンプルを取得し、モンテカルロシミュレーションを用いて、現在のポリシーに基づいて実現可能性のある列(シーケンス)を生成する。これは、デコーダの各ステップにおいて、アクターネットワークの出力である分布p(D)に基づいて、ポインタDを確率的に計算することを意味する。
 サンプリングが終了すると、報酬とポリシーの勾配を計算し、第15行においてアクターネットワークを更新する。このステップでは、V(D;θcritic)は、クリティックネットワークから近似される価値関数である。
 また、第16行において、観察された報酬と期待される報酬との差を小さくする方向にクリティックネットワークを更新する。最後に、エンドツーエンドの方法で同じ学習速度で、勾配dθactorと勾配dθcriticを用いてθactorとθcriticを更新する。以下、ポリシー勾配と報酬について説明する。
 (1)ポリシー勾配:
 アルゴリズム2の第15行では、アクターネットワークのポリシー勾配は、次のようにモンテカルロサンプリングによって近似される:
Figure JPOXMLDOC01-appb-M000008
ここで、Rは経路インスタンスの報酬であり、サービング経路を示すDの列に対する報酬である。V(χ;θcritic)は、全てのraw入力に対する報酬を予測する価値関数である。「R-V(χ;θcritic)」は、従来の強化学習に基づくVRP法の累積報酬に代わるアドバンテージ関数として用いられている。アクターークリティックにおいて、アドバンテージ関数を使用する手法自体は既存技術である。
 2)報酬:
 本実施の形態では、既存技術と同様にツアー(総経路)の長さに基づいた報酬関数を使用する。時間枠に違反した場合にペナルティ値を加えるペナルティ項が含まれていてもよい。なお、ツアーの長さを用いることは例であり、長さ以外の報酬関数を用いてもよい。
 (ハードウェア構成例)
 配送計画装置100は、例えば、コンピュータにプログラムを実行させることにより実現できる。このコンピュータは、物理的なコンピュータであってもよいし、クラウド上の仮想マシンであってもよい。
 すなわち、配送計画装置100は、コンピュータに内蔵されるCPUやメモリ等のハードウェア資源を用いて、配送計画装置で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
 図6は、上記コンピュータのハードウェア構成例を示す図である。図6のコンピュータは、それぞれバスBSで相互に接続されているドライブ装置1000、補助記憶装置1002、メモリ装置1003、CPU1004、インタフェース装置1005、表示装置1006、入力装置1007、出力装置1008等を有する。
 当該コンピュータでの処理を実現するプログラムは、例えば、CD-ROM又はメモリカード等の記録媒体1001によって提供される。プログラムを記憶した記録媒体1001がドライブ装置1000にセットされると、プログラムが記録媒体1001からドライブ装置1000を介して補助記憶装置1002にインストールされる。但し、プログラムのインストールは必ずしも記録媒体1001より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置1002は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
 メモリ装置1003は、プログラムの起動指示があった場合に、補助記憶装置1002からプログラムを読み出して格納する。CPU1004は、メモリ装置1003に格納されたプログラムに従って、ライトタッチ維持装置100に係る機能を実現する。インタフェース装置1005は、ネットワーク等に接続するためのインタフェースとして用いられる。表示装置1006はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置1007はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。出力装置1008は演算結果を出力する。
 (実施の形態の効果)
 以上、説明したように、本実施の形態に係る技術により、下記の(1)、(2)、(3)に示すような効果を奏する。
 (1)従来のように人手でサービス車両の配車計画を作成することに比べて、大幅に配車計画の計算時間を削減できる。すなわち、NP困難なVRP問題は、顧客の数が多くなればなるほど、計算量が膨大になるため、人手で計算することが難しい。従来のORベースの手法では対応できない50~100の顧客が存在する場合でも、本実施の形態に係る技術により1秒以内での計算が可能となる。
 (2)VRP問題において、顧客の指定時刻通りの到着、かつ各サービス車両の1日あたり8時間以内の勤務、との制限を考慮して、経路を最適化することが可能となる。
 (3)地図APIを活用することで、実際の移動経路、及び移動時間を計算することができ、かつ経路の画像も出力できるため、より正確な実験や分かりやすい配車計画を出力することができる。
 (実施の形態のまとめ)
 本明細書には、少なくとも下記各項の配送計画装置、配送計画方法、及びプログラムが開示されている。
(第1項)
 アクター‐クリティック方式による強化学習を行うニューラルネットワークを用いて、サービスセンターから出発する車両により複数の顧客に対してサービス提供を行うための経路を決定する配送計画問題を解くアルゴリズム計算部を備え、
 前記アルゴリズム計算部は、顧客に到着するべき時間の範囲を示す時間枠と、顧客におけるサービス提供にかかる時間長を示す時間コストとを制約として、前記配送計画問題を解く
 配送計画装置。
(第2項)
 前記アルゴリズム計算部は、前記ニューラルネットワークにおけるデコーダを用いて得られた顧客の確率分布に対して、前記時間枠の制約を満たさない顧客に対するマスキングを行う
 第1項に記載の配送計画装置。
(第3項)
 前記アルゴリズム計算部は、前記車両の総稼働時間に基づく値が閾値を超えた場合に、前記車両がサービスセンターに戻るように、前記ニューラルネットワークにおけるデコーダを用いて得られた顧客の確率分布に対するマスキングを行う
 第1項又は第2項に記載の配送計画装置。
(第4項)
 前記アルゴリズム計算部は、サービスセンターからある顧客でのサービス完了までの総稼働時間に、当該顧客から次の顧客までの移動時間と、当該次の顧客における時間コストとを足した値を、当該次の顧客における総稼働時間とする
 第3項に記載の配送計画装置。
(第5項)
 前記アルゴリズム計算部により計算された配送計画である各顧客への訪問の経路を地図上に描く地図API部
 を更に備える第1項ないし第4項のうちいずれか1項に記載の配送計画装置。
(第6項)
 配送計画装置が実行する配送計画方法であって、
 アクター‐クリティック方式による強化学習のニューラルネットワークを用いて、サービスセンターから出発する車両により複数の顧客に対してサービス提供を行うための経路を決定する配送計画問題を解くアルゴリズム計算ステップを備え、
 前記アルゴリズム計算ステップにおいて、顧客に到着するべき時間の範囲を示す時間枠と、顧客におけるサービス提供にかかる時間長を示す時間コストとを制約として、前記配送計画問題を解く
 配送計画方法。
(第7項)
 コンピュータを、第1項ないし第5項のうちずれか1項に記載の配送計画装置における各部として機能させるためのプログラム。
 以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
100 配送計画装置
110 ユーザ情報収集部
120 サービス車両情報収集部
130 アルゴリズム計算部
140 地図API部
150 配車部
1000 ドライブ装置
1001 記録媒体
1002 補助記憶装置
1003 メモリ装置
1004 CPU
1005 インタフェース装置
1006 表示装置
1007 入力装置
1008 出力装置

Claims (7)

  1.  アクター‐クリティック方式による強化学習を行うニューラルネットワークを用いて、サービスセンターから出発する車両により複数の顧客に対してサービス提供を行うための経路を決定する配送計画問題を解くアルゴリズム計算部を備え、
     前記アルゴリズム計算部は、顧客に到着するべき時間の範囲を示す時間枠と、顧客におけるサービス提供にかかる時間長を示す時間コストとを制約として、前記配送計画問題を解く
     配送計画装置。
  2.  前記アルゴリズム計算部は、前記ニューラルネットワークにおけるデコーダを用いて得られた顧客の確率分布に対して、前記時間枠の制約を満たさない顧客に対するマスキングを行う
     請求項1に記載の配送計画装置。
  3.  前記アルゴリズム計算部は、前記車両の総稼働時間に基づく値が閾値を超えた場合に、前記車両がサービスセンターに戻るように、前記ニューラルネットワークにおけるデコーダを用いて得られた顧客の確率分布に対するマスキングを行う
     請求項1又は2に記載の配送計画装置。
  4.  前記アルゴリズム計算部は、サービスセンターからある顧客でのサービス完了までの総稼働時間に、当該顧客から次の顧客までの移動時間と、当該次の顧客における時間コストとを足した値を、当該次の顧客における総稼働時間とする
     請求項3に記載の配送計画装置。
  5.  前記アルゴリズム計算部により計算された配送計画である各顧客への訪問の経路を地図上に描く地図API部
     を更に備える請求項1ないし4のうちいずれか1項に記載の配送計画装置。
  6.  配送計画装置が実行する配送計画方法であって、
     アクター‐クリティック方式による強化学習のニューラルネットワークを用いて、サービスセンターから出発する車両により複数の顧客に対してサービス提供を行うための経路を決定する配送計画問題を解くアルゴリズム計算ステップを備え、
     前記アルゴリズム計算ステップにおいて、顧客に到着するべき時間の範囲を示す時間枠と、顧客におけるサービス提供にかかる時間長を示す時間コストとを制約として、前記配送計画問題を解く
     配送計画方法。
  7.  コンピュータを、請求項1ないし5のうちずれか1項に記載の配送計画装置における各部として機能させるためのプログラム。
PCT/JP2021/035937 2021-09-29 2021-09-29 配送計画装置、配送計画方法、及びプログラム WO2023053287A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2023550859A JPWO2023053287A1 (ja) 2021-09-29 2021-09-29
PCT/JP2021/035937 WO2023053287A1 (ja) 2021-09-29 2021-09-29 配送計画装置、配送計画方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/035937 WO2023053287A1 (ja) 2021-09-29 2021-09-29 配送計画装置、配送計画方法、及びプログラム

Publications (1)

Publication Number Publication Date
WO2023053287A1 true WO2023053287A1 (ja) 2023-04-06

Family

ID=85781549

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/035937 WO2023053287A1 (ja) 2021-09-29 2021-09-29 配送計画装置、配送計画方法、及びプログラム

Country Status (2)

Country Link
JP (1) JPWO2023053287A1 (ja)
WO (1) WO2023053287A1 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07234997A (ja) * 1993-12-27 1995-09-05 Hitachi Eng Co Ltd 配車計画立案方法及び配車計画立案システム
JPH10134300A (ja) * 1996-11-05 1998-05-22 Nagoya Joho Syst Kk 最適配送ルート・配送車両決定装置および方法、並びに最適配送ルート・配送車両を決定するプログラムを記録した媒体
JP2018147108A (ja) * 2017-03-02 2018-09-20 本田技研工業株式会社 配達管理装置、配達管理方法および配達管理システム
JP2019114258A (ja) * 2017-12-22 2019-07-11 株式会社日立製作所 ルート計画方法及びルート計画装置
JP2020030663A (ja) * 2018-08-23 2020-02-27 株式会社ライナロジクス 情報処理装置及び情報処理プログラム
US20200074353A1 (en) * 2018-09-04 2020-03-05 Didi Research America, Llc System and method for ride order dispatching and vehicle repositioning
WO2021090413A1 (ja) * 2019-11-06 2021-05-14 日本電信電話株式会社 制御装置、制御システム、制御方法及びプログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07234997A (ja) * 1993-12-27 1995-09-05 Hitachi Eng Co Ltd 配車計画立案方法及び配車計画立案システム
JPH10134300A (ja) * 1996-11-05 1998-05-22 Nagoya Joho Syst Kk 最適配送ルート・配送車両決定装置および方法、並びに最適配送ルート・配送車両を決定するプログラムを記録した媒体
JP2018147108A (ja) * 2017-03-02 2018-09-20 本田技研工業株式会社 配達管理装置、配達管理方法および配達管理システム
JP2019114258A (ja) * 2017-12-22 2019-07-11 株式会社日立製作所 ルート計画方法及びルート計画装置
JP2020030663A (ja) * 2018-08-23 2020-02-27 株式会社ライナロジクス 情報処理装置及び情報処理プログラム
US20200074353A1 (en) * 2018-09-04 2020-03-05 Didi Research America, Llc System and method for ride order dispatching and vehicle repositioning
WO2021090413A1 (ja) * 2019-11-06 2021-05-14 日本電信電話株式会社 制御装置、制御システム、制御方法及びプログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
(YAMAGUCHI, TATSUKI. MATSUDA, HIROYUKI.: "Mechanism and technology of machine learning & deep learning. 1st edition", 14 September 2019, GIJUTSU-HYORON CO., LTD, article "Chapter 7 Deep learning algorithm "43 Reinforcement learning"" *
LI JINGWEN; MA YINING; GAO RUIZE; CAO ZHIGUANG; LIM ANDREW; SONG WEN; ZHANG JIE: "Deep Reinforcement Learning for Solving the Heterogeneous Capacitated Vehicle Routing Problem", IEEE TRANSACTIONS ON CYBERNETICS, IEEE, PISCATAWAY, NJ, USA, vol. 52, no. 12, 1 December 2022 (2022-12-01), Piscataway, NJ, USA , pages 13572 - 13585, XP011928021, ISSN: 2168-2267, DOI: 10.1109/TCYB.2021.3111082 *
NAZARI NAZARI MOHAMMADREZA MOHAMMADREZA, OROOJLOOY AFSHIN, SNYDER LAWRENCE V, TAKÁČ MARTIN: "Reinforcement Learning for Solving the Vehicle Routing Problem", NIPS'18: PROCEEDINGS OF THE 32ND INTERNATIONAL CONFERENCE ON NEURAL INFORMATION PROCESSING SYSTEMS, MONTRÉAL, CANADA, 3 December 2018 (2018-12-03), Montréal, Canada, pages 1 - 11, XP093053607, Retrieved from the Internet <URL:https://proceedings.neurips.cc/paper/2018/file/9fb4651c05b2ed70fba5afe0b039a550-Paper.pdf> [retrieved on 20230612], DOI: 10.48550/arxiv.1802.04240 *

Also Published As

Publication number Publication date
JPWO2023053287A1 (ja) 2023-04-06

Similar Documents

Publication Publication Date Title
Liu et al. Capacitated transit service network design with boundedly rational agents
Yang Optimization techniques and applications with examples
Gosavii et al. A reinforcement learning approach to a single leg airline revenue management problem with multiple fare classes and overbooking
Patriksson A survey on the continuous nonlinear resource allocation problem
US20190019082A1 (en) Cooperative neural network reinforcement learning
George et al. Fleet-sizing and service availability for a vehicle rental system via closed queueing networks
Bhatia et al. Resource constrained deep reinforcement learning
Alfieri et al. Mathematical programming formulations for approximate simulation of multistage production systems
Cals et al. Solving the online batching problem using deep reinforcement learning
Duque et al. Solving the orienteering problem with time windows via the pulse framework
Liu et al. The flying sidekick traveling salesman problem with stochastic travel time: A reinforcement learning approach
Ebert et al. Computationally efficient simulation of queues: The R package queuecomputer
Huang et al. A dynamic programming algorithm based on expected revenue approximation for the network revenue management problem
Chen An intelligent hybrid system for wafer lot output time prediction
Snoeck et al. A discrete simulation-based optimization algorithm for the design of highly responsive last-mile distribution networks
Mohammad Nezhad et al. An artificial neural network meta-model for constrained simulation optimization
WO2021126773A1 (en) Systems and methods of hybrid algorithms for solving discrete quadratic models
US20230113168A1 (en) Decentralized policy gradient descent and ascent for safe multi-agent reinforcement learning
Jiao et al. Online joint optimization of pick order assignment and pick pod selection in robotic mobile fulfillment systems
WO2023053287A1 (ja) 配送計画装置、配送計画方法、及びプログラム
Kenyon et al. A survey on stochastic location and routing problems.
Vishnevsky et al. Using a machine learning approach for analysis of polling systems with correlated arrivals
WO2023203721A1 (ja) 配送計画装置、配送計画方法、及びプログラム
Sharma et al. Process performance models in software engineering: a mathematical solution approach to problem using industry data
de Freitas Cunha et al. On the impact of MDP design for reinforcement learning agents in resource management

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21959331

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023550859

Country of ref document: JP