| CPC G06Q 10/08345 (2013.01) | 14 Claims |

|
1. A computer-implemented method executed using one or more processors, the method comprising:
receiving input data comprising an order to provide a quantity of one or more finished goods to a site through a supply chain network, the one or more finished goods each comprising one or more raw materials;
accessing information comprising respective locations of a plurality of sites of a supply chain network, the input data and information being stored in computer memory;
decomposing, by the one or more processors, the supply chain network into one or more sub-networks to reduce a computer memory requirement prior to an enumeration of one or more path solutions, wherein a number of the one or more sub-networks is based on a number of common raw materials of the one or more raw materials;
detecting, by the one or more processors, one or more loops in the supply chain network;
prior to the enumeration of one or more path solutions, eliminating, by the one or more processors, one or more of the detected loops to reduce model processing deadlocks or errors;
enumerating, by the one or more processors and based on the input data and the accessed information, the one or more path solutions along the supply chain network or along the one or more sub-networks to fulfill the order, wherein each enumerated path solution comprises a set of one or more path fragments, wherein each path fragment associated with an enumerated path solution defines a movement of a sub-quantity of the one or more finished goods or the one or more raw materials between two sites of the plurality of sites;
filtering, during or after the enumerating of the one or more path solutions and based on one or more site constraints or predetermined criteria, one or more invalid path fragments to decrease a number of possible path solutions to fulfill the order;
dynamically releasing computer memory associated with the one or more invalid path fragments to reduce the computer memory requirement;
determining, based on one or more decision criteria, one or more optimal path solutions for the order;
outputting one or more of the optimal path solutions for display on a client device.
|