All significant changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Check to make sure that a node's
inventory_policy
attribute is set, and that thePolicy
object'snode
attribute is set to the node - Set the
Policy
object'snode
attribute automatically when setting the node'sinventory_policy
to it
- Bug in feature that allows overriding order quantities in simulation
- Features to run simulation period-by-period instead of all at once (useful for using in a reinforcement learning (RL) context)
newsvendor.newsvendor_poisson_explicit()
function added, for explicit-form newsvendor problem with Poisson demands- Various unit tests
- More robust attribute handling for various objects
- Allow earlier version of numpy (v1.21 insead of v1.22), which in turn allows Python 3.7 instead of 3.8
- New format for storing and loading named instances, and better documentation
newsvendor.newsvendor_explicit()
parameter renamed torevenue
fromselling_revenue
for consistency
- State variables are stored as int and float instead of int64 and float64 so they can be JSON serialized when saving
- Bug that created spurious entries in
inbound_order_pipeline
- Bug in which only order LT was respected in simulation if both order and shipment LTs are nonzero
- Bug in default value for
consistency_checks
insimulation()
- Looser dependencies (previous versions required newer than necessary versions of some packages)
- Methods to convert objects to and from dicts
- Removed dependency on pandas
- Bug that prevented named instances from being loaded correctly using
load_instance()
- Removed cost summary output and
print_cost_summary
option fromsim_io.write_results()
- Small issue in README file
- Various new unit tests
- Bug in
supply_chain_network.echelon_to_local_base_stock_levels()
- Named instances from Shang and Song (2003)
- More flexible options for node indexing in
ssm_serial.optimize_base_stock_levels()
andssm_serial.newsvendor_heuristic()
- More flexible options for choosing rows and columns in simulation output in
write_results()
- Better handling of disrupted items for type-RP disruptions
- Various new unit tests
- Smarter initialization of inventory levels in simulation
ssm_serial.optimize_base_stock_levels()
recognizes if demand distribution is discrete and handles discretization accordingly- Default disruption type changed to 'OP'
- Bug in order quantity with type-RP disruptions
- Various new unit tests
- Ability to pass
kwargs
toSupplyChainNetwork()
owmr_system()
function to build OWMR networks
- Improved flexibility of inputs in
network_from_edges()
- Bug in which
inbound_order_pipeline
was initialized incorrectly in simulation
- Various new unit tests.
- Improved documentation throughout.
- Feature to check for duplicate edges when adding edges to a network.
- Feature to check for directed cycles before running simulation.
- Various bugs in backorder calculations in simulation, especially with disruptions.
- Fix problems with setup that prevented installation via pip.
Initial release.