Reference
Optimization
SupplyChainOptimization.minimize_cost! — Functionminimize_cost!(supply_chain::SupplyChain, optimizer=HiGHS.Optimizer)Optimizes the supply chain for cost. The service level should be set to one to force the optimizer to serve all customers.
SupplyChainOptimization.maximize_profits! — Functionmaximize_profits!(supply_chain::SupplyChain, optimizer=HiGHS.Optimizer)Optimizes the supply chain for profits. The service level should be set to zero to let the optimizer decide which customers to serve.
SupplyChainOptimization.create_network_cost_minimization_model — FunctionCreates an optimization model for cost minimization.
SupplyChainOptimization.create_network_profit_maximization_model — FunctionCreates an optimization model for profit maximization.
SupplyChainOptimization.create_network_cost_minimization_model! — FunctionCreates an optimization model for cost minimization.
SupplyChainOptimization.create_network_profit_maximization_model! — FunctionCreates an optimization model for profit maximization.
SupplyChainOptimization.optimize_network_optimization_model! — FunctionOptimizes an optimization model.
SupplyChainOptimization.create_network_model — FunctionCreates an optimization model.
SupplyChainOptimization.haversine — FunctionComputes the great circle distance between two locations. The distance is expressed in meter.
Querying Results
SupplyChainOptimization.get_financials — Functionget_financials(supply_chain; max_time=supply_chain.horizon)Gets the financial results of operating the supply chain.
SupplyChainOptimization.get_total_profits — Functionget_total_profits(supply_chain::SupplyChain)Gets the total profits of operating the supply chain.
SupplyChainOptimization.get_total_costs — Functionget_total_costs(supply_chain::SupplyChain)Gets the total costs of operating the supply chain.
SupplyChainOptimization.get_total_fixed_costs — Functionget_total_fixed_costs(supply_chain::SupplyChain)Gets the total fixed costs of operating the supply chain.
SupplyChainOptimization.get_total_transportation_costs — Functionget_total_transportation_costs(supply_chain::SupplyChain)Gets the total transportation costs of operating the supply chain.
SupplyChainOptimization.get_inventory_at_start — FunctionGets the inventory of a product stored at the start of a period.
SupplyChainOptimization.get_inventory_at_end — FunctionGets the inventory of a product stored at the end of a period.
SupplyChainOptimization.get_production — Functionget_production(supply_chain::SupplyChain, plant::Plant, product::Product, period=1)Gets the amount of a given product produced at a given plant during a given period.
SupplyChainOptimization.get_receipts — Functionget_receipts(supply_chain::SupplyChain, storage::Storage, product::Product, period=1)Gets the amount of a given product received at a given storage location at a given period.
SupplyChainOptimization.get_shipments — Functionget_shipments(supply_chain::SupplyChain, storage::Storage, product::Product, period=1)Gets the amount of a given product sent from a given storage location at a given period.
get_shipments(supply_chain::SupplyChain, plant::Plant, product::Product, period=1)Gets the amount of a given product sent from a given plant at a given period.
get_shipments(supply_chain::SupplyChain, supplier::Supplier, product::Product, period=1)Gets the amount of a given product shipped from a given supplier at a given period.
get_shipments(supply_chain::SupplyChain, lane::Lane, product::Product, period=1)Gets the amount of a given product sent on a lane at a given period.
get_shipments(supply_chain::SupplyChain, lane::Lane, destination, product::Product, period=1)Gets the amount of a given product sent on a lane at a given period.
get_shipments(supply_chain::SupplyChain, customer::Customer, product::Product, period=1)Gets the amount of a given product received by a given customer at a given period.
SupplyChainOptimization.is_opened — Functionis_opened(supply_chain::SupplyChain, storage::Storage, period=1)Gets whether a given storage location is opened during a given period.
is_opened(supply_chain::SupplyChain, plant::Plant, period=1)Gets whether a given plant is opened during a given period.
SupplyChainOptimization.is_opening — FunctionGets whether a given storage location is opening during a given period.
SupplyChainOptimization.is_closing — FunctionGets whether a given storage location is closing during a given period.
Visualization
SupplyChainOptimization.plot_network — Functionplot_network(supply_chain, period=1; geography="usa", showlegend=true)Plots the nodes of the supply chain on a map.
The geography must be one of: "world" | "usa" | "europe" | "asia" | "africa" | "north america" | "south america".
SupplyChainOptimization.plot_flows — Functionplot_flows(supply_chain, period=1; geography="usa", showlegend=true)Plots the flows of products in the supply chain.
SupplyChainOptimization.plot_costs — Functionplot_costs(supply_chain)Plots the costs of operating the supply chain.
SupplyChainOptimization.plot_financials — Functionplot_financials(supply_chain; max_time=supply_chain.horizon)Plots the financial results of operating the supply chain.
SupplyChainOptimization.plot_inventory — Functionplot_inventory(supply_chain, storage, product)Plots the amount of inventory of a product on-hand at a storage location at the beginning of each period.
SupplyChainOptimization.animate_network — Functionanimate_networkCreates an animation of the network through time.
SupplyChainOptimization.animate_flows — Functionanimate_flows; geography="usa", showlegend=true, excluded_origins=[])Creates an animation of the product flows through time.
SupplyChainOptimization.movie_network — Functionmovie_networkMakes a movie of the network evolution.