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_network
Creates 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_network
Makes a movie of the network evolution.