This is a quick and simple interface to run InventoryManagement.jl v0.3 using Dash. The webapp is also hosted on Heroku.
The interface will request loading 4 CSV files as inputs to build the simulation environment (Note: all names are case sensitive and must be strings, not numbers. If you have a numerical identifier for a name, preceed it by a string, i.e., 100 -> m100
):
- Bill of Materials: must have the following columns:
input
: material input nameoutput
: material produced namevalue
: amount of input consumed to produce 1 unit of output
- Lead Times: must have the following columns
source
: source node namedestination
: destination node namematerial
: material namelead_time
: an integer number of periods can be specified as thelead time
for thatarc
(source -> destination
). Alternately, a valid univariate distribution from Distributions.jl can be specified inside quotes (""). Ifsource = destination
, the lead time is aproduction lead time
and must be an integer, otherwise, it is atransporation lead time
between the two nodes (integer or probability distribution). Note: Distributions that can take negative values (i.e.,Normal
distribution) will be truncated at0
. This will shift the actual mean of the distribution.
- Demand: must have the following columns
node
: node namematerial
: material namedemand_distribution
: An integer number of units demanded for thatmaterial
at thatnode
. Alternately, a valid univariate distribution from Distributions.jl can be specified inside quotes (""). Note: Distributions that can take negative values (i.e.,Normal
distribution) will be truncated at0
. This will shift the actual mean of the distribution.demand_frequency
: An integer number of periods that will transpire (on average) between demands for thatmaterial
at thatnode
.
- Policy: must have the following columns
node
: node namematerial
: material nameinitial_inventory
: starting inventory quantity for thatmaterial
at thatnode
. If unlimited inventory, useunlimited
.param1
: reorder point for the inventory policy (r
for(r, Q)
ors
for(s, S)
)param2
: second parameter for the inventory policy (Q
for(r, Q)
orS
for(s, S)
)review_period
: strictly positive number of periods between each inventory review
Note: Sample input files are included in ./sample_inputs/
.
The simulation can then be run for the number of periods specified on the webapp interface. Once the simulation completes, the timeseries results can be downloaded as CSVs:
- Inventory Levels
- Inventory Positions
- Echelon Positions
- Onhand Inventory
- Pipeline Inventory
- Replenishment Orders
- Market Demand
- For best performance with the Heroku app, use a standard web browser that is up to date.
- When downloading result files, your browser will prompt you to allow multiple file downloads.
- The first run on the Heroku app may at times be slow because the code is being compiled. If an error is thrown, refreshing the site should fix it.