1. Introduction
Shelf space is one of the most expensive resources in retail. Retailers regularly make decisions related to the allocation of products to their outlets’ limited shelf space. Increasing retailers’ profit by attracting customers’ attention and encouraging them to perform additional purchases can be implemented by proper category management in the retail store. Defining enough shelf space for a product and finding the best product position on planogram shelves are important issues with respect to shelf space allocation.
Appropriate shelf space allocation is one of the main factors to obtaining an edge in the very competitive retail industry [
1]. Stores’ growing product ranges cause a great challenge for retailers. Many models allocating a large number of products to shelf space have been developed over recent years, with the goal to optimize the retailer’s objective under certain constraints and merchandising rules within the store.
The significance of store space allocation approaches and their importance for researchers and retailers in order to make correct decisions was highlighted by Yang and Chen [
2]. Shelf space allocation decisions involve two steps: the amount of shelf space for a particular product category and the amount of shelf space for a particular product within each product category [
3].
Many consumers decide on what to purchase already inside the store. They do not always prefer to choose the cheapest product from the range offered. Instead, a lot of factors, such as the perceived quality of the product, loyalty to a particular brand, brand reputation, appetite to try something new, and other marketing variables, impact their choice [
3]. With appropriate merchandising tactics, the retailer can try to obtain more profit from consumers when they visit the store.
As the shelf space allocation problem (SSAP) is, in many cases, NPhard, specialized heuristics and metaheuristics should be used. Such algorithms allow one to attain a satisfactory nearoptimal solution but still do not guarantee a globally optimal value [
4]. Yang [
5] developed a heuristic that extends an approach often applied to the knapsack problem in order to find the solution to the SSAP, considering the profit from a product unit as weight and weight taking order as the priority index in space planning. His algorithm consists of preparatory, allocation, and termination phases. Yang and Chen [
2] classified shelf space management strategies, including dominance, adaptation, and passiveness, on the grounds of a questionnaire survey. Drèze et al. [
6] proposed a model to measure the effect of the reallocation of a product on the shelf and the between the sales of individual brands inside the product category. Gajjar and Adil [
7] developed some heuristics to solve the retail SSAP with a linear profit function. Reyes and Frazier [
3] proposed nonlinear integer SSAP for grocery stores, considering the relationships between customer service factors and profitability. Frontoni et al. [
8] proposed a heuristic approach to the planogram supply to find and count multiple facings of the same item of a product. Fadıloğlu et al. [
9] prepared an optimization model that created an appropriate product shelf mix based on the store requirements, to maximize profit, that can be used by the retailers. Jajja [
10] used a dynamic model to solve the SSAP in the retail shop. He also performed a sensitivity analysis for some variables in the model for various space allocation scenarios in stores. Hübner and Schaal [
11] studied the demand effects and developed the retailer’s optimization model that takes into account stochastic, spacedependent, and verticalshelfpositionsdependent demand. They proposed a solution for both cases, i.e., with crossspace elasticity and without it. Hübner and Schaal [
12] included, in their model, the effects of replenishment and inventory costs. Valenzuela and Raghubir [
13] claimed that the bottom shelves were dedicated to cheaper brands, while luxury brands should be located on the top shelves. Furthermore, Desrochers and Nelson [
14] declared that consumers’ purchasing decisions depended on the correct categorization into product families that specified associations between products and the visual display on the shelf.
Table 1 provides an overview of approaches used to solve the SSAP.
In the previous research, only facings of product items were considered. Moreover, one of the key limitations in the literature is that it neglects merchandising rules based on the frequency of product moves and the product price. More precisely, it disregards the different vertical shelf levels based on product sales potentials. Missing is a model which simultaneously takes into account retailers’ location and practical pricing rules.
The objective of this article was to develop a practical retail shelf space allocation model with not only facings but also capping (i.e., placing a product on top of another one and rotating the top one) and nesting (placing a product inside another one, e.g., a basket or plate). The main contribution of the paper is the development of an SSAP model characterized by the following:
Cap and nest parameters.
Vertical and horizontal category rows by appropriate product grouping, which makes planograms visually attractive to customers; such an effect is very important in visual merchandising for retailers, who, in general, prefer to design their own display spaces on planograms.
Associating products based on their sales potentials for properly locating them on the bottom or top shelves, as well as creating vertical product families and grouping them to make the planogram visually attractive.
We proposed a realistic SSAP model, considering four groups of constraints, namely shelf constraints, product constraints, multishelves constraints, and category constraints. We also developed a heuristic approach and performed experiments on various practical problem sizes, estimating the quality of the solution with the CPLEX solver. In our approach, we placed special emphasis on the possibility of its practical implementation by retail category managers, in order to deliver higher profits.
The remainder of the article is structured as follows.
Section 2 describes the data and methods. Numerical results of the computational experiments are given in
Section 3.
Section 4 outlines the conclusion of our research.
2. Data and Methods
Retailers focus on efficiently arranging products on shelves, with the goal of maximizing profit margin/sales, improving customer satisfaction, and managing stock control. Planograms are graphic representations of products’ arrangement on shelves. With their help, retailers can define the position of a product and the number of its units. Besides the fact that the SSAP is only a small part on the whole set of the category management processes, it is an easy way to earn profits.
2.1. Variables and Parameters
In our research, we used the following variables and parameters. Subscripts indicate the variables’ indexes, and superscripts indicate the variables’ descriptions and should not be read as indexes. Parameters and indices are as follows:
$K$—total number of categories.
$G$—total number of subcategories.
$S$—total number of shelves.
$P$—total number of products.
$k$—category index, $k=1,\dots ,K$.
$g$—subcategory index,$g=1,\dots ,G$.
$i$—shelf index, $i=1,\dots ,S$.
$j$—product index, $j=1,\dots ,P$.
Category parameters are as follows:
Shelf parameters:
${s}_{i}^{l}$—length of the shelf $i$.
${s}_{i}^{d}$—depth of the shelf $i$.
${s}_{i}^{h}$—height of the shelf $i$.
${s}_{i}^{b}$—weight limit of the shelf $i$.
Product parameters:
${p}_{j}^{w}$—width of the product $j$.
${p}_{j}^{d}$—depth of the product $j$.
${p}_{j}^{h}$—height of the product $j$.
${p}_{j}^{b}$—weight of the product $j$.
${p}_{j}^{s}$—supply limit of the product $j$.
${p}_{j}^{u}$—unit profit of the product $j$.
${p}_{j}^{k}$—category of the product $j$.
${p}_{j}^{g}$—subcategory of the product $j$.
${p}_{j}^{n}$—nesting coefficient of the product $j$, ${p}_{j}^{n}<1$, or ${p}_{j}^{n}=0$ if the product cannot be nested.
${p}_{j}^{{o}_{1}}$—front orientation binary parameter.
${p}_{j}^{{o}_{1}}=\left\{\begin{array}{l}1,\mathrm{if}\mathrm{front}\mathrm{orientation}\mathrm{is}\mathrm{available}\mathrm{for}\mathrm{product}j\\ 0,\mathrm{otherwise}\end{array}\right\}$
${p}_{j}^{{o}_{2}}$—side orientation binary parameter.
${p}_{j}^{{o}_{2}}=\left\{\begin{array}{l}1,\mathrm{if}\mathrm{side}\mathrm{orientation}\mathrm{is}\mathrm{available}\mathrm{for}\mathrm{product}j\\ 0,\mathrm{otherwise}\end{array}\right\}$.
${p}_{j}^{l}$—cluster of the product $j$.
${f}_{j}^{\mathrm{min}}$—minimum number of facings of the product $j$.
${f}_{j}^{\mathrm{max}}$—maximum number of facings of the product $j$.
${c}_{j}^{\mathrm{min}}$—minimum number of caps per facings group of the product $j$.
${c}_{j}^{\mathrm{max}}$—maximum number of caps per facings group of the product $j$.
${n}_{j}^{\mathrm{min}}$—minimum number of nests of one facing of the product $j$.
${n}_{j}^{\mathrm{max}}$—maximum number of nests of one facing of the product $j$.
${s}_{j}^{\mathrm{min}}$—minimum number of shelves on which product $j$ can be allocated.
${s}_{j}^{\mathrm{max}}$—maximum number of shelves on which product $j$ can be allocated.
Decision variables are as follows:
${x}_{ij}=\left\{\begin{array}{l}1,\mathrm{if}\mathrm{product}j\mathrm{is}\mathrm{put}\mathrm{to}\mathrm{the}\mathrm{shelf}i\\ 0,\mathrm{otherwise}\end{array}\right\}$
${f}_{ij}$—number of facings of the product.
${c}_{ij}$—number of caps of the product.
${n}_{ij}$—number of nests of the product.
${y}_{ij}^{{o}_{1}}=\left\{\begin{array}{l}1,\mathrm{if}\mathrm{product}j\mathrm{is}\mathrm{put}\mathrm{to}\mathrm{the}\mathrm{shelf}i\mathrm{on}\mathrm{front}\mathrm{orientation}\\ 0,\mathrm{otherwise}\end{array}\right\}$.
${y}_{ij}^{{o}_{2}}=\left\{\begin{array}{l}1,\mathrm{if}\mathrm{product}j\mathrm{is}\mathrm{put}\mathrm{to}\mathrm{the}\mathrm{shelf}i\mathrm{on}\mathrm{side}\mathrm{orientation}\\ 0,\mathrm{otherwise}\end{array}\right\}$.
2.2. Problem Definition and Methods
The problem can be formulated as follows. The $P$, products, are assigned to a $K$, categories (product families), and $G$, subcategories (sales potentials), and then they are placed on $S$, shelves, on a planogram. The minimal space occupied by a category is defined on each planogram, which makes it visually attractive for customers. All categories are vertical, i.e., the products can be placed on all shelves. Obviously, products of the same category cannot be split by another vertical category. The sales potential subcategories are horizontal, i.e., products can be placed on the shelves with a greater or equal subcategory but cannot be placed on the shelf for a lower subcategory. This models the situation where more expensive products (with higher sales potentials) are located on the higher shelves (at eye level); cheaper products can be located on the lower shelves and on the higher ones. However, the overpriced brands cannot be located underneath. The problem is to find the optimal shelf space for each product category, $K$, defining the quantities of each product in order to maximize the retailers’ profit.
Table 2 explains the methods of allocating products on shelves based on a retailer’s rules. Products from category A and subcategory 10 can be placed on the shelves dedicated to categories A, B, and C, as well as subcategories 10, 20, and 30. Under other conditions, products from the category C and subcategory 30 cannot be placed on the shelves for other categories and subcategories. The next example represents B20, which can be placed on shelves B20, B30, C10, C20, and C30. Sales potentials are assigned with an initially selected step (in this case, it equals 10) because, in practice, if base product ranges are assigned to sales subcategories 10 and 20, but one seasonal or promotional shelf is included on the planogram only for a 2week time shift, the retailer can easily assign seasonal or promotional products to sales potential 15, without reassigning the sales potentials of the base product range.
Figure 1 and
Figure 2 show category sizes on shelves with different sales potentials. The divisor which splits the categories may be flexible (
Figure 1) or strict (
Figure 2), which is steered by coefficient
${m}_{k}$ (the minimum category size is
${m}_{k}$, a percent of the shelf length) and coefficient
${t}_{k}$ (the maximum category size tolerance between shelves in the category, a percent of the shelf length). The idea for this is taken from practice: The category must exist on the planogram, the products in this category must be noticeable by customers, and beautiful vertical category rectangles should be built in categories.
The product can be placed on the shelf in a front orientation (width ${p}_{j}^{w}$ is taken as line parameter) or side orientation, at 90 degrees (depth ${p}_{j}^{d}$ is taken as width of the product). The products with the same characteristics, functions, or tastes can be grouped into clusters, to make a certain substitution effect and must be placed on the same shelf. This is done in an outofstock situation, when the customer can easily choose a similar product from another brand.
As in a real retail store, and depending on the product package’s physical characteristics, products can be capped, nested, or neither. Capping is product placement on top of one another, e.g., in the case of rectangular boxes, as with tea or sweets boxes. Nesting is product placement inside another one, as with bowls or plates.
For products with a front orientation, the number of facings in one capped group is
$\lceil {p}_{j}^{h}/{p}_{j}^{w}\rceil $, and for products with a secondary side orientation, it is
$\lceil {p}_{j}^{h}/{p}_{j}^{d}\rceil $. For cappings, if too many tea boxes are placed above the facings in the row below, the boxes below may become damaged or destroyed, or upper tea boxes could fall off the shelf. For nestings, if too many bowls are placed inside the lowest bowl on the shelf, the bowl below may become damaged or destroyed, or the upper bowls could fall off the shelf. The total number of product items is the sum of facings, caps, and nests.
Figure 3 and
Figure 4 illustrate the caps and nests allocation method.
In our research, we considered one (top) row of facings with cappings or nestings on it. The number of facings in the vertical dimension is not modeled. The shelf height and product supply limit were defined only for the top row of facings, including capping or nesting. Similarly, the depth of the products and the depth of the shelf were defined for the same top row of facings.
To solve the problem, the task was to define the number of facings (${f}_{ij}$), caps (${c}_{ij}$), and nests (${n}_{ij}$) of product $j$ placed on shelf $i$, with regard to constraints, which are grouped into 4 classes: shelf constraints, product constraints, multishelves constraints, and category constraints, in order to maximize the retailer’s total profit.
2.3. Basic Notions
2.3.1. Problem Formulation
The nonlinear integer model can then be formulated as follows:
2.3.2. Shelf Constraints
The shelf constraints are as follows:
shelf length;
shelf height;
shelf depth;
shelf weight.
Constraint (3) signifies that the height of each product on the shelf fit the shelf’s height limit. This was also true for the caps’ (
Figure 3) height and nests’ height (
Figure 4). As for the frontoriented products, their width represents the additional height to the product facings. Otherwise, as for the sideoriented products, their depth represents the additional height to the product facings. A construction such as
${x}_{ij}/\mathrm{max}({f}_{ij},1)$ is used for omitting the division by 0 cases, i.e., if the product is not placed on the shelf.
2.3.3. Product Constraints
The product constraints are as follows:
minimum and maximum number of shelves;
supply limit;
minimum and maximum number of facings;
minimum and maximum number of caps;
minimum and maximum number of nests;
either caps or nests.
2.3.4. MultiShelves Constraints
The multishelves constraints are as follows:
only one orientation (front or side) is available;
only one orientation (front or side) is available;
the same product orientation on all shelves;
front orientation is possible;
side orientation is possible;
the next shelf only;
the same cluster on the same shelf.
The same orientation on all shelves (Constraint (14)) is needed for building a better visual display of blocks on all shelves. For the same reason, products can be placed only on the neighboring shelf (Constraint (17)).
2.3.5. Category Constraints
The category constraints are a follows:
minimum category size;
category tolerance between different shelves;
sales potentials subcategory;
means rounded value.
Constraint (20) is used to form the border between neighboring categories on different shelves. Products with lower sales potentials, compared to the shelf, can be placed on shelves with greater sales potentials; otherwise, products with greater sales potentials, compared to the shelf, cannot be placed on the shelves with lower sales potentials (Constraint (21)).
2.3.6. Relationship Constraints
The relationship constraints are as follows:
facings relationships;
facings relationships;
capping relationships;
nesting relationships.
2.3.7. Decision Variables
The decision variables are as follows:
product is placed on the shelf;
number of facings;
number of caps;
number of nests;
front orientation;
side orientation.
2.4. Proposed Approach
The main steps of the proposed approach include the following:
Solve the decision problem in order to identify if the product can be placed on the shelf with regard to the multishelves constraints (Constraints (12)–(18)) and sales potentials subcategory Constraint (21). During this step, we set all possible products for shelf allocations.
Select from the received set only allocations where number LB of product items fit shelf ((2)–(5)) and product ((6)–(11)) constraints.
Solve the optimization problem (1) with regard to shelf Constraints (2)–(5), product Constraints (6)–(11), and category Constraints (19) and (20).
In this section, the following notations are used:
$\alpha $—integer coefficient of dividing shelf length into a number of product widths.
$\beta $—percent of solutions to be taken to the next steps of the algorithm.
The proposed algorithm of Step 3 is executed as follows. For the given shelf length,
${s}_{i}^{l}$, define all possible variations of line segments divisible by the product width,
$\alpha {p}_{j}^{w}$ (or depth,
$\alpha {p}_{j}^{d}$, based on its orientation). Integer coefficient
$\alpha $ is selected empirically, i.e., the greater shelf length, the greater
$\alpha $. Assign an appropriate number of facings, caps, and nests into the line segments for the given product. Thus, a number of possible solutions emerge. Apply this to all shelves in all categories. Exclude results where shelf ((2)–(5)), product ((6)–(11)), and category (19)–(20) constraints do not fit. Calculate the profit of each received solution. Apply Algorithm 1 and Algorithm 2 to the received solution set.
Algorithm 1 Steps 
$\mathrm{Group}\mathrm{all}\mathrm{solutions}\mathrm{by}\mathrm{profit}{\displaystyle \sum _{j=1}^{P}{\displaystyle \sum _{i=1}^{S}{p}_{j}^{u}({f}_{ij}+{c}_{ij}+{n}_{ij}).}}$ $\mathrm{For}\mathrm{each}\mathrm{one},\mathrm{take}\mathrm{only}\mathrm{that}\mathrm{with}\mathrm{minimum}\mathrm{occupied}\mathrm{space}{\displaystyle \sum _{j=1}^{P}{\displaystyle \sum _{i=1}^{S}{f}_{ij}({y}_{ij}^{{o}_{1}}{p}_{j}^{w}+{y}_{ij}^{{o}_{2}}{p}_{j}^{d}).}}$ $\mathrm{Sort}\mathrm{them}\mathrm{in}\mathrm{a}\mathrm{non}\mathrm{ascending}\mathrm{order}\mathrm{of}\mathrm{profit}\mathrm{to}\mathrm{width}\mathrm{ratio}\frac{{\displaystyle \sum _{i=1}^{S}{\displaystyle \sum _{j=1}^{P}{p}_{j}^{u}({f}_{ij}+{c}_{ij}+{n}_{ij})}}}{{\displaystyle \sum _{i=1}^{S}{\displaystyle \sum _{j=1}^{P}{f}_{ij}({y}_{ij}^{{o}_{1}}{p}_{j}^{w}+{y}_{ij}^{{o}_{2}}{p}_{j}^{d})}}}\mathrm{and}\mathrm{take}\beta $, an appropriate percentage of them (if there are too many of them). Select the best one.

There are three possible cases.
The solution is $\sum _{j=1}^{P}{\displaystyle \sum _{i=1}^{S}{p}_{j}^{u}({f}_{ij}+{c}_{ij}+{n}_{ij})}}>0$. In this case, decrease $\alpha $, so additional possible solutions appear. Analyze only branches that give a greater total profit than the one received with the previous $\alpha $. If there are too many solutions to be analyzed, create profit branches for each category. In this case, the solution is found; the profit for each separate category is also known. Analyze only branches with higher profit categories, in order to create new possible solutions, and use only them. Leave less profitable profit category branches; choose appropriate percentage of branches to be analyzed based on their number received and the time used for generating them.
The solution has not been found, and all values have been analyzed, so $\sum _{j=1}^{P}{\displaystyle \sum _{i=1}^{S}{p}_{j}^{u}({f}_{ij}+{c}_{ij}+{n}_{ij})}}=0$. Further, decrease $\alpha $ and analyze extra possible solutions.
Not all values are analyzed at the given time limit. The solution has not been found, so $\sum _{j=1}^{P}{\displaystyle \sum _{i=1}^{S}{p}_{j}^{u}({f}_{ij}+{c}_{ij}+{n}_{ij})}}=\infty $. In this case, increase $\alpha $ so less possible solutions to be checked are generated, and repeat Algorithm 1.
Repeat Algorithm 1 an appropriate number of times, adjusting
$\alpha $ and
$\beta $.
Algorithm 2 Steps 
$\mathrm{Group}\mathrm{all}\mathrm{solutions}\mathrm{according}\mathrm{to}\mathrm{occupied}\mathrm{space}{\displaystyle \sum _{j=1}^{P}{\displaystyle \sum _{i=1}^{S}{f}_{ij}({y}_{ij}^{{o}_{1}}{p}_{j}^{w}+{y}_{ij}^{{o}_{2}}{p}_{j}^{d}).}}$ $\mathrm{For}\mathrm{each}\mathrm{one},\mathrm{take}\mathrm{only}\mathrm{that}\mathrm{with}\mathrm{maximum}\mathrm{profit}{\displaystyle \sum _{j=1}^{P}{\displaystyle \sum _{i=1}^{S}{p}_{j}^{u}({f}_{ij}+{c}_{ij}+{n}_{ij}).}}$ $\mathrm{Sort}\mathrm{them}\mathrm{in}\mathrm{a}\mathrm{non}\mathrm{descending}\mathrm{order}\mathrm{of}\mathrm{space}\mathrm{occupied}\mathrm{on}\mathrm{the}\mathrm{shelves}\mathrm{and}\mathrm{take}\beta $, an appropriate percentage of them (if there are too many of them). Select the best one.

There are also three possible cases. Actions to be performed on them are the same as in Algorithm 1. Repeat Algorithm 2 an appropriate number of times, adjusting $\alpha $ and $\beta $.
3. Results
The computation experiments evaluated the quality of the solutions of the proposed approach to solving the current SSAP. To examine the performance of the proposed algorithm, simulated test problems based on real data were solved.
We simulated nine stores, where planograms with the defined product sets had to be placed. As in a retail store, shelf widths vary in different stores, but retailers must allocate in each store the same set of products. We simulated five planogram widths with three shelves with different sales potentials. The widths of all shelves on the planogram were the same because this was the regular case in a real store. Very rarely did a situation occur where store obstructions or inconvenient parts of the shelf decreased the shelf width. The prepared nine product sets included 10, 15, 20, 25, 30, 35, 40, 45, and 50 products with different widths, weights, and heights. The shelves widths were 250, 375, 500, 625, and 750 cm. The numbers of vertical categories were two (for 10, 15, and 20 products), three (for 25 and 30 products), four (for 35 and 40 products), and five (for 45 and 50 products).
The computational experiments were implemented in Visual C# 2015 and MS SQL Server 2014. The optimal (or maximum feasible, in some cases) solution to compare with was found with IBM ILOG CPLEX Optimization Studio Version: 12.7.1.0.
The benefit of both proposed algorithms is the lack of randomly selected elements, so there is no requirement to run them several times. Moreover, the data on all steps are visible and understandable for retailers, so all initial parameters can be easily checked, and the coefficient parameters can also be simply approximated, while watching the data and the received results.
Table 3 shows the number of solutions found by both algorithms, where the solution of the proposed approach was the maximum feasible solution. Algorithm 2 was better, finding the maximum feasible solution in 25 cases.
Table 4 compares the proposed approach to the CPLEX solver, which found the solution in 34 cases, while CPLEX did in only 23, and affirmed the necessity of our implementations.
In order to estimate the performance of the algorithm, the following notations are used:
${U}_{a}$—the profit of the proposed algorithm (Formula (1)).
${U}_{o}$—the profit of the CPLEX solution.
${U}_{a}/{U}_{o}$—the profit ratio of the proposed algorithm to the optimal (or maximum feasible, in some cases) solution.
Table 5 shows the quality of the proposed approach, compared to the CPLEX solver. The average profit ratio of the best algorithm was 94.57%, with its minimal and minimal and maximal values at 86.80% and 99.84%, respectively. It could be observed that there are some advantages of the proposed approach. In 11 cases, the proposed approach found the solution, but CPLEX did not. Moreover, no opposite situation occurred where CPLEX found the solution but the proposed approach did not. In 11 cases, a solution was not found at all.
This case simulated the situation in a real retail store, where retailers requested something that could not be implemented based on the provided constraints. General mistakes that often happened in the retailer’s requirements are as follows:
Even if the decision problem was successfully solved and a product could be placed on the shelf, the lower bounds numbers of a product on the shelf exceeded the shelf length or weight.
Even if the lower bounds numbers satisfied the shelf length and weight, there were too many products in the category to be placed in aesthetically pleasing columns, which restricted the category constraints. The proposed corrections divided them into the categories in another way and changed the minimum category size or category tolerance.
Even if there were lower bounds of product number, shelf length, and weight fit, the sales potentials of the products were incorrect, so that, on one shelf, there were too many products, and there were too few on another. In this case, it would be better to move some products from the most numerous subcategory to another sales potential subcategory.
These errors are visible and could be analyzed while processing each instance. Therefore, there is no reason to waste time trying to find the solution by using data in which we know every solution step fails to satisfy initial constraints.
Table 5 also illustrates the total number of product allocations received when solving the productonshelf decision problem. The last column shows the reduced number of product allocations, which was enough to be processed according to the proposed solution approach. The main idea was that, at first, we estimated how many decisions existed, and for each, we adjusted the appropriate number of product facings, caps, and nests. If we had enough time, we processed all of the product allocations. If there were too many allocations to be processed and it could not be done in a reasonable time, we reduced the number of allocations to be processed and selected more profitable ones according to Algorithms 1 and 2. When solving the optimization problem, we did not check all permutations of facings either, because there were too many variants. We also used the idea of the proposed Algorithms 1 and 2, which generated only profitable variants.
Table 6 presents the processing time taken to look for the solution while solving the optimization problem by both algorithms, which, on average, amounts to 5.39 min and varies from 2 s up to 83.98 min. The total processing time includes all preparation steps and solves the decision problem. On average, it amounts to 9.53 min and varies from 2 s to 87.11 min. The time limit for the CPLEX solver was set as 15 min because it was much more than the average and median time of the algorithms, and the standard deviation was approximately 15 min. In most cases, both proposed approaches were faster.
4. Conclusions
Shelf space is one of the most important resources used to involve more customers in category management decisions.
In this article, we proposed a new practicable mathematical shelf space allocation model with regard to horizontal products grouped into categories and vertical shelf levels grouped into sales potentials subcategories. The model includes cap and nest parameters. We developed two heuristic approaches and explained, in detail, how to implement them during category management problems. We also offered suggestions to space planners, focusing on general mistakes in requirements and how they should be corrected.
To estimate the performance of the proposed approach, 45 cases were tested. Among them, the proposed approach found solutions in 34 cases, while CPLEX achieved it only in 23 cases. The profit ratio of the proposed approach was, on average, 94.57%, with its minimal and maximal values being 86.80% and 99.84%, respectively.
The main feature that differentiates the proposed approach from the previous ones was the lack of randomly generated or randomly adjusted elements. At first, we solved the decision problem in order to check if the product fit the shelf; next, we solved the optimization problem, finding the appropriate number of facings of each product. Moreover, the data at all described steps could be easily analyzed and allowed us to adjust the steering parameters.
The main disadvantages of the proposed approach are as follows. If the product width (or depth, based on its orientation) is very small, there are too many possible variations of line segments initially generated. In situations where there are too many variants to be checked and the solution is not found within the given time, it is recommended to increase $\alpha $, dividing the shelf into larger parts. This method can decrease the number of variants and decrease processing time, which worsens the solution quality by increasing the distance of the feasible solution that can be found to the optimal one.
Our approaches are valuable for retailers looking for expert advice on techniques that could be used to solve the SSAP, which would enable them to maximize profit, minimize lost revenue, and find a balance between ensuring customer satisfaction and dealing with multiple inputs.