Methods and apparatus for outputting information
By acquiring and analyzing the pickup information, vehicle information and yard status information of container ports, and using prediction models to determine the priority of containers and plan the rummaging operation, the challenges of efficient loading and unloading and container position allocation at container ports are solved, achieving more efficient container flow and lower operating costs.
Patent Information
- Application Number
- CN202111610980.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-27
- Publication Date
- 2025-04-01
- Estimated Expiration
- 2041-12-27
AI Technical Summary
Container ports face challenges in efficient loading and unloading and container position allocation, resulting in high turnover rates, increased operating costs and low container utilization.
By obtaining the container's pickup information, vehicle information and yard status information, the pre-trained prediction model predicts the actual pickup time of each container as a priority, and the box rummaging operation is planned based on the priority and yard status information.
Reduce the box rummaging rate, speed up the carrying rate, improve the utilization rate of containers, and reduce operating costs.
Smart Images

Figure CN114331265B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of artificial intelligence, in particular to the field of big data, and specifically to a method and device for outputting information. Background Art
[0002] With the development of the economy, the transportation industry is increasingly pursuing efficiency and accuracy, and containers are the main containers for transportation. my country's container ports are facing huge challenges while developing rapidly. On the one hand, the loading and unloading efficiency of port yards in various places is relatively low, and the ships stay in the port for a longer time. On the other hand, the large-scale ships require container ports to load and unload a considerable number of export boxes in a relatively small time window (a few days), which puts great pressure on port production activities in the short term and puts higher requirements on the allocation of export box slots. Therefore, under the premise of the existing resources and equipment of the terminal, how to quickly load and unload the export boxes in the yard and minimize the turning and operation costs caused by the allocation of box slots has become one of the hot issues that container terminals face. Summary of the invention
[0003] The present disclosure provides a method, apparatus, device, storage medium, and computer program product for outputting information.
[0004] According to a first aspect of the present disclosure, a method for outputting information is provided, comprising: obtaining cargo pickup information, vehicle information and yard status information of at least one container in a target yard; inputting the cargo pickup information and vehicle information into a pre-trained prediction model to predict the actual cargo pickup time of each container as a priority; planning the container turning operation of the target yard according to the priority and yard status information of each container to obtain planning information; and outputting the planning information.
[0005] According to a second aspect of the present disclosure, a method for training a prediction model is provided, comprising: determining a network structure of an initial prediction model and initializing network parameters of the initial prediction model; obtaining a sample set, wherein the samples in the sample set include pickup information, vehicle information, and actual pickup time; using the pickup information and vehicle information in the samples in the sample set as inputs of the initial prediction model, and using the actual pickup time as an expected output of the initial prediction model, training the initial prediction model using a machine learning method; and determining the trained initial prediction model as the pre-trained prediction model.
[0006] According to a third aspect of the present disclosure, there is provided a device for outputting information, comprising: an acquisition unit, configured to acquire cargo pickup information, vehicle information and yard status information of at least one container in a target yard; a prediction unit, configured to input the cargo pickup information and vehicle information into a pre-trained prediction model, and predict the actual cargo pickup time of each container as a priority; a planning unit, configured to plan the container turning operation of the target yard according to the priority and yard status information of each container, and obtain planning information; and an output unit, configured to output the planning information.
[0007] According to a fourth aspect of the present disclosure, a device for training a prediction model is provided, comprising: an initialization unit, configured to determine a network structure of an initial prediction model and to initialize network parameters of the initial prediction model; an acquisition unit, configured to acquire a sample set, wherein the samples in the sample set include pickup information, vehicle information and actual pickup time; a training unit, configured to use the pickup information and vehicle information in the samples in the sample set as inputs of the initial prediction model, and the actual pickup time as expected outputs of the initial prediction model, and to train the initial prediction model using a machine learning device; a determination unit, configured to determine the trained initial prediction model as the pre-trained prediction model.
[0008] According to a fifth aspect of the present disclosure, an electronic device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute any one of the methods described in the first aspect.
[0009] According to a sixth aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to enable the computer to execute any one of the methods described in the first aspect.
[0010] According to a seventh aspect of the present disclosure, a computer program product is provided, including a computer program, wherein the computer program implements any one of the methods described in the first aspect when executed by a processor.
[0011] The method and device for outputting information provided by the embodiments of the present disclosure use historical data of some characteristics of containers to train a prediction model, and then use the prediction model to predict the characteristics of the containers in the target yard to obtain the priority of each container. Then, the container picking operation steps are planned according to the priority and the current stacking status of the container. This reduces the rate of container turning, speeds up the speed of container picking, and improves the utilization rate of containers.
[0012] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] The accompanying drawings are used to better understand the present solution and do not constitute a limitation of the present disclosure.
[0014] Figure 1 is an exemplary system architecture diagram in which an embodiment of the present disclosure may be applied;
[0015] Figure 2 is a flow chart of an embodiment of a method for outputting information according to the present disclosure;
[0016] Figure 3a-3j is a schematic diagram of an application scenario of the method for outputting information according to the present disclosure;
[0017] Figure 4 is a flowchart of an embodiment of a method for training a prediction model according to the present disclosure;
[0018] Figure 5 is a structural schematic diagram of an embodiment of a device for outputting information according to the present disclosure;
[0019] Figure 6 is a structural schematic diagram of an embodiment of an apparatus for training a prediction model according to the present disclosure;
[0020] Figure 7 It is a structural diagram of a computer system of an electronic device suitable for implementing an embodiment of the present disclosure. DETAILED DESCRIPTION
[0021] The following is a description of exemplary embodiments of the present disclosure in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Similarly, for the sake of clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.
[0022] Figure 1 An exemplary system architecture 100 is shown, to which the method for outputting information, the apparatus for outputting information, the method for training a prediction model, or the apparatus for training a prediction model according to the embodiments of the present disclosure can be applied.
[0023] like Figure 1As shown, the system architecture 100 may include terminals 101, 102, a network 103, a database server 104, and a server 105. The network 103 is used to provide a medium for communication links between the terminals 101, 102, the database server 104, and the server 105. The network 103 may include various connection types, such as wired, wireless communication links, or optical fiber cables, etc.
[0024] The user 110 can use the terminals 101 and 102 to interact with the server 105 through the network 103 to receive or send messages, etc. Various client applications can be installed on the terminals 101 and 102, such as model training applications, container scheduling applications, logistics distribution applications, shopping applications, payment applications, web browsers, and instant messaging tools.
[0025] The terminals 101 and 102 here can be hardware or software. When the terminals 101 and 102 are hardware, they can be various electronic devices with display screens, including but not limited to smart phones, tablet computers, e-book readers, MP3 players (Moving Picture Experts Group Audio Layer III, Dynamic Image Experts Compression Standard Audio Layer 3), laptops and desktop computers, etc. When the terminals 101 and 102 are software, they can be installed in the electronic devices listed above. It can be implemented as multiple software or software modules (for example, to provide distributed services), or it can be implemented as a single software or software module. No specific limitation is made here.
[0026] The database server 104 may be a database server that provides various services. For example, a sample set may be stored in the database server. The sample set includes a large number of samples. The samples may include pickup information, vehicle information, and actual pickup time. In this way, the user 110 may also select samples from the sample set stored in the database server 104 through the terminals 101 and 102.
[0027] The server 105 may also be a server that provides various services, such as a background server that provides support for various applications displayed on the terminals 101 and 102. The background server may train the initial model using samples in the sample set sent by the terminals 101 and 102, and may send the training results (such as the generated prediction model) to the terminals 101 and 102. In this way, the user may use the generated prediction model to detect the priority of the container, and then plan the container picking operation steps according to the priority.
[0028] The database server 104 and server 105 here can also be hardware or software. When they are hardware, they can be implemented as a distributed server cluster consisting of multiple servers, or they can be implemented as a single server. When they are software, they can be implemented as multiple software or software modules (for example, used to provide distributed services), or they can be implemented as a single software or software module. No specific limitation is made here. The database server 104 and server 105 can also be servers of a distributed system, or servers combined with blockchain. The database server 104 and server 105 can also be cloud servers, or intelligent cloud computing servers or intelligent cloud hosts with artificial intelligence technology.
[0029] It should be noted that the method for outputting information or the method for training a prediction model provided in the embodiments of the present disclosure is generally executed by the server 105. Accordingly, the device for outputting information or the device for training a prediction model is generally also provided in the server 105.
[0030] It should be pointed out that, in the case where the server 105 can implement the related functions of the database server 104 , the database server 104 may not be provided in the system architecture 100 .
[0031] It should be understood that Figure 1 The number of terminals, networks, database servers and servers in the embodiment is only for illustration. Any number of terminals, networks, database servers and servers may be provided according to the implementation requirements.
[0032] Continue to see Figure 2 , which shows a process 200 of an embodiment of a method for outputting information according to the present disclosure. The method for outputting information may include the following steps:
[0033] Step 201, obtaining the pick-up information, vehicle information and yard status information of at least one container in the target yard.
[0034] In this embodiment, the execution subject of the method for outputting information (for example Figure 1 The server 105 shown in the figure can obtain relevant information of the target yard to be picked up. It can include the pick-up information of at least one container, vehicle information and yard status information. The pick-up information may include: pick-up order number, scheduled pick-up time, pick-up attributes (large order pick-up or single point pick-up), operator identification, pick-up container number, etc. The vehicle information may include the arrival time of the truck, the truck operator identification, the truck assigned to the yard identification, the truck identification, etc. The yard status information may include attributes (yard identification, yard 20-foot and 40-foot information, yard height, width and other fixed attributes) and the initial state of the yard box (the stacking position relationship of the box), etc.
[0035] Step 202, input the pickup information and vehicle information into a pre-trained prediction model to predict the actual pickup time of each container as a priority.
[0036] In this embodiment, the prediction model is trained through the steps described in process 400 to predict the actual pickup time of each container. Features that affect the actual pickup time can be extracted from the pickup information and vehicle information, and these features can be used to predict which containers will be picked up first. The predicted actual pickup time can be a relative time. For example, container A will be picked up in three hours and container B will be picked up in four hours, then container A has a higher priority than container B. Some levels can be divided in advance, and the higher the priority, the smaller the number. For example, a container with a priority of 1 will be picked up before a container with a priority of 2. Containers in the same yard can have the same priority. For containers that cannot obtain an appointment for pickup time, they can be set to the lowest priority.
[0037] The prediction model can be a neural network structure such as decision tree, random forest, GBDT (Gradient Boosting Decision Tree). Decision tree (DT) is a simple machine learning method. Its essence is a bunch of decision structures combined in a tree shape, and the leaf nodes represent the final predicted value or category. Decision tree is essentially making several decisions to determine the category (classification) or value (regression) corresponding to the input data.
[0038] Step 203, planning the container turning operation at the target yard according to the priority of each container and the yard status information, and obtaining planning information.
[0039] In this embodiment, the yard status information will constrain the operation of moving containers. For example, if there are only 4 layers at the highest and container A is on the top layer, other containers cannot be moved to A. In addition, the yard status information also includes the stacking position relationship of all containers in the yard. The goal of the container turning operation planning is to ensure that the containers with high priority are placed above the containers with low priority, so that the containers with high priority can be picked up first. If the stacking order of the containers does not match the priority, there will be misplaced containers, and the container turning operation needs to be performed to adjust the stacking order of the containers.
[0040] During container terminal operations, due to the uncertainty of the arrival time of the ship, the order of container pick-up may not completely match the initial stacking position, resulting in the phenomenon that the container that needs to leave earlier is pressed under the lower layer of the subsequent departing containers. Therefore, it is inevitable to turn the container during the pick-up process, and even when the location of the turned container is not properly selected, it will cause a second turn of the subsequent container. The turning process has the following definition:
[0041] (1) Target container: Under a certain storage state, the container that is scheduled to be shipped first is the target container under that storage state;
[0042] (2) Must-turn over: If there is a container below a container that has a higher priority than the container, the container is a must-turn over container in the corresponding storage state;
[0043] (3) Blocking box: A box that must be turned over and is continuously stacked on top of a container is a blocking box of the container in the corresponding stacking state;
[0044] The initial stockpile state is used as the root node, and the target box is used as the identifier of the hierarchical division. At the same time, the possible stockpile states of each layer during the box picking process are used as the leaf nodes of the layer, and the stockpile state after the box picking operation is completed is used as the end node; a tree network graph structure is constructed, and a virtual end node is added. The box turning problem is transformed into a problem of finding the shortest path from the root node to the virtual end node, and the shortest path problem algorithm is used for accurate solution. The current shortest path supports Dijkstra's algorithm (positive weight directed graph), Floyd algorithm, 0-1 integer programming and other methods for solution.
[0045] The planning information of the box turning operation can be solved, for example, Figure 3a-3j As shown in Figure 3a, the initial state is shown in Figure 3a. Each square represents a container, and the number represents the priority. The coordinates of the lower left square are (0, 0), and the coordinates of the upper right square are (3, 3). The order misalignment between any two containers is counted into the number of misaligned containers. It can be determined that the misaligned containers are: the container with a priority of 5 in the first column should be below 1, the container with a priority of 4 in the third column should be below 1 and 2, and the containers with priorities of 6, 3, and 7 in the fourth column should be below 1, and 6 should be below 3. Then the number of misaligned containers is 7. The first step is as follows Figure 3b As shown in the figure, move the container with priority 5 from (0, 2) to (2, 3). The second step is as follows Figure 3c As shown, move the container with priority 1 from (0, 1) to (1, 1). The third step is as follows Figure 3d As shown in the figure, move the container with priority 6 from (3, 3) to (0, 1). Figure 3e As shown in the figure, move the container with priority 3 from (3, 2) to (0, 2). Figure 3f As shown, move the container with priority 7 from (3, 1) to (0, 3). Step 6 Figure 3g As shown, move the container with priority 1 from (3, 0) to (1, 2). Step 7 Figure 3h As shown in the figure, move the container with priority 7 from (0, 3) to (3, 0). Figure 3i As shown in the figure, move the container with priority 5 from (2, 3) to (3, 1). Figure 3j As shown, the container with priority 4 is moved from (2, 2) to (3, 2).
[0046] Step 204: output planning information.
[0047] In this embodiment, the planning information can be output to the controller to send a control instruction to the crane arm, and the box turning operation is performed according to the operation steps of the planning information.
[0048] The method for outputting information in this embodiment predicts the actual pick-up time of each container as the priority through the pick-up information and vehicle information. Then, the container turning operation is planned according to the priority and the yard status information, and the operation steps with the least total number of container turning times are solved. This improves the circulation efficiency of containers, speeds up logistics transportation, and reduces logistics costs.
[0049] In some optional implementations of the present embodiment, the yard status information includes the initial position of each container; and the container turning operation in the target yard is planned according to the priority of each container and the yard status information to obtain planning information, including: generating an operation list according to the initial position of each container, wherein each operation in the operation list represents a single-step moving object and moving position; for each operation in the operation list, calculating the number of misplaced containers in the target yard whose stacking order does not match the priority after executing the operation; for the initial position, determining the operation with the smallest number of misplaced containers as the target operation and adding it to the planning information. The operation list lists all optional operations in the current state, and selects the operation with the smallest number of misplaced containers after the operation as the operation of this round. For example Figure 3a As shown in the figure, the moving position of the container with priority level 5 can be the empty space in the 2nd and 3rd columns, but not the 4th column, because the top layer of the 4th column is occupied and there is no empty space. That is, there are two operations for the container with priority level 5. Similarly, there are two operations for the containers with priority levels 1 and 4, and there are three operations for the container with priority level 6. Add all these operations to the operation list.
[0050] For each operation, calculate the number of misplaced containers whose stacking order does not match the priority after this container transfer operation, and select the operation with the least number of misplaced containers after the transfer. Figure 3a In the example, moving a container with a priority of 6 from (3, 3) to (0, 3) will generate more misplaced containers than moving a container with a priority of 5 from (0, 2) to (2, 3), so the container with a priority of 5 is moved from (0, 2) to (2, 3). Optionally, if after executing an operation to move a target object, there is a need to move the target object back to its original position, the operation is deleted.
[0051] Optionally, the operation with the least number of misplaced containers within a predetermined number of moves can be selected. Compared with the shortest path method, the calculation speed is improved.
[0052] In some optional implementations of this embodiment, the method further includes: if the number of misplaced containers is not 0 after executing the target operation, regenerating an operation list according to the current position of each container; for each operation in the operation list, calculating the number of misplaced containers whose stacking order does not match the priority in the target yard after executing the operation; for the current position, determining the operation with the smallest number of misplaced containers as the target operation and adding it to the planning information. Usually, it is not possible to arrange all containers correctly by moving only one step, and it is necessary to readjust according to the current position and repeat the above steps until all containers are in the correct position. In this way, the containers can be turned over in advance before the truck arrives to avoid the situation where the container you want to pick up is pressed underneath, reducing waiting time.
[0053] In some optional implementations of this embodiment, the operation with the smallest number of misplaced containers is determined as the target operation and added to the planning information, including: if the number of operations with the smallest number of misplaced containers is greater than 1, the operation corresponding to the mobile object with the smallest priority is determined as the target operation and added to the planning information. If there are multiple operations that can achieve the minimum number of misplaced containers, further screening is required to select the mobile object with the smallest priority for operation. The valuation function can be used to represent:
[0054] Length is the number of misplaced containers, and adjustment is priority / (number of container rows in the yard * maximum number of container layers). It can be seen that adjustment is a number less than 1, and its impact on the valuation function is not as great as length.
[0055] Evaluation function = length-adjustment
[0056] The operation with the smallest calculated valuation is selected as the target operation. Under the premise of minimizing the number of misplaced containers, reducing the turning operations on containers with high priority can reduce the waiting time of trucks and speed up logistics.
[0057] In some optional implementations of this embodiment, the operation with the smallest number of misplaced containers is determined as the target operation and added to the planning information, including: if the number of operations with the smallest number of misplaced containers is greater than 1 and the number of mobile objects with the lowest priority is also greater than 1, then the operation corresponding to the mobile object with the least number of moves is determined as the target operation and added to the planning information. A reference quantity is added to the above formula: the number of moves of the mobile object from the initial state to the current state order. Valuation function = length-adjustment+order.
[0058] The operation with the smallest calculated valuation is selected as the target operation. On the premise of ensuring that the number of misplaced containers is minimized and that containers with high priority are turned over as little as possible, containers with fewer turns over are selected to avoid the loss of goods in the container due to frequent turning over, thus reducing logistics costs.
[0059] In some optional implementations of this embodiment, the prediction model is an extreme gradient boosting tree (XGBoost, full name is eXtreme Gradient Boosting), which is an optimized distributed gradient boosting library designed to be efficient, flexible and portable. The training process of the prediction model is shown in process 400. A regularization term is added to the objective function of each iteration to further reduce the risk of overfitting, and parallelization of the attribute calculation level is achieved, thereby improving the accuracy and speed of model prediction.
[0060] Further references Figure 4 , which shows a process 400 of an embodiment of a method for training a prediction model. The process 400 of the method for training a prediction model includes the following steps:
[0061] Step 401, determining the network structure of the initial prediction model and initializing the network parameters of the initial prediction model.
[0062] In this embodiment, the execution subject of the training prediction model may be the same as or different from the execution subject of the method for outputting information. If they are the same, the execution subject of the training prediction model may store the network structure information and the parameter values of the network parameters of the trained prediction model locally after the prediction model is trained. If they are different, the execution subject of the training prediction model may send the network structure information and the parameter values of the network parameters of the trained prediction model to the execution subject of the method for outputting information after the prediction model is trained.
[0063] In this embodiment, the execution subject of the training prediction model may first determine the network structure of the prediction model. For example, it is necessary to determine which layers the initial prediction model includes, the connection order relationship between the layers, which neurons each layer includes, the weight and bias corresponding to each neuron, the activation function of each layer, etc.
[0064] It is understandable that, since the prediction model may include various types of neural networks, the network structures that need to be determined for different types of neural networks are also different.
[0065] Then, the network parameters of the initial prediction model can be initialized. In practice, the network parameters of the initial prediction model can be initialized with some different small random numbers. "Small random numbers" are used to ensure that the model will not enter a saturated state due to excessive weights, thereby causing training failure, and "different" is used to ensure that the model can learn normally.
[0066] Step 402: Obtain a sample set.
[0067] In this embodiment, a sample set can be obtained locally or remotely from the historical log data of other electronic devices connected to the above-mentioned execution subject network. Each sample in the sample set includes the pick-up information, vehicle information and actual pick-up time of a container. The pick-up information may include: the pick-up order number corresponding to the container, the scheduled pick-up time, the pick-up attribute (large order pick-up or single point pick-up), the operator identification, the pick-up box number, etc. The vehicle information may include the arrival time of the truck, the truck operator identification, the truck allocation to the yard identification, the truck identification, etc. The actual pick-up time refers to the time when the pick-up operation is actually performed, which is often later than the scheduled pick-up time, so the scheduled pick-up time cannot be used directly for priority sorting.
[0068] Step 403, taking the pickup information and vehicle information in the samples in the sample set as inputs of the initial prediction model, and taking the actual pickup time as the expected output of the initial prediction model, and using a machine learning method to train the initial prediction model.
[0069] In this embodiment, the execution subject can input the pickup information and vehicle information in the sample in the sample set into the initial prediction model to obtain the predicted pickup time of the container, and use the actual pickup time of the container in the sample as the expected output of the initial prediction model, and train the initial prediction model using a machine learning method. Specifically, the difference between the predicted pickup time and the actual pickup time can be calculated using a preset loss function. For example, the difference between the predicted pickup time and the actual pickup time can be calculated using the L2 norm as the loss function. Then, the network parameters of the initial prediction model can be adjusted based on the calculated difference, and the training can be terminated when the preset training termination conditions are met. For example, the preset training termination conditions here may include but are not limited to at least one of the following: the training time exceeds the preset duration; the number of training times exceeds the preset number of times; the calculated difference is less than the preset difference threshold.
[0070] Here, various implementations may be used to adjust the network parameters of the initial prediction model based on the difference between the generated predicted pickup time and the actual pickup time. For example, a BP (Back Propagation) algorithm or an SGD (Stochastic Gradient Descent) algorithm may be used to adjust the network parameters of the initial prediction model.
[0071] Step 404: determine the trained initial prediction model as the pre-trained prediction model.
[0072] In this embodiment, the execution entity may determine the initial prediction model obtained by training in step 403 as the pre-trained prediction model, which is then used in process 200 .
[0073] from Figure 4 It can be seen that Figure 2 Compared with the corresponding embodiment, the process 400 of the method for training the prediction model in this embodiment embodies the steps of predicting the actual pickup time by extracting features from the pickup information and vehicle information. Therefore, the scheme described in this embodiment can analyze the actual pickup time through the pickup information and vehicle information, thereby obtaining the priority of the container, improving the accuracy of container sorting, and reducing the waiting time of the truck and the overall number of container flipping by accurately flipping the container in advance, thereby reducing the logistics cost.
[0074] In some optional implementations of this embodiment, the prediction model is an extreme gradient boosting tree, and a greedy algorithm is used to extract splitting points of the extreme gradient boosting tree.
[0075] Given a sample set, XGBoost performs additive training, learns K trees, and uses the following function to predict the sample:
[0076]
[0077] Here Г is the hypothesis space, f(x) is the regression tree, is the prediction result, x i is the i-th sample. Γ={f(x)=w q(x)}(q:R m →T, w∈R T )
[0078] q(x) means that sample x is assigned to a leaf node, and w is the score of the leaf node, so w q(x) Represents the predicted value of the regression tree for the sample, R m represents features (e.g., pickup information, vehicle information), and T represents a leaf node.
[0079] Use the greedy algorithm as the basis for child node splitting. Start from the tree depth of 0:
[0080] 1. Enumerate all available features for each leaf node;
[0081] 2. For each feature, the training samples belonging to the node are sorted in ascending order according to the feature value, the best split point of the feature is determined by linear scanning, and the splitting benefit of the feature is recorded;
[0082] 3. Select the feature with the largest benefit as the split feature, use the best split point of the feature as the split position, split two new leaf nodes on the left and right sides of the node, and associate the corresponding sample set with each new node;
[0083] 4. Go back to step 1 and execute recursively until a specific condition is met.
[0084] When splitting a node, it is necessary to calculate the gain of each feature, and finally select the feature with the largest gain for splitting. Then the gain calculation of each feature can be performed in multiple threads, which can improve the calculation speed, increase the circulation speed of containers, and reduce logistics costs.
[0085] Further references Figure 5 As an implementation of the methods shown in the above figures, the present disclosure provides an embodiment of a device for outputting information. Figure 2 Corresponding to the method embodiment shown, the device can be specifically applied to various electronic devices.
[0086] like Figure 5As shown, the device 500 for outputting information in this embodiment includes: an acquisition unit 501, a prediction unit 502, a planning unit 503 and an output unit 504. The acquisition unit 501 is configured to acquire the pick-up information, vehicle information and yard status information of at least one container in the target yard; the prediction unit 502 is configured to input the pick-up information and vehicle information into a pre-trained prediction model to predict the actual pick-up time of each container as the priority; the planning unit 503 is configured to plan the container turning operation of the target yard according to the priority and yard status information of each container to obtain planning information; the output unit 504 is configured to output the planning information.
[0087] In this embodiment, the specific processing of the acquisition unit 501, the prediction unit 502, the planning unit 503 and the output unit 504 of the device 500 for outputting information can be referred to. Figure 2 Corresponding to step 201, step 202, step 203, and step 204 in the embodiment.
[0088] In some optional implementations of this embodiment, the yard status information includes the initial position of each container; and the planning unit 503 is further configured to: generate an operation list according to the initial position of each container, wherein each operation in the operation list represents a single-step moving object and moving position; for each operation in the operation list, calculate the number of misplaced containers in the target yard whose stacking order does not match the priority after executing the operation; for the initial position, determine the operation with the smallest number of misplaced containers as the target operation and add it to the planning information.
[0089] In some optional implementations of the present embodiment, the planning unit 503 is further configured to: if the number of misplaced containers is not zero after executing the target operation, regenerate the operation list according to the current position of each container; for each operation in the operation list, calculate the number of misplaced containers in the target yard whose stacking order does not match the priority after executing the operation; for the current position, determine the operation with the smallest number of misplaced containers as the target operation and add it to the planning information.
[0090] In some optional implementations of this embodiment, the planning unit 503 is further configured to: if the number of operations with the smallest number of misplaced containers is greater than 1, determine the operation corresponding to the moving object with the smallest priority as the target operation and add it to the planning information.
[0091] In some optional implementations of this embodiment, the planning unit 503 is further configured to: If the number of operations with the smallest number of misplaced containers is greater than 1 and the number of moving objects with the smallest priority is also greater than 1, then the operation corresponding to the moving object with the least number of moves is determined as the target operation and added to the planning information.
[0092] In some optional implementations of this embodiment, the prediction model is an extreme gradient boosting tree.
[0093] Further references Figure 6 As an implementation of the methods shown in the above figures, the present disclosure provides an embodiment of a device for training a prediction model. Figure 4 Corresponding to the method embodiment shown, the device can be specifically applied to various electronic devices.
[0094] like Figure 6 As shown, the device 600 for training the prediction model of this embodiment includes: an initialization unit 601, configured to determine the network structure of the initial prediction model and initialize the network parameters of the initial prediction model; an acquisition unit 602, configured to acquire a sample set, wherein the samples in the sample set include pickup information, vehicle information and actual pickup time; a training unit 603, configured to use the pickup information and vehicle information in the samples in the sample set as inputs of the initial prediction model, and the actual pickup time as the expected output of the initial prediction model, and train the initial prediction model using a machine learning device; a determination unit 604, configured to determine the trained initial prediction model as a pre-trained prediction model.
[0095] In some optional implementations of this embodiment, the prediction model is an extreme gradient boosting tree, and a greedy algorithm is used to extract splitting points of the extreme gradient boosting tree.
[0096] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium and a computer program product.
[0097] An electronic device comprises: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the method described in process 200 or 400.
[0098] A non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause the computer to execute the method described in process 200 or 400.
[0099] A computer program product includes a computer program, wherein the computer program implements the method described in flow 200 or 400 when executed by a processor.
[0100] Figure 7 A schematic block diagram of an example electronic device 700 that can be used to implement an embodiment of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.
[0101] like Figure 7 As shown, the device 700 includes a computing unit 701, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 702 or a computer program loaded from a storage unit 708 into a random access memory (RAM) 703. In the RAM 703, various programs and data required for the operation of the device 700 can also be stored. The computing unit 701, the ROM 702, and the RAM 703 are connected to each other via a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.
[0102] A number of components in the device 700 are connected to the I / O interface 705, including: an input unit 706, such as a keyboard, a mouse, etc.; an output unit 707, such as various types of displays, speakers, etc.; a storage unit 708, such as a disk, an optical disk, etc.; and a communication unit 709, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 709 allows the device 700 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0103] The computing unit 701 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 701 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 701 performs the various methods and processes described above, such as methods for outputting information. For example, in some embodiments, the method for outputting information may be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as a storage unit 708. In some embodiments, part or all of the computer program may be loaded and / or installed on the device 700 via ROM 702 and / or communication unit 709. When the computer program is loaded into RAM 703 and executed by the computing unit 701, one or more steps of the method for outputting information described above may be performed. Alternatively, in other embodiments, the computing unit 701 may be configured to execute a method for outputting information in any other appropriate manner (e.g., by means of firmware).
[0104] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0105] The program code for implementing the method of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, enables the functions / operations specified in the flow chart and / or block diagram to be implemented. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.
[0106] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0107] To provide interaction with a user, the systems and techniques described herein may be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).
[0108] The systems and techniques described herein may be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), and the Internet.
[0109] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship of client and server is generated by computer programs running on respective computers and having a client-server relationship with each other. The server may be a cloud server, a server of a distributed system, or a server combined with a blockchain.
[0110] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps recorded in this disclosure can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and this document does not limit this.
[0111] The above specific implementations do not constitute a limitation on the protection scope of the present disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present disclosure shall be included in the protection scope of the present disclosure.
Claims
1. A method for outputting information, comprising: Obtaining the pick-up information, vehicle information and yard status information of at least one container in the target yard, wherein the pick-up information includes: pick-up order number, scheduled pick-up time, pick-up attributes, operator ID, pick-up container number; the vehicle information includes: truck arrival time, truck operator ID, truck assigned to yard ID, truck ID; Input the pickup information and the vehicle information into a pre-trained prediction model to predict the actual pickup time of each container as a priority; The container turning operation of the target yard is planned according to the priority of each container and the yard status information to obtain planning information, including: taking the initial storage state as the root node, taking the target box as the identifier of the hierarchical division, taking the possible storage states of each layer in the process of picking up the container as the leaf nodes of the layer, and taking the storage state of the completed container picking operation as the end node; constructing a tree network graph structure, and adding a virtual end node, converting the container turning problem into a problem of finding the shortest path from the root node to the virtual end node, and using the shortest path problem algorithm to solve the planning information; The planning information is output.
2. The method according to claim 1, wherein: The yard status information includes the initial position of each container; as well as The container turning operation of the target yard is planned according to the priority of each container and the yard status information to obtain planning information, including: Generate an operation list according to the initial position of each container, wherein each operation in the operation list represents a moving object and a moving position of a single step; For each operation in the operation list, the number of misplaced containers in the target yard whose stacking order does not match the priority level is calculated after the operation is performed; For the initial position, the operation with the smallest number of misplaced containers is determined as the target operation and added to the planning information.
3. The method according to claim 2, wherein: The method further comprises: If the number of misplaced containers is not 0 after executing the target operation, the operation list is regenerated according to the current position of each container; For each operation in the operation list, the number of misplaced containers in the target yard whose stacking order does not match the priority level is calculated after the operation is performed; For the current position, the operation with the smallest number of misplaced containers is determined as the target operation and added to the planning information.
4. The method according to claim 2, wherein: The step of determining the operation with the minimum number of misplaced containers as the target operation and adding it to the planning information includes: If the number of operations with the smallest number of misplaced containers is greater than 1, the operation corresponding to the moving object with the smallest priority is determined as the target operation and added to the planning information.
5. The method according to claim 4, wherein: The step of determining the operation with the minimum number of misplaced containers as the target operation and adding it to the planning information includes: If the number of operations with the smallest number of misplaced containers is greater than 1 and the number of moving objects with the smallest priority is also greater than 1, the operation corresponding to the moving object with the smallest number of moves is determined as the target operation and added to the planning information.
6. The method according to any one of claims 1 to 5, wherein: The prediction model is an extreme gradient boosting tree.
7. The method according to any one of claims 1 to 5, further comprising: Determining a network structure of an initial prediction model and initializing network parameters of the initial prediction model; Acquire a sample set, wherein the samples in the sample set include pickup information, vehicle information, and actual pickup time; Taking the pickup information and vehicle information in the samples in the sample set as inputs of the initial prediction model, taking the actual pickup time as the expected output of the initial prediction model, and training the initial prediction model using a machine learning method; The initial prediction model obtained through training is determined as the pre-trained prediction model.
8. The method according to claim 7, wherein: The prediction model is an extreme gradient boosting tree, and a greedy algorithm is used to extract the splitting points of the extreme gradient boosting tree.
9. A device for outputting information, comprising: The acquisition unit is configured to acquire the pick-up information, vehicle information and yard status information of at least one container in the target yard, wherein the pick-up information includes: pick-up order number, scheduled pick-up time, pick-up attributes, operator identification, pick-up container number, and the vehicle information includes: truck arrival time, truck operator identification, truck allocation to yard identification, and truck identification; a prediction unit configured to input the pickup information and the vehicle information into a pre-trained prediction model to predict an actual pickup time for each container as a priority; The planning unit is configured to plan the container turning operation of the target yard according to the priority of each container and the yard status information, and obtain planning information, including: taking the initial storage state as the root node, taking the target box as the identifier of the hierarchical division, taking the possible storage states of each layer in the process of picking up the container as the leaf nodes of the layer, and taking the storage state of the completed container picking operation as the end node; constructing a tree network graph structure, and adding a virtual end node, converting the container turning problem into a problem of finding the shortest path from the root node to the virtual end node, and using the shortest path problem algorithm to solve the planning information; The output unit is configured to output the planning information.
10. The device according to claim 9, wherein: The yard status information includes the initial position of each container; and The planning unit is further configured to: Generate an operation list according to the initial position of each container, wherein each operation in the operation list represents a moving object and a moving position of a single step; For each operation in the operation list, the number of misplaced containers in the target yard whose stacking order does not match the priority level is calculated after the operation is performed; For the initial position, the operation with the smallest number of misplaced containers is determined as the target operation and added to the planning information.
11. The device according to claim 10, wherein: The planning unit is further configured to: If the number of misplaced containers is not 0 after executing the target operation, the operation list is regenerated according to the current position of each container; For each operation in the operation list, the number of misplaced containers in the target yard whose stacking order does not match the priority level is calculated after the operation is performed; For the current position, the operation with the smallest number of misplaced containers is determined as the target operation and added to the planning information.
12. The device according to claim 10, wherein: The planning unit is further configured to: If the number of operations with the smallest number of misplaced containers is greater than 1, the operation corresponding to the moving object with the smallest priority is determined as the target operation and added to the planning information.
13. The device according to claim 12, wherein: The planning unit is further configured to: If the number of operations with the smallest number of misplaced containers is greater than 1 and the number of moving objects with the smallest priority is also greater than 1, the operation corresponding to the moving object with the smallest number of moves is determined as the target operation and added to the planning information.
14. The device according to any one of claims 9 to 13, wherein: The prediction model is an extreme gradient boosting tree.
15. The device according to any one of claims 9 to 13, wherein: The device also includes: An initialization unit, configured to determine a network structure of an initial prediction model and initialize network parameters of the initial prediction model; An acquisition unit is configured to acquire a sample set, wherein the samples in the sample set include pickup information, vehicle information, and actual pickup time; a training unit configured to use the pickup information and vehicle information in the samples in the sample set as inputs of the initial prediction model, and the actual pickup time as an expected output of the initial prediction model, and train the initial prediction model using a machine learning device; The determination unit is configured to determine the initial prediction model obtained through training as the pre-trained prediction model.
16. The device according to claim 15, wherein: The prediction model is an extreme gradient boosting tree, and a greedy algorithm is used to extract the splitting points of the extreme gradient boosting tree.
17. An electronic device comprising: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 8.
18. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to cause the computer to execute the method according to any one of claims 1-8.
19. A computer program product, comprising a computer program, which, when executed by a processor, implements the method according to any one of claims 1 to 8.
Citation Information
Patent Citations
Baggage arrival time prediction method and device, computer device and readable medium
CN108388963A