Plotting
This section illustrates the results of the optimization model using visualizations implemented with Plots.jl
.
using ShelfSpaceAllocation
output_dir = joinpath("output", "exact", "medium")
parameters = load_json(Params, joinpath(output_dir, "parameters.json"))
variables = load_json(Variables, joinpath(output_dir, "variables.json"))
m = parameters.modules[1]
println(parameters.modules)
[1]
Planogram
plot_planograms(parameters, variables)[m]
Planogram visualizes the product placing on the shelves. Blocks are indicated by the different colors.
Block allocation visualizes the block starting location $x_{b,s}$ and block width $b_{b,s}$ for each block and for each shelf.
Product Facings
plot_product_facings(parameters, variables)
Visualizes the number of product facings $∑_s n_{p,s}$ allocated per product. The opaque color indicates the maximum number of facings $N_p^{max}$ allowed per product.
Demand and Sales
plot_demand_and_sales(parameters, variables)
Visualizes the sales $s_p$ per product. The opaque color indicates the demand $D_p$ per product.
Demand-Sales Percentage
plot_demand_sales_percentage(parameters, variables)
\[\sum_{p∈P_b} s_p / \sum_{p∈P_b} D_p\]
Allocation Amount
plot_allocation_amount(parameters, variables)
Allocation amount visualizes the total amount of products facings $∑_{p∈P_b,s∈S} n_{p,s}$ allocated to the shelves per block.
Allocation Percentage
Allocation percentage visualizes the relative amount of product facings allocated to the shelves per block. Calculated by dividing the absolute amount of product facing allocated per block by the number of products that could be allocated to the shelves per block if there were no products from other blocks.