CN114970925A - Method and system for optimizing logistics scheduling - Google Patents

Method and system for optimizing logistics scheduling Download PDF

Info

Publication number
CN114970925A
CN114970925A CN202110216478.8A CN202110216478A CN114970925A CN 114970925 A CN114970925 A CN 114970925A CN 202110216478 A CN202110216478 A CN 202110216478A CN 114970925 A CN114970925 A CN 114970925A
Authority
CN
China
Prior art keywords
ant
iteration
bin
available
order
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110216478.8A
Other languages
Chinese (zh)
Inventor
赵振宇
胡栢顺
刘洋
于萍
张志洪
尹丽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BMW Brilliance Automotive Ltd
Original Assignee
BMW Brilliance Automotive Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BMW Brilliance Automotive Ltd filed Critical BMW Brilliance Automotive Ltd
Priority to CN202110216478.8A priority Critical patent/CN114970925A/en
Publication of CN114970925A publication Critical patent/CN114970925A/en
Pending legal-status Critical Current

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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • 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
    • G06Q10/083Shipping
    • 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
    • G06Q10/083Shipping
    • G06Q10/0838Historical data
    • 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
    • G06Q10/087Inventory or stock management, e.g. order filling, procurement or balancing against orders
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • General Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Development Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Data Mining & Analysis (AREA)
  • Finance (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Game Theory and Decision Science (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The application relates to a method and a system for optimizing logistics scheduling. There is provided a computer-implemented method comprising: constructing inputs of an ant colony algorithm, including order data, available bin position data and logistics efficiency data related to materials of orders to be delivered within a predetermined time period; initializing parameters of an ant colony algorithm, including an ant number, iteration stop conditions, and an pheromone matrix, wherein the ant number is based on the number of materials contained in the order data, and elements of the pheromone matrix indicate corresponding pheromone concentrations on all possible paths from each material in each order to each bin; when the iteration stop condition is not met, the ant colony algorithm is executed in an iteration mode; and when the optimal solution is satisfied, stopping iteration and outputting the optimal solution at the time. For each iteration, generating a solution corresponding to each ant, which is a set of paths selected by the ant from each material in each order to each bin; and determining an optimal solution for each iteration based on an objective function indicating the bin position utilization rate of the bin positions occupied by all the materials, wherein the objective function is a linear function.

Description

Method and system for optimizing logistics scheduling
Technical Field
The present disclosure relates to logistics scheduling, and in particular to a method and system for optimizing logistics scheduling.
Background
In the conventional mode, each production department makes a purchase plan and generates a purchase order according to a production demand, and agrees with a supplier about delivery time, transportation mode, and the like of the purchase order. After the various orders arrive, the warehouse carries out the position distribution and the material storage aiming at the received materials.
However, various problems may arise due to the lack of an advanced unified deployment. For example, when the materials of the order arrive, the materials are randomly allocated to available but not necessarily the most suitable storage positions, so that the storage positions of the warehouse cannot be effectively utilized, namely, the utilization rate of the storage positions of the warehouse is low. In some cases, due to lack of advance allocation, when materials of various orders arrive, the warehouse may not have available storage space to store the materials, which causes logistics confusion and affects production plans. Sometimes, the warehouse has more idle warehouse positions and is not fully utilized, and sometimes, the order is piled up and the order cannot provide enough available warehouse positions.
Disclosure of Invention
According to one aspect, there is provided a computer-implemented method comprising: building inputs to an ant colony algorithm, the inputs including order data, available bin level data, and logistics efficiency data relating to material of an order to be delivered within a predetermined time period; initializing parameters of an ant colony algorithm, the parameters including an ant number, an iteration stop condition, and an pheromone matrix, wherein the ant number is based on a number of materials contained in the order data, and elements of the pheromone matrix indicate respective pheromone concentrations on all possible paths from each material in each order to each bin; when the iteration stop condition is not met, the ant colony algorithm is executed in an iteration mode; and when the iteration stop condition is met, stopping iteration and outputting the optimal solution at the moment. Wherein iteratively executing the ant colony algorithm comprises: for each iteration, generating a solution corresponding to each ant, the solution corresponding to each ant being a set of paths from each material in each order to each bin selected by the ant; and determining an optimal solution for each iteration based on an objective function, wherein the objective function indicates the utilization rate of the storage space occupied by all the materials.
According to some embodiments, the input to the constructing the ant colony algorithm further comprises: constructing a task array associated with order data, wherein the task array comprises at least one task object, and each task object represents the material type, the storage capacity requirement and the delivery time of a material in an order; constructing a two-dimensional matrix associated with the available library position data, wherein the two-dimensional matrix comprises at least one available library position object, and each available library position object represents the available library capacity and the suitable product class of a certain library position at a certain time point; and constructing a two-dimensional matrix associated with the logistics efficiency data, wherein the two-dimensional matrix comprises at least one logistics efficiency object, and each logistics efficiency object represents the logistics duration when a certain supplier carries out transportation in a certain transportation mode.
According to some embodiments, determining the optimal solution for each iteration based on the objective function further comprises: for each iteration, calculating a value of the corresponding objective function for the solution corresponding to each ant; the solution that maximizes the value of the objective function is selected as the optimal solution for that iteration.
According to some embodiments, iteratively performing the ant colony algorithm further comprises: at the end of each iteration, for each ant, the update of the pheromone matrix is carried out according to the following formula:
Figure BDA0002953277860000021
Figure BDA0002953277860000022
wherein, tau ij Indicating the information concentration value on the path from the task object i to the library position j, i is a natural number less than or equal to the total number of materials, j is less thanA natural number equal to the total number of bin bits;
Figure BDA0002953277860000031
an pheromone concentration value of the kth ant on the path from the task object i to the library bit j is represented, and k is a natural number smaller than or equal to the number of ants;
wherein, if the kth ant uses the path from the task object i to the library position j, the corresponding pheromone concentration value is added to the path from the task object i to the library position j to be Q/C k In which C is k Representing the difference obtained by subtracting the utilization rate of the library position of the solution corresponding to the kth ant from 100%), and Q is an empirical value;
if the kth ant does not use the path from the task object i to the library position j, adding the corresponding pheromone concentration value to be 0 aiming at the path from the task object i to the library position j.
According to some embodiments, iteratively performing the ant colony algorithm further comprises: at the end of each iteration, pheromone volatilization is performed for each element of the pheromone matrix according to the following formula:
pheromoneMatrix[i][j]=pheromoneMatrix[i][j]-ρ
wherein rho is an information volatilization factor which is larger than 0 and smaller than 1.
According to some embodiments, the iteration stop condition is: the iteration times are more than the preset times; or the objective function value corresponding to the optimal solution is more than or equal to the preset utilization rate of the library bit.
According to some embodiments, the method further comprises, for a task object, performing the following steps until a path for the task object is constructed: randomly selecting a bin, determining whether the bin is capable of providing available bins that meet the delivery time of the task object, responsive to determining that the bin object is capable of providing available bins that meet the delivery time of the task object, constructing a path from the task object to the bin, responsive to determining that the bin is not capable of providing available bins that meet the delivery time of the task object, randomly selecting another bin and determining whether to construct a path from the task object to the another bin based on whether the another bin is capable of providing available bins that meet the delivery time of the task object.
According to some embodiments, the method further comprises: determining inventory based on the output optimal unlock; and sending a notification of the delivery of the order to the supplier.
According to some embodiments, the available bin level data is determined based on current real-time bin level utilization and historical bin level turnover rates for the material.
According to some embodiments, the order data contains information reflecting order priority.
According to one aspect, there is provided a computer system comprising: one or more processors, and a memory coupled with the one or more processors, the memory storing computer-readable program instructions that, when executed by the one or more processors, cause the one or more processors to perform a method as described above.
According to one aspect, there is provided a computer readable storage medium having computer readable program instructions stored thereon, which when executed by a processor, cause the processor to perform the method as described above.
According to one aspect, there is provided a computer program product comprising computer readable program instructions which, when executed by a processor, cause the processor to perform the method as described above.
Drawings
Fig. 1 is a schematic diagram for explaining an overview of a logistics intelligent scheduling system according to an embodiment of the present disclosure.
Fig. 2 is a flowchart illustrating a logistics intelligent scheduling method according to an embodiment of the present disclosure.
Fig. 3 is a flowchart illustrating a logistics intelligent scheduling method according to an embodiment of the present disclosure.
Fig. 4 is a schematic diagram illustrating a path configuration according to an embodiment of the present disclosure.
Fig. 5 is a schematic diagram illustrating the effects of iterative execution of a method according to an embodiment of the present disclosure.
FIG. 6 is a schematic diagram illustrating a general hardware environment in which a device according to embodiments of the present disclosure may be implemented.
Detailed Description
The following description is presented to enable any person skilled in the art to make and use the embodiments, and is provided in the context of a particular application and its requirements. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the described embodiments. Thus, the described embodiments are not limited to the embodiments shown, but are to be accorded the widest scope consistent with the principles and features disclosed herein.
FIG. 1-overview of Intelligent Logistics scheduling System
Fig. 1 is a schematic diagram for explaining an overview of a logistics intelligent scheduling system according to an embodiment of the present disclosure.
The logistics intelligent scheduling system of the embodiment of the disclosure aims to uniformly allocate orders to be delivered, and adopts an ant colony algorithm to allocate the most suitable available storage space for the materials related to the orders (namely, the available storage space is reserved for the orders) before the suppliers are informed of delivery, and during allocation, the delivery time of the orders is met as much as possible, and the utilization rate of the storage space is improved. The warehouse space utilization rate is improved, so that the warehouse with the same capacity can provide material storage and turnover capacity for more orders, the utilization efficiency of the warehouse is integrally improved, the production plan can be met, and the logistics process can be efficient and orderly.
The logistics intelligent scheduling system can inform the supplier of ideal delivery time, so that the supplier can deliver goods according to planned delivery time, order delivery can be more flexible, warehouse utilization is more efficient, resource utilization is improved, and logistics scheduling is efficient and orderly.
The logistics intelligent scheduling system can relate to the following functions.
1. Collecting
As shown, the intelligent logistics scheduling system can collect various data related to logistics, purchase orders, and warehouse locations.
Such data is collected from, for example, a multi-seed system.
These subsystems may include, for example:
a main data subsystem, which may provide core configuration data for logistics inventory, suppliers, products, channels, organizations, etc.
A purchase order subsystem that may provide current order data as well as historical order data. After the historical data is refined and analyzed, the data such as the logistics efficiency, the average delivery time and the like according to materials and suppliers can be provided.
A warehouse management subsystem, which may provide real-time data and historical data related to warehousing. By analyzing the historical data, the data such as the average turnover time, the average storage occupancy rate and the like of the materials can be provided. The real-time data may reflect the currently available bin positions and the available capacity of the bin positions.
The data acquisition can be realized by active capture or message subscription and the like. Active capture can be further divided into modes such as database direct connection, HTTP interface and the like. The message subscription needs to provide a corresponding interface, and the interface is called to carry out pushing processing when the data of the data provider is changed.
The acquisition of various data is described in detail below.
Stream data
Historical logistics data relating to delivery orders over a predetermined period of time may be proactively captured. For example, historical logistics data for purchase orders delivered within the last year may be proactively captured. The logistics data may include, for example, data relating to suppliers, modes of transportation, shipping locations, receiving locations, time of order placement, shipping time, arrival time, and the like.
These historical logistics data can be used to analyze logistics efficiency. The analysis of the logistics efficiency can be done for the supplier, for the material, for the mode of transportation or for any combination of the above. For example, the average logistic efficiency, i.e., the average supply time, of a certain provider can be analyzed, and the average time between the receipt of an order from the provider and the arrival of the order. The average logistic efficiency of a certain material from a certain supplier can also be analyzed. The logistics efficiency of a certain supplier under different transportation modes can also be analyzed. The logistics efficiency for different materials under different transportation modes of different suppliers can also be analyzed. The logistics efficiency may also take into account the stocking time of the supplier.
The logistics efficiency can be used to estimate the length of time from sending a notification of delivery of an order to a supplier to the order.
The logistics efficiency data can help determine the earliest allowed arrival time, so that the ordered materials can be allowed to arrive at the most appropriate time on the premise of meeting the delivery time according to the utilization condition of the storage space. This makes logistics scheduling more flexible and in turn can be supported by available inventory.
Purchase order data
The purchase order may be received in a message subscription manner. The receiving can be carried out in real time or in batch according to preset time intervals.
The purchase order contains various data such as material type, quantity of material, supplier, ship-to location, mode of transportation, latest delivery time, expected delivery time, etc.
The order data may contain priority information for the order or material. The priority may reflect whether the order or the materials to which the order relates need to be processed first. The priority may depend, for example, on order importance, urgency, lead time, etc. In situations where available inventory is limited or not available to meet all order requirements, high priority orders and their materials may be prioritized (e.g., available inventory is prioritized), while low priority orders may not be processed (e.g., available inventory is not allocated), requiring changes in shipping time, etc.
Library bit data
The library bit data includes historical data and real-time data.
History data: historical material transfer data over a predetermined period of time (e.g., over the last year) may be proactively captured. The historical material transfer data reflects, for example, the type, quantity, storage space occupied, capacity occupied, supply season, storage time, delivery time, yield of the associated vehicle model, and the like.
The historical material transfer data can be used for predicting the average stay time of various materials in the storage space, so that the historical material transfer data can be used for predicting the storage space emptying plan in a future time period.
Real-time library position data: the latest stock location condition can be obtained from the warehousing system by means of message subscription. The real-time storage position data can reflect currently used storage positions, materials respectively stored in the used storage positions, the quantity of the materials, storage time and the like, and can also reflect currently unused storage positions, available capacity and the like.
Based on the real-time storage position data and the historical material transfer data, a storage position emptying plan in a certain time period in the future can be predicted, namely, which storage positions can be in an available state at a certain time point in the future.
2. Pretreatment of
After data are collected from each subsystem, the logistics intelligent scheduling system needs to preprocess the data.
For example, by means of polymerization, de-weighting, noise reduction, etc. The cleaned data can be stored in a cache as calculation data for the algorithm for standby.
3. Solving for
And the logistics intelligent scheduling system then iteratively executes an ant algorithm by using the preprocessed data to solve.
In some embodiments, it may be assumed that a batch of orders with lead times within 15 days is processed. Orders may be ordered by lead time precedence and/or priority.
The logistics intelligent scheduling system can utilize related data to construct input and parameters of the ant colony algorithm, and through execution of the algorithm, the ant colony can find the most suitable available stock space for all materials related to an order and simultaneously the utilization rate of the stock space is the highest. The optimal path set from all materials to available positions (i.e. the path set with the highest utilization rate of the positions) obtained by the algorithm is output as the optimal solution.
4. Adjusting and optimizing
The logistics intelligent scheduling system can also perform tuning by adjusting relevant parameters of the ant colony algorithm based on the quality of the solved result.
5. Locking in
When the logistics intelligent scheduling system obtains the optimal solution, the warehouse location can be unlocked based on the optimal solution, and an order delivery notice is sent to a supplier.
FIG. 2-Intelligent Logistics scheduling method
Fig. 2 is a flowchart 200 illustrating a logistics intelligent scheduling method according to an embodiment of the present disclosure.
As shown in fig. 2, the method 200 includes a step 201 of building inputs to an ant colony algorithm, the inputs including order data, available bay level data, and logistics efficiency data relating to the material of an order to be delivered within a predetermined time period.
The order data may reflect the type of material, quantity of material, material properties (e.g., whether fragile, whether overlapping, etc.), delivery time, shipping location, receiving location, supplier, etc. to which the order relates. The lead time defines the cut-off due time for the material, and the material in the order is due before the lead time.
In some embodiments, orders are ordered in order of lead time and processed according to the ordering. In one iteration, when an ant finds available locations for all orders of material, the ant will preferentially process orders with lead times.
In some embodiments, the order data may contain information reflecting the processing priority of the order. In one iteration, ants will preferentially process orders with higher priority when one ant finds available bins for all orders of material. In other words, orders with high priority are preferentially allocated available bin positions. In the case where available stock locations are limited, orders with low priority may not be allocated available stock locations.
The ordering of the orders may also be based on both lead time and priority. For example, the orders are sorted according to priority first, and the orders with the same priority are sorted according to time sequence. The orders may be sorted by delivery time, and sorted in order of priority for a plurality of orders with the same delivery time.
The ordering of the various order processes can be set as desired by those skilled in the art.
The available bin data may reflect the bin availability since the current time, which may reflect both the current actual available bin and the available bin generated after the currently occupied bin is released after a certain time.
In some embodiments, the available inventory data may also reflect only the availability of inventory from the current time to the time of delivery.
The method 200 further includes a step 203 of initializing parameters of the ant colony algorithm, the parameters including an ant number, an iteration stop condition, and an pheromone matrix, wherein the ant number is based on the number of materials contained in the order data, and the elements of the pheromone matrix indicate respective pheromone concentrations on all possible paths from each material to each bin.
The number of ants may be greater than a certain multiple of the total amount of material contained in the order data, such as 1.5 times the total amount of material. The number of ants can be set as desired by those skilled in the art.
The iteration stop condition may be set based on a fixed maximum number of iterations, may be set based on a fixed maximum bin utilization, or may be set based on both a fixed maximum number of iterations and a fixed maximum bin utilization.
The elements of the pheromone matrix indicate the corresponding pheromone concentration on all possible paths from each material to each bin, and the value of all elements of the pheromone matrix may be taken to be 1, or other value, at initialization.
The method 200 further includes a step 205 of, when the iteration stop condition is not satisfied, iteratively executing the ant colony algorithm, the iteratively executing the ant colony algorithm including: for each iteration, generating a solution corresponding to each ant, the solution corresponding to each ant being a set of paths from each material in each order to each bin selected by the ant; and determining an optimal solution for each iteration based on an objective function, wherein the objective function indicates the utilization rate of the storage space occupied by all the materials.
In the ant colony algorithm, for each iteration, each ant finds the most suitable available bin for all the materials, and thus a set of paths from each material in each order to each bin selected by the ant is obtained, which is referred to as a solution corresponding to the ant.
For a plurality of ants, a plurality of solutions corresponding to the plurality of ants, respectively, will be generated. The value of the objective function may be calculated for each solution for each ant. The objective function indicates the utilization rate of the storage positions occupied by all the materials. That is, for each solution, calculate: the volume of all materials actually occupying the storage/the total available volume of all materials occupying the storage. Thereby obtaining a plurality of objective function values. The magnitudes of the objective function values are compared, and the solution (i.e., the path set) corresponding to the largest objective function value is used as the optimal solution for the iteration.
The ant colony algorithm may be iteratively performed multiple times. At the end of each iteration, it is also possible to perform an update operation on the pheromone matrix and to perform a volatilisation operation on all the elements of the pheromone matrix.
The method 200 further includes a step 207 in which, when the iteration stop condition is satisfied, the iteration is stopped and the then optimal solution is output.
The method 200 may also include a step 209 of locking inventory based on the output optimal solution and sending a delivery of the order notification to the supplier.
Locking inventory based on the output optimal solution locks available inventory allocated in the optimal solution (e.g., to a reserved state) so that the available inventory is not allocated to orders to be processed subsequently. Generally, after the corresponding material is actually put in storage, the storage capacity will be changed to an actual occupied state (if actually occupied by the corresponding material) or released (if not actually occupied by the corresponding material).
Sending an order shipment notification to the supplier may be performed automatically based on completion of the locking operation. Sending the order delivery notification to the supplier may also be performed manually, for example based on a notification of completion of the locking operation.
In some embodiments, the order delivery notification may include an ideal arrival/delivery time corresponding to the material involved in the order, and the supplier delivers according to the ideal arrival/delivery time, so that planned delivery can be realized on the premise of meeting the delivery time, and such planned delivery helps to make efficient use of warehouses and make efficient and ordered logistics scheduling.
In the event that the available storage capacity is able to meet all the order requirements before the lead time expires, the optimal solution output by step 207 may allocate the available storage capacity for all the materials and meet the lead time in its entirety (i.e., each material is allocated the storage capacity before the lead time). However, in some cases, such as when the warehouse capacity is very tight, the optimal solution output in step 207 may allocate only the available capacity satisfying the delivery time for the materials of some orders (e.g., orders with high priority), and not allocate the available capacity satisfying the delivery time for the materials of the rest orders (orders with lower priority) (e.g., in the optimal solution, the allocated storage space of these materials is empty). In this case, at step 209, locking inventory based on the output optimal solution may be locking allocated inventory and sending order shipping notifications to suppliers may be sending corresponding order shipping notifications to suppliers of those orders in the optimal solution that are allocated available inventory that meets delivery time requirements. For the other orders which cannot be met, the information such as delivery time can be adjusted according to the production schedule so as to enter the order processing flow of the subsequent batch.
3-4-Intelligent Logistics scheduling method and Path construction
Fig. 3 is a flow chart illustrating a method 300 for intelligent scheduling of logistics according to an embodiment of the present disclosure. Fig. 4 is a schematic diagram illustrating a path configuration according to an embodiment of the present disclosure.
As shown, the method 300 includes a step 301 where an input to an ant colony algorithm is constructed. The input may include order data, available stock level data, and logistics efficiency data relating to the material of the order to be delivered within a predetermined period of time.
The input to building the ant colony algorithm may include building a task array associated with the order data. The task array comprises at least one task object, and each task object represents the material type of a material in an order, the storage requirement and the delivery time.
In the context of the present application, each item of each order has a corresponding one of the tasks, T as shown in FIG. 4. The path from a certain material of a certain order to a certain storage position is the path from the task corresponding to the material to the storage position.
Here, as an example, an order requiring delivery within 15 days is considered as an order to be processed. The material delivery requirements of the pending order are referred to as task data. To better represent the task data, variables Int totalttasks are defined.
totaltacks is the total task number, which is the total problem volume.
Since an order contains multiple materials, totalttasks is the sum of the number of materials for all orders, here given as m.
One-dimensional task arrays var tasks can be constructed.
The one-dimensional array represents the entire set of tasks (problems).
Each task object in the task array can be represented as tasks [ i ], wherein i is a task number and is a natural number less than or equal to m. Each task object may be defined by one or more attributes, for example, the attributes of each task object may include material type, storage requirements, delivery time, and the like. Hereinafter, task objects tasks [ i ] are abbreviated as Ti. For example, in fig. 4, T1, T2, and T3 … … Tm represent all task objects. In other words, each task object describes information such as what material was delivered at what time and how much storage will be occupied.
In some embodiments, the value of a task object may also characterize the priority of a material.
Those skilled in the art will appreciate that the attributes describing the task object may be increased/decreased as desired.
The input to constructing the ant colony algorithm may further include constructing a two-dimensional matrix associated with the available bin data, the two-dimensional matrix including at least one available bin object, each available bin object characterizing an available bin capacity and an appropriate class of goods for a bin at a point in time.
In some embodiments, the available stock location data describes the available stock location that the system may provide before the order lead time. The available bin position data can reflect the current actual bin position occupation situation and can also reflect the future bin position occupation situation generated by a bin position emptying plan calculated according to the historical bin position turnover rate. In other words, the available slot data describes the available slot condition during the period from the current time to the order lead time, which is derived from both the current real-time slot condition and the historical slot turnaround data, before the order lead time.
In other embodiments, the available bin data describes the available bin conditions since the current time.
And defining a two-dimensional matrix var storage [ l ] [ t ], wherein l is a library bit number, and t is an available time point. Each element of the two-dimensional matrix store [ l ] [ t ] may also be defined by one or more attributes. These attributes may include, for example, available storage capacity (volume in cubic meters or length, width, height dimensions), fit class, and the like. In other words, the value of storage [ l ] [ t ] may characterize how much capacity a certain bin bit can provide for which classes of amenities at a certain point in time.
The point in time here may be a defined period of time. For example, referring to FIG. 4, for a total of n bins S1 through Sn, each bin will have a different available bin capacity at a different point in time T1 through T4. The time point and the available storage capacity may be described by a unit time period (e.g., 1 day) and a unit storage capacity (e.g., 1 cubic meter, etc.) set in advance. The setting can be made as desired by those skilled in the art. It will be understood by those skilled in the art that, taking S1 in fig. 4 as an example, it may be assumed that at time t1, the available storage capacity is 10 cubic meters, and at time t2, the available storage capacity is increased by 5 cubic meters, and thus 15 cubic meters, as some previously occupied storage capacity is released. When the algorithm is running, for bin S1, if a material occupies 5 cubic meters at time t1, the available bin capacity at t2 is 10 cubic meters. The input to construct the ant colony algorithm may also include constructing a two-dimensional matrix associated with the logistics efficiency data, the two-dimensional matrix including at least one logistics efficiency object (logEffeiciency [ g ] [ s ]), each logistics efficiency object characterizing a logistics duration for a certain supplier when transporting in a certain mode of transportation.
The logistic efficiency (e.g. in hours/kilometers, or days) can be calculated from historical order delivery, which is a calculated parameter to find the appropriate depot for the material.
A two-dimensional matrix var logEffeiciency [ g ] [ s ] can be defined in association with the logistics efficiency data, where g is the supplier code and s is the mode of transportation (e.g., shipping, land transportation, etc.). The logEffeiciency [ g ] [ s ] value is the logistics efficiency of a certain supplier under a certain transportation mode. The order typically already identifies the supplier, the mode of transportation of the material, the place of delivery, etc., so the length of time from delivery to delivery can be estimated.
For a material, an estimated time of arrival of the material may be estimated based on the associated notified order delivery time (e.g., the current day) and the historical logistics efficiency of the material, and the available storage capacity in the period between the estimated time of arrival and the delivery time may be used for the slot allocation of the material.
As shown, the method 300 may further include a step 303 of initializing parameters of the ant colony algorithm, which may include the number of ants, iteration stop conditions, and pheromone matrices.
Initializing parameters of the ant colony algorithm may include initializing an ant number, i.e., an ant colony size.
The ant colony size and the problem quantity are closely related, the large quantity of repeated solutions and the efficiency are reduced due to the excessive number of ants, and the probability of obtaining the optimal solution is reduced due to the decreased number of ants. Here, the ant number w may be initialized to w — question amount m × 1.5. Subsequently, the value of w may also be adjusted according to the quality of the algorithmic solution.
Those skilled in the art will appreciate that the value of w can be adjusted as desired by those skilled in the art.
Initializing parameters of the ant colony algorithm may also include initializing the number of iterations N.
In each iteration, all ants in the ant colony complete their respective path plans, each ant generates its respective path set (i.e., the solution corresponding to that ant), and an optimal solution is produced from all solutions of all ants. Theoretically, the optimal solution generated in the next iteration is better than the optimal solution generated in the previous iteration, so the algorithm gradually converges to an ideal solution.
The larger the number of iterations, the closer the final solution is to the ideal solution, but the more computing resources are consumed and the computing time delay is generated.
In some embodiments, the number of iterations may be set at a fixed value or a target reference value:
a) the maximum number of iterations N is set to a fixed value, for example, as an average problem amount, which is, for example, an average value calculated from the total number of problems involved in the number of orders within 15 days. When the number of iterations reaches the fixed value, the iteration is stopped.
The advantage of setting the number of iterations to a fixed value is that the run time, the amount of computation can be controlled, the disadvantage is that it is too stiff.
b) And setting according to the target reference value, for example, taking a fixed library bit utilization rate R as a reference index, and stopping iteration when the library bit utilization rate corresponding to the calculated optimal solution in a certain iteration exceeds the fixed library bit utilization rate R. The definition of the bin utilization ratio R is the same as that of the objective function F described below.
In the case of using the target reference value, the maximum number of iterations N is a dynamic value. The advantage of using dynamic values is that calculations can be made on demand, there is not too much resource redundancy and the quality of the output solution of the algorithm can be required, the disadvantage is that if the R setting is not reasonable, it can go into infinite calculations.
Considering the above two cases, in some embodiments, the iteration number N may be defined in a manner compatible with both cases.
For example, an iteration upper limit may be set to 1000, the bin bit utilization ratio R is set to 70%, and within 1000 iterations, if a solution of bin bit utilization ratio > R is found, the iteration is stopped immediately, otherwise, the iteration is stopped when the number of iterations exceeds 1000.
Initializing parameters of the ant colony algorithm may also include initializing a pheromone matrix.
The pheromone matrix may be represented as a two-dimensional matrix pheromoneMatrix. For the case shown in FIG. 4, pheromoneMatrix contains m by n elements, each of which represents the pheromone concentration of the path from the ith task object to the jth library bit. At initialization, the values of all elements may be set to 1. As shown, the method 300 further includes a step 305 where it is determined whether a stop iteration condition is satisfied.
If the stop iteration condition is not met, e.g., the number of iterations does not exceed N, and a solution with bin utilization > -R is not generated, the method 300 proceeds to step 307 where the ant colony algorithm is executed to solve for the optimal solution.
In the application of the ant colony algorithm in the system, the ant colony marching aims to find the most suitable library position for each material and obtain the highest library position utilization rate, so that the generation plan is met and the library position utilization rate is improved.
As described above, in fig. 4, the allocation from a certain task object T (which corresponds to a certain material of a certain order, representing a demand on available slot time and storage capacity) to an available slot S (providing a slot time and storage capacity that satisfies the demand) can be regarded as a path. Each task object corresponds to a material of an order. In the context of the present application, for convenience of description, a path is described as a path from a certain material to a depot, which specifically refers to a path from a certain material in a certain order to a certain depot. The same kind of flow in different orders is considered in the context of this document as different materials.
In each iteration, each ant in the ant colony needs to find a proper library position for each material in the task data (i.e., a proper available library capacity is found for each task object), and a path with a high concentration in the pheromone matrix is always preferentially selected as the most proper library position.
If the pheromone concentration on all possible paths for the current material to go to the available storage positions is the same, the ants can randomly select a path which can meet the requirements of delivery time and storage capacity.
In some embodiments, if all ants are planned according to the high-concentration path of pheromone matrix, some potential optimal paths are necessarily lost, so when defining the ant colony, a proportion alpha (information elicitor) can be defined to force some ants to go a random path instead of the high-concentration path of pheromone matrix to find a better path.
During first iteration, ants randomly select a storage position for the material/task object, and judge whether the storage position provides an available storage capacity meeting the delivery time of the material/task. If the depot is able to provide available storage that meets the delivery time of the material/task object, the ants will build a path from the material/task object to the depot. If the storage position can provide available storage capacity meeting the delivery time of the material/task object, the ants randomly select another storage position and decide whether to construct a path from the material/task object to the another storage position based on the judgment whether the another storage position can provide available storage capacity meeting the delivery time of the task object.
In subsequent iterations, if the information heuristics are considered, then in each iteration, some ants will select paths with high pheromone concentration, and some will randomly select paths. In the case of a randomly selected path, similarly, it is first determined whether the corresponding bin provides an available bin capacity that satisfies the lead time to decide whether to construct the path. In the non-random case, the delivery time requirement has necessarily been met by paths with high pheromone concentrations.
Specifically, as shown in fig. 4, the goal is to find the most suitable available storage space for each material, and more precisely, the most suitable time available storage capacity. For one iteration, each ant will select the available bin for each material that it considers most appropriate, resulting in a solution, i.e., a set of paths, corresponding to that ant. This can be expressed, for example, as: t1- > S [1] [ T1 ]; t2- > S [1] [ T3 ]; t3- > S [1] [ T2 ]; ti- > S [ n ] [ t2 ]; … … for m ants, m solutions, i.e., m path sets, will result.
For each solution, the value of the objective function F may be calculated.
The objective function F may be predefined. Here, it can be defined as:
f is the volume of all materials actually occupying the storage position/the total available volume of all materials occupying the storage position
For example, for the case shown in FIG. 4, the value of the objective function may be found as follows:
(required storage capacity of T1 + required storage capacity of T2 + required storage capacity of T3 + required storage capacity of Ti + … …)/(total available volume of S1 + total available volume of Sn + … …)
The required storage capacity of T is the storage capacity actually occupied by the material.
Accordingly, m objective function values are calculated. And comparing the m objective function values, and taking the solution corresponding to the maximum objective function value as the optimal solution of the iteration.
Method 300 may also include step 309, where a pheromone update is performed.
In each iteration, after all task data are processed, ants can trace back all paths just found by themselves, and secrete pheromones with corresponding concentrations according to the overall quality (the size of the library bit utilization rate) of the paths, namely, update pheromones of elements in the pheromone matrix corresponding to the paths.
In particular, at the end of each iteration, for each ant, the updating of the pheromone matrix can be carried out according to the following formula:
Figure BDA0002953277860000171
Figure BDA0002953277860000181
wherein, tau ij An pheromone concentration value on a path from a task object i (corresponding to the task i) to a library bit j, wherein i is a natural number which is less than or equal to the total number of materials (for example, m in the graph of FIG. 4), and j is a natural number which is less than or equal to the total number of library bits (for example, n in the graph of FIG. 4);
Figure BDA0002953277860000182
the pheromone concentration value of the kth ant on the path from the task object i to the library bit j is represented, and k is a natural number which is less than or equal to the number (for example, w) of the ants;
wherein, if the kth ant uses the path from the task object i to the library position j, the corresponding pheromone concentration value is added to the path from the task object i to the library position j to be Q/C k In which C is k Representing 100% minus the bin utilization of the solution corresponding to the kth ant), Q is an empirical value. For example, Q may take 1.
If the kth ant does not use the path from task object i to library bit j, the corresponding pheromone concentration value is increased to be 0 for the path from task object i to library bit j.
At the end of each iteration, all ants perform the above pheromone update operation.
The method 300 further comprises a step 311 of performing pheromone volatilization on each element of the pheromone matrix at the end of each iteration according to the following formula:
pheromoneMatrix[i][j]=pheromoneMatrix[i][j]-ρ
wherein rho is an information volatilization factor which is larger than 0 and smaller than 1.
The method 300 then proceeds to step 313 where the number of iterations N is incremented by 1 and returns to step 305 where a determination is made as to whether the iteration stop condition is satisfied.
If it is determined at step 313 that the iteration stop condition is satisfied, the iteration is stopped and the current optimal solution is output.
Although not shown, the method 300 may further include, after step 315, locking the library locations based on the output optimal solution and sending a notification of the order shipment to the supplier.
In some embodiments, the order shipment notification may contain a desired shipment time, which may be the earliest shipment time that can be supported.
In the event that the available storage capacity prior to the delivery time is able to satisfy all of the order requirements, the optimal solution output by step 313 may allocate the available storage capacity for all of the materials and satisfy the delivery time in its entirety (i.e., each material is allocated the available storage capacity prior to the delivery time). However, in some cases, such as when the warehouse capacity is very tight, the optimal solution output by step 313 may allocate available capacity satisfying the lead time for only the materials of some orders (e.g., orders with high priority) and not allocate available capacity satisfying the lead time for the materials of the rest orders (e.g., orders with lower priority) (e.g., in the optimal solution, the allocated stock level of these materials is null). In this case, locking inventory based on the output optimal solution may include locking allocated storage and sending order shipping notifications to suppliers may include sending corresponding order shipping notifications to those suppliers of the optimal solution that are allocated available storage that meets delivery time, step 315. For the other orders which cannot be met, the information such as delivery time can be adjusted according to the production schedule so as to enter the order processing flow of the subsequent batch.
The method of embodiments of the present disclosure may also involve tuning by adjusting tunable factors that affect performance, efficiency, optimal solution of the ant colony algorithm. The following table lists some of the tunable factors:
Figure BDA0002953277860000191
Figure BDA0002953277860000201
when actually adjusting the parameters, test data may be entered and the results of the operation observed, adjusting one or more of the above parameters according to the quality of the final output optimal solution (whether or not available storage is allocated for all/as many materials/orders as possible and delivery time is met) and the length of time the algorithm is running.
Fig. 5 is a schematic diagram illustrating the effects of iterative execution of a method according to an embodiment of the present disclosure. Wherein the horizontal axis represents the number of iterations and the vertical axis represents (1-bin occupancy). As can be seen, after approximately 30 iterations, the algorithm converges to an approximately optimal solution. Each point represents a solution solved by one ant, and the solutions are scattered when the iteration number is low. At higher iterations, all solutions converge.
According to the method, the most suitable available storage position is allocated to all the materials according to the available storage position data before the order delivery notice is sent, so that the delivery time can be met, and meanwhile, the high storage position utilization rate can be realized.
According to the method, the available storage positions are locked in advance, and logistics disorder possibly caused by the fact that orders arrive in order in disorder can be avoided.
The method of the embodiment of the disclosure enables the order delivery to be more flexible and avoids logistics confusion by providing the supplier with ideal delivery time of the materials, and fully realizes efficient utilization of the storage space. For example, under the condition that the available warehouse space is large, the supplier can make the delivery earlier before the delivery time, so that the time period of non-tensioning of the warehouse can be fully utilized, and a larger order demand processing capacity is reserved for the follow-up, thereby reducing the burst caused by the fact that orders are pushed to the warehouse; in the case of less available storage space, the supplier can be made to deliver the order later before the delivery time, or part of the order can be delivered with delay, so that the situation that the order is pushed to the goods to cause the warehouse burst and the logistics disorder is avoided.
The method disclosed by the embodiment of the invention can realize the uniform allocation of orders and storage positions, can meet the production plan as far as possible, and simultaneously can improve the utilization rate of the warehouse as far as possible, and can ensure that the logistics scheduling is in an ordered and efficient state.
Fig. 6 is a schematic diagram illustrating a general hardware environment in which a device according to an embodiment of the present disclosure may be implemented.
Referring now to fig. 6, a schematic diagram of an example of a computing node 600 is shown. Computing node 600 is only one example of a suitable computing node and is not intended to suggest any limitation as to the scope of use or functionality of embodiments described herein. In any event, computing node 600 is capable of implementing and/or performing any of the functions set forth above.
In computing node 600, there is a computer system/server 6012 that may operate with numerous other general purpose or special purpose computing system environments or configurations. Examples of well known computing systems, environments, and/or configurations that may be suitable for use with computer system/server 6012 include, but are not limited to: personal computer systems, server computer systems, thin clients, thick clients, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computer systems, distributed cloud computing environments that include any of the above systems or devices, and the like.
Computer system/server 6012 may be described in the general context of computer system-executable instructions, such as program modules, being executed by a computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, etc. that perform particular tasks or implement particular abstract data types. Computer system/server 6012 may be practiced in distributed cloud computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed cloud computing environment, program modules may be located in both local and remote computer system storage media including memory storage devices.
As shown in fig. 6, computer system/server 6012 in computing node 600 is illustrated in the form of a general purpose computing device. Components of computer system/server 6012 may include, but are not limited to: one or more processors or processing units 6016, a system memory 6028, and a bus 6018 that couples various system components including the system memory 6028 to the processing unit 6016.
Bus 6018 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processor, or a local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, micro channel architecture (MAC) bus, enhanced ISA bus, Video Electronics Standards Association (VESA) local bus, Peripheral Component Interconnect (PCI) bus, peripheral component interconnect express (PCIe), and Advanced Microcontroller Bus Architecture (AMBA).
Computer system/server 6012 typically includes a variety of computer system readable media. Such media may be any available media that is accessed by computer system/server 6012 and includes both volatile and nonvolatile media, removable and non-removable media.
System memory 6028 may include computer system readable media in the form of volatile memory, such as Random Access Memory (RAM)30 and/or cache memory 6032. Computer system/server 6012 may also include other removable/non-removable, volatile/nonvolatile computer system storage media. By way of example only, storage system 6034 may be provided for reading from and writing to non-removable, nonvolatile magnetic media (not shown, and commonly referred to as "hard drives"). Although not shown, a magnetic disk drive may be provided for reading from and writing to a removable, nonvolatile magnetic disk (e.g., a "floppy disk"), and an optical disk drive may be provided for reading from and writing to a removable, nonvolatile optical disk (such as a CD-ROM, DVD-ROM, or other optical media). In such cases, each may be connected to bus 6018 by one or more data media interfaces. As will be further depicted and described below, memory 6028 may include at least one program product having a set (e.g., at least one) of program modules that are configured to carry out the functions of embodiments of the disclosure.
By way of example, and not limitation, a program/utility 6040 having a set (at least one) of program modules 6042, and an operating system, one or more application programs, other program modules, and program data can be stored in memory 6028. Each of the operating system, one or more application programs, other program modules, and program data or some combination thereof, may include an implementation of a network environment. Program modules 6042 generally perform the functions and/or methods in embodiments as described herein.
Computer system/server 6012 may also communicate with one or more external devices 6014 (such as a keyboard, a pointing device, a display 6024, etc.), one or more devices that enable a user to interact with computer system/server 6012, and/or any devices (e.g., a network card, a modem, etc.) that enable computer system/server 6012 to communicate with one or more other computing devices. Such communication may occur via an input/output (I/O) interface 22. Also, computer system/server 6012 may communicate with one or more networks, such as a Local Area Network (LAN), a general Wide Area Network (WAN), and/or a public network (e.g., the internet), via network adapter 20. As depicted, network adapter 20 communicates with the other components of computer system/server 6012 via bus 6018. It should be appreciated that although not shown, other hardware and/or software components may be used in conjunction with computer system/server 6012. Examples include, but are not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, data archive storage systems, and the like.
The present disclosure may be embodied as systems, methods, and/or computer program products. The computer program product may include computer-readable storage medium(s) having computer-readable program instructions thereon for causing a processor to perform aspects of the present disclosure.
The computer-readable storage medium may be a tangible device that can hold and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example (but not limited to), an electronic memory device, a magnetic memory device, an optical memory device, an electromagnetic memory device, a semiconductor memory device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a Static Random Access Memory (SRAM), a portable compact disc read-only memory (CD-ROM), a Digital Versatile Disc (DVD), a memory stick, a floppy disk, a mechanical coding device such as a punch card or an in-groove projection structure having instructions stored thereon, and any suitable combination of the foregoing. A computer-readable storage medium as used herein is not to be interpreted as a transitory signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., optical pulses through a fiber optic cable), or an electrical signal transmitted through an electrical wire.
The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to a respective computing/processing device, or to an external computer or external storage device via a network, such as the internet, a local area network, a wide area network, and/or a wireless network. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. The network adapter card or network interface in each computing/processing device receives computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in the computer-readable storage medium in the respective computing/processing device.
Computer-readable program instructions for carrying out operations of the present disclosure may be assembler instructions, Instruction Set Architecture (ISA) instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider). In some embodiments, the electronic circuitry, including, for example, programmable logic circuitry, Field Programmable Gate Arrays (FPGAs), or Programmable Logic Arrays (PLAs), may execute the computer-readable program instructions in order to perform aspects of the present disclosure by utilizing state information of the computer-readable program instructions to personalize the electronic circuitry.
Aspects of the present disclosure are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer-readable program instructions.
These computer-readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer-readable program instructions may also be stored in a computer-readable storage medium that can direct a computer, programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer-readable medium having stored thereon the instructions comprises an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer-implemented process such that the instructions which execute on the computer, other programmable apparatus or other devices implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
It should also be understood by those skilled in the art that various operations illustrated as sequential in the embodiments of the present disclosure do not necessarily have to be performed in the illustrated order. The order of operations may be adjusted as desired by those skilled in the art. One skilled in the art may also add more operations or omit some of them as desired.
The description of the various embodiments of the present disclosure has been presented for purposes of illustration but is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen to best explain the principles of the embodiments, the practical application, or technical improvements to the techniques found in the marketplace, or to enable others skilled in the art to understand the embodiments disclosed herein.

Claims (13)

1. A computer-implemented method, comprising:
building inputs to an ant colony algorithm, the inputs including order data, available bin level data, and logistics efficiency data relating to material of an order to be delivered within a predetermined time period;
initializing parameters of an ant colony algorithm, the parameters including an ant number, an iteration stop condition, and an pheromone matrix, wherein the ant number is based on a number of materials contained in the order data, and elements of the pheromone matrix indicate respective pheromone concentrations on all possible paths from each material in each order to each bin;
when the iteration stop condition is not met, the ant colony algorithm is executed in an iteration mode, and the executing of the ant colony algorithm in the iteration mode comprises the following steps:
for each iteration, generating a solution corresponding to each ant, the solution corresponding to each ant being a set of paths from each material in each order to each bin selected by the ant; and
determining an optimal solution of each iteration based on an objective function, wherein the objective function indicates the utilization rate of the storage positions occupied by all the materials;
and when the iteration stop condition is met, stopping iteration and outputting the optimal solution at the moment.
2. The method of claim 1, wherein constructing the input to the ant colony algorithm further comprises:
constructing a task array associated with order data, wherein the task array comprises at least one task object, and each task object represents the material type, the storage capacity requirement and the delivery time of a material in an order;
constructing a two-dimensional matrix associated with the available library position data, wherein the two-dimensional matrix comprises at least one available library position object, and each available library position object represents the available library capacity and the applicable product class of a certain library position at a certain time point;
and constructing a two-dimensional matrix associated with the logistics efficiency data, wherein the two-dimensional matrix comprises at least one logistics efficiency object, and each logistics efficiency object represents the logistics time length when a certain supplier carries out transportation in a certain transportation mode.
3. The method of claim 2, wherein determining the optimal solution for each iteration based on the objective function further comprises:
for each iteration, calculating a value of a corresponding objective function for a solution corresponding to each ant;
the solution that maximizes the value of the objective function is selected as the optimal solution for that iteration.
4. The method of claim 3, wherein iteratively performing the ant colony algorithm further comprises:
at the end of each iteration, for each ant, the update of the pheromone matrix is carried out according to the following formula:
Figure FDA0002953277850000021
Figure FDA0002953277850000022
wherein, tau ij An information concentration value on a path from a task object i to a library position j is represented, wherein i is a natural number which is less than or equal to the total number of materials, and j is a natural number which is less than or equal to the total number of library positions;
Figure FDA0002953277850000023
the pheromone concentration value of the kth ant on the path from the task object i to the library position j is represented, and k is a natural number less than or equal to the number of ants;
if the kth ant uses the path from the task object i to the library position j, the corresponding pheromone concentration value is added to the path from the task object i to the library position j to be Q/C k In which C is k Representing the difference obtained by subtracting the utilization rate of the library position of the solution corresponding to the kth ant from 100%), and Q is an empirical value;
if the kth ant does not use the path from the task object i to the library position j, adding the corresponding pheromone concentration value to be 0 aiming at the path from the task object i to the library position j.
5. The method of claim 4, wherein iteratively performing the ant colony algorithm further comprises:
at the end of each iteration, pheromone volatilization is performed for each element of the pheromone matrix according to the following formula:
pheromoneMatrix[i][j]=pheromoneMatrix[i][j]-ρ
wherein rho is an information volatilization factor which is larger than 0 and smaller than 1.
6. The method of claim 5, wherein the iteration stop condition is:
the iteration times are more than the preset times; or
And the objective function value corresponding to the optimal solution is more than or equal to the preset library bit utilization rate.
7. The method of claim 6, further comprising for a task object, performing the following steps until a path for the task object is constructed:
a library of bits is randomly selected,
determining whether the slot can provide available storage that meets the delivery time of the task object,
responsive to determining that the bin is capable of providing available bin capacity that satisfies the delivery time of the task object, constructing a path from the task object to the bin,
in response to determining that the bin is not capable of providing available bin capacity that satisfies the delivery time for the task object, another bin is randomly selected and a determination is made whether to build a path from the task object to the other bin based on whether the other bin is capable of providing available bin capacity that satisfies the delivery time for the task object.
8. The method of any of claims 1-7, further comprising:
determining inventory based on the output optimal unlock; and
sending a notification of the delivery of the order to the supplier.
9. The method of any one of claims 1-7, wherein the available bin data is determined based on current real-time bin utilization and historical bin turnover rates for the material.
10. The method of any of claims 1-9, wherein the order data comprises information reflecting order priority.
11. A computer system, comprising:
one or more processors, and
a memory coupled with the one or more processors, the memory storing computer-readable program instructions that, when executed by the one or more processors, cause the one or more processors to perform the method of any of claims 1-10.
12. A computer-readable storage medium having computer-readable program instructions stored thereon, which when executed by a processor, cause the processor to perform the method of any of claims 1-10.
13. A computer program product comprising computer readable program instructions which, when executed by a processor, cause the processor to perform the method of any one of claims 1-10.
CN202110216478.8A 2021-02-26 2021-02-26 Method and system for optimizing logistics scheduling Pending CN114970925A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110216478.8A CN114970925A (en) 2021-02-26 2021-02-26 Method and system for optimizing logistics scheduling

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110216478.8A CN114970925A (en) 2021-02-26 2021-02-26 Method and system for optimizing logistics scheduling

Publications (1)

Publication Number Publication Date
CN114970925A true CN114970925A (en) 2022-08-30

Family

ID=82974313

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110216478.8A Pending CN114970925A (en) 2021-02-26 2021-02-26 Method and system for optimizing logistics scheduling

Country Status (1)

Country Link
CN (1) CN114970925A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116562490A (en) * 2023-07-12 2023-08-08 埃睿迪信息技术(北京)有限公司 Task processing method, device and system
CN117273318A (en) * 2023-09-11 2023-12-22 江苏和光舒卷数字科技有限公司 Material alignment sleeve analysis method and device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116562490A (en) * 2023-07-12 2023-08-08 埃睿迪信息技术(北京)有限公司 Task processing method, device and system
CN117273318A (en) * 2023-09-11 2023-12-22 江苏和光舒卷数字科技有限公司 Material alignment sleeve analysis method and device
CN117273318B (en) * 2023-09-11 2024-05-03 江苏和光舒卷数字科技有限公司 Material alignment sleeve analysis method and device

Similar Documents

Publication Publication Date Title
CN108596540B (en) Replenishment method and device, computer-readable storage medium and electronic equipment
Reyes et al. The meal delivery routing problem
US11074544B2 (en) System and method to incorporate node fulfillment capacity and capacity utilization in balancing fulfillment load across retail supply networks
US8494885B2 (en) Modeling distribution of emergency relief supplies for disaster response operations
JP2021507859A (en) Inventory scheduling methods and devices as well as non-temporary computer-readable storage media
CN114970925A (en) Method and system for optimizing logistics scheduling
US11010195B2 (en) K-tier architecture scheduling
CN111589730B (en) Goods picking method, device, equipment and storage medium
Nino-Mora Stochastic Scheduling.
CN112784212B (en) Inventory optimization method and device
US20130346360A1 (en) Tenant placement in multitenant databases for profit maximization
CN110659850A (en) Planning for cargo deployment
US10748095B2 (en) Automated teller machine flow network and control system
CN113506068B (en) Warehouse-in and warehouse-out method and device, storage medium and electronic equipment
CN113077106B (en) Article transportation method and device based on time window
CN116384718B (en) Intelligent decision-based supplier joint scheduling method, system and equipment
Veatch Approximate linear programming for networks: Average cost bounds
CN112785025B (en) Warehouse layout method and device
Millhiser et al. Optimal admission control in series production systems with blocking
Melikov et al. Models of perishable queuing-inventory systems with repeated customers
CN112520284A (en) Shelf storage position adjusting method and system
CN113807628B (en) Warehouse management method, device, electronic equipment and readable storage medium
CN112785213B (en) Warehouse manifest picking construction method and device
CN113191704A (en) Goods delivery control method and device and computer readable storage medium
CN113538080A (en) Task list splitting method and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination