EP4420037A1 - Reinforcement learning simulation of supply chain graph - Google Patents
Reinforcement learning simulation of supply chain graphInfo
- Publication number
- EP4420037A1 EP4420037A1 EP22790143.6A EP22790143A EP4420037A1 EP 4420037 A1 EP4420037 A1 EP 4420037A1 EP 22790143 A EP22790143 A EP 22790143A EP 4420037 A1 EP4420037 A1 EP 4420037A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- training
- runtime
- forecast
- reinforcement learning
- processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0475—Generative networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/092—Reinforcement learning
Definitions
- a computing system including a processor configured to, during a training phase, receive training data including, for each of a plurality of training timesteps, a plurality of training forecast states associated with a respective plurality of training-phase agents included in a training supply chain graph.
- the processor may be further configured to train a reinforcement learning simulation of the training supply chain graph using the training data via policy gradient reinforcement learning.
- the plurality of training forecast states may be shared between simulations of the plurality of training-phase agents during training of the reinforcement learning simulation.
- the processor may be further configured to receive a plurality of runtime forecast states associated with a respective plurality of runtime agents included in a runtime supply chain graph. For a runtime agent of the plurality of runtime agents, at the trained reinforcement learning simulation, based at least in part on the plurality of runtime forecast states, the processor may be further configured to generate a respective runtime action output associated with a corresponding runtime forecast state of the runtime agent for a current runtime step. The processor may be further configured to output the runtime action output.
- FIG. 1 schematically shows an example computing system during a training phase in which a reinforcement learning simulation is trained at a processor, according to one embodiment of the present disclosure.
- FIG. 2 shows an example training supply chain graph including a plurality of training-phase agents, according to the example of FIG. 1.
- FIG. 3 schematically shows a training-phase agent included in the training supply chain graph, according to the example of FIG. 1.
- FIG. 4 schematically shows a training distribution simulation module at which one or more training forecast states included in the training data of the reinforcement learning simulation may be generated, according to the example of FIG. 1.
- FIG. 5 schematically shows the computing device during an inferencing phase in which the processor is configured to simulate a plurality of runtime agents at the trained reinforcement learning simulation, according to the example of FIG. 1.
- FIG. 6 schematically shows the computing system when a plurality of runtime forecast states are received from a respective plurality of client computing devices, according to the example of FIG. 1.
- FIG. 7 shows an example graphical user interface (GUI) configured to be transmitted from the computing system to a client computing device for display at a client display device, according to the example of FIG. 1.
- GUI graphical user interface
- FIG. 8 shows an example runtime supply chain graph including a plurality of electrical power suppliers, a plurality of data centers, and a plurality of cloud computing client devices as runtime agents, according to the example of FIG. 1.
- FIGS. 9A-9D show plots of runtime agents’ rewards that were obtained as experimental results for a simulated supply chain under different information-sharing conditions, according to the example of FIG. 1.
- FIG. 10A shows a flowchart of an example method for use at a computing system during a training phase at which a reinforcement learning simulation is trained, according to the example of FIG. 1.
- FIG. 10B shows a flowchart of an example method for use at a computing system during an inferencing phase at which the trained reinforcement learning simulation is executed, according to the example of FIG. 10 A.
- FIG. 10C shows additional steps of the method of FIG. 10B that may be performed in some examples when the runtime supply chain is an agricultural supply chain.
- FIG. 10D shows additional steps of the method of FIG. 10B that may be performed in some examples when the runtime supply chain graph represents electrical power supplied to a plurality of data centers.
- FIG. 11 shows a schematic view of an example computing environment in which the computing system of FIG. 1 may be enacted.
- FIG. 1 shows the computing system 10 during training of a reinforcement learning simulation 30.
- the computing system 10 may include a processor 12, which may include one or more physical processing devices.
- the processor 12 may be instantiated as one or more central processing unit (CPU) cores, one or more graphical processing units (GPUs), one or more hardware accelerators specialized for particular computational tasks, and/or one or more other types of processing devices.
- the processor 12 may be operatively coupled to memory 14 over a data bus.
- the memory 14 may, for example, include volatile memory and/or non-volatile storage.
- the processor 12 may be coupled over the data bus to one or more input devices 16 and/or one or more output devices 18.
- the processor 12 may be configured to receive inputs from a user and/or from one or more other computing devices.
- the processor 12 may be configured to transmit outputs to the user and/or to the one or more other computing devices.
- the computing system 10 may, for example, include a server computing device that is configured to communicate with a client computing device over a network via the one or more input devices 16 and the one or more output devices 18.
- components (e.g., the processor 12 or the memory 14) of the computing system 10 may be distributed between a plurality of physical computing devices.
- the plurality of physical computing devices may be a plurality of server computing devices located in a data center and communicatively coupled over a network.
- one or more components of the computing system 10 may be virtualized such that respective physical components of the plurality of physical computing devices are treated as a single physical component when performing one or more computing processes at those physical components.
- the computing system 10 may include an Intemet-of-Things (loT) sensor array including a plurality of spatially distributed sensors, as discussed in further detail below.
- LoT Intemet-of-Things
- FIG. 1 shows the computing system 10 during a training phase in which the reinforcement learning simulation 30 is trained.
- the processor 12 may be configured to receive training data 20.
- the training data 20 may be organized into a plurality of training timesteps 58 that include time series data for a plurality of training-phase agents 22.
- the plurality of training-phase agents 22 may be included in a training supply chain graph 50 in which the plurality of training-phase agents 22 may be connected by training graph edges 56 that represent transactions performed between the training-phase agents 22.
- FIG. 2 shows an example training supply chain graph 50.
- the training supply chain graph 50 may be a directed graph in which the training graph edges 56 respective directions.
- the directions of the training graph edges 56 may indicate directions in which materials and products move through the supply chain between training-phase agents 22.
- the training supply chain graph 50 may include at least one market supply node 52 at an upstream end of the training supply chain graph 50, as shown in the example of FIG. 2.
- the at least one market supply node 52 may be a representation of the supply of at least one raw material to the supply chain.
- the training supply chain graph 50 may further include at least one market demand node 54 at a downstream end of the training supply chain graph 50.
- the at least one market demand node 54 may be a representation of the demand for at least one end product of the supply chain.
- the one or more market supply nodes 52 and the one or more market demand nodes 54 may be endpoints of the training supply chain graph 50.
- the training data 20 may include a plurality of training forecast states 24.
- Each training forecast state of the plurality of training forecast states 24 may be associated with a respective training-phase agent 22 of the plurality of training-phase agents 22 and may be a forecast of an action taken by another training-phase agent 22 at a current training timestep 58.
- FIG. 3 schematically shows an example training-phase agent 22 including a training forecast state 24.
- the plurality of training forecast states 24 may include a plurality of training upstream price forecasts 24A and a plurality of training downstream demand forecasts 24B.
- the plurality of training upstream price forecasts 24 A may be predictions of respective prices charged by one or more other training-phase agents 22 that are upstream of the training-phase agent 22 in the training supply chain graph 50.
- the plurality of training downstream demand forecasts 24B may be predictions of respective quantities of a product of the training-phase agent 22 that are demanded by one or more other training-phase agents 22 that are downstream of the training-phase agent 22 in the training supply chain graph 50.
- the training forecast states 24 included in the training data 20 may be collected from a plurality of real-world agents included in a real-world supply chain. However, in other examples, the amount of training data 20 received from real-world agents may be insufficient to train an accurate reinforcement learning simulation.
- the processor 12 may be configured to programmatically generate at least a portion of the plurality of training forecast states 24.
- the processor 12 may be configured to generate at least a portion of the plurality of training forecast states 24 using a Kalman filter, an autoregressive integrated moving average (ARIMA) model, an autoregressive moving average with exogenous variables (ARMAX) model, or some other forecasting method.
- ARIMA autoregressive integrated moving average
- ARMAX autoregressive moving average with exogenous variables
- the processor 12 may be configured to generate at least a portion of the plurality of training forecast states 24 at least in part by sampling the portion of the plurality of training forecast states 24 from a simulated training forecast state distribution 62.
- the processor 12 may be configured to generate the simulated training forecast state distribution 62 at a training distribution simulation module 60.
- the plurality of training forecast states 24 may be sampled from a continuous forecast state space over which the processor 12 is configured to generate the simulated training forecast state distribution 62.
- the processor 12 may be configured to generate the simulated training forecast state distribution 62 at least in part by performing regression on empirical training forecast states 24 collected from real-world agents included in a real-world supply chain.
- the processor 12 may be configured to generate additional training data for the reinforcement learning simulation 30 that may allow for sufficient training of the reinforcement learning simulation 30 when the amount of real-world training data is small.
- each training-phase agent 22 may have a respective reward function 28.
- the plurality of training-phase agents 22 included in the training supply chain graph 50 may have a plurality of respective reward functions 28 that are neither fully correlated nor fully anticorrelated with each other.
- the interaction of the training-phase agents 22 included in the training supply chain graph 50 may be a mixed-motive game rather than a fully cooperative game or a zero-sum game.
- the plurality of training-phase agents 22 may, for example, have respective reward functions 28 according to which the training-phase agents 22 are rewarded for maximizing their own profits. In other examples, other terms may be included in the reward functions 28 of the training-phase agents 22.
- the processor 12 may be configured to simulate the training supply chain graph 50 as a Markov decision process (MDP) during the training phase.
- MDP Markov decision process
- the interaction between the plurality of training-phase agents 22 may be modeled as a stochastic game in which N training-phase agents 22 have respective reward functions
- the actions of a player with an index i may be given by a compact set and the states of the player i may be given by a compact set
- the player i’s objective may be a function of a current joint-state action, where is the state of the player i at the current timestep is the action taken by the player i at the current timestep are the states of the players other than i at the current timestep t, and are the actions taken by the players other than i at the current timestep t.
- Each player is modeled as maximizing an infinite-horizon discounted reward with a discount factor given by Thus, the reward for the player i is given by where E indicates expected value.
- the states of the players may evolve dynamically as given by over the plurality of training timesteps 58.
- each g t is a random variable.
- the probability of the player i transitioning from the state to the state when the player i takes the action may be denoted as The player i may be assumed to have a stationary policy that is a function of its own state
- the stationary policy may output a probability distribution over the action space that is expressed as
- the probability of the player i taking the action at the state s may be expressed as
- the state-action value function for the player i may be defined as follows:
- the state space and the action space are continuous, s is the joint set of states for all the players, is the joint set of states to which the players transition, a is the joint set of actions, and is the joint policy for all the players.
- the joint policy is a stationary Markov equilibrium if each player’s value function satisfies the following equation:
- the processor 12 may be configured to estimate the Markov equilibrium as discussed in further detail below.
- a single-player MDP model of a supply chain is discussed herein.
- a training-phase agent 22 the player interacts directly with the market supply node 52 and the market demand node 54.
- the unit price at which the trainingphase agent 22 sells a product to the market demand node 54 may be expressed as x 0 and the number of units of a raw material the training-phase agent 22 purchases from the market supply node 52 may be expressed as .
- the cost of a unit of the raw material purchased from the market supply node 52 at a timestep t may be expressed as and the quantity of the product demanded by the market demand node 54 at the timestep t may be expressed as
- the player selects values of x Q and .
- x 0 and may be training action outputs 26 of the reinforcement learning simulation 30 that are generated during the training phase based at least in part on the training forecast states 24.
- the profit of the training-phase agent 22 may be expressed as In the single-player
- the total amount of the product sold by the player may be given by min
- the total profit of the training-phase agent 22 may be given by
- the training-phase agent 22 may be configured to forecast the raw material unit price P and the market demand Q at the current timestep t as follows:
- the training forecast state 24 for the training-phase agent 22 may accordingly include the raw material price forecast and the market demand forecast
- the raw material price forecast may additionally or alternatively depend upon one or more additional quantities, such as the values of p and/or P at one or more additional timesteps before the immediately prior timestep t — 1.
- the market demand forecast may additionally or alternatively depend upon one or more additional quantities, such as the values of and/or Q at the one or more additional timesteps.
- the forecasts and may be generated via any of a variety of methods such as a Kalman filter, an ARIMA model, or an ARMAX model, as discussed above.
- a Kalman filter such as a Kalman filter, an ARIMA model, or an ARMAX model, as discussed above.
- the forecasts and may be expressed as follows:
- Reward the net profit earned by the player in the discounted infinite horizon setting.
- Transition dynamics the forecasting methods utilized by the player to generate
- the single-player MDP model of the supply chain may be extended to a multiplayer MDP model in which a plurality of training-phase agents 22 are included in the training supply chain graph 50, as discussed above and illustrated in FIG. 2.
- the training supply chain graph 50 may be expressed as where each node corresponds to a training-phase agent 22 and each directed edge (i,j) ⁇ E indicates that a player i sells to a player j.
- the nodes s and d correspond to the market supply node 52 and the market demand node 54, respectively.
- Each player v may have decision variables x 0 (v), the price at which the player v sells its product, and , the quantity of a raw material bought from an ith incoming neighbor of the player v.
- the player v’s total profit may be given by
- the total quantity of the product sold by the player v. is given by At the market supply node 52 in the multiplayer MDP model, the total quantity of raw material demanded by the supply chain may determine the unit cost, which may be expressed as follows:
- the demand for each player’s product may be determined by the player-specific price at which that player sells the product.
- the demand for each player’s product may be expressed as follows:
- the players in the multiplayer MDP model make local forecasts to select actions for
- the player v’s quantity forecast at time t may be denoted
- the quantity forecast at time t may be expressed as for all .
- the player v’s forecast of player i’s price at time t may be expressed as
- the price forecast at time t may be expressed as for all (
- the stationary policy for the player v may be expressed as
- the joint strategy may be denoted as where denotes the policies of the players other than v.
- the processor 12 may be further configured to train the reinforcement learning simulation 30 of the training supply chain graph 50 using the training data 20 via policy gradient reinforcement learning.
- the reinforcement learning simulation 30 may, for example, be trained via actor-critic reinforcement learning using a technique such as the deep deterministic policy gradient (DDPG) approach.
- DDPG deep deterministic policy gradient
- the DDPG approach utilizes an actor network 32 configured to estimate a policy of the reinforcement learning simulation 30 and a critic network 42 configured to estimate a Q-value of the reinforcement learning simulation 30.
- the actor network 32 and the critic network 42 may be indicated as and respectively, where are actor network weights and are critic network weights.
- the actor network 32 may have an actor network objective function given by
- ⁇ denotes “sampled from the distribution” and p is the initial probability distribution of the training forecast state 24.
- the processor 12 may be configured to generate a plurality of training action outputs 26 respectively associated with the training-phase agents 22, as shown in the example of FIG. 3.
- the training action output 26 for a training-phase agent 22 may include one or more training upstream purchase quantities 26A of goods received from one or more corresponding training-phase agents 22 that are upstream of the training-phase agent 22 in the training supply chain graph 50.
- the training action output 26 for the training-phase agent 22 may further include one or more training downstream sale prices 26B of goods sold by the training-phase agent 22 to one or more other training-phase agents 22 that are downstream of the training-phase agent 22 in the training supply chain graph 50.
- the plurality of training action outputs 26 may include the decision variables and for each player v.
- the critic network 42 may be configured to receive, as input, a one-step state-action-reward sequence given by (s, a) and output a prediction of a highest-reward Q- value Q s, a) for that state-action-reward sequence.
- the critic network 42 may have a critic network loss function given by
- D is the set of state transitions.
- the critic network loss function provided in the above equation is a least-squares loss function.
- the critic network may be used to compute an estimated actor network gradient 46 of the actor network 32 as follows:
- the processor 12 may be configured to iteratively update the actor network 32 and the critic network 42 via gradient descent utilizing the estimated actor network gradient 46.
- the actor network weights may converge toward optimal actor network weights and the actor network 32 may converge toward an optimal actor network given by
- the multiplayer MDP model may be extended to scenarios in which the players have access to further observations w in addition to their own individual states and actions
- the objective function of the actor network 32 is given as follows:
- the least-squares loss function of the critic network 42 may be given by
- the further observations for each player i in the supply chain may, for example, be one of the following: the players have no access to additional observations.
- the reinforcement learning simulation 30 is equivalent to a respective plurality of reinforcement learning models for the individual training-phase agents 22 that are concurrently trained with a shared environment. each player observes states of all players. each player observes actions of all players. each player observes the state-actions of all players. each player observes the states of neighboring players. each player observes the states and actions of neighboring players.
- the processor 12 may be configured to set the additional observations Wt such that at each training timestep 58 of the plurality of training timesteps 58, the plurality of training forecast states 24 are shared between the plurality of training-phase agents 22 during training of the reinforcement learning simulation 30.
- the processor 12 may be configured to set
- FIG. 5 shows the computing system 10 during an inferencing phase in which the processor 12 is configured to simulate a plurality of runtime agents 122 at the trained reinforcement learning simulation 30.
- the inferencing phase may be performed subsequently to the training phase.
- the processor 12 may be further configured to receive runtime data 120.
- the runtime data 120 may include a plurality of runtime forecast states 124 associated with a respective plurality of runtime agents 122 included in a runtime supply chain graph 150.
- Each runtime forecast state 124 may include one or more respective runtime upstream price forecasts 124 A and one or more respective runtime downstream demand forecasts 124B.
- the runtime supply chain graph 150 may include a plurality of runtime agents 122 connected by a plurality of runtime graph edges 156.
- the processor 12 may be configured to receive runtime forecast states 124 for a runtime agent 122 for a respective plurality of runtime steps 158.
- the processor 12 may receive respective runtime forecast states 124 from each of the runtime agents 122 in the runtime supply chain graph 150 at each runtime step 158.
- the processor 12 may receive runtime forecast states 124 from one or more of the runtime agents 122 at only a subset of the plurality of runtime steps 158 included in the inferencing phase.
- the processor 12 may be further configured to generate a respective runtime action output 126 at the trained reinforcement learning simulation 30.
- the runtime action output 126 may be associated with the corresponding runtime forecast state 124 of the runtime agent 122 and may be generated for the current runtime step 158.
- the runtime output action 126 may, for example, include a price at which the runtime agent 122 sells a product to one or more other runtime agents 122 that are downstream of the runtime agent 122 in the runtime supply chain graph 150.
- the runtime action output 126 may include a plurality of prices at which the runtime agent 122 sells a plurality of respective products.
- the runtime action output 126 may further include one or more quantities of raw materials purchased from one or more respective runtime agents 122 that are upstream of the runtime agent 122 in the runtime supply chain graph 150.
- the runtime output action 126 for the runtime agent 122 may be generated based at least in part on the respective plurality of runtime forecast states 124 of each of the runtime agents 122 from which the processor 12 receives a runtime forecast state 124.
- the plurality of runtime forecast states 124 may accordingly be pooled at the reinforcement learning simulation 30 when the processor 12 generates the runtime output action 126.
- s_ t in both the training phase and the inferencing phase. Pooling the agents’ states during the inferencing phase as well as during the training phase may allow the runtime agents 122 to achieve higher and more stable rewards.
- runtime forecast states 124 are pooled at the reinforcement learning simulation 30 in such examples rather than being shared between the runtime agents 122 directly, the runtime agents 122 may protect their proprietary data from each other while also obtaining the lift in reward and reward stability that may result from sharing the runtime forecast states 124.
- the processor 12 may be further configured to output the runtime action output 126 associated with the runtime agent 122.
- the processor 12 may be configured to output the runtime action output 126 to one or more additional computing processes 70.
- the processor 12 may be configured to output the runtime action output 126 for display in a graphical user interface (GUI). Additionally or alternatively, the processor 12 may be configured to store the runtime action output 126 in the memory 14.
- GUI graphical user interface
- the processor 12 may be configured to receive the plurality of runtime forecast states 124 from one or more client computing devices 80.
- the example client computing device 80 may include a client device processor 82, client device memory 84, one or more client input devices 86, and a client display device 88.
- the client computing device 80 may include one or more other types of output device in some examples.
- the plurality of runtime forecast states 124 are received from a plurality of respective client computing devices 80, which may, for example, be utilized by a corresponding plurality of users affiliated with different runtime agents 122 in the runtime supply chain graph 150.
- the processor 12 may be further configured to compute one or more runtime action outputs 126 at the reinforcement learning simulation 30 by using the plurality of runtime forecast states 124 as inputs.
- the processor 12 may be further configured to output at least one runtime action output 126 to a client computing device 80 from which a corresponding runtime forecast state 124 was received.
- the processor 12 may be configured to generate a GUI 72 that indicates the runtime action output 126.
- the processor 12 may be further configured to transmit the GUI 72 for display at a client computing device 80 of the one or more client computing devices 80. As shown in the example of FIG. 6, the client computing device 80 that receives the GUI 72 may display the GUI 72 on the client display device 88.
- the client computing device 80 to which the processor 12 transmits the GUI 72 may be the client computing device 80 from which the processor 12 received the corresponding runtime forecast state 124.
- the processor 12 may, in some examples, be configured to receive sensor data 140 from the one or more client computing devices 80 and generate the one or more runtime forecast states 124 based at least in part on the sensor data 140, as depicted in the example of FIG. 6.
- the client computing device 80 at which the GUI 72 is configured to be displayed may be included in an agricultural Intemet-of-Things (loT) sensor system, and the sensor data 140 may be agricultural loT sensor data.
- the processor 12 of the computing system 10 may be further configured to receive the agricultural loT sensor data from the client computing device 80 and to compute at least one runtime forecast state 124 of the plurality of runtime forecast states 124 based at least in part on the agricultural loT sensor data.
- the processor 12 may be further configured to generate a runtime action output 126 for the client computing device 80 based at least in part on the generated runtime forecast state 124 and at least one other runtime forecast state 124.
- the processor 12 may be further configured to generate a GUI 72 indicating the runtime forecast state 124 and transmit the GUI 72 to the client computing device 80 for display at the client display device 88.
- FIG. 7 shows an example GUI 72 that may be transmitted for display at the client computing device 80 in examples in which the client computing device 80 is included in an agricultural loT sensor system.
- the GUI includes a sensor readout interface element 74A in which the agricultural loT sensor data is displayed.
- the GUI 72 may further include a sensor readout export interface element 74B via which the user may interact to export the agricultural loT sensor data to the computing system 10.
- the GUI 72 may further include a price forecast interface element 74C and a demand forecast interface element 74D via which the user may enter the one or more runtime upstream price forecasts 124 A and the one or more runtime downstream demand forecasts 124B.
- the user may, at the price forecast interface element 74C, instruct the processor 12 to programmatically generate the one or more runtime upstream price forecasts 124A.
- the one or more runtime upstream price forecasts 124 A may be generated based at least in part on the agricultural loT sensor data.
- the user may interact with the price forecast interface element 74C to specify the one or more runtime upstream price forecasts 124 A.
- the user may enter the one or more runtime upstream price forecasts 124 A at the GUI 72 or may modify one or more programmatically generated values of the one or more runtime upstream price forecasts 124 A.
- the user may instruct the processor 12 to programmatically generate the one or more runtime downstream demand forecasts 124B.
- the one or more runtime downstream demand forecasts 124B may be generated based at least in part on the agricultural loT sensor data.
- the user may interact with the demand forecast interface element 74D to specify the one or more runtime downstream demand forecasts 124B.
- the user may enter the one or more runtime downstream demand forecasts 124B at the GUI 72 or may modify one or more programmatically generated values of the one or more runtime downstream demand forecasts 124B.
- the GUI 72 may further include a supply chain model interface element 74E.
- the user may interact with the GUI 72 to specify at least a portion of the runtime supply chain graph 150.
- the user may specify one or more suppliers to raw materials to the runtime agent 122 that corresponds to the user and may further specify one or more demanders of a product sold by that runtime agent 122.
- supply chain data specified by a plurality of users at respective supply chain model interface elements 74E may be combined to form the runtime supply chain graph 150.
- the GUI 72 may further include a runtime action output interface element 74F at which the one or more runtime action outputs 126 generated at the trained reinforcement learning simulation 30 for the runtime agent 122 may be displayed to the user as recommended actions.
- the one or more runtime action outputs 126 may include recommendations of one or more raw material purchase quantities for the runtime agent 122 to purchase from one or more respective upstream runtime agents 122.
- the one or more runtime action outputs 126 may further include a price per unit product for the runtime agent 122 to charge one or more downstream runtime agents 122.
- the user may edit the one or more runtime action outputs 126 to reflect an actual amount of at least one raw material purchased from an upstream runtime agent 122 and/or a price charged to downstream runtime agents 122.
- the GUI 72 may further include a data sharing settings interface element 74G. As shown in the example of FIG. 7, when the user selects the data sharing settings interface element 74G, the processor 12 may be further configured to display a sharing settings window 76 at the GUI 72.
- the sharing settings window 76 may include respective interface elements that, when selected, may activate and deactivate sharing of the runtime upstream forecast states 124 with the reinforcement learning simulation 30. When sharing of the runtime upstream forecast states 124 is active, the runtime forecast states 124 may be used to generate the runtime output actions 126.
- the runtime forecast states 124 may also be used to perform additional training at the reinforcement learning simulation 30, as discussed in further detail below.
- the sharing settings window 76 may further include respective interface elements that may be selected by the user to display estimated rewards, and variance in those rewards, for corresponding information sharing settings. These rewards and variances may be estimated for the runtime agent 122 based on rewards estimated for previously simulated runtime agents 122 before the runtime agent 122 shares its runtime forecast states 124 with the reinforcement learning model 30. Thus, the user interacting with the GUI 72 may view an estimated change in reward that would occur if state sharing were activated or deactivated. For example, the GUI 72 may display an absolute number estimated for the reward or may alternatively display a percentage change in the reward.
- the estimated reward for an information sharing setting may be estimated, for example, by averaging the simulated rewards obtained by a plurality of other runtime agents 122 that have positions in the runtime supply chain 150 corresponding to that of the runtime agent 122 for which the GUI 72 is displayed.
- the estimated rewards for the runtime agent 122 and the other runtime agents 122 may be normalized by the runtime agents’ total quantities of raw materials purchased or products sold in order to account for differences in scale between different runtime agents 122.
- the variance in the rewards of the runtime agents 122 may also be estimated and displayed in the sharing settings window 76 in some examples. In such examples, the displayed variance may be computed based on the normalized rewards.
- the sharing settings window 76 may further include a confidence interval (e.g. a 90% confidence interval or a 95% confidence interval) for the estimated reward.
- the processor 12 may be further configured to perform additional training at the trained reinforcement learning simulation 30.
- the additional training may be performed using one or more runtime forecast states 124 of the plurality of runtime forecast states 124 as additional training data 130.
- the processor 12 may be configured to continue training the trained reinforcement learning simulation 30 during runtime such that the reward obtained using the runtime action outputs 126 generated at the trained reinforcement learning simulation may continue to increase during runtime.
- the runtime supply chain graph 150 may be used as an additional training supply chain graph when the additional training is performed.
- the processor 12 may be configured to model the runtime supply chain graph 150 during the additional training as including a plurality of additional training-phase agents corresponding to the plurality of runtime agents 122.
- the one or more runtime forecast states 124 may be shared between the plurality of additional training-phase agents during the additional training, such that Pooling the additional training data 130 during the additional training may allow the reinforcement learning simulation 30 to converge to higher and more stable rewards for the runtime agents 122.
- the runtime supply chain graph 150 may represent electrical power supplied to a plurality of data centers.
- FIG. 8 shows an example runtime supply chain graph 150A including a plurality of electrical power suppliers 152, a plurality of data centers 122A, and a plurality of cloud computing client devices 154 as runtime agents 122.
- the processor 12 may be configured to receive a request from a cloud computing client device 154 to perform a computational task 160. In response to receiving the request from a cloud computing client device 154, the processor 12 may be configured to execute the trained reinforcement learning simulation 30.
- the processor 12 may be configured to determine, as the runtime action output 126 of the trained reinforcement learning simulation 30, one or more data centers 122 A of the plurality of data centers 122A at which to execute the computational task 160. Thus, the processor 12 may be configured to allocate physical computing resources to the computational task 160 at least in part at the trained reinforcement learning simulation 30.
- the processor 12 may be further configured to programmatically output instructions to execute the computational task 160 at the one or more data centers 122 A.
- the trained reinforcement learning simulation 30 may, for example, assign the computational task 160 to the one or more data centers 122 A such that a cost of electrical power consumption when executing the computational task 160 is reduced.
- one or more other variables such as amounts of greenhouse gas emissions may be used as inputs of the reward functions 28 of the training-phase agents 22 during training of the reinforcement learning simulation 30 for use in cloud computing resource allocation.
- the inventors have performed simulations of a training supply chain graph 50 under different information-sharing conditions during the training phase and the inferencing phase. These simulations were performed for an example training supply chain graph 50 including two training-phase agents 22.
- the training data 20 used in the simulation performed by the inventors was data from the California strawberry industry, and the two training-phase agents 22 represented a grower and a distributor.
- the estimated average cost per pound of growing strawberries was estimated to be $0.9038/lb.
- the demand curve was estimated via linear regression to be where y is demand in units of 10 million lbs. and x is retail price in dollars per pound.
- the players’ forecasts were made using ARMAX with parameters (1,0,0) such that their fitted ARMAX models of and are given as follows:
- the training-phase agents 22 were simulated for 15000 episodes of 40 epochs each.
- the training-phase agents 22 each had a discount factor of
- FIGS. 9A-9D respectively show a first example plot 180 A, a second example plot 180B, a third example plot 180C, and a fourth example plot 180D of the rewards obtained by the grower (shown in solid lines) and the distributor (shown in dashed lines) over the timesteps in which the supply chain was simulated.
- the example plots show the grower’s reward and the distributor’s reward for five trials under each of the information-sharing conditions discussed above.
- the first example plot 180A, provided in FIG. 9A shows the rewards when during training and inferencing.
- the second example plot 180B, provided in FIG. 9B shows the rewards when during training only.
- the third example plot 180C, provided in FIG. 9C shows the rewards when during training and inferencing.
- the fourth example plot 180D shown in FIG. 9D, shows the rewards when during training and inferencing.
- setting during both training and inferencing allowed the rewards for both of the training-phase agents 22 to reach higher, more stable values than under conditions in which during training and inferencing, during training only, or during both training and inferencing.
- higher and more stable rewards were achieved under the condition than under the condition in which during training only.
- the condition in which during both training and inferencing had the lowest and least stable rewards among the tested conditions.
- the sensor readout export interface element 74B and the runtime action export interface element 74G are provided in the example GUI 72 of FIG. 7 to enable the user to share sensor data 140 and runtime action outputs 126 with the computing system 10 to allow pooling of runtime forecast states 124 and runtime action outputs 126 during additional training of the reinforcement learning simulation 30.
- FIG. 10A shows a flowchart of a method 200 for use at a computing system when training a reinforcement learning simulation for modeling supply chains, according to one example.
- the method 200 may, for example, be performed at the computing system 10 of FIG. 1 during a training phase for the reinforcement learning simulation.
- the method 200 may include receiving training data including, for each of a plurality of training timesteps, a plurality of training forecast states associated with a respective plurality of training-phase agents included in a training supply chain graph.
- the training-phase agents may each have respective reward functions.
- the plurality of training-phase agents may be connected by a plurality of directed edges.
- the edges may represent transactions between the trainingphase agents, and the directions of the edges may represent directions in which raw materials and products flow through the supply chain.
- the training-phase graph may further include a market supply node at as a furthest-upstream node and a market demand node as a furthest- downstream node.
- the training supply chain graph may be simulated as a Markov decision process.
- the plurality of training-phase agents included in the training supply chain graph may have a plurality of respective reward functions that are neither fully correlated nor fully anti correlated with each other.
- the interaction of the training-phase agents may be a mixed-motive game.
- the reward for each of the training-phase agents may be a profit earned by that training-phase agent.
- the reward for one or more of the training-phase agents may be based at least in part on one or more other variables.
- step 202 may include, at step 202A, generating at least a portion of the plurality of training forecast states at least in part by sampling the portion of the plurality of training forecast states from a simulated training forecast state distribution.
- the simulated training forecast state distribution may be generated via regression performed on empirical data.
- Step 202A may, for example, be performed when the amount of empirical training forecast data is too small to allow an accurate reinforcement learning simulation to be trained.
- the method 200 may further include training a reinforcement learning simulation of the training supply chain graph using the training data via policy gradient reinforcement learning.
- the reinforcement learning simulation may be trained via actor-critic reinforcement learning.
- training the reinforcement learning simulation may include computing a training action output based at least in part on a plurality of actor network weights of an actor network and computing a value of an actor network objective function based at least in part on the actor network weights and the training action output.
- actorcritic reinforcement learning may further include computing an estimated actor network gradient at a critic network based at least in part on the value of the actor network objective function, critic network weights of the critic network, and the value of a critic network loss function of the critic network. Gradient descent may then be performed using the estimated actor network gradient.
- the plurality of training forecast states may be shared between the plurality of training-phase agents during training of the reinforcement learning simulation. Accordingly, at the actor network, the respective training action output for each training-phase agent may be generated based at least in part on the respective plurality of training forecast states of the plurality of training-phase agents at that timestep.
- FIG. 10B shows a flowchart of an example method 300 for use at a computing system during an inferencing phase.
- the example method 300 utilizes a trained reinforcement learning simulation, which may be the reinforcement learning simulation trained according to the method 200 of FIG. 10 A.
- the method 300 may include receiving a plurality of runtime forecast states associated with a respective plurality of runtime agents included in a runtime supply chain graph.
- the plurality of runtime forecast states may be received from one or more client computing devices.
- the runtime supply chain graph may be a graph representation of a real-world supply chain in which the runtime agents are connected by a plurality of directed edges that represent transactions between the runtime agents.
- the runtime supply chain graph may further include a market supply node at as a furthest-upstream node and a market demand node as a furthest-downstream node.
- Step 304 and step 306 of the method 300 may be performed for a runtime agent of the plurality of runtime agents.
- step 304 and step 306 may each be performed in a sequential plurality of runtime steps for which the runtime supply chain graph is simulated.
- the method 300 may further include, at the trained reinforcement learning simulation, generating a respective runtime action output associated with a corresponding runtime forecast state of the runtime agent for a current runtime step.
- the runtime action output may be generated based at least in part on the plurality of runtime forecast states.
- the forecast states of agents included in the supply chain graph may be shared at runtime as well as at training time.
- the runtime forecast states may be pooled at the computing system at which the trained reinforcement learning simulation is executed.
- the runtime forecast states are generated based at least in part on proprietary data of the runtime agents, those runtime agents may achieve increases in reward resulting from runtime forecast state pooling without having to transmit their proprietary data to other runtime agents.
- the method 300 may further include outputting the runtime action output.
- the runtime action output may be stored in memory and/or output to one or more additional computing processes.
- step 306 may include, at step 306 A, generating a GUI that indicates the runtime action output.
- step 306 may further include, at step 306B, transmitting the GUI for display at a client computing device of the one or more client computing devices.
- the client computing device to which the GUI indicating the runtime action output is transmitted may be the client computing device from which the corresponding runtime forecast state was received.
- training of the reinforcement learning simulation may continue during the runtime phase.
- the method 300 may further include performing additional training at the trained reinforcement learning simulation using one or more runtime forecast states of the plurality of runtime forecast states as additional training data.
- the one or more runtime forecast states may be shared between a plurality of additional trainingphase agents.
- the runtime supply chain graph may be simulated as an additional training graph when the additional training is performed.
- the plurality of additional training-phase agents may be simulations of the plurality of runtime agents included in the runtime supply chain graph.
- the rewards obtained by the runtime agents when the runtime agents perform the actions indicated in the runtime action outputs may continue to increase during the runtime phase.
- FIGS. 9C-9D show additional steps of the method 300 that may be performed in some examples.
- the steps of FIG. 10C may be performed in examples in which the runtime supply chain is an agricultural supply chain.
- step 302 of the method 300 may include receiving agricultural loT sensor data from a client computing device that is included in an agricultural loT sensor system.
- step 302 of the method 300 may further include computing at least one runtime forecast state of the plurality of runtime forecast states based at least in part on the agricultural loT sensor data. Accordingly, computation of the at least one runtime forecast state may be offloaded to the computing system in thin-client agricultural loT use case scenarios.
- step 304 of the method 300 may include determining, as the runtime action output, one or more data centers of the plurality of data centers at which to execute a computational task.
- the computational task may be specified by a client computing device that is offloading the computational task to the one or more data centers.
- step 306 of the method 300 may include outputting instructions to execute the computational task at the one or more data centers.
- the reinforcement learning simulation may be used to programmatically assign the computational task to a data center of the plurality of data centers.
- participants in a supply chain may inform their pricing and purchase quantity decisions by referring to a reinforcement learning simulation of the supply chain.
- participants in the supply chain may increase their individual rewards.
- the systems and methods discussed above may also allow the agents to reduce bottlenecks, shortages, and waste in the supply chain that would otherwise result from making pricing and purchase quantity decisions based on inaccurate predictions.
- the rewards for those participants, as well as the stability of those rewards may increase. These increases in reward and reward stability may also extend to agents that are included in the supply chain but do not utilize the reinforcement learning simulation or share their forecast states.
- the systems and methods discussed above may allow for broad increases in supply chain efficiency.
- the methods and processes described herein may be tied to a computing system of one or more computing devices.
- such methods and processes may be implemented as a computer-application program or service, an application-programming interface (API), a library, and/or other computer-program product.
- API application-programming interface
- FIG. 11 schematically shows a non-limiting embodiment of a computing system 400 that can enact one or more of the methods and processes described above.
- Computing system 400 is shown in simplified form.
- Computing system 400 may embody the computing system 10 described above and illustrated in FIG. 1.
- Components of the computing system 400 may be included in one or more personal computers, server computers, tablet computers, homeentertainment computers, network computing devices, gaming devices, mobile computing devices, mobile communication devices (e.g., smart phone), and/or other computing devices, and wearable computing devices such as smart wristwatches and head mounted augmented reality devices.
- Computing system 400 includes a logic processor 402 volatile memory 404, and a non-volatile storage device 406.
- Computing system 400 may optionally include a display subsystem 408, input subsystem 410, communication subsystem 412, and/or other components not shown in FIG. 11.
- Logic processor 402 includes one or more physical devices configured to execute instructions.
- the logic processor may be configured to execute instructions that are part of one or more applications, programs, routines, libraries, objects, components, data structures, or other logical constructs. Such instructions may be implemented to perform a task, implement a data type, transform the state of one or more components, achieve a technical effect, or otherwise arrive at a desired result.
- the logic processor may include one or more physical processors (hardware) configured to execute software instructions. Additionally or alternatively, the logic processor may include one or more hardware logic circuits or firmware devices configured to execute hardware- implemented logic or firmware instructions. Processors of the logic processor 402 may be single-core or multi-core, and the instructions executed thereon may be configured for sequential, parallel, and/or distributed processing. Individual components of the logic processor optionally may be distributed among two or more separate devices, which may be remotely located and/or configured for coordinated processing. Aspects of the logic processor may be virtualized and executed by remotely accessible, networked computing devices configured in a cloud-computing configuration. In such a case, these virtualized aspects are run on different physical logic processors of various different machines, it will be understood.
- Non-volatile storage device 406 includes one or more physical devices configured to hold instructions executable by the logic processors to implement the methods and processes described herein. When such methods and processes are implemented, the state of non-volatile storage device 406 may be transformed — e.g., to hold different data.
- Non-volatile storage device 406 may include physical devices that are removable and/or built-in.
- Non-volatile storage device 406 may include optical memory (e.g., CD, DVD, HD-DVD, Blu- Ray Disc, etc ), semiconductor memory (e.g., ROM, EPROM, EEPROM, FLASH memory, etc.), and/or magnetic memory (e.g., hard-disk drive, floppy-disk drive, tape drive, MRAM, etc.), or other mass storage device technology.
- Non-volatile storage device 406 may include nonvolatile, dynamic, static, read/write, read-only, sequential-access, location- addressable, file-addressable, and/or content-addressable devices. It will be appreciated that nonvolatile storage device 406 is configured to hold instructions even when power is cut to the nonvolatile storage device 406.
- Volatile memory 404 may include physical devices that include random access memory. Volatile memory 404 is typically utilized by logic processor 402 to temporarily store information during processing of software instructions. It will be appreciated that volatile memory 404 typically does not continue to store instructions when power is cut to the volatile memory 404.
- logic processor 402, volatile memory 404, and non-volatile storage device 406 may be integrated together into one or more hardware-logic components.
- Such hardware-logic components may include field-programmable gate arrays (FPGAs), program- and applicationspecific integrated circuits (PASIC / ASICs), program- and application-specific standard products (PSSP / ASSPs), system-on-a-chip (SOC), and complex programmable logic devices (CPLDs), for example.
- FPGAs field-programmable gate arrays
- PASIC / ASICs program- and applicationspecific integrated circuits
- PSSP / ASSPs program- and application-specific standard products
- SOC system-on-a-chip
- CPLDs complex programmable logic devices
- module may be used to describe an aspect of computing system 400 typically implemented in software by a processor to perform a particular function using portions of volatile memory, which function involves transformative processing that specially configures the processor to perform the function.
- a module, program, or engine may be instantiated via logic processor 402 executing instructions held by non-volatile storage device 406, using portions of volatile memory 404.
- modules, programs, and/or engines may be instantiated from the same application, service, code block, object, library, routine, API, function, etc.
- the same module, program, and/or engine may be instantiated by different applications, services, code blocks, objects, routines, APIs, functions, etc.
- the terms “module,” “program,” and “engine” may encompass individual or groups of executable files, data files, libraries, drivers, scripts, database records, etc.
- display subsystem 408 may be used to present a visual representation of data held by non-volatile storage device 406.
- the visual representation may take the form of a graphical user interface (GUI).
- GUI graphical user interface
- the state of display subsystem 408 may likewise be transformed to visually represent changes in the underlying data.
- Display subsystem 408 may include one or more display devices utilizing virtually any type of technology. Such display devices may be combined with logic processor 402, volatile memory 404, and/or non-volatile storage device 406 in a shared enclosure, or such display devices may be peripheral display devices.
- input subsystem 410 may comprise or interface with one or more user-input devices such as a keyboard, mouse, touch screen, or game controller.
- the input subsystem may comprise or interface with selected natural user input (NUI) componentry.
- NUI natural user input
- Such componentry may be integrated or peripheral, and the transduction and/or processing of input actions may be handled on- or off-board.
- NUI componentry may include a microphone for speech and/or voice recognition; an infrared, color, stereoscopic, and/or depth camera for machine vision and/or gesture recognition; a head tracker, eye tracker, accelerometer, and/or gyroscope for motion detection and/or intent recognition; as well as electric-field sensing componentry for assessing brain activity; and/or any other suitable sensor.
- communication subsystem 412 may be configured to communicatively couple various computing devices described herein with each other, and with other devices.
- Communication subsystem 412 may include wired and/or wireless communication devices compatible with one or more different communication protocols.
- the communication subsystem may be configured for communication via a wireless telephone network, or a wired or wireless local- or wide-area network, such as a HDMI over Wi-Fi connection.
- the communication subsystem may allow computing system 400 to send and/or receive messages to and/or from other devices via a network such as the Internet.
- a computing system including a processor configured to, during a training phase, receive training data including a plurality of training forecast states associated with a respective plurality of training-phase agents included in a training supply chain graph for each of a plurality of training timesteps.
- the processor may be further configured to train a reinforcement learning simulation of the training supply chain graph using the training data via policy gradient reinforcement learning.
- the plurality of training forecast states may be shared between the plurality of training-phase agents during training of the reinforcement learning simulation.
- the processor may be further configured to receive a plurality of runtime forecast states associated with a respective plurality of runtime agents included in a runtime supply chain graph. For a runtime agent of the plurality of runtime agents, at the trained reinforcement learning simulation the processor may be further configured to generate a respective runtime action output associated with a corresponding runtime forecast state of the runtime agent for a current runtime step based at least in part on the plurality of runtime forecast states. The processor may be further configured to output the runtime action output.
- the reinforcement learning simulation is trained via actor-critic reinforcement learning.
- the processor may be further configured to generate at least a portion of the plurality of training forecast states at least in part by sampling the portion of the plurality of training forecast states from a simulated training forecast state distribution.
- the plurality of training forecast states are sampled from a continuous forecast state space.
- the processor may be configured to simulate the training supply chain graph as a Markov decision process during the training phase.
- the plurality of training-phase agents may have a plurality of respective reward functions that are neither fully correlated nor fully anticorrelated with each other.
- the processor may be configured to receive the plurality of runtime forecast states from one or more client computing devices.
- the processor may be further configured to output the runtime action output at least in part by generating a graphical user interface (GUI) that indicates the runtime action output and transmitting the GUI for display at a client computing device of the one or more client computing devices.
- GUI graphical user interface
- the processor may be further configured to perform additional training at the trained reinforcement learning simulation using one or more runtime forecast states of the plurality of runtime forecast states as additional training data.
- the one or more runtime forecast states may be shared between a plurality of additional trainingphase agents.
- the processor may be further configured to receive agricultural Internet-of-Things (loT) sensor data from a client computing device that is included in an agricultural loT sensor system.
- the processor may be further configured to compute at least one runtime forecast state of the plurality of runtime forecast states based at least in part on the agricultural loT sensor data.
- LoT agricultural Internet-of-Things
- the runtime supply chain graph may represent electrical power supplied to a plurality of data centers.
- the processor may be further configured to determine, as the runtime action output, one or more data centers of the plurality of data centers at which to execute a computational task.
- the processor may be further configured to output instructions to execute the computational task at the one or more data centers.
- the plurality of runtime forecast states may each include one or more upstream price forecasts and one or more downstream demand forecasts.
- the plurality of runtime action outputs may each include one or more upstream purchase quantities and one or more downstream sale prices.
- a method for use at a computing system may include, during a training phase, receiving training data including a plurality of training forecast states associated with a respective plurality of training-phase agents included in a training supply chain graph for each of a plurality of training timesteps.
- the method may further include training a reinforcement learning simulation of the training supply chain graph using the training data via policy gradient reinforcement learning.
- the plurality of training forecast states may be shared between the plurality of training-phase agents during training of the reinforcement learning simulation.
- the method may further include, during an inferencing phase, receiving a plurality of runtime forecast states associated with a respective plurality of runtime agents included in a runtime supply chain graph.
- the method may further include, for a runtime agent of the plurality of runtime agents, at the trained reinforcement learning simulation, generating a respective runtime action output associated with a corresponding runtime forecast state of the runtime agent for a current runtime step based at least in part on the plurality of runtime forecast states.
- the method may further include outputting the runtime action output.
- the reinforcement learning simulation may be trained via actor-critic reinforcement learning.
- the method may further include generating at least a portion of the plurality of training forecast states at least in part by sampling the portion of the plurality of training forecast states from a simulated training forecast state distribution.
- the training supply chain graph may be simulated as a Markov decision process during the training phase.
- the plurality of runtime forecast states may be received from one or more client computing devices.
- Outputting the runtime action output may include generating a graphical user interface (GUI) that indicates the runtime action output and transmitting the GUI for display at a client computing device of the one or more client computing devices.
- GUI graphical user interface
- the method may further include performing additional training at the trained reinforcement learning simulation using one or more runtime forecast states of the plurality of runtime forecast states as additional training data.
- the one or more runtime forecast states may be shared between a plurality of additional trainingphase agents.
- the runtime supply chain graph may represent electrical power supplied to a plurality of data centers.
- the method may further include determining, as the runtime action output, one or more data centers of the plurality of data centers at which to execute a computational task.
- the method may further include outputting instructions to execute the computational task at the one or more data centers.
- a computing system including a processor configured to receive, from one or more client computing devices, a plurality of runtime forecast states associated with a respective plurality of runtime agents included in a runtime supply chain graph.
- the processor may be further configured to generate a respective runtime action output associated with a corresponding runtime forecast state of the runtime agent for a current runtime step based at least in part on the plurality of runtime forecast states.
- the processor may be further configured to generate a graphical user interface (GUI) that indicates the runtime action output.
- GUI graphical user interface
- the processor may be further configured to transmit the GUI for display at a client computing device of the one or more client computing devices.
- the processor may be further configured to perform additional training at the trained reinforcement learning simulation using the runtime forecast state as additional training data. During the additional training, the runtime forecast state may be shared between a plurality of simulations of the plurality of runtime agents.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Life Sciences & Earth Sciences (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Probability & Statistics with Applications (AREA)
- Health & Medical Sciences (AREA)
- Algebra (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
Claims
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| IN202141048296 | 2021-10-22 | ||
| US17/457,874 US12399957B2 (en) | 2021-10-22 | 2021-12-06 | Reinforcement learning simulation of supply chain graph |
| PCT/US2022/044649 WO2023069223A1 (en) | 2021-10-22 | 2022-09-26 | Reinforcement learning simulation of supply chain graph |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4420037A1 true EP4420037A1 (en) | 2024-08-28 |
Family
ID=83692682
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP22790143.6A Pending EP4420037A1 (en) | 2021-10-22 | 2022-09-26 | Reinforcement learning simulation of supply chain graph |
Country Status (2)
| Country | Link |
|---|---|
| EP (1) | EP4420037A1 (en) |
| WO (1) | WO2023069223A1 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118394528B (en) * | 2024-06-21 | 2024-09-03 | 知鱼智联科技股份有限公司 | Computing power resource application method and system based on big data |
-
2022
- 2022-09-26 WO PCT/US2022/044649 patent/WO2023069223A1/en not_active Ceased
- 2022-09-26 EP EP22790143.6A patent/EP4420037A1/en active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| WO2023069223A1 (en) | 2023-04-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12399957B2 (en) | Reinforcement learning simulation of supply chain graph | |
| KR102110733B1 (en) | Method and system for providing contents reward based on blockchain | |
| CN113287136B (en) | Automatic listing of items | |
| US20230304806A1 (en) | Graph-based vehicle route optimization with vehicle capacity clustering | |
| US20130185039A1 (en) | Monte-carlo planning using contextual information | |
| CN112487278A (en) | Training method of recommendation model, and method and device for predicting selection probability | |
| WO2020143847A2 (en) | Determining action selection policies of an execution device | |
| KR102216276B1 (en) | Method and system for technology valuation using block chain and smart contract | |
| KR102384728B1 (en) | Method and system for outputting producer-centric auction price in reverse of agricultural product based on auction price of producing area | |
| US11204803B2 (en) | Determining action selection policies of an execution device | |
| US20200257998A1 (en) | Accelerator for computing combinatorial cost function | |
| JP2018142199A (en) | Learning system and learning method | |
| KR102425238B1 (en) | System for generating investment fundamentals data based matching space and company | |
| KR20240150836A (en) | Method, device and system for processing export order and managing inventory for medical device and cosmetics | |
| KR102457018B1 (en) | System for incubating company | |
| Stotter et al. | Behavioural investigations of financial trading agents using Exchange Portal (ExPo) | |
| WO2018088277A1 (en) | Prediction model generation system, method, and program | |
| EP4420037A1 (en) | Reinforcement learning simulation of supply chain graph | |
| CN109155004A (en) | Model free control for intensified learning agency | |
| Meda | Designing Self-Learning Agentic Systems for Dynamic Retail Supply Networks | |
| Volpe et al. | A deep reinforcement learning approach for competitive task assignment in enterprise blockchain | |
| Pamisetty | Leveraging Agentic AI and Cloud Infrastructure for Predictive Logistics in National Food Supply Chains | |
| US20240370300A1 (en) | Resource prioritization using machine learning techniques | |
| US20240005198A1 (en) | Machine learning model for computing feature vectors encoding marginal distributions | |
| CN114470790B (en) | Virtual resource processing method, device, equipment, computer program and storage medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20240412 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) | ||
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
| 17Q | First examination report despatched |
Effective date: 20250801 |