I'd like to optimize the flow of materials through a network. There are vertices (i.e. physical locations) and edges (i.e. links between the physical locations).
Inputs:
- locations
- transactional data: historic start-time, end-time, and cost for material movements between the locations
- loss function (e.g. time, cost)
Outputs:
- optimal path through the network in order to minimize loss
- a distribution that describes the expected performance of that network configuration. This would be used to set service levels (e.g. 99% of materials will move from point A to point B in x hours)
The time and cost to move goods from one location to another has a stochastic element to it.
One link might be generally fast, but somewhat unreliable. Or perhaps it performs really well at certain times, and badly at other times. The optimal route through the network is dynamic and will vary according to the loss function.
The problem is similar to shortest path, except that its weights are probability distributions rather than single-point estimates. So given its similarity to a shortest path problem, it made some sense (to me, at least) to approach the problem as a graph, and hence use a graph database (e.g. it could potentially be framed as a bootstrapped version of this: http://iansrobinson.com/2013/06/24/cypher-calculating-shortest-weighted-path/).
Does this seem like a sensible approach? Are there other techniques/approaches/technologies I should consider?