Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
PLANNING FOR GOODS ALLOCATION
Document Type and Number:
WIPO Patent Application WO/2020/005600
Kind Code:
A1
Abstract:
Attributes of sets of goods are determined, the attributes indicating amount of goods in respective sets of goods from the sets of goods, and goods in a set of goods from the sets of goods having a same origin and a same destination. A path of the sets of goods in a time-space network is determined based on the attributes of the sets of goods. The time-space network includes nodes indicating respective places at respective time points and sides connecting the nodes, the nodes comprising a starting node and a ending node corresponding to the origin and the destination and intermediate nodes between the starting node and the ending node. The path includes a subset of sides of the sides connecting the starting node and the ending node and represents planning for allocating the goods from the origin to the destination.

Inventors:
MA WEIDONG (US)
YANG FEIDIAO (US)
BIAN JIANG (US)
LIU TIE-YAN (US)
Application Number:
PCT/US2019/037409
Publication Date:
January 02, 2020
Filing Date:
June 17, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
MICROSOFT TECHNOLOGY LICENSING LLC (US)
International Classes:
G06Q10/06; G06Q10/04; G06Q30/02
Foreign References:
US20150142168A12015-05-21
US20110246404A12011-10-06
US20170336219A12017-11-23
Other References:
YANJIE DUAN ET AL: "Travel time prediction with LSTM neural network", 2016 IEEE 19TH INTERNATIONAL CONFERENCE ON INTELLIGENT TRANSPORTATION SYSTEMS (ITSC), IEEE, 1 November 2016 (2016-11-01), pages 1053 - 1058, XP033028469, DOI: 10.1109/ITSC.2016.7795686
BEHNAM NEYSHABUR ET AL: "Path-SGD: Path-Normalized Optimization in Deep Neural Networks", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 8 June 2015 (2015-06-08), XP080795337
QI MENG ET AL: "Optimizing Neural Networks in the Equivalent Class Space", 11 February 2018 (2018-02-11), XP055574636, Retrieved from the Internet [retrieved on 20190326]
Attorney, Agent or Firm:
MINHAS, Sandip S. et al. (US)
Download PDF:
Claims:
CLAIMS

1. A device, comprising:

a processing unit;

a memory coupled to the processing unit and comprising instructions stored thereon, the instructions, when executed by the processing unit, causing the device to perform acts comprising:

determining attributes of a plurality of sets of goods, the attributes indicating amount of goods in respective sets of goods from the plurality of sets of goods, and goods in a set of goods from the plurality of sets of goods having a same origin and a same destination; and

determining, based on the attributes of the plurality of sets of goods, a first path of the plurality of sets of goods in a time-space network, wherein the time-space network comprises a plurality of nodes indicating respective places at respective time points and a plurality of sides connecting the plurality of nodes, the plurality of nodes comprising a starting node and a ending node corresponding to the origin and the destination respectively and intermediate nodes between the starting node and the ending node, wherein the first path comprises a first subset of sides of the plurality of sides connecting the starting node and the ending node and represents planning for allocating the goods from the origin to the destination.

2. The device of claim 1, wherein the first path is determined by minimizing a cost for allocating the goods under a constraint comprising:

for a side in the time-space network, a sum of the attributes of the plurality of sets of goods does not exceed a respective attribute of a vehicle on the side, the attribute of the vehicle indicating transportation capability of the vehicle; and

for a set of goods from the plurality of sets of goods, a path entering an intermediate node of the intermediate nodes corresponds to a path exiting from the intermediate node of the intermediate nodes.

3. The device of claim 1, wherein determining the first path of the plurality of sets of goods in the time-space network comprises:

selecting a second subset of sides from the plurality of sides of the time-space network; and

determining, based on the second subset of sides, the first path of the plurality of sets of goods in the time-space network.

4. The device of claim 3, wherein selecting the second subset of sides comprises:

determining a plurality of groups of goods, wherein goods in a group of goods from the plurality of groups of goods having a same destination;

determining, based on the plurality of sides, a second path of the plurality of groups of goods in the time-space network; and

determining sides included in the second path as the second subset of sides.

5. The device of claim 3, wherein selecting the second subset of sides comprises:

selecting, from the plurality of sides, the second subset of sides with a machine-learning model based on the time-space network and the attributes of the set of goods.

6. The device of claim 5, wherein the machine-learning model is trained based on historical data, the historical data comprising a historical time-space network, attributes of a set of historical goods and a subset of sides of a plurality of sides of the historical time-space networks for the set of historical goods.

7. The device of claim 6, wherein the historical data is obtained by:

determining a plurality of groups of historical goods, historical goods in a group of historical goods from the plurality of groups of historical goods having a same destination; determining, based on the plurality of sides of the historical time-space network, a path of the plurality of groups of historical goods in the historical time-space networks; and

determining sides included in the path of the plurality of groups of historical goods in the historical time-space networks as the subset of sides for the set of historical goods.

8. A method, comprising:

determining attributes of a plurality of sets of goods, the attributes indicating amount of goods in respective sets of goods from the plurality of sets of goods, and goods in a set of goods from the plurality of sets of goods having a same origin and a same destination; and

determining, based on the attributes of the plurality of sets of goods, a first path of the plurality of sets of goods in a time-space network, wherein the time-space network comprises a plurality of nodes indicating respective places at respective time points and a plurality of sides connecting the plurality of nodes, the plurality of nodes comprising a starting node and a ending node corresponding to the origin and the destination respectively and intermediate nodes between the starting node and the ending node, wherein the first path comprises a first subset of sides of the plurality of sides connecting the starting node and the ending node and represents planning for allocating the goods from the origin to the destination .

9. The method of claim 8, wherein the first path is determined by minimizing a cost for allocating the goods under a constraint comprising:

for a side in the time-space network, a sum of the attributes of the plurality of sets of goods does not exceed a respective attribute of a vehicle on the side, the attribute of the vehicle indicating transportation capability of the vehicle; and

for a set of goods from the plurality of sets of goods, a path entering an intermediate node of the intermediate nodes corresponds to a path exiting from the intermediate node of the intermediate nodes.

10. The method of claim 8, wherein determining the first path of the plurality of sets of goods in the time-space network comprises:

selecting a second subset of sides from the plurality of sides of the time-space network; and

determining, based on the second subset of sides, the first path of the plurality of sets of goods in the time-space network.

11. The method of claim 10, wherein selecting the second subset of sides comprises:

determining a plurality of groups of goods, wherein goods in a group of goods from the plurality of groups of goods having a same destination;

determining, based on the plurality of sides, a second path of the plurality of groups of goods in the time-space network; and

determining sides included in the second path as the second subset of sides.

12. The method of claim 10, wherein selecting the second subset of sides comprises:

selecting, from the plurality of sides, the second subset of sides with a machine-learning model based on the time-space network and the attributes of the set of goods.

13. The method of claim 12, wherein the machine-learning model is trained based on historical data, the historical data comprising a historical time-space network, attributes of a set of historical goods and a subset of sides of a plurality of sides of the historical time-space networks for the set of historical goods.

14. The method of claim 13, wherein the historical data is obtained by:

determining a plurality of groups of historical goods, historical goods in a group of historical goods from the plurality of groups of historical goods having a same destination; determining, based on the plurality of sides of the historical time-space network, a path of the plurality of groups of historical goods in the historical time-space networks; and

determining sides included in the path of the plurality of groups of historical goods in the historical time-space networks as the subset of sides for the set of historical goods.

15. A computer program product being tangibly stored on a computer storage medium and including machine-executable instructions, the machine-executable instructions, when executed by a device, causing the device to perform acts comprising: determining attributes of a plurality of sets of goods, the attributes indicating amount of goods in respective sets of goods from the plurality of sets of goods, and goods in a set of goods from the plurality of sets of goods having a same origin and a same destination; and

determining, based on the attributes of the plurality of sets of goods, a first path of the plurality of sets of goods in a time-space network, wherein the time-space network comprises a plurality of nodes indicating respective places at respective time points and a plurality of sides connecting the plurality of nodes, the plurality of nodes comprising a starting node and a ending node corresponding to the origin and the destination respectively and intermediate nodes between the starting node and the ending node, wherein the first path comprises a first subset of sides of the plurality of sides connecting the starting node and the ending node and represents planning for allocating the goods from the origin to the destination.

Description:
PLANNING FOR GOODS ALLOCATION

BACKGROUND

[0001] In the field of goods allocation and transport, such as express delivery, air transportation, and water transportation etc., especially in the intra-city express delivery applications, unified dispatch and configuration of the goods can be implemented by planning transport paths and time of various goods, so as to lower the operating costs. However, there still lacks a systematic and effective method for planning goods transportation, which results in waste of the transportation resources.

SUMMARY

[0002] Implementations of the present disclosure provide planning for goods allocation. In some implementations, attributes of a plurality of sets of goods are determined, the attributes indicating amount of goods in respective sets of goods from the plurality of sets of goods, and goods in a set of goods from the plurality of sets of goods having a same origin and a same destination. Based on the attributes of the plurality of sets of goods, a path of the plurality of sets of goods in a time-space network is determined. The time-space network comprises a plurality of nodes indicating respective places at respective time points and a plurality of sides connecting the plurality of nodes, the plurality of nodes comprising a starting node and a ending node corresponding to the origin and the destination respectively and intermediate nodes between the starting node and the ending node, wherein the path comprises a subset of sides of the plurality of sides connecting the starting node and the ending node and represents planning for allocating the goods from the origin to the destination.

[0003] This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

[0004] Fig. 1 is a block diagram illustrating a computing device for implementing various implementations of the present disclosure;

[0005] Fig. 2 is a schematic diagram illustrating a time-space network in accordance with some implementations of the present disclosure; and

[0006] Fig. 3 is a flowchart illustrating a method in accordance with some implementations of the present disclosure. [0007] Throughout the drawings, the same or similar reference symbols refer to the same or similar elements.

DETAILED DESCRIPTION

[0008] The subject matter described herein will now be discussed with reference to several example implementations. It is to be understood these implementations are discussed only for the purpose of enabling those skilled persons in the art to better understand and thus implement the subject matter described herein, rather than suggesting any limitations on the scope of the subject matter.

[0009] As used herein, the term“includes” and its variants are to be read as open terms that mean“includes, but is not limited to.” The term“based on” is to be read as“based at least in part on.” The term“one implementation” and“an implementation” are to be read as“at least one implementation.” The term“another implementation” is to be read as“at least one other implementation.” The terms“first,”“second,” and the like may refer to different or same objects. Other definitions, explicit and implicit, may be included below.

[0010] Basic principles and several example implementations of the present disclosure will be explained below with reference to the drawings. Fig. 1 illustrates a block diagram of a computing device 100 that can carry out a plurality of implementations of the present disclosure. It should be understood that the computing device 100 shown in Fig. 1 is only exemplary and shall not constitute any restrictions over functions and scopes of the implementations described by the present disclosure. According to Fig. 1, the computing device 100 includes a computing device 100 in the form of a general purpose computing device. Components of the computing device 100 can include, but not limited to, one or more processors or processing units 110, memory 120, storage device 130, one or more communication units 140, one or more input devices 150 and one or more output devices 160.

[0011] In some implementations, the computing device 100 can be implemented as various user terminals or service terminals with computing power. The service terminals can be servers, large-scale computing devices and the like provided by a variety of service providers. The user terminal, for example, is mobile terminal, fixed terminal or portable terminal of any types, including mobile phone, site, unit, device, multimedia computer, multimedia tablet, Internet nodes, communicator, desktop computer, laptop computer, notebook computer, netbook computer, tablet computer, Personal Communication System (PCS) device, personal navigation device, Personal Digital Assistant (PDA), audio/video player, digital camera/video, positioning device, television receiver, radio broadcast receiver, electronic book device, gaming device or any other combinations thereof consisting of accessories and peripherals of these devices or any other combinations thereof. It can also be predicted that the computing device 100 can support any types of user-specific interfaces (such as“wearable” circuit and the like).

[0012] The processing unit 110 can be a physical or virtual processor and can execute various processing based on the programs stored in the memory 120. In a multi-processor system, a plurality of processing units executes computer-executable instructions in parallel to enhance parallel processing capability of the computing device 100. The processing unit 110 also can be known as central processing unit (CPU), microprocessor, controller and microcontroller.

[0013] The computing device 100 usually includes a plurality of computer storage media. Such media can be any attainable media accessible by the computing device 100, including but not limited to volatile and non-volatile media, removable and non-removable media. The memory 120 can be a volatile memory (e.g., register, cache, Random Access Memory (RAM)), a non-volatile memory (such as, Read-Only Memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), flash), or any combinations thereof. The memory 120 can include a planning module 122 configured to execute functions of various implementations described herein. The planning module 122 can be accessed and operated by the processing unit 110 to perform corresponding functions.

[0014] The storage device 130 can be removable or non-removable medium, and can include machine readable medium, which can be used for storing information and/or data and can be accessed within the computing device 100. The computing device 100 can further include a further removable/non-removable, volatile/non-volatile storage medium. Although not shown in Fig. 1, there can be provided a disk drive for reading from or writing into a removable and non-volatile disk and an optical disk drive for reading from or writing into a removable and non-volatile optical disk. In such cases, each drive can be connected via one or more data medium interfaces to the bus (not shown).

[0015] The communication unit 140 implements communication with another computing device through communication media. Additionally, functions of components of the computing device 100 can be realized by a single computing cluster or a plurality of computing machines, and these computing machines can communicate through communication connections. Therefore, the computing device 100 can be operated in a networked environment using a logic connection to one or more other servers, a Personal Computer (PC) or a further general network node.

[0016] The input device 150 can be one or more various input devices, such as mouse, keyboard, trackball, voice-input device and the like. The output device 160 can be one or more output devices, e.g., display, loudspeaker and printer etc. The computing device 100 also can communicate through the communication unit 140 with one or more external devices (not shown) as required, wherein the external device, e.g., storage device, display device etc., communicates with one or more devices that enable the users to interact with the computing device 100, or with any devices (such as network card, modem and the like) that enable the computing device 100 to communicate with one or more other computing devices. Such communication can be executed via Input/Output (I/O) interface (not shown).

[0017] In some implementations, apart from being integrated on an individual device, some or all of the respective components of the computing device 100 also can be set in the form of cloud computing architecture. In the cloud computing architecture, these components can be remotely arranged and can cooperate to implement the functions described by the present disclosure. In some implementations, the cloud computing provides computation, software, data access and storage services without informing a terminal user of physical positions or configurations of systems or hardware providing such services. In various implementations, the cloud computing provides services via Wide Area Network (such as Internet) using a suitable protocol. For example, the cloud computing provider provides, via the Wide Area Network, the applications, which can be accessed through a web browser or any other computing components. Software or components of the cloud computing architecture and corresponding data can be stored on a server at a remote position. The computing resources in the cloud computing environment can be merged or spread at a remote datacenter. The cloud computing infrastructure can provide, via a shared datacenter, the services even though they are shown as a single access point for the user. Therefore, components and functions described herein can be provided using the cloud computing architecture from a service provider at a remote position. Alternatively, components and functions can be provided from a conventional server, or they can be mounted on a client device directly or in other ways.

[0018] The computing device 100 can be used for performing planning of goods transportation in accordance with implementations of the present disclosure. Upon executing the planning, the computing device 100 can receive, via the input device 150, data 170 associated with goods transportation, such as origin and destination of parcels or goods and the like. The computing device 100 can process the data 170 and determine, based on the data 170, delivery route and time of the parcel. The delivery route and time of the parcel can be provided to the output device 160 as an output 180 for the user and the like.

[0019] Example implementations of the present disclosure will be described in details below with reference to the drawings. For the convenience of description, the example implementations of the present disclosure are described in details below by taking intra-city expression delivery as an example. However, it should be understood that this is only for the purpose of examples and is not intended to restrict the scope of the present disclosure. Implementations of the present disclosure are also applicable to other fields in addition to the intra-city express delivery and the scope of the present disclosure is not limited in this regard.

[0020] In an intra-city express delivery scenario, for example, there are L terminals within a city and some parcels or goods need to be delivered between different terminals. Different types of vehicles with various features can be employed to deliver these parcels. For example, the vehicles can have different capacities, different speed and/or different costs etc. The objective of this optimization problem can be stated as minimizing costs of delivering all parcels within a predefined time. In the scenario of intra-city express delivery, the delivery of the parcels can be planned every day.

[0021] Fig. 2 is a schematic diagram illustrating a time-space network 200 in accordance with some implementations of the present disclosure. In the time-space network 200, terminals A, B and C are illustrated. It should be appreciated that the number of terminals is provided as an example only and there can be provided with more or less terminals. In addition, time scale is discretized and denoted as t=l, 2, 3 ... T, wherein T represents the number of time points. Accordingly, each node in the time-space network 200 indicates different time points and terminals and every side represents migration of goods, such as parcels, between respective terminals at respective time points or instants. As shown in Fig. 2, the sides can include holding sides and service sides, wherein the holding sides are illustrated by dotted lines and indicate changes of the same terminal between different time points, and the service sides are illustrated by solid lines and represent migration of different terminals among different time points. For example, nodes Ao-Co denote the starting nodes and nodes AT-CT represent the ending nodes and other nodes are intermediate nodes; the side connecting node Ao and node Bi is a service side and the side connecting node Ao and node Ai is a holding side. [0022] In some implementations, parcels or other goods having the same origin and the same destination can be processed as a set of goods (e.g., a fundamental unit for solving the optimization problem) to execute the optimization problem. For example, parcels or other goods having the same origin and the same destination can be aggregated as a set of goods, to determine features or attributes associated with the goods and the set of goods, which can indicate the number of the goods or of the set of goods. It should be understood that the term“amount” in the context represents attributes of the goods or of the set of goods, such as volume, weight, and/or the like. For example, features, such as number, size, and weight etc., of the parcels corresponding to the set of goods can be determined to decide the attributes of the set of goods.

[0023] For example, in the time-space network 200, the above optimization problem can be formulated to the following integer planning problem (denoted as IP):

The constraint is: ) ,

[0024] where A represents a set of sides, V represents a set of nodes, and K represents a set of goods; i or j represents node, coefficient c i; - represents cost of side (i, j) (e.g., transportation costs of means of transport, such as vehicles and the like) and coefficient w tj represents one or more attributes (the attributes can represent transport capacity of the vehicle, such as volume) of the vehicle used by the side (i, j); coefficient b k denotes the attributes (such as volume and/or weight) of the k-th set of goods, integer variable denotes the number of vehicles used by the side (i, j) and binary variable xfj denotes whether the side (i, j) is on the path of the set k of goods.

[0025] The integer planning problem can be expressed as solving the optimization problem indicated by the formula (1) under the constraint conditions (2) and (3) and outputting values of variables ytj and xfj . Formula (1) represents minimizing the costs. The constraint condition (2) means that for all sides (i, j), the sum of properties of respective sets of goods does not exceed the corresponding properties of the vehicle on the side, where one or more attributes of the vehicle indicate transportation capacity of the vehicle, such as the sum of volume. The constraint condition (3) means that for each set of goods, the path entering each intermediate node corresponds to a path exiting from the intermediate node. In other words, the path entering each intermediate node also exits from the intermediate node and the path exiting from each intermediate node also enters the intermediate node. The starting node o(k) and the ending node d(k) adjust the above relation correspondingly. For example, for each set of goods, the number of paths exiting the starting node o(k) subtracting the number of paths entering the node should be 1, and the number of paths exiting the ending node d(k) subtracting the number of paths entering the node should be -1.

[0026] The size of the integer planning problem (IP) is too large and the computation complexity is high. Accordingly, it may be impossible to solve the problem when the number of terminals is large. In some implementations, in order to obtain a feasible solution within a reasonable time, it is proposed to simplify the time-space network 200 and solve the integer planning problem based on the simplified time-space network, so as to effectively obtain a feasible solution.

[0027] In some implementations, the time-space network 200 can be simplified by reducing the number of sets of goods. In the integer planning problem (IP), the parcels having the same origin and the same destination act as a set of goods. In order to simplify the integer planning problem (IP), the goods (such as parcels and the like) having the same destination can be processed as a set of goods. However, the goods with the same destination are referred to as a set of goods for the sake of distinction. In this way, the number of sets is reduced to L from L*(L-l). Therefore, the integer planning problem (IP) can be simplified and the new integer planning problem can be denoted as IP1. The simplified integer planning problem (IP1) can be solved within a short period of time.

[0028] Generally, only a portion of (e.g., a small portion, such as less than 20% or less than 10%) the sides is employed in the solution to the IP1 problem. Only these sides are kept in the time-space network and all the other sides are deleted, and the original integer planning problem is solved in the new time-space network. Because the new time-space network has fewer sides, the corresponding integer planning problem (IP) is simplified and can be solved quickly.

[0029] In some implementations, the time-space network 200 can be simplified with a machine-learning model (e.g., a neural network or Deep Neural Network (DNN)). For example, the time-space network 200 can be pruned to delete a subset of the sides from the time-space network 200. For example, the time-space network 200 and the attributes of the sets of goods can be input into a machine-learning model, such as inputting the data in the form of vectors into the machine-learning model. The machine-learning model can provide, based on the data, a simplified time-space network 200 which includes fewer sides than the time-space network 200. For instance, the machine-learning model can provide a probability that the respective side (such as service side) should be included in the simplified time-space network.

[0030] The historical data can be fully exploited through the machine-learning model to save the computing resources. A training method for the machine-learning model can be a supervised learning method and the training data can be provided by the historical data. The historical data can include historical time-space networks, attributes of respective sets of historical goods and a subset of the sides from sides of the historical time-space network for respective sets of historical goods. For example, the historical data can be a simplified time-space network obtained on a historical time-space network in accordance with the simplified integer planning problem (IP1). Alternatively, historical data also can be empirical data or data from other sources, such as the time-space network obtained by the integer planning problem (IP).

[0031] Fig. 3 is a flowchart illustrating a method 300 for goods allocation in accordance with some implementations of the present disclosure. The method 300 can be implemented by the computing device 100 shown in Fig. 1, e.g., at the planning module 122. For the convenience of description, the procedure is described with reference to Fig. 1. It should be understood that the method 300 can also include additional acts not shown and/or some acts can be omitted. The scope of the present disclosure is not limited in this regard.

[0032] At 302, a time-space network is obtained. The time-space network includes a plurality of nodes indicating respective places at respective time points and a plurality of sides connecting the plurality of nodes, the plurality of nodes comprising a starting node and a ending node corresponding to the origin and the destination respectively and intermediate nodes between the starting node and the ending node. For example, the time-space network can be the time-space network 200 shown in Fig. 2. The time-space network can be fixed within a period of time and can be stored in the memory. The time-space network can be re-built if the terminals change.

[0033] At 304, attributes of the plurality of sets of goods are determined. The attributes indicate amount of goods in respective sets of goods from the plurality of sets of goods, and goods in a set of goods from the plurality of sets of goods having a same origin and a same destination. Attributes of the set of goods can be volume and/or weight of the goods in the set and the attributes of the goods can be volume and/or weight. For example, each set of goods can be considered as a basic unit for the optimization problem. Determining the plurality of sets of goods can include determining an origin and a destination corresponding to each set of goods, and features or parameters corresponding to the set of goods, e.g., features of the goods corresponding to the set of goods, such as quantity, volume and/or weight etc.

[0034] At 306, a first path of the plurality of sets of goods in the time-space network is determined based on the attributes of the plurality of sets of goods. The first path is indicated by a first subset of sides from the sides connecting the starting node with the ending node. In some implementations, the first path is determined by minimizing the costs of allocating goods while satisfying the following constraint conditions: for a side in the time-space network, a sum of the attributes of the plurality of sets of goods does not exceed a respective attribute of a vehicle on the side, the attribute of the vehicle indicating transportation capability of the vehicle; and for a set of goods from the plurality of sets of goods, a path entering an intermediate node of the intermediate nodes corresponds to a path exiting from the intermediate node of the intermediate nodes. For example, the above path can be determined by the integer planning problem (IP) described with reference to Fig. 2.

[0035] In some implementations, a second subset of sides can be selected from the plurality of sides of the time-space network and the path of the plurality of sets of goods can be determined by the second subsets of sides in the time-space network. The computation process can be simplified by determining the paths of the sets of goods in the time-space network on the reduced sides, which lowers the requirements of the computing resources. In some implementations, a plurality of groups of goods can be determined and the groups of goods in the plurality of groups of goods include goods having the same destination. The second path of the plurality of groups of goods in the time-space network can be determined based on the sides. Then, the sides included in the second path are determined as the second subset of sides. For example, this subset of sides can be selected by the simplified integer planning problem (IP) described with reference to Fig. 2.

[0036] In some implementations, such subset of sides can be selected from the sides through a machine-learning model. For example, the machine-learning model can be a neural network, e.g., deep neural network. For example, the time-space network and related goods transportation parameters (such as attributes of a set of goods) among other data can be input into the machine-learning model. The machine-learning model can provide a simplified time-space network based on the data. For example, the machine-learning model can provide a probability that the respective side (such as service side) should be included in the simplified time-space network.

[0037] For example, the machine-learning model is obtained via supervised training based on the historical data. The historical data can include historical time-space networks, transportation parameters of goods and a respective subset of sides. For example, the historical data can be a simplified time-space network obtained in accordance with the simplified integer planning problem (IP1). The historical data also can be empirical data or data from other sources.

[0038] It can be known from the above description that the implementations of the present disclosure provide a solution for goods planning or allocation. In some implementations, the solution simplifies the time-space network and treats the goods having the same origin and the same destination as an optimization unit to optimize the allocation issues of the goods in the simplified time-space network. For example, the time-space network can be simplified by taking the goods having the same destination as an optimization unit. Through the optimization problem, the costs of goods allocation can be significantly reduced and the efficiency of goods allocation is enhanced.

[0039] Some example implementations of the present disclosure are listed below.

[0040] In a first aspect, there is provided a device. The device comprises a processing unit; a memory coupled to the processing unit and comprising instructions stored thereon, the instructions, when executed by the processing unit, causing the device to perform acts comprising: determining attributes of a plurality of sets of goods, the attributes indicating amount of goods in respective sets of goods from the plurality of sets of goods, and goods in a set of goods from the plurality of sets of goods having a same origin and a same destination; and determining, based on the attributes of the plurality of sets of goods, a first path of the plurality of sets of goods in a time-space network, wherein the time-space network comprises a plurality of nodes indicating respective places at respective time points and a plurality of sides connecting the plurality of nodes, the plurality of nodes comprising a starting node and a ending node corresponding to the origin and the destination respectively and intermediate nodes between the starting node and the ending node, wherein the first path comprises a first subset of sides of the plurality of sides connecting the starting node and the ending node and represents planning for allocating the goods from the origin to the destination.

[0041] In some implementations, the first path is determined by minimizing a cost for allocating the goods under a constraint comprising: for a side in the time-space network, a sum of the attributes of the plurality of sets of goods does not exceed a respective attribute of a vehicle on the side, the attribute of the vehicle indicating transportation capability of the vehicle; and for a set of goods from the plurality of sets of goods, a path entering an intermediate node of the intermediate nodes corresponds to a path exiting from the intermediate node of the intermediate nodes.

[0042] In some implementations, determining the first path of the plurality of sets of goods in the time-space network comprises: selecting a second subset of sides from the plurality of sides of the time-space network; and determining, based on the second subset of sides, the first path of the plurality of sets of goods in the time-space network.

[0043] In some implementations, selecting the second subset of sides comprises: determining a plurality of groups of goods, wherein goods in a group of goods from the plurality of groups of goods having a same destination; determining, based on the plurality of sides, a second path of the plurality of groups of goods in the time-space network; and determining sides included in the second path as the second subset of sides.

[0044] In some implementations, selecting the second subset of sides comprises: selecting, from the plurality of sides, the second subset of sides with a machine-learning model based on the time-space network and the attributes of the set of goods.

[0045] In some implementations, the machine-learning model is trained based on historical data, the historical data comprising a historical time-space network, attributes of a set of historical goods and a subset of sides of a plurality of sides of the historical time-space networks for the set of historical goods.

[0046] In some implementations, the historical data is obtained by: determining a plurality of groups of historical goods, historical goods in a group of historical goods from the plurality of groups of historical goods having a same destination; determining, based on the plurality of sides of the historical time-space network, a path of the plurality of groups of historical goods in the historical time-space networks; and determining sides included in the path of the plurality of groups of historical goods in the historical time-space networks as the subset of sides for the set of historical goods.

[0047] In a second aspect, there is provided a method. The method comprises determining attributes of a plurality of sets of goods, the attributes indicating amount of goods in respective sets of goods from the plurality of sets of goods, and goods in a set of goods from the plurality of sets of goods having a same origin and a same destination; and determining, based on the attributes of the plurality of sets of goods, a first path of the plurality of sets of goods in a time-space network, wherein the time-space network comprises a plurality of nodes indicating respective places at respective time points and a plurality of sides connecting the plurality of nodes, the plurality of nodes comprising a starting node and a ending node corresponding to the origin and the destination respectively and intermediate nodes between the starting node and the ending node, wherein the first path comprises a first subset of sides of the plurality of sides connecting the starting node and the ending node and represents planning for allocating the goods from the origin to the destination .

[0048] In some implementations, the first path is determined by minimizing a cost for allocating the goods under a constraint comprising: for a side in the time-space network, a sum of the attributes of the plurality of sets of goods does not exceed a respective attribute of a vehicle on the side, the attribute of the vehicle indicating transportation capability of the vehicle; and for a set of goods from the plurality of sets of goods, a path entering an intermediate node of the intermediate nodes corresponds to a path exiting from the intermediate node of the intermediate nodes.

[0049] In some implementations, determining the first path of the plurality of sets of goods in the time-space network comprises: selecting a second subset of sides from the plurality of sides of the time-space network; and determining, based on the second subset of sides, the first path of the plurality of sets of goods in the time-space network.

[0050] In some implementations, selecting the second subset of sides comprises: determining a plurality of groups of goods, wherein goods in a group of goods from the plurality of groups of goods having a same destination; determining, based on the plurality of sides, a second path of the plurality of groups of goods in the time-space network; and determining sides included in the second path as the second subset of sides.

[0051] In some implementations, selecting the second subset of sides comprises: selecting, from the plurality of sides, the second subset of sides with a machine-learning model based on the time-space network and the attributes of the set of goods.

[0052] In some implementations, the machine-learning model is trained based on historical data, the historical data comprising a historical time-space network, attributes of a set of historical goods and a subset of sides of a plurality of sides of the historical time-space networks for the set of historical goods.

[0053] In some implementations, the historical data is obtained by: determining a plurality of groups of historical goods, historical goods in a group of historical goods from the plurality of groups of historical goods having a same destination; determining, based on the plurality of sides of the historical time-space network, a path of the plurality of groups of historical goods in the historical time-space networks; and determining sides included in the path of the plurality of groups of historical goods in the historical time-space networks as the subset of sides for the set of historical goods.

[0054] In the third aspect, the present disclosure provides a computer program product tangibly stored in a non-transitory computer storage medium and including machine-executable instructions, the machine-executable instructions, when executed by a device, causing the device to perform a method in the second aspect of the present disclosure.

[0055] In the fourth aspect, the present disclosure provides a computer-readable medium stored thereon with computer-executable instruction, the computer-executable instructions, when executed by the device, causing the device to perform a method in the second aspect of the present disclosure.

[0056] The functionality described herein can be performed, at least in part, by one or more hardware logic components. For example, and without limitation, illustrative types of hardware logic components that can be used include Field-Programmable Gate Arrays (FPGAs), Application-specific Integrated Circuits (ASICs), Application-specific Standard Products (ASSPs), System-on-a-chip systems (SOCs), Complex Programmable Logic Devices (CPLDs), and the like.

[0057] Program code for carrying out methods 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, special purpose computer, or other programmable data processing apparatus, such that the program codes, when executed by the processor or controller, cause the functions/operations specified in the flowcharts and/or block diagrams to be implemented. The program code may execute entirely on a machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.

[0058] In the context of this disclosure, a machine readable medium may be any tangible medium that may contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine readable medium may be a machine readable signal medium or a machine readable storage medium. A machine readable medium may include but not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the machine readable storage medium would include an electrical connection having one or more wires, 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), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0059] Further, although operations are depicted in a particular order, it should be understood that the operations are required to be executed in the shown particular order or in a sequential order, or all shown operations are required to be executed to achieve the expected results. In certain circumstances, multitasking and parallel processing may be advantageous. Likewise, while several specific implementation details are contained in the above discussions, these should not be construed as limitations on the scope of the subject matter described herein. Certain features that are described in the context of separate implementations may also be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation may also be implemented in multiple implementations separately or in any suitable sub-combination.

[0060] Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter specified in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.