Skip to content

hdavid16/InventoryManagementWebApp.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

InventoryManagementWebApp

This is a quick and simple interface to run InventoryManagement.jl v0.3 using Dash. The webapp is also hosted on Heroku.

Inputs

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 name
    • output: material produced name
    • value: amount of input consumed to produce 1 unit of output
  • Lead Times: must have the following columns
    • source: source node name
    • destination: destination node name
    • material: material name
    • lead_time: an integer number of periods can be specified as the lead time for that arc (source -> destination). Alternately, a valid univariate distribution from Distributions.jl can be specified inside quotes (""). If source = destination, the lead time is a production lead time and must be an integer, otherwise, it is a transporation lead time between the two nodes (integer or probability distribution). Note: Distributions that can take negative values (i.e., Normal distribution) will be truncated at 0. This will shift the actual mean of the distribution.
  • Demand: must have the following columns
    • node: node name
    • material: material name
    • demand_distribution: An integer number of units demanded for that material at that node. 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 at 0. This will shift the actual mean of the distribution.
    • demand_frequency: An integer number of periods that will transpire (on average) between demands for that material at that node.
  • Policy: must have the following columns
    • node: node name
    • material: material name
    • initial_inventory: starting inventory quantity for that material at that node. If unlimited inventory, use unlimited.
    • param1: reorder point for the inventory policy (r for (r, Q) or s for (s, S))
    • param2: second parameter for the inventory policy (Q for (r, Q) or S for (s, S))
    • review_period: strictly positive number of periods between each inventory review

Note: Sample input files are included in ./sample_inputs/.

Outputs

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

Tips

  • 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.

About

Basic Dash webapp to build and run simulations using InventoryManagement.jl

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published