Physical distribution planning system and physical distribution planning method
The logistics planning system optimizes shipping orders by assigning lot numbers and maintaining sequence constraints, addressing the challenge of exponential variable combinations and server performance issues, enabling efficient logistics planning within a realistic timeframe.
Patent Information
- Application Number
- JP2024042592
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-18
- Publication Date
- 2025-10-01
AI Technical Summary
Existing logistics planning systems face challenges in determining optimal shipping orders within a realistic timeframe due to the exponential increase in variable combinations, especially when considering production lot characteristics, leading to server performance issues and difficulty in creating long-term plans.
A logistics planning system that includes an optimization control unit to generate a learning model and an optimization execution unit to calculate optimal logistics plans by assigning lot numbers, setting constraint thresholds, and maintaining lot number sequences, thereby reducing the number of variable combinations and optimizing costs.
Enables the derivation of an optimal logistics plan in a realistic time frame, accounting for production lot characteristics and ensuring the disposal of old inventory while stocking new products, thus improving server performance and reducing processing time.
Smart Images

Figure 2025142946000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a logistics planning system and a logistics planning method. [Background technology]
[0002] In industrial logistics, it is important to stock up on new products and sell as many old products as possible. Traditional logistics planning has focused on developing optimal logistics plans using mathematical optimization. However, to determine the appropriate shipping order, taking into account when a product was manufactured, the product's manufacturing date must be reflected in the mathematical optimization AI (Artificial Intelligence) model. In this case, the number of variable combinations increases exponentially as the number of elements in the mathematical optimization AI model increases, making it difficult to determine the optimal shipping order within a realistic timeframe. A realistic timeframe is typically about half a day (12 hours). In actual business, customers may request that the shipping order be determined within a few hours. In this specification, mathematical optimization AI is abbreviated as "AI."
[0003] Companies are increasingly interested in optimizing logistics. In particular, there is an urgent need to solve the "2024 logistics problem," in which tightening restrictions on overtime work for truck drivers and other logistics operators will make it impossible to maintain conventional transportation capacity. This has led to an increase in demand for logistics planning utilizing AI technology.
[0004] For example, Patent Document 1 discloses a method for searching for an optimal solution to a delivery planning problem, in which the delivery planning problem is formulated as a minimization problem of an energy function, and the simulated annealing method is used to find the minimum state of this energy function, thereby searching for an optimal solution for vehicle allocation and delivery sequences.In the method described in Patent Document 1, the values of the weight coefficients of the constraint terms in the energy function, which are defined separately as constraint terms representing constraint conditions for which specific target values can be set, and cost terms representing cost functions other than the constraint conditions that are to be minimized, are automatically adjusted by a weight coefficient adjustment means according to a parameter update rule. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] Japanese Patent Application Publication No. 8-153085 Summary of the Invention [Problem to be solved by the invention]
[0006] In the method described in Patent Document 1, when applying a parameter update rule that adjusts the value of the weight coefficient, the target value of the constraint satisfaction degree at the initial temperature is set to a value that is the same as or close to the constraint satisfaction degree at the initial temperature. This reduces the number of times the parameter update rule is applied, thereby shortening processing time. However, the method described in Patent Document 1 has the problem that when there are a large number of constraints, there are many weight combinations to achieve satisfaction, which increases processing time.
[0007] Compared to AI models for product production planning, AI models used for logistics planning have many more combinations of variables for planning, and are also required to create long-term plans spanning several weeks. Therefore, in the case of AI models for logistics planning, the number of combinations of variables that must be considered is enormous, making planning difficult in terms of server performance (insufficient memory).
[0008] Given the above situation, there was a demand for a method to derive the optimal solution for a logistics plan in a realistic amount of time when there are many combinations of variables to consider. [Means for solving the problem]
[0009] To solve the above problem, one aspect of the present invention provides a logistics planning system that includes an optimization control unit that receives input data for each element of a logistics network that transports goods and generates a learning model that outputs a logistics plan under constraint conditions, and an optimization execution unit that performs optimization using the learning model to calculate an optimal solution that minimizes logistics costs as an objective function. The optimization control unit assigns lot numbers to products based on the production lots of the products included in the data, sets a constraint requirement threshold from the lot numbers, and creates a constraint that the order of lot numbers must be maintained for production lots older than the constraint requirement threshold, and creates a constraint that the order of lot numbers should be maintained as much as possible for production lots newer than the constraint requirement threshold. [Effects of the Invention]
[0010] According to at least one aspect of the present invention, it is possible to derive, in a realistic time, an optimal solution for a logistics plan that takes into account the characteristics of a production lot and allows for the disposal of old product inventory and the stocking of new products. Problems, configurations, and effects other than those described above will become apparent from the following description of the preferred embodiments of the invention. [Brief explanation of the drawings]
[0011] [Figure 1] FIG. 1 is a schematic diagram illustrating an example of a logistics network. [Figure 2] FIG. 10 is a diagram illustrating an example of a planning result of a logistics plan. [Figure 3] FIG. 1 is a diagram illustrating an example of constraints and optimization of a logistics plan. [Figure 4] This figure shows an example of the number of elements and scale of an AI model. [Figure 5] 1 is a block diagram showing an example of the configuration of a control system of a logistics planning system according to an embodiment of the present invention. [Figure 6] 1 is a block diagram showing an example of the hardware configuration of each device in a logistics planning system according to an embodiment of the present invention. [Figure 7] FIG. 2 is a diagram showing an example of the flow of data in the logistics planning system according to one embodiment of the present invention. [Figure 8] FIG. 2 is a diagram showing an example of the procedure of the overall processing by the logistics planning system according to one embodiment of the present invention. [Figure 9] FIG. 2 is a diagram showing an example of assignment of manufacturing lot data (lot numbers) in a logistics planning system according to an embodiment of the present invention. [Figure 10] FIG. 1 is a diagram showing an example of an optimal order of manufacturing lots in a logistics planning system according to an embodiment of the present invention. [Figure 11] FIG. 10 is a diagram showing an example of setting a constraint necessary threshold value in the logistics planning system according to one embodiment of the present invention. [Figure 12] FIG. 2 is a diagram showing an example of a product, a lot number, and an inventory amount according to an embodiment of the present invention. [Figure 13] FIG. 10 is a diagram showing another example of setting the constraint necessary threshold value in the logistics planning system according to one embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0012] Hereinafter, examples of modes for carrying out the present invention (hereinafter referred to as "embodiments") will be described with reference to the accompanying drawings. In this specification and the accompanying drawings, identical or similar components are given the same reference numerals, and redundant explanations may be omitted or only explanations focusing on the differences may be given. Furthermore, when there are multiple identical or similar components, they may be described using the same reference numerals with different subscripts. Note that when it is not necessary to distinguish between these multiple components, the subscripts may be omitted in the description. The number of each component may be singular or plural unless otherwise specified.
[0013] In the following embodiment, various types of information are described in table format, but the various types of information may be in a data format other than a table format. Furthermore, various names such as "XX information," "XX table," "XX list," and "XX list" are interchangeable. Furthermore, when describing identification information, expressions such as "identification information," "name," and "ID" are used, but these are interchangeable.
[0014] FIG. 1 is a schematic diagram showing an example of a logistics network that is the subject of a logistics plan. The logistics network 10 shown in FIG. 1 includes a company-owned factory 1a, a contract factory 1b, a peripheral warehouse 2a, a peripheral warehouse 2b, a shipping warehouse 3a, and a shipping warehouse 3b.
[0015] The company's own factory 1a is a factory (one of the manufacturing bases) that is owned by the company and manufactures products. Here, the company's own factory 1a may be a factory owned by a company (a requesting company) that has requested a company that operates a logistics planning system 500 (see FIG. 5, which will be described later) to create a logistics plan. Contract factory 1b is a factory (one of the manufacturing bases) owned by a company to which a certain company (our company in this case) has outsourced the manufacturing of its products. When there is no need to distinguish between the individual company factories 1a and contract factories 1b, they will be referred to as "factory 1."
[0016] The peripheral warehouse 2a is a facility provided in the vicinity of the company's own factory 1a, and stores, for example, products (hereinafter sometimes referred to as "goods") manufactured in the company's own factory 1a. The peripheral warehouse 2b is a facility located near the outsourced factory 1b, and stores products (goods) manufactured at the outsourced factory 1b. When individual peripheral warehouses are not distinguished, they are referred to as "peripheral warehouses 2."
[0017] The shipping warehouses 3a and 3b are facilities for storing transported products (goods) and shipping the products (goods) to consumers (customers of the products, retail stores, etc.). When there is no need to distinguish between the individual shipping warehouses 3a and 3b, they will be referred to as "shipping warehouse 3."
[0018] Because there is a warehouse (for example, Peripheral Warehouse 2) between the manufacturing base and the shipping warehouse, it is difficult to plan logistics because it is not enough to simply transport manufactured products; you also have to consider things like "what to store in which warehouse with an eye to the future" and "what to ship from which warehouse."
[0019] Currently, the main reasons for storing products in warehouses are that "the warehouse's shipping capacity is full" or "we are storing the increased production volume in the warehouse with an eye to the future." Basically, logistics costs are lowest when goods are transported directly from the manufacturing base to the shipping warehouse (because nearby warehouses require a stopover and two trips by trucks or other freight vehicles are required). In addition, our own factories and contract factories may be considered collectively as manufacturing bases. Also, there is no need to plan for reverse travel (such as return travel) from the shipping warehouse.
[0020] FIG. 2 is a diagram illustrating an example of a planning result of a physical distribution plan. 2 includes information about the plan, such as what to transport, when, and how much to transport from where to where. The plan result table 20 has the following fields: target week start date, payment warehouse code, payment warehouse name, receiving warehouse code, receiving warehouse name, product code, and product name.
[0021] The item "First day of target week" indicates the first date of the target week. The first date of the week does not have to be Sunday, but may be any other day of the week, such as Monday. The payment warehouse code field indicates a code (an example of identification information) for identifying the payment warehouse, i.e., the warehouse from which the manufactured product (goods) is shipped. The code is usually expressed using numbers or letters. As an example, the payment warehouse corresponds to the warehouse in factory 1 or surrounding warehouse 2 in Figure 1. The payment warehouse name field indicates the name of the payment warehouse.
[0022] The receiving warehouse code field indicates a code (an example of identification information) for identifying the receiving warehouse, i.e., the warehouse to which the manufactured product (goods) is to be shipped. As an example, the receiving warehouse corresponds to shipping warehouse 3 in Figure 1. The receiving warehouse name field indicates the name of the receiving warehouse. The item of product code indicates a code (an example of identification information) that identifies the product to be transported. The item "product name" indicates the name of the product to be transported.
[0023] FIG. 3 is a diagram showing an example of constraints and optimization of a logistics plan. Logistics planning requires planning the optimal movement of products while observing constraints between warehouses. The main constraints and optimization methods are listed below. However, the following are just examples and are not limited to these.
[0024] <Main constraints> (1) Shipping deadline constraints: Transport to avoid stockouts. (2) Warehouse capacity constraint: Maintain the capacity of each warehouse. (3) Transport capacity constraints: Maintain the amount of transport that each base can carry. (4) Transportable route constraints: Transport along permitted routes. The route is information (transportation route) that indicates where to transport. (5) Manufacturing lot sequence compliance constraint: The manufacturing lots to be shipped are allocated in order from the oldest to the newest (a constraint added in the present invention).
[0025] <Major optimizations> (1) Cost optimization: “Transportation cost” + “Warehouse entry cost” + “Shipping cost” + “Storage cost” Transportation costs are the costs involved in moving goods by truck, etc. Warehouse costs are the costs involved in putting goods into a warehouse. Shipping costs are the costs involved in removing goods from a warehouse. Storage costs are the costs involved in storing goods in a warehouse. (2) Minimizing violations of inventory standards: Maintaining the inventory standards set for each warehouse as much as possible
[0026] Figure 3 shows an example of a logistics plan involving a company's own factory 1a, a contract factory 1b, a surrounding warehouse 2 around the company, and a shipping warehouse 3. It is safe to assume that there are multiple company's own factory 1a, contract factory 1b, surrounding warehouse 2 around the company, and shipping warehouse 3. Furthermore, for each factory, warehouse, and transportation route, storage costs, inbound and outbound capacity (volume), and transportation costs are shown as normalized values. Naturally, the capacity of each surrounding warehouse 2 and shipping warehouse 3 must be maintained. Stockouts at each warehouse must be avoided as much as possible. A plan that minimizes the total transportation and storage costs is desirable.
[0027] Figure 4 shows an example of the number of elements and scale of an AI model. The upper part of Figure 4 shows an example in which four elements (also called dimensions) are considered to estimate the data volume of the logistics network on April 22, 2021. The four elements are element P, which represents the type of product, elements I and J, which represent the transportation route, and element T, which represents the delivery period. In this example, there are 600 types of products (element P), 2,500 combinations of transportation routes (elements I and J), and 10 weeks of delivery time (element T). The lower part of Figure 4 shows an example in which, in addition to the four elements above, element L, which represents the number of lots, is considered to estimate the data volume of the logistics network on that day. Below, the size of each AI model is calculated by rounding the number of lots to the nearest thousand (3,000).
[0028] (Original scale) 600×2500×10=15,000,000 The above formula shows the number of variable combinations. Constraint equations are created for this number of variable combinations, so as this number increases, the scale of the AI model also increases. Reducing this number is important for improving the performance of logistics planning systems.
[0029] (Scale including production lots) 600×2500×10×3000=45,000,000,000 When the number of items increases to this extent, it becomes difficult to process them in the first place due to a lack of memory on the logistics planning system's server.
[0030] [Production lot characteristics] (1) There is data in which the order of production lots is reversed in the initial data. Also, since logistics plans are created within a combination of multiple constraints, it is difficult to ensure that the order of production lots is maintained. For example, a case in which the order of production lots is reversed may occur when inventory from an older production lot remains in the warehouse at the time of initial inventory, while inventory from a newer production lot is in the shipping warehouse. (2) For some products, the order of production lots must be adhered to, but for other products, it is sufficient to adhere to the order as much as possible.
[0031] Therefore, in the present invention, attention is paid to the above-mentioned characteristics of the manufacturing lot, and a logistics plan is derived by devising a means for searching for an optimal solution for reducing the cost of the entire logistics. The principles of the present invention are as follows. (1) Assign "production lot" data to the products for which planning is being carried out. (2) Set the constraint threshold value based on the lot number. (3) For production lots that must adhere to the lot sequence, the production lot compliance constraint is applied as an absolute constraint. This allows the constraint to be applied by narrowing down the variables related to the absolute conditions to a minimum. (4) For manufacturing lots where it is best to adhere to the lot sequence as much as possible, the penalty for violating the lot sequence is weighted, and optimization is performed by applying the cost as the objective function. This is expected to enable the creation of plans that adhere to the lot sequence as much as possible without increasing the number of variables or constraints. (5) If the optimization result (total cost) does not reach the target value, the constraint requirement threshold in (2) above is relaxed, and (3) and (4) above are executed again. The configuration and operation of a logistics planning system according to one embodiment of the present invention will be described below.
[0032] [Control system configuration of logistics planning system] FIG. 5 is a block diagram showing an example of the configuration of a control system of the logistics planning system according to this embodiment. The logistics planning system 500 includes a data monitoring device 100, an optimization control device 200, and a solver device 300.
[0033] [Data management device] The data monitoring device 100 monitors data relating to logistics input from a PC (Personal Computer) 700 or the like. The data monitoring device 100 comprises a CPU 110, a purpose-specific application 120, a monitoring table 131, and an optimized data table 132. The purpose-specific application 120 comprises an execution management unit 121 and a result transmission unit 122.
[0034] The execution management unit 121 is a functional block that controls the execution of an AI model (hereinafter referred to as "AI execution") by referring to the monitoring table 131. The execution management unit 121 transmits and receives data to and from the PC 700 and the optimization control device 200. The result transmission unit 122 is a functional block that transmits the results of running the AI model (hereinafter referred to as "AI results") to the customer. For example, the AI results include the optimal cost and the optimal solution for achieving that optimal cost, that is, the variable values of each element that makes up the logistics plan. The monitoring table 131 is a table (which stores execution history) that the execution management unit 121 refers to in order to control AI execution. The optimization data table 132 is a table in which the AI results of the solver device 300 are stored by the result sending unit 122.
[0035] [Optimization control device] The optimization control device 200 (an example of an optimization control unit) executes control to optimize the objective function (total logistics cost) of the AI model under constraint conditions. The control content is, for example, adjustment of a threshold value. The optimization control device 200 includes a CPU 210 and an optimization control execution system 220. The optimization control execution system 220 is a function realized using application software. The optimization control execution system 220 includes an optimization control unit 221 and a model generation unit 222.
[0036] The optimization control unit 221 is a functional block that controls the execution of optimization by the solver device 300. The optimization control unit 221 transmits and receives data to and from the data monitoring device 100 and the solver device 300. The model generation unit 222 is a functional block that generates an AI model (mathematical formula) consisting of variables, constraints, and an objective function. The AI model is, for example, a learning model that uses machine learning using a neural network or the like.
[0037] (Model generation part) The model generation unit 222 will now be described in further detail. The model generation unit 222 includes a data shaping unit 231, a variable creation unit 232, a constraint creation unit 233, and an objective function creation unit 234. The model generation unit 222 also includes an AI input data list 241, a variable data list 242, a constraint data list 243, and an objective function data list 244.
[0038] The data reforming unit 231 is a functional block that converts (forms) customer data into data for input to an AI model. This function is a well-known technique for using an AI model, so a detailed description will be omitted. The variable creation unit 232 is a functional block that creates variables for the AI model. As an example, the variable creation unit 232 creates (adds) a lot number as a variable to the AI model input data acquired from the data reforming unit 231. The constraint creation unit 233 is a functional block that creates constraint equations for the AI model. The objective function creation unit 234 is a functional block that creates an objective function for the AI model.
[0039] The AI input data list 241 is a table that stores the AI model input data converted by the data reforming unit 231. The variable data list 242 is a table that stores data on the variables of the AI model created by the variable creation unit 232. The constraint data list 243 is a table that stores data on the constraint equations of the AI model created by the constraint creating unit 233. The objective function data list 244 is a table that stores data of the objective functions of the AI model created by the objective function creation unit 234.
[0040] [Solver Device] The solver device 300 (an example of an optimization execution unit) is a computer that optimizes the cost of the entire physical distribution process based on constraint conditions (constraint equations, which will be described later). The solver device 300 includes a CPU 310 and an optimization solver 320 (an example of an optimization unit). The optimization solver 320 is a tool (application program) that executes optimization of the objective function under the control of the optimization control device 200. The optimization solver 320 transmits the results of the execution of the optimization to the optimization control device 200.
[0041] [Computer hardware configuration] Next, the hardware configuration of each device in the distribution planning system 500 will be described. FIG. 6 is a block diagram showing an example of the hardware configuration of each device in the distribution planning system 500. The calculator 600 shown in Fig. 6 is an example of hardware used as a computer capable of operating as each device in the logistics planning system 500. Each device in the logistics planning system 500 realizes processing performed by the functional blocks shown in Fig. 5 in cooperation with each other by the calculator 600 (computer) executing a program.
[0042] The computer 600 includes a CPU (Central Processing Unit) 601, a ROM (Read Only Memory) 602, a RAM (Random Access Memory) 603, a non-volatile storage 604, and a communication interface 605. Each component can transmit and receive data to and from each other via a system bus. The CPU 601, the ROM 602, the RAM 603, and the non-volatile storage 604 constitute a control unit. This control unit is an example of a computer that controls the operation of each device in the logistics planning system 500.
[0043] In each device of the logistics planning system 500, the CPU 601 reads out program code of software that realizes the functions according to this embodiment from a ROM 602 (an example of a recording medium), loads it into a RAM 603, and executes it. Variables, parameters, etc. generated during the calculation processing of the CPU 601 are temporarily written to the RAM 603, and these variables, parameters, etc. are read out as appropriate by the CPU 601. The functions of each functional block in each device are realized by the CPU 601 executing the program code read out from the ROM 602. However, other processors such as an MPU (Micro Processing Unit) may be used instead of the CPU 601. Information is temporarily stored in the RAM 603 during the procedures of various classes, which will be described later.
[0044] For example, the CPU 601 (corresponding to CPU 110 in FIG. 5) of the data monitoring device 100 executes the program code to realize the functions of the execution management unit 121 and the result transmission unit 122. Furthermore, the CPU 601 (corresponding to CPU 210 in FIG. 5) of the optimization control device 200 executes the program code to realize the functions of the optimization control unit 221 and the model generation unit 222. Furthermore, the CPU 601 (corresponding to CPU 310 in FIG. 5) of the solver device 300 executes the program code to realize the functions of the optimization solver 320.
[0045] The nonvolatile storage 604 is an example of a recording medium, and is capable of storing data used by a program, data obtained by executing a program, etc. The nonvolatile storage 604 may store an OS (Operating System), various parameters, and programs for operating the computer 600. The nonvolatile storage 604 may be a hard disk drive (HDD), a solid state drive (SSD), an optical or magnetic disk medium, a semiconductor memory card, or the like.
[0046] For example, the monitoring table 131 and the optimization data table 132 of the data monitoring device 100 are stored in the non-volatile storage 604. In addition, the AI input data list 241, the variable data list 242, the constraint data list 243, and the objective function data list 244 of the optimization control device 200 are stored in the non-volatile storage 604.
[0047] For example, a network interface card (NIC) or the like is used as the communication interface 605. The communication interface 605 is configured to be able to transmit and receive various data to and from external devices via a communication network such as a LAN or the Internet connected to a terminal of the NIC or the like, or a dedicated line or the like.
[0048] A display device and an input device (not shown) may be connected to the computer 600. The display device is a monitor such as a liquid crystal display, and displays a GUI screen, the results of processing performed by the CPU 601, etc. The input device generates an input signal in response to a user operation and outputs it to the CPU 601. The input device may be, for example, a mouse or a keyboard, and the user can operate the input device to input information and instructions.
[0049] The PC 700 (see FIG. 7, described later) used by the user can also have the same configuration as the computer 600, just like other devices.
[0050] [Data flow through logistics planning system 500] FIG. 7 is a diagram showing an example of the flow of data through the logistics planning system 500. As shown in FIG. (1) A user operates PC 700 to input input data into data monitoring device 100. The input data is data related to logistics, and for example, is data (customer data) about products (merchandise) manufactured at the customer's factory, obtained from the customer. For example, upon receiving an input command from the user, PC 700 transmits the input data obtained via a communication network to data monitoring device 100. Note that the user may also manually input the input data into PC 700.
[0051] (2) The execution management unit 121 of the data monitoring device 100 registers the status of the factory, warehouse, etc. based on the customer data in the monitoring table 131. The status is information relating to the state or situation of the factory, warehouse, etc. (3) The execution management unit 121 instructs the optimization control device 200 to execute the AI model (AI execution).
[0052] (4) The optimization control unit 221 of the optimization control device 200 receives an AI execution command from the optimization control device 200 and transmits data used to execute the AI model (hereinafter referred to as "AI data") to the model generation unit 222. The data used to execute the AI model is, for example, data related to logistics obtained from a customer (hereinafter referred to as "customer data"). (5) The data reforming unit 231 converts the customer data into data for input to an AI model and registers it in the AI input data list 241. (6) The variable creation unit 232 creates variables for the AI model and registers them in the variable data list 242. (7) The constraint creation unit 233 creates a constraint equation for the AI model and registers it in the constraint data list 243. (8) The objective function creation unit 234 creates an objective function for the AI model and stores it in the objective function data list 244. (9) The model generation unit 222 transmits the AI model to the optimization control unit 221. (10) The optimization control unit 221 commands the solver device 300 to perform optimization.
[0053] (11) The optimization solver 320 of the solver device 300 transmits the results of the optimization execution to the optimization control device 200. The results of this optimization execution include a logistics plan, such as that shown in FIG. 2, which reflects the optimal cost as an example. (12) The optimization control unit 221 of the optimization control device 200 transmits the results of the optimization execution received from the solver device 300 to the data monitoring device 100. (13) The result transmission unit 122 of the data monitoring device 100 stores the results of the optimization execution received from the optimization control device 200 in the optimization data table 132 . (14) The result transmission unit 122 transmits the results of the optimization execution to the PC 700.
[0054] The PC 700 displays, on a display device (not shown), the results of the optimization performed by the solver device 300. The user checks the results of the optimization performed by the AI model displayed on the display device of the PC 700.
[0055] [Overall processing by logistics planning system] Next, the overall processing by the physical distribution planning system 500, which is premised on the data flow shown in FIG. 7, will be described with reference to FIG. Fig. 8 is a diagram showing an example of the procedure of the overall processing by the logistics planning system 500. The flowchart shown in Fig. 8 includes a model execution process before reflecting the production lot (step A) and a model execution process reflecting the production lot (step B). Fig. 8 describes only the processing steps that are considered necessary for understanding the overall processing by the logistics planning system 500.
[0056] (Model execution process before reflecting manufacturing lot) In the process of executing a model before reflecting a manufacturing lot (Step A), when the process starts, the model generation unit 222 creates a normal AI model (S1). The AI model at this stage is in a state where the manufacturing lot has not yet been reflected, and is called a "model before reflecting a manufacturing lot." Next, the optimization control unit 221 commands the solver device 300 to perform optimization using the model before reflecting the manufacturing lot generated by the model generation unit 222 (S2). Next, the optimization solver 320 of the solver device 300 calculates the results of the optimization execution (AI results) using the model before the production lot is reflected (S3). The AI results include the cost of the entire logistics and the amount of each variable. The cost included in this AI result is used as the target value (target cost) in step S19. After processing in step S3, the process proceeds to step S11 of the production lot reflection model execution process (step B).
[0057] (Manufacturing lot reflection model execution process) After processing in step S3, the variable creation unit 232 of the model generation unit 222 assigns a lot number to each product in the AI model input data converted from the customer data (S11). The data monitoring device 100 can acquire production lot information from the customer data. The variable creation unit 232 assigns a lot number to each production lot of each product based on the production lot information for each product.
[0058] Next, the constraint creating unit 233 sets a constraint necessary threshold (S12). This process is the first point of the overall process by the logistics planning system 500 according to this embodiment.
[0059] Next, the constraint creating unit 233 determines whether or not a constraint is necessary based on the set constraint necessity threshold (S13). If it is determined in step S13 that a constraint is necessary (YES determination in S13), the constraint creation unit 233 creates a manufacturing lot compliance constraint for the target product (S14).
[0060] On the other hand, if it is determined in step S13 that the constraint is unnecessary (NO determination in S13), the constraint creating unit 233 sets a weighting of the penalty in the case where the lot sequence is violated (S15). This processing is the second point of the overall processing by the logistics planning system 500 according to this embodiment. Next, the objective function creation unit 234 creates an objective function that optimizes the cost including the penalty (S16).
[0061] Next, the optimization control unit 221 commands the solver device 300 to perform optimization using the production lot reflection model generated by the model generation unit 222 (S17). Next, the optimization solver 320 of the solver device 300 calculates the results of the optimization execution (AI results) using the production lot reflection model (S18).
[0062] Next, the optimization control unit 221 receives the AI results using the production lot reflection model from the solver device 300 and passes them to the constraint creation unit 233. The constraint creation unit 233 determines whether the cost included in the AI results reaches the target value (target cost) obtained in step S3 (S19). This process is the third point of the overall process by the logistics planning system 500 according to this embodiment.
[0063] If the cost included in the AI result does not reach the target value in step S19 (NO judgment in S19), the constraint creation unit 233 executes a process to relax the constraint necessity threshold set in step S12 (S20). Then, the constraint creation unit 233 sets the relaxed constraint necessity threshold (S12). Thereafter, the optimization control device 200 and the solver device 300 execute the processes of steps S13 to S19.
[0064] If the cost included in the AI result reaches the target value in step S19 (YES judgment in S19), the constraint creation unit 233 passes the judgment result to the optimization control unit 221. The optimization control unit 221 adopts the AI result reflecting the optimal cost and transmits the AI result to the data monitoring device 100 (S21).
[0065] In the data monitoring device 100, the result transmission unit 122 receives the AI results from the optimization control device 200 and stores them in the optimization data table 132. The result transmission unit 122 also transmits the received AI results to the PC 700. The transmitted AI results, i.e., the logistics plan information, are displayed on the display device of the PC 700.
[0066] [Assignment of lot numbers to products] Here, the details of the process of step S11 shown in FIG. 8 will be described with reference to FIGS. FIG. 9 is a diagram showing an example of how production lot data (lot numbers) are assigned in the distribution planning system 500. As shown in FIG. When data for each product (customer data or product data) is received from a customer, the data for each product is accompanied by production lot information. The granularity (for example, the unit of information), such as date or month, varies depending on the product. Therefore, the variable creation unit 232 sorts the production lots for each product included in the AI model input data in ascending order and assigns a lot number to each product. This allows the order of the production lots for each product to be input to the AI model. Note that the variable creation unit 232 may not only rearrange the order of the product production lots, but also perform data reformatting to standardize the display format of each item, such as the date and month of production, in the data reformatting unit 231.
[0067] The example in FIG. 9 shows an example of a table including the following fields: product, production month, and lot number. "AAAA" and "BBBB" are registered in the product field. "202305" to "202311" are registered for product "AAAA" in the production month field. "1" to "7" are registered for product "AAAA" in order of oldest production month in the lot number field. "202307" to "202310" are registered for product "BBBB" in the production month field. "1" to "4" are registered for product "BBBB" in the lot number field. The variable creation unit 232 assigns a lot number to each product based on the product production month information acquired from the customer data.
[0068] FIG. 10 shows an example of the optimal order of manufacturing lots in the distribution planning system 500. 10 shows that production base Factory 1 has 2,600 units of product "AAAA" with lot number "3" in stock and 7,000 units of product "AAAA" with lot number "4" in stock. Fig. 10 also shows that peripheral warehouse 2 has 1,000 units of product "AAAA" with lot number "2" in stock and 4,000 units of product "AAAA" with lot number "3" in stock. In this case, if product "AAAA" with lot number "2" is not moved from neighboring warehouse 2 first, there is a possibility of backlogs or reversed orders in the future. In logistics planning, we want to move and allocate products to shipments in order starting with the oldest lot number.
[0069] [Setting the constraint requirement threshold / Determining whether constraints need to be complied with based on the constraint requirement threshold] Next, the details of the processes in steps S12 and S13 shown in FIG. 8 will be described with reference to FIG. FIG. 11 is a diagram showing an example of setting the constraint necessary threshold value in the logistics planning system 500. In FIG. In this embodiment, the median of the manufacturing lot distribution for each product is found to determine the constraint threshold for the lot number. The constraint threshold is determined by the lot number that is the median. In the table shown in FIG. 11, there are seven records for product "AAAA." The constraint creation unit 233 sets "4," which is the median of lot numbers "1" to "7," as the lot number constraint threshold M1 for product "AAAA." On the other hand, there are four records for product "BBBB." For product "BBBB," the lot numbers are "1" to "4," so "2," the median, is set as the lot number constraint threshold M2.
[0070] The constraint creation unit 233 compares the constraint necessary threshold value with the product lot number. Taking the product "AAAA" as an example, the constraint creation unit 233 applies a constraint (hereinafter referred to as an "absolute constraint") that always adheres to the order of the production lots to the logistics plan for the product "AAAA" with lot numbers "1" to "4" whose lot numbers are equal to or less than the constraint necessary threshold value M1 of "4." On the other hand, the constraint creation unit 233 does not apply constraints to the logistics plan for product "AAAA" with lot numbers "5" to "7" that exceed the constraint necessary threshold M1 of "4," and tries to maintain the order of the production lots as much as possible. Such constraints are normal constraints as opposed to absolute constraints. In this case, the constraint creation unit 233 sets the penalty for violating the order of the production lots in the objective function.
[0071] In the case of product "BBBB," absolute constraints are applied to the logistics plan for product "BBBB" with lot numbers "1" to "2," which are less than or equal to the constraint threshold M2 of "2." Absolute constraints are not applied to the logistics plan for product "BBBB" with lot numbers "3" to "4," which are greater than the constraint threshold M2 of "2."
[0072] In Figure 11, the constraint threshold is set to the median value of the lot numbers of the same product, but this can also be said to be approximately the middle value of the manufacturing month, i.e., the manufacturing date. This corresponds to the position halfway from the oldest manufacturing period. The constraint threshold is not limited to the median value of the lot number, but can be set to various values corresponding to various positions, such as 2 / 3 or 1 / 3 from the smallest lot number (oldest manufacturing lot).
[0073] [Setting penalty weights / Creating a cost-optimal objective function] Next, the details of the processes in steps S15 and S16 shown in FIG. 8 will be described with reference to FIG. By reflecting the "penalty cost for violating the lot sequence" in the original cost optimization formula, the solver device 300 is given a tendency to adhere to the lot sequence as much as possible. The "penalty cost for violating the lot sequence" can also be rephrased as the "penalty cost incurred when products with old lot numbers are left behind."
[0074] The key points to consider when imposing penalties are (1) and (2) below. (1) The penalty is set so that the older the lot number assigned to the product, the higher the cost. This ensures that the optimization process allocates products with the oldest lot numbers to shipments. (2) If the penalty is too large compared to the original cost, it will have a large impact and destroy the original AI model. Conversely, if the penalty is too small, it will have little or no impact and the AI results will not change. Therefore, it is necessary to determine an appropriate weighting for the penalty. The constraint creation unit 233 sets the penalty and its weighting.
[0075] (original cost optimization formula) Total cost = "Transportation cost" + "Incoming cost" + "Outgoing cost" + "Storage cost" Transportation cost = transportation volume (payment point, receiving point) x transportation cost master (payment point, receiving point) Calculated based on truck costs between locations. The transportation cost master contains a summary of transportation costs for each unit of product. The payment location / receiving location are synonymous with the payment warehouse / receiving warehouse. · Warehouse cost = Warehouse quantity (receiving location) × Warehouse cost master (receiving location) Calculated using the inventory master at the receiving location. The inventory master contains the costs of receiving goods by unit number. · Shipping cost = Shipping amount (payment location) × Shipping cost master (payment location) Calculated using the shipping master data at the shipping location. The shipping master data summarizes shipping costs for each unit of product. Storage cost = Inventory amount (base) x Storage cost master (base) Calculated using the storage cost master data for each warehouse. The storage master data summarizes the storage costs for each unit of product.
[0076] The constraint creation unit 233 applies a higher penalty to the storage costs as the lot number of the stored product becomes older. This allows the optimization solver 320 to create a transportation plan that allocates products with as old a lot number as possible to shipments.
[0077] (Penalties are set so that the older the lot number, the higher the cost) Storage costs with penalties Storage cost = Inventory amount (base) x Storage cost master (base) + Inventory (base) × (maximum lot number for each product - current lot number) × weight N
[0078] Figure 12 shows an example of a table with the following fields: date, location, product, lot number, and inventory amount. "cs" is an abbreviation for "case." In the example of Figure 12, the date is "April 1," the location is "A," the product is "AAAA," the lot number is "2," and the inventory amount is "3000." Here, the following conditions are assumed: (a) Storage cost master of A base: 5000 / cs (b) Largest lot number of AAAA: 7 (c) Weight N: 500
[0079] When the above conditions are applied, the existing and penalty storage costs are as follows: · Existing storage cost: Inventory amount “3000” x storage cost master “5000” Storage cost with penalty: Inventory amount "3000" x Storage cost master "5000" + Inventory amount "3000" x (Maximum lot number 7 - 2) x Weight N "500" To reduce the cost increase due to this penalty, optimization is performed to reduce inventory of old lot numbers.
[0080] (Determine appropriate weighting) As mentioned above, it is necessary to adjust the weight parameters to appropriately penalize existing storage costs. Point (1): The penalty weight parameter is set so that the penalty portion accounts for approximately 10% of the existing total cost. In this embodiment, this value of 10% is defined as the "cost-optimal impact index." The cost-optimal impact index is a value that does not cause the impact of the penalty to be too large or too small. Note that the cost-optimal impact index does not have to be 10%.
[0081] Point (2): Calculate the weight N that satisfies (1) above using a theoretical value (rough value). Here, a rough value will suffice, so you can calculate it by running a simulation using customer-obtained data. However, since the calculation load may be heavy, in that case you can also calculate the weight N using the following method.
[0082] It is advisable to execute the calculations of the model before reflecting the production lot (existing AI model) and obtain the total cost, inventory amount, and lot number of each product from the execution results. The reason for this is that the total cost from the model before reflecting the production lot does not take the production lot into consideration, but is a calculation of the approximate target value of the model after reflecting the production lot.
[0083] Then, an appropriate weight N can be obtained using the following formula (1). Above total cost × 10% (cost optimization impact index) = Above inventory amount × Above optimization target lot number × Weight N (1)
[0084] [Determining whether the AI result has reached the target value] Next, the process of step S19 shown in FIG. 8 will be described in detail. As described above, in step S19 of FIG. 8, the constraint creating unit 233 compares the total cost (target value) based on the model before the manufacturing lot is reflected with the total cost based on the current AI result. The difference between the current AI result and the target value is calculated using the following formula (2), and whether the AI result has reached the target value is determined based on whether the difference is within the allowable range. Difference = |Model cost before reflecting the manufacturing lot - AI result cost| / Model cost before reflecting the manufacturing lot ···· (2)
[0085] [Relax the constraint requirement threshold] Next, details of the process of step S20 shown in Fig. 8 will be described with reference to Fig. 13. If the AI result does not reach the target value, the necessary constraint threshold for the production lot is relaxed. FIG. 13 is a diagram showing another example of setting the constraint necessary threshold value in the logistics planning system 500. In FIG. 13, the original constraint necessary threshold M1 for product "AAAA" is set between lot number 4 and lot number 5 (lot number less than or equal to 4 / more than 4). Note that the constraint necessary threshold does not necessarily have to be an integer, and may be a value including a decimal point such as 4.5.
[0086] For example, the constraint creation unit 233 sets the relaxed constraint necessary threshold M3 between lot number 3 and lot number 4 (lot number less than or equal to 3 / greater than 3). This narrows the range of the manufacturing month, manufacturing lot number, total inventory amount, etc. to which the constraint is applied, and reduces the number of combinations of variables in the AI model. This reduces the scale of the AI model, reduces the load on the AI model when calculating, and shortens processing time. Here, the step size for relaxation is simply to reduce the lot number for each product by 1. However, the step size for relaxation may also be 2 or some other value.
[0087] (Variations of Relaxing the Constraint Necessity Threshold) Furthermore, in this embodiment, when the constraint necessary threshold is relaxed, its value is decreased by 1 (moving toward older lot numbers), but this example is not limited to this. For example, the constraint necessary threshold may be changed depending on the time from when the AI model calculation starts until the AI model calculation is completed and the AI result is obtained. For example, if the AI model calculation completion time is slower than expected, the constraint necessary threshold may be decreased. Conversely, if the AI model calculation completion time is faster than expected, the constraint necessary threshold may be increased.
[0088] In this case, the change range of the constraint requirement threshold may be changed depending on the difference between the calculation completion time of the AI model and the expected time. In this way, the scope of constraint application can be flexibly changed depending on the current processing load of the logistics planning system 500. As a result, the time required to obtain the AI result of the logistics planning system 500 can be stabilized regardless of the processing load. Here, it is desirable that the difference between the AI result and the target value be within an allowable range.
[0089] As described above, the logistics planning system 500 according to this embodiment includes an optimization control unit (optimization control device 200) that receives data for each element of a logistics network through which goods are transported and generates a learning model that outputs a logistics plan under constraint conditions, and an optimization execution unit (solver device 300) that performs optimization using the learning model and calculates an optimal solution that minimizes the logistics cost as an objective function. The optimization control unit is configured to assign a lot number to a product based on the production lot of the product included in the data, set a constraint requirement threshold from the lot number, and create a constraint that the order of lot numbers must be maintained for production lots older than the constraint requirement threshold, and create a constraint that the order of lot numbers should be maintained as much as possible for production lots newer than the constraint requirement threshold.
[0090] Furthermore, in the distribution planning system 500 according to this embodiment, the optimization control unit is configured to weight the penalty for a production lot for which it is better to maintain the order of lot numbers as much as possible.
[0091] Furthermore, in the logistics planning system 500 according to this embodiment, if the cost obtained by performing optimization by the optimization execution unit does not satisfy the target value, the optimization control unit relaxes and resets the constraint requirement threshold.
[0092] Furthermore, in the logistics planning system 500 according to this embodiment, the optimization control unit is configured to transmit the logistics plan obtained by executing optimization by the optimization execution unit to an external terminal (PC 700).
[0093] As described above, the present invention is not limited to the above-described embodiments, and various other modifications and applications are possible without departing from the spirit of the invention as set forth in the claims. For example, the above-described embodiments have been described in detail and specifically to clearly explain the present invention, and are not necessarily limited to those including all of the components described. Furthermore, it is also possible to add, replace, or delete other components from part of the configuration of the embodiments.
[0094] Furthermore, the above-described configurations, functions, processing units, etc. may be partially or entirely implemented in hardware, for example, by designing them as integrated circuits. Broad processor devices such as FPGAs (Field Programmable Gate Arrays) and ASICs (Application Specific Integrated Circuits) may also be used as hardware. Furthermore, a cloud environment may be utilized to store this information.
[0095] Furthermore, each component of the logistics planning system according to the above-described embodiment may be implemented in any hardware as long as the respective hardware can transmit and receive information to and from each other via a network. Furthermore, the processing performed by a certain processing unit may be realized by a single piece of hardware, or may be realized by distributed processing using multiple pieces of hardware.
[0096] In the above-described embodiment, the control lines and information lines are those that are considered necessary for the explanation, and not all control lines and information lines in the product are necessarily shown. In reality, it can be considered that almost all components are connected to each other.
[0097] In this specification, processing steps describing chronological processing include not only processing performed chronologically in the order described, but also processing that is not necessarily performed chronologically but is performed in parallel or individually (for example, processing by objects). Furthermore, the processing order of processing steps describing chronological processing may be changed as long as it does not affect the processing results. [Explanation of symbols]
[0098] 10...Logistics network, 20...Planning result table, 100...Data monitoring device, 120...Purpose-specific application, 121...Execution management unit, 122...Result transmission unit, 131...Monitoring table, 132...Optimization data table, 200...Optimization control device, 220...Optimization control execution system, 221...Optimization control unit, 222...Model generation unit, 231...Data shaping unit, 232...Variable creation unit, 233...Constraint creation unit, 234...Objective function creation unit, 241...AI input data list, 242...Variable data list, 243...Constraint data list, 244...Objective function data list, 300...Solver device, 320...Optimization solver, 500...Logistics planning system
Claims
1. an optimization control unit that receives data for each element of a logistics network that transports goods as input and generates a learning model that outputs a logistics plan under constraints; an optimization execution unit that executes optimization using the learning model and calculates an optimal solution that minimizes the cost of logistics as an objective function, The optimization control unit assigns a lot number to the product based on the production lot of the product included in the data, sets a constraint threshold from the lot number, imposes a constraint that the order of the lot numbers must be observed for production lots older than the constraint threshold, and imposes a constraint that the order of the lot numbers should be observed as much as possible for production lots newer than the constraint threshold. Logistics planning system.
2. The optimization control unit weights the penalty for a manufacturing lot for which it is better to maintain the order of the lot numbers as much as possible. The logistics planning system according to claim 1 .
3. The optimization control unit, when the cost obtained by the optimization execution unit performing the optimization does not satisfy a target value, relaxes and resets the constraint necessity threshold. The logistics planning system according to claim 2 .
4. The optimization control unit controls the optimization execution unit to transmit the logistics plan obtained by executing the optimization to an external terminal. The logistics planning system according to any one of claims 1 to 3.
5. A logistics planning method using a logistics planning system including: an optimization control unit that receives data for each element of a logistics network that transports goods as input and generates a learning model that outputs a logistics plan under constraint conditions; and an optimization execution unit that performs optimization using the learning model and calculates an optimal solution that minimizes logistics costs as an objective function, a process of assigning a lot number to the product based on the production lot of the product included in the data by the optimization control unit; a process of setting a constraint necessary threshold value based on the lot number by the optimization control unit; The optimization control unit imposes a constraint that the order of the lot numbers must be observed for production lots older than the constraint necessary threshold, and imposes a constraint that the order of the lot numbers should be observed as much as possible for production lots newer than the constraint necessary threshold. Logistics planning methods.
Citation Information
Patent Citations
Method and device for searching optimal solution of allocation and despatching scheduling program problem
JP1996153085A