Maximizing Store Revenues using Tabu Search for Floor Space Optimization
MMaximizing Store Revenues using Tabu Searchfor Floor Space Optimization
Jiefeng Xu Evren Gul Alvin LimResearch and Development DepartmentPrecima, a Nielsen Company
Abstract
Floor space optimization (FSO) is a critical revenue management prob-lem commonly encountered by today’s retailers. It maximizes store rev-enue by optimally allocating floor space to product categories which areassigned to their most appropriate planograms. We formulate the problemas a connected multi-choice knapsack problem with an additional globalconstraint and propose a tabu search based metaheuristic that exploits themultiple special neighborhood structures. We also incorporate a mecha-nism to determine how to combine the multiple neighborhood moves. Acandidate list strategy based on learning from prior search history is alsoemployed to improve the search quality. The results of computationaltesting with a set of test problems show that our tabu search heuristiccan solve all problems within a reasonable amount of time. Analysesof individual contributions of relevant components of the algorithm wereconducted with computational experiments.
Floor space is a valuable and scarce asset for retailers. Over the last decade,the number of products competing for limited space increased by up to 30%(EHI Retail Institute 2014). Thus, the efficient allocation of store floor space toproduct categories to maximize the total store revenue can provide a significantedge to retailers in an increasingly competitive industry. Consequently, floorspace management is considered as one of the vital strategic levers for retailrevenue management (Kimes & Renaghan 2011).The problem we addressed is additionally motivated by the floor space plan-ning operations of a major grocery chain in Europe. In space planning opera-tions, the grocer benefits from software (e.g. the JDA Planogram Generator).Space planners of the grocer first create template planograms using software todetermine product placement on shelves. A planogram is a visual diagram thatshows positions and the number of so-called facings of items (corresponding tovisible items). The product mix of categories, merchandising rules, sales pat-terns and characteristics of display furniture and fixture are considered in the1 a r X i v : . [ c s . A I] N ov reparation of planograms. An active planogram in a store is replaced by anassociated planogram sequence. Figure 1 shows a sequence of three planogramson which pattern and color highlighted rectangles represent the items, their fac-ings and locations on the shelves for a specific category. A store using the set ofplanograms for the category in Figure 1 can only increase or decrease the spaceallocation with respect to the order of the planograms.Figure 1: Sequence of planograms for a category with item facings and locationson shelvesNext, planners select a planogram for each relevant category and use softwareto automatically generate store layout. In the final step, planograms are physi-cally replicated on store shelves. Using space planning software, retailers save asubstantial amount of time on these space planning operations which otherwisewould be carried out manually. Although space planning software provides ef-ficient tools for visualizing and preparing of store layout and planograms andday-to-day maintenance and reporting activities, they are limited in incorpo-rating the effect of space on sales and neglect to fully take advantage of math-ematical optimization in floor space decisions. Planners decide the assignmentof planograms to categories according to their experience and by employingheuristics (based on criteria sometimes called “proportional-to-market share”,and “proportional-to-profit share”). However, these decisions can be far fromoptimal (Desmet & Renaudin 1998). First of all, space elasticity, the ratio ofchange in sales to change in space, is not considered. Secondly, the predictedrevenue associated with various planograms is not known and not used to deter-mine the best combination of planograms in a store to maximize total revenue.Therefore, in our work we created an integrated solution using advancedmathematical modeling techniques in order to maximize revenue of each store.Our approach for FSO includes two steps: (1) develop a statistical model to mea-sure the space elasticity; and (2) formulate and solve an optimization problemfor each store to determine the optimal assignment of planograms to maximizetotal revenue subject to certain business constraints. Our statistical model isable to predict revenue of a product category for a given planogram, and inturn, the mathematical optimization efficiently determines the best assignmentof planograms to categories. In this paper, our focus is on the design and imple-2entation of a solution approach based on tabu search to solve the optimizationproblem in step (2).In the early work on space modeling, the emphasis was placed on establishinga relation between space and sales. Indeed, the positive impact of space alloca-tion on sales has been documented by several studies (Curhan 1972, Corstjens& Doyle 1981, Bultez et al. 1989, Borin et al. 1994, Dreze et al. 1994, Desmet &Renaudin 1998). In light of research on space modeling, we developed a statis-tical model to measure the effect of allocated space in a planogram on categorysales focusing on the solution of the space management optimization problemspecified in Step (2) mentioned above. We refer the reader to H¨ubner & Kuhn(2012), Eisend (2014), K¨ok et al. (2015) and Bianchi-Aguiar et al. (2018) forholistic reviews of approaches to modeling of space effects.In the second step of FSO, we maximize store revenues by optimally as-signing planograms in stores. Modern revenue management launched with theairline industry and it advanced with the applications in two other traditionalindustries: hotels and car rental companies (Chiang et al. 2007). The success inthese traditional industries attracted others and revenue management has sincebeen applied in industries like restaurants, cargo, cruise, subscription services,theme parks and retail. More recently, revenue management has been intro-duced to newer industries such as cloud computing, home delivery, rideshareand e-commerce (Klein et al. 2020). Books by Talluri & Van Ryzin (2006)and Phillips (2005) provide introduction to concepts and aspects of revenuemanagement including pricing, capacity allocation, network management, over-booking and markdown management and review papers by Chiang et al. (2007)and Klein et al. (2020) provide comprehensive surveys on the developments inrevenue management over the last 40 years.In the revenue management literature, FSO is considered as an application inthe retail industry. Early applications of revenue management in retail startedwith seasonal items which are analogous to perishability of airline seat inventory.The value of the seasonal items diminish significantly after the selling season.Therefore, Coulter (2001) proposed the maximization of revenue by applyingoptimal discount pricing to seasonal items. In another study, Aviv & Pazgal(2005) investigated the dynamic pricing for fashion-like goods for a seasonalretailer. In their second work Aviv & Pazgal (2008), they extended their workto optimal pricing of seasonal goods in the presence of strategic customers.Practitioners Hawtin (2003) and Lippman (2003) provided overall guidelines onthe implementation of revenue management systems in grocery retail outlets.They mainly focused on pricing strategy and discussed potential benefits andchallenges in systems integration. In the recent years, revenue management foronline retailers has been studied. Agatz et al. (2013) identified differentiationin price and delivery options as a key for revenue maximization. Belavina et al.(2017) analyzed the effect of subscription and per-order delivery revenue modelson sales and environment for online grocery retailers.As mentioned earlier, Kimes & Renaghan (2011) emphasized that space isthe third strategic lever in revenue management, along with the price and timelevers. They pointed out that space management is less studied in the literature,3ut is equally important as management of price and time. The aforementionedliterature for retail revenue management mainly focuses on “price” and “time”levers and only includes “space” implicitly in some of the studies, i.e., none ofthe research works explicitly studied the effects of space allocation in optimizingrevenues. Even though retailers manage time and price well, the performancewill be sub-optimal in the context of revenue management if they do not managetheir space well (Kimes & Renaghan 2011). In our problem, all the leversare taken into account in the space-effect and optimization model where weexplicitly optimize space by maximizing revenue per linear meter of a grocerystore space for the implementation time period. FSO is an essential and integralcomponent of any revenue management system that will enable retailers toachieve their revenue potential.In sum, the floor space optimization problem considered here involves theoptimal allocation of the available planograms in a store to maximize totalpredicted revenue. The problem is subject to constraints due to planogram se-quencing, store layout, furniture and fixture characteristics. The first constraintrequires that, for each existing planogram in a store, a replacement planogramshould be chosen from its planogram sequence. This constraint ensures thatevery product category currently in the store is reassigned a planogram afterthe optimization. Space planners group the planograms with respect to fur-niture and fixture requirements and location in the store. These groups arecalled planogram worlds (PWs). The second constraint requires that the sumof lengths of planograms in each PW is bounded by lower and upper totallength limits. Finally, the third constraint arises from the fact that a store canaccommodate space expansion up to a certain level and requires space abovesome threshold. Therefore, this constraint imposes lower and upper limits onthe total length of all planograms in the store (Additional background on theconnection of FSO to other developments is given in the Appendix).Intuitively, the FSO problem seems similar to the maximization version ofthe well-known knapsack problem (KP), as well as its variants such as multipleknapsack problems, or multiple choice knapsack problems, since we precalculatethe expected revenues of planograms. If we view a planogram as an item, anda planogram world as a knapsack or bin, the FSO problem clearly containsthe resource constraints (like the length limits) which are similar to knapsackconstraints. For a comprehensive review on KP and its variants, we refer readersto Hiremath (2008). However, the additional global store length constraint ofour FSO problem adds more complexities to the already complicated KP.This paper develops a tabu search metaheuristic algorithm that exploitsthe specific neighborhood structures of the FSO problem. The next sectiondefines the mathematical formulation of the FSO problem, and then provides arelevant literature review. In Section 3, we describe the tabu search algorithmspecifically. The computational results are included in Section 4. Finally, wesummarize our findings in Section 5. 4 Mathematical Formulation for FSO
The space model predicts revenue for a given space and other predictor variablesof a product category in a planogram. Thus, we can define the predicted revenueof product category i when assigned planogram j , R ij as R ij = h ( s ij , u ij ) , where h ( · ) represents the statistical model, s ij is the space assigned to category i with planogram j , and u ij is the vector of values for other predictor variables.Note that for the purposes of this study, the R ij values are precomputed andtherefore assumed to be constants. The FSO problem can then be formulatedas a mixed integer programming problem as follows. Index: • I : set of product categories • J : set of planograms • K : set of planogram worlds • J i : set of planograms that can be assigned to category i where (cid:84) i ∈ I J i = ∅ • I k : set of categories belonging to PW k • J k : set of planograms belonging to PW k where J k = (cid:83) i ∈ I k J i Constants: • R ij : the revenue of category i if assigned to planogram j ∈ J i • L ij : the length (shelf space) for category i if assigned to planogram j ∈ J i • LL k : the lower bound of the total length for PW k • U L k : the upper bound of the total length for PW k • LS : the lower bound on sum of all planogram lengths in the entire store • U S : the upper bound on sum of all planogram lengths in the entire store
Decision Variables: x ij : the binary variable with value 1 if category i is as-signed to planogram j , and 0 otherwise.5 odel: Maximize (cid:88) i ∈ I (cid:88) j ∈ J i R ij x ij (1)subject to (cid:88) j ∈ J i x i,j = 1 , ∀ i ∈ I, (2) (cid:88) i ∈ I k (cid:88) j ∈ J i L ij x ij ≥ LL k , ∀ k ∈ K, (3) (cid:88) i ∈ I k (cid:88) j ∈ J i L ij x ij ≤ U L k , ∀ k ∈ K, (4) (cid:88) i ∈ I (cid:88) j ∈ J i L ij x ij ≥ LS, (5) (cid:88) i ∈ I (cid:88) j ∈ J i L ij x ij ≤ U S, (6) x ij ∈ { , } , ∀ i ∈ I, j ∈ J i . (7)The objective function (1) maximizes the total store revenue which is the sumof revenues of all categories placed on planograms. The constraint (2) stipulateseach category should be assigned to a planogram. The constraints (3) and (4)establish the lower and upper length limits for each PW, and constraints (5)and (6) enforce the lower and upper limits of total planogram length for thestore. The constraint (7) defines the binary variable for x ij . Without thepresence of constraints (5) and (6), the problem would be equivalent to solving | K | multiple-choice KPs.It is well known that the KP is NP-hard (Karp 1972). The literature onKP and its variants is rich. Exact methods have focused on employing branchand bound and dynamic programming approaches (Martello & Toth 1985, 1997,2003, Martello et al. 1999, Pisinger 1995, 1997, 1999 a , b ). A variety of heuristicsand metaheuristics have been designed for solving practical problems quickly,including those based on genetic algorithm (Chu & Beasley 1997, Raidl 1998),tabu search Glover & Kochenberger (1996), Lokketangen & Glover (1998), antcolony algorithms (Shi 2006), simulated annealing (Liu et al. 2006), global har-mony search (Zou et al. 2011), etc. In addition to the papers that have proposedalgorithms, Pisinger (2005) conducted an interesting study on how to design testproblems that appeared to be hard for several exact methods. Since FSO em-beds a multiple choice KP-like NP hard subproblem, it is natural to develop ametaheuristic-based approach such as the tabu search algorithm for solving thispractical problem. The tabu search (TS) algorithm is a well known metaheuristic for solving alarge number of both theoretical and practical optimization problems. It em-6loys adaptive memory to overcome the limitation of conventional search meth-ods such as hill-climbing, which terminate (and hence become “trapped”) in alocally optimal solution within the current neighborhood. The common mech-anisms TS employs include short term memory, long term memory, aspirationrule, intensification and diversification strategies. For a more comprehensivecompendium of TS and its advanced strategies, we refer readers to Glover &Laguna (1997).Our TS algorithm for FSO (denoted as TSFSO) starts from an initial so-lution and evaluates the objective function by calculating the revenues fromplanogram assignments and penalties from all length violations. Our methodemploys multiple simple neighborhood structures, and determines the movesbased on these neighborhoods at each iteration through a scenario based con-trol mechanism (controller). To improve the efficiency of the TS and reduce theeffort spent on examining inferior solutions, we devise a learning-based candi-date list strategy which benefits from the statistics collected from the searchhistory. These components are elaborated in the next few subsections.
Our initial solution is constructed based on the following three simple rules:1. Least length rule: each category is assigned to the planogram in which itoccupies the least length.This rule ensures that violations of all upper limit length constraints willbe minimized, but violations of the lower limit length constraints mayoccur.2. Highest revenue rule: each category is assigned to the planogram where itwill yield the highest revenue.This rule will produce a solution that achieves an upper bound on therevenue that can be obtained by an optimal FSO solution. However,violations to length constraints may occur coming from both upper andlower limits of the length constraints.3. Balanced rule: each category is assigned to the planogram that yields themaximal revenue per length unit.This rule will generate a more balanced solution by considering both rev-enue and length requirements, though it may still cause violations of lengthconstraints.Let G k ( x ) denote the total length occupied by the current assignment x , thatis G k ( x ) = (cid:80) i ∈ I k (cid:80) j ∈ J i L ij x ij . Then we combine the revenue and violation into7 single objective function in the TSFSO as follows: f ( x ) = (cid:88) i ∈ I (cid:88) j ∈ J i R ij x ij − P (cid:32) (cid:88) k ∈ K (max(0 , G k ( x ) − U L k ) + max(0 , LL k − G k ( x )))+ max(0 , (cid:88) k ∈ K G k ( x ) − U S ) + max(0 , LS − (cid:88) k ∈ K G k ( x )) (cid:33) In the above objective, P is a large positive number. When the assignment x ij is changed at each iteration, the value of f ( x ) is recalculated accordingly. Upontermination, the x ij that produced the maximum value f ( x ) is considered asthe best solution. If the violation term associated with a solution is zero, thenthe solution is feasible. The core decision of the FSO is to assign a planogram for each category to itscorresponding PW. The neighborhood move is performed by assigning differentplanograms to categories iteratively. We design the five basic neighborhoodmoves as follows:
Level 1 Move:
Select a category and move it from its current planogram toanother planogram. In PW k , let i be the category under consideration, let j ( j ∈ J i ) be the planogram that i is currently assigned to, and j is the newplanogram ( j (cid:54) = j , j ∈ J i ). Then the Level 1 Move changes the assignment x i j = 1 , x i j = 0 to x i j = 0 , x i j = 1. Such a move results in the followingchanges in objective function evaluation:∆ f ( x ) = R i j − R i j − P (max(0 , G k ( x ) + L i j − L i j − U L k )+ max(0 , LL k − G k ( x ) − L i j + L i j ) + max(0 , (cid:88) k ∈ K G k ( x )+ L i j − L i j − U S ) + max(0 , LS − (cid:88) k ∈ K G k ( x ) − L i j + L i j ))An example of a Level 1 Move is visually illustrated in Figure 2.Once a Level 1 Move is performed, i.e., the category i (in PW k ) is movedfrom planogram j to j , a tabu restriction is applied to prevent i from beingmoved back to j within a specific number of iterations. The duration (initerations) of such a restriction is called the tabu tenure of the move, and iscustomarily selected randomly between a lower and upper bound. After a Level1 Move (moving i from j to j ), the reversed move (changing x i j = 0 to x i j = 1 is made tabu for all iterations starting from the current iteration, currIter , through a last iteration T ( i, j ) for i = i and j = j by the assignment: T ( i , j ) = currIter + random ( T L , T H random ( T L , T H
1) identifies the tabu tenure based on thelower and upper bounds,
T L
T H
1. The value T ( i , j ) may be called the(short-term) tabu memory for the move. Level 2 Move:
Select two categories from their current planograms (in PW k ) to different planograms in the same PW. Let i , i ( i (cid:54) = i ) be the twocategories under consideration, let j , j ( j ∈ J i , j ∈ J i ) be the two currentlyassigned planograms for i and i , and j and j be the new planograms ( j (cid:54) = j , j ∈ J i , j (cid:54) = j , j ∈ J i ) for i and i . Then the Level 2 Move changesthe decision variable values from x i j = 1 , x i j = 1 , x i j = 0 , x i j = 0 to x i j = 0 , x i j = 0 , x i j = 1 , x i j = 1. Such a move results in the followingchanges in objective function evaluation:∆ f ( x ) = R i j + R i j − R i j − R i ,j − P (max(0 , G k ( x ) + L i j + L i j − L i j − L i j − U L k ) + max(0 , LL k − G k ( x ) − L i j − L i j + L i j + L i j ) + max(0 , (cid:88) k ∈ K G k ( x ) + L i j + L i j − L i j − L i j − U S ) + max(0 , LS − (cid:88) k ∈ K G k ( x ) − L i j − L i j + L i j + L i j ))Figure 3 shows an example of a Level 2 Move.The tabu memory for a Level 2 Move (that moves category i from planogram j to j , and category i from planogram j to j ) is to enforce x i j = 0 for alliterations less than or equal to T ( i , j ) and x i j = 0 for all iterations less thanor equal to T ( i , j ). After such a Level 2 Move, the tabu memory is updatedas: T ( i , j ) = currIter + random ( T L , T H T ( i , j ) = currIter + random ( T L , T H Level 3 Move:
Reassign three categories from their current planograms (inPW k ) to different planograms in the same PW. Let i , i and i ( i (cid:54) = i ,9igure 3: An Example of Level 2 Move i (cid:54) = i , i (cid:54) = i be the three categories under consideration, let j , j and j ( j ∈ J i , j ∈ J i , j ∈ J i ) be the three currently assigned planograms for i , i and i , j , j and j be the new planograms ( j (cid:54) = j , j (cid:54) = j , j (cid:54) = j , j ∈ J i , j ∈ J i , j ∈ J i ) for these categories. Then the Level 3 Move changes thedecision variable values from x i j = 1, x i j = 1, x i j = 1, x i j = 0, x i j = 0, x i j = 0 to x i j = 0, x i j = 0, x i j = 0, x i j = 1, x i j = 1, x i j = 1. Sucha move results in the following changes in the objective function evaluation:∆ f ( x ) = R i j + R i j + R i j − R i j − R i j − R i j − P (max(0 , G k ( x )+ L i j + L i j + L i j − L i j − L i j − L i j − U L k )+ max(0 , LL k − G k ( x ) − L i j − L i j − L i j + L i j + L i j + L i j ) + max(0 , (cid:88) k ∈ K G k ( x ) + L i j + L i j + L i j − L i j − L i j − L i j − U S ) + max(0 , LS − (cid:88) k ∈ K G k ( x ) − L i j − L i j − L i j + L i j + L i j + L i j ))Figure 4 displays an example of a Level 3 Move.Similarly, after a Level 3 Move (that moves the category i from planogram j to j , and category i from planogram j to j , and category j from planogram j to j ) , the tabu memory is updated by setting: T ( i , j ) = currIter + random ( T L , T H T ( i , j ) = currIter + random ( T L , T H T ( i , j ) = currIter + random ( T L , T H Level 4 Move:
Construct a composite move that performs the two Level 1Moves simultaneously for two PWs. Let i (in PW k ) and i (in PW k ) bethe two categories under consideration, let j ( j ∈ J i ) and j ( j ∈ J i ) bethe planograms that hold i and i , respectively. Finally, let j and j be the10igure 4: An Example of Level 3 Movenew planograms for i and i ( j (cid:54) = j , j ∈ J i , j (cid:54) = j , j ∈ J i ) for i and i . Then the Level 4 Move changes the decision variable values from x i j = 1, x i j = 0, x i j = 1, x i j = 0 to x i j = 0, x i j = 1, x i j = 0, x i j = 1. Sucha move results in the following changes in the objective function evaluation:∆ f ( x ) = R i j − R i j + R i j − R i j − P (max(0 , G k ( x ) + L i j − L i j − U L k ) + max(0 , G k ( x ) + L i j − L i j − U L k )+ max(0 , LL k − G k ( x ) − L i j + L i j ) + max(0 , LL k − G k ( x ) − L i j + L i j ) + max(0 , (cid:88) k ∈ K G k ( x ) + L i j − L i j + L i j − L i j − U S ) + max(0 , LS − (cid:88) k ∈ K G k ( x ) − L i j + L i j − L i j + L i j ))Figure 5 depicts an example of a Level 4 Move where categories i and i areassigned to new planograms in the two PWs.Figure 5: An Example of Level 4 MoveThe tabu memory for a Level 4 Move (that moves category i from planogram11 to j , and category i from planogram j to j ) is updated as follows. T ( i , j ) = currIter + random ( T L , T H T ( i , j ) = currIter + random ( T L , T H i and i are located in the same PW, while in a Level 4 Move, theyare located in the different PWs. Level 5 Move:
Like the Level 4 move, this move involves two PWs, in eachPW two categories change their current planograms to the new planograms. Let i , i (in PW k ) and i , i (in PW k ) be the categories under consideration,and let j ( j ∈ J i ), j ( j ∈ J i ), j ( j ∈ J i ) and j ( j ∈ J i ) be theplanograms that hold i , i , i and i , respectively. Finally, let j and j be thenew planograms for i and i ( j (cid:54) = j , j ∈ J i , j (cid:54) = j , j ∈ J i ), and let j and j be the new planograms for i and i ( j (cid:54) = j , j ∈ J i , j (cid:54) = j , j ∈ J i ). Then the Level 5 Move changes the decision variable values from x i j = 1, x i j = 0, x i j = 1, x i j = 0, x i j = 1, x i j = 0, x i j = 1, x i j = 0 to x i j = 0, x i j = 1, x i j = 0, x i j = 1, x i j = 0, x i j = 1, x i j = 0, x i j = 1. The changes in the objective function value are identified by :∆ f ( x ) = R i j − R i j + R i j − R i j + R i j − R i j + R i j − R i j − P (max(0 , G k ( x ) + L i j − L i j + L i j − L i j − U L k )+ max(0 , G k ( x ) + L i j − L i j + L i j − L i j − U L k )+ max(0 , LL k − G k ( x ) − L i j + L i j − L i j + L i j )+ max(0 , LL k − G k ( x ) − L i j + L i j − L i j + L i j )+ max(0 , (cid:88) k ∈ K G k ( x ) + L i j − L i j + L i j − L i j + L i j − L i j + L i j − L i j − U S ) + max(0 , LS − (cid:88) k ∈ K G k ( x ) − L i j + L i j − L i j + L i j − L i j − L i j − L i j − L i j ))Figure 6 exhibits an example of a Level 5 Move where categories ( i , i ) and( i , i ) are assigned to new planograms in the two PWs.Similarly, the tabu memory for a Level 5 Move (that moves category i from planogram j to j , category i from planogram j to j , category i fromplanogram j to j , and category i from planogram j to j ) is updated as: T ( i , j ) = currIter + random ( T L , T H T ( i , j ) = currIter + random ( T L , T H T ( i , j ) = currIter + random ( T L , T H T ( i , j ) = currIter + random ( T L , T H aspiration rule permits the move to be performed regardless of the tabumemory restrictions. Other types of aspiration rules are also sometimes used,but the preceding rule is most often favored.The type of move selected in TSFSO is determined by a scenario basedcontrol mechanism described next. Our use of multiple neighborhood moves, where each neighborhood provides aspecial structure for moving from one solution to another, is a type of strategythat is a critical element in meta-heuristics such as variable neighborhood search(VNS) (see Mladenovi´c & Hansen 1997). However, multiple neighborhoodsstrategies had already been successfully implemented in TS applications beforethe first VNS paper was published (see Glover et al. 1984, Xu et al. 1996, Xu& Kelly 1996). In contrast to the VNS mechanism that allows the search toiterate over different neighborhoods, in such TS applications, a special controlmechanism is designed to determine when to apply a specific neighborhood mostefficiently and effectively. An example of this relevant to our current algorithmalso appears in Xu et al. (1998).In our five level neighborhoods, the lower level neighborhood moves are moreeffective for intensification to improve the current solution in regions around lo-cal optima, while the higher level neighborhood moves cause greater structuralchanges that move farther from a current solution and induce diversification.On the other hand, the number of move alternatives associated with the lowerlevel neighborhoods is smaller than the number of alternatives associated withthe higher level neighborhoods, and so the evaluation of the former is fasterthan that of the latter. Based on these observations, we design the followingrules for the scenario-based controller by considering the balance between inten-sification and diversification, together with the trade-offs for efficiency. In the13ules described below, a lower numbered rule can be overwritten by a highernumbered rule if, as indicated, this is valid for a specific scenario:
Rule 1:
During the first stage of the search ( T iterations), the Level 2neighborhood is used to quickly improve the solution. Rule 2:
During the second stage of the search ( T iterations), the lower levelneighborhood moves are used probabilistically based on the probabilities asfollows: p for Level 1 neighborhood move, p for Level 2 neighborhoodmove, and p for Level 3 neighborhood move. Rule 3:
During second stage of the search, whenever a new best ever solu-tion is found, we “downgrade” neighborhood move type for the next itera-tion to reduce the current neighborhood move by one level. (This forces thesearch to focus more fully on intensification in an attempt to find an evenbetter solution than the current new best solution.)
Rule 4:
At any iteration, if the current best solution could not be improvedafter a certain number of iterations denoted by T (which often signals asearch deadlock that requires a diversification strategy to break the impasse),a high level neighborhood (Level 4 or 5) move is required. The selection ofthe neighborhood is based on the probabilities p for a Level 4 neighborhoodand p for a Level 5 neighborhood. Rule 5:
If level 4 or 5 is selected per Rule 4, then this level cannot beperformed for more than T consecutive iterations. Once T consecutive it-erations of Level 4 or 5 moves are used, then the search must be switchedback to a lower level neighborhood (Level 1,2,or 3, the exact type to use isdetermined probabilistically by Rule 2.) for at least T iterations. (Rule 5prevents the search from focusing too long on diversification strategies whenthese strategies are not successful in improving the best solution. This allowsthe search to strategically oscillate between the intensification and diversifi-cation strategies.) Rule 6:
The search terminates either when the maximum number of iter-ations is reached ( T = T + T ), or when the search cannot improve thecurrent best feasible solution for T iterations.In Rules 2 and 4, a randomization based probabilistic selection method isused for iterating between the different types of neighborhoods. This allows thesearch to overcome the strong local optimality tendency produced by adheringto a single neighborhood and amplifies the diversification effect. The scenario-triggered rules (which are invoked when (1) a quick improvement is requiredduring early search; (2) a new best solution is found; (3) the search fails to finda new best solution for a certain time, etc.) are applied to enhance the abilityto exploit the special neighborhood structures of various neighborhoods, whileaccounting for issues of effectiveness and efficiency.14 .4 The Learning-based Candidate List Strategy To further improve the efficiency of TSFSO, we consider the fact that a goodneighborhood move may contain attribute values similar to those of good neigh-borhood moves performed in the past. For this, we employ a candidate list toguide our choice of moves based on keeping track of attributes contained in goodpast moves.We collect statistics from the moves performed at each of the first T it-erations in the search history and count the frequency of the PW/categorycombinations of the moves executed at each iteration. Let U ki be the numberof times that PW k and category i are involved in the moves performed so far,where initially U ki is set to zero, and U ki is updated at each iteration as follows.Table 1: Move Attributes Statistics Collection PerformedMove Type InvolvedPW/Category Update U ki Level 1 ( k, i ) U ki = U ki + 1Level 2 ( k, i )( k, i ) U ki = U ki + 1 U ki = U ki + 1Level 3 ( k, i )( k, i )( k, i ) U ki = U ki + 1 U ki = U ki + 1 U ki = U ki + 1Level 4 ( k , i )( k , i ) U k i = U k i + 1 U k i = U k i + 1Level 5 ( k , i )( k , i )( k , i )( k , i ) U k i = U k i + 1 U k i = U k i + 1 U k i = U k i + 1 U k i = U k i + 1After the statistics U ki are collected from the first T iterations, we constructa candidate list at each iteration thereafter for each type of neighborhood moveperformed at that iteration. The updating of the U ki values is continued, how-ever, until the end of the search. For categories I k of PW k , let n k be thenumber of categories in I k that are included in the moves performed so far( n k ≤ | I k | ), and let ¯ U k = { i (cid:48) , i (cid:48) , ..., i (cid:48) n k } be a sorted list of category indices suchthat U ki (cid:48) , ≥ U ki (cid:48) ≥ ... ≥ U ki (cid:48) nk >
0. 15e further introduce a list ¯ U k ( n k ) containing the first n k category indicesfrom ¯ U k ( p ≤ n k ) (with n k identifying the highest U ki value category). Thecandidate list construction is described in Table 2.Table 2: Candidate List Construction PerformedMove Type InvolvedPW/Category Candidate List
Level 1 ( k, i ) No candidate list; use the full neighborhood,i.e., i is selected from I k . Level 2 ( k, i )( k, i ) For PW k, if | ¯ U k | > , then i , i are selected from thecategory list ¯ U k ( n k ∗ r );Otherwise, i , i are selected from I k . Level 3 ( k, i )( k, i )( k, i ) For PW k, if | ¯ U k | > , then i , i , i are selected fromthe category list ¯ U k ( n k ∗ r );Otherwise, i , i , i are selected from I k . Level 4 ( k , i )( k , i ) For PW k , if | ¯ U k | > , then i is selectedfrom the category list ¯ U k ( n k ∗ r );Otherwise, i is selected from IA s ;For PW k , if | ¯ U k | > , then i is selected fromthe category list ¯ U k ( n k ∗ r );Otherwise, i is selected from I k . Level 5 ( k , i )( k , i )( k , i )( k , i ) For PW k , if | ¯ U k | > , then i , i are selected fromthe category list ¯ U k ( n k ∗ r );Otherwise, i , i are selected from I k ;For PW k , if | ¯ U k | > , then i , i are selected fromthe category list ¯ U k ( n k ∗ r );Otherwise, i , i are selected from I k In TSFSO, the ratios r and r indicate the degree of reduction from thefull neighborhoods. The smaller the values for r and r , the more compressedis the neighborhood used for the respective candidate list. TSFSO algorithm is implemented for the real floor space planning problemarising in a leading grocery chain in Europe. To investigate the effectiveness of16SFSO, we need to execute our TSFSO on a series of test problems. Since thereare no known open benchmark problems available for FSO, we first design amethod to generate a series of test problems. We utilize store space configurationdata from our real world implementation, as well as ideas for designing hard testproblem instances for relevant knapsack problems in literature. We describe thetest problem generation method in the next subsection.
We choose a common store in the grocery chain with 9 PWs and 194 planogramsand use its actual PW/planogram configuration as a basis for our test problemgeneration. To protect confidential information such as planogram length andrevenue data for the company, we generated associated length ( L ij ) and revenue( R ij ) data using an approach which aims to create difficult test instances forknapsack problems based on existing research in literature. More specifically,we use a method to create the so-called weakly correlated spanner instanceswith span(2,10) described in Pisinger (2005) to generate a series of coordinatedpairs of length and revenue data as follows. We first generated a basic spannerset ( l κ , r κ ) for κ ∈ { , } by setting l κ = random (1 , ), and r κ = random ( l κ − , l κ + 10 ) for κ ∈ { , } . If the resulting r κ <
1, we regenerate r κ until itsatisfies r κ ≥
1. Then we normalize the spanner set by setting l κ = (cid:100) l κ / (cid:101) , r κ = (cid:100) r κ / (cid:101) for κ ∈ { , } . Then each pair of length and revenue numbers ( L ij , R ij )is generated by repeatedly taking one pair ( l κ , r κ ) from the spanner set, andmultiplying it by a value randomly generated from [1 , k = 0 and for each valid com-bination of ( i, j ), we identify the spanner set index by κ = k mod 2 + 1, α = random (1 , L i,j = αl k and R ij = αr k , followed by incrementing the counter k by setting k = k + 1. We repeat the process until all possible length and revenue values( L ij , R ij ) are generated for the required 194 planograms.Unlike the method suggested in Pisinger (2005) where the length boundsare generated based on the generated lengths using different ratios across testinstances (e.g., bounds are increased by a fixed percentage for each instance),however, we generated the lower and upper bounds for PWs and store levelsfor our test problems by multiplying fixed ratios (0.85 for lower bound and1.15 for upper bound) with total (generated) lengths calculated based on thecurrent planogram assignment. This approach may reduce the difficulty of thetest problems but ensures the generated problems are feasible and bounds areconsistent with the current store FSO planning practice as well. Nevertheless,the test problems we generated are still computationally more difficult thanthe real problem we encountered in practice, indicating that they are goodproblems to stress-test our TSFSO heuristic and to have some confidence thatour heuristic can cover realistic problems we have yet to encounter.We repeat the above process using different random seeds until we generate100 test problems. To execute our TSFSO on these test problems, we use theparameter values described in the next subsection.17 .2 Parameter Setting We set the values for the parameters based on a priori knowledge, as well ason the results from limited brute-force experiments. Applying a systematic pa-rameter fine-tuning method based on statistical analysis and experiment designtechniques may significantly improve the heuristic performance (see Xu et al. P for length violations (at both the PW level and storelevel) is set to − k , we set the lower bound value T L = T L
T L
T L
T L
T L { , | I k | / } , and the upper boundvalue T H = T H
T H
T H
T H
T H
T L + min { , | I k | / } .Several parameters govern the controller and the search progress. The entiresearch consists of 1200 iterations ( T = 1200), while the first stage of the searchstarts from iteration 1 to iteration T = 120 and the second stage then invokes forthe reset of T = 1080 iterations. The parameter T , which triggers the conditionfor using high level neighborhood moves, is set to 20 iterations. The high levelneighborhood moves can be performed no more than 2 consecutive iterations( T = 2) and the next 10 iterations ( T = 10) will be dedicated to low levelneighborhood moves after 2 consecutive iterations for high level neighborhoodmoves. The TSFSO terminates either when the iteration counter reaches T =1200, or when the current (feasible) best solution cannot be improved withinthe most recent T = 0 . ∗ T iterations.The probabilities used for selecting the different types of neighborhood movesare: p = 0 . , p = 0 . , p = 0 . , p = 0 . , p = 0 .
4. Note that p + p + p = 1 . p + p = 1 . T = 100) iterations. Consequently, the can-didate list strategy is initiated at the 101 st iteration. The two ratios used toreduce the neighborhood spaces, are set to r = 0 . r = 0 .
8, respectively.
The TSFSO is implemented using the Python language and is executed on aLinux machine on cloud. The CPU model of the machine is Intel ® Xeon ® CPU E5-2686 v4 @ 2.30GHz. To compare the effectiveness of TSFSO, we firstuse Gurobi, one of the leading commercial solver packages for Mixed Integer18rogramming, to solve the 100 tests problems to optimality using the samecomputational environment. We limit the computation time to 200 secondsfor each problem. Gurobi either finds an optimal solution before reaching thetime limit or terminates with a best solution obtained at the time limit, whichwe designate it as the def acto optimal solution, instead of classifying it as anoptimal solution.To evaluate the different time effect of TSFSO, we set the maximum num-ber of iterations ( T in the four test runs of TSFSO to be 300, 600, 900, and1,200. The associated test runs are accordingly denoted TSFSO-300, TSFSO-600, TSFSO-900, TSFSO-1200. All other parameters remain the same as pre-viously described with the following features implemented: • used the balanced rule as the initial solution rule; • used all 5 level moves coordinated by the scenario-based controller; and • used candidate list.In summarizing the results from across the 100 problems, we report the numberof problems for which we obtain an optimal or def acto optimal solution (asOPTNUM), the average percentage of the optimality gap across all 100 problems(as AVGGAP), maximum percentage of the optimality gap (as MAXGAP), andthe total CPU time in seconds (as CPUTM) in Table 3.Table 3: Computational Results on 100 Test Problems RUN OPTNUM AVGGAP(%) MAXGAP(%) CPUTM
TSFSO-300 35 0.23 0.96 59TSFSO-600 68 0.08 0.52 154TSFSO-900 83 0.04 0.52 217TSFSO-1200 100 0.00 0.00 312Gurobi 100 0.00 0.00 12,345Table 3 clearly demonstrates with the reported reasonable computationaltimes that our TSFSO algorithm can overcome the computational intractabilityof the test problems and obtain exceedingly high quality solutions using just afraction of the time required by the Gurobi solver. Although for iteration limitsbelow 1,200, not all optimal solutions were attained, the maximum percentagegap is quite small at less than 1%, and these solutions were obtained by ourTSFSO at significantly less computational time versus Gurobi. This furtherconfirms that TSFSO can be used as an effective practical optimization methodfor solving floor space optimization problems without relying on commercialproprietary solvers such as Gurobi. It should be noted that our TSFSO wasimplemented in Python, which is generally considered slower in computationalspeed as compared to the C language that Gurobi was implemented on.19ext, we run experiments on our TSFSO to determine the effects of the threedifferent initial solution rules described in Section 3.1. We denote the TSFSOusing the least length rule, the highest revenue rule, and the balanced ruleas TSFSO-LL, TSFSO-HR, and TSFSO-1200, respectively. All such TSFSOvariants use 1200 iterations which offers sufficient time to improve the solutionquality using tabu search.Table 4: Comparison of Initial Solution Rules
RUN OPTNUM AVGGAP(%) MAXGAP(%) CPUTM
TSFSO-LL 39 0.22 0.91 310TSFSO-HR 26 0.33 1.40 314TSFSO-1200 100 0.00 0.00 312The results in Table 4 clearly shows that TSFSO with different initial solu-tion rules can find very high quality solutions for FSO. Compared to the optimal(or def acto optimal) solutions, the TSFSO using the balanced rules for gener-ating initial solutions yields all optimal solutions for all cases, and the one usingthe least length rule for initial solutions obtains 39 optimal solutions out of 100cases. The TSFSO using the highest revenue rule based initial solutions lagsbehind by obtaining 26 optimal solutions; however, the worst solution is only1 .
4% away from optimality (on average it is 0.33%), indicating it can producereliable high quality solutions for practical applications.By carefully monitoring and comparing the search progress, we cannot con-clude that the computation time is significantly sensitive to the choice of initialsolution method. No matter which initial solution method is adapter, the TS-FSO beats Gurobi by an obvious edge in computation time.We use TSFSO-1200 as a basis for examining the effects of using multipleneighborhoods in TSFSO by comparing to the tests from those using a singletype of neighborhood for Level 1, Level 2, Level 3, Level 4 and Level 5 moves,denoting these tests by TSFSO-1, TSFSO-2, TSFSO-3, TSFSO-4 and TSFSO-5in Table 5. We also design a new test, designated TSFSO-NC, that deactivatesthe learning-based candidate list in TSFSO-1200. In addition to the valuesOPTNUM, AVGGAP, MAXGAP and CPUTM reported in the previous table,we also show in the column INFNUM the number of cases in which the runsfail to find a feasible solution when the algorithm terminated.It is obvious in Table 5 that the TSFSO version that uses multiple neighbor-hoods performs better than the versions equipped with a single type of neighbor-hood. None of the single neighborhood versions can compete with TSFSO-1200in terms of the number of optimal/feasible solution obtained. As shown, theLevel 1 neighborhood move is the fastest but is able to obtain feasible solutionsonly for 54 cases. Moreover, it yields not a single optimal solution, and theaverage optimality gap of 3 . RUN OPTNUM INFNUM AVGGAP(%) ∗ MAXGAP(%) ∗ CPUTM
TSFSO-1200 100 0 0.00 0.00 312TSFSO-1 0 46 3.25 19.20 4TSFSO-2 0 100 N/A N/A 109TSFSO-3 0 100 N/A N/A 743TSFSO-4 0 25 1.81 19.40 99TSFSO-5 0 100 N/A N/A 8,272TSFSO-NC 91 0 0.02 0.48 2,731 ∗ applies to feasible cases onlythe feasible solutions obtained. The Level 2, 3 and 5 neighborhood moves, eachof which changes more than one assignment for one or two PWs, can hardlyfind feasible solutions by solely relying on their own effort. This confirms thateach type of move has its own unique merits and disadvantages for handlingspecial problem structures. In combination, they complement each other tofind superior solutions, as shown in our baseline TSFSO-1200 version.Surprisingly, the high level Level 4 neighborhood moves perform slightlyfaster than the lower level Level 2 moves. We attribute this mainly to the factthat the Level 4 moves enable the algorithm to reach a feasible local optimalsolution quickly in 75 cases. In each iteration, it may move to the first improvingbest solution without examining the whole neighborhood space. In contrast, theLevel 2 move version struggles to achieve feasibility, so it consequently searchesthe entire neighborhood space at each iteration, and finally terminates withoutfinding a feasible solution.The findings from the comparisons between TSFSO-1200 and TSFSO-NCalso confirm that the learning-based candidate list strategy can effectively im-prove efficiency using only 11 .
4% of the computation time required by the ver-sion without learning-based candidate list strategy (312 seconds versus 2,731seconds). It is also interesting to note that the full neighborhood search per-formed in TSFSO-NC does not always yield optimal solutions, though in the 9cases it obtained solutions with exceedingly small optimality gaps.Next, we examine the effects of tabu memory in TSFSO. We again useTSFSO-1200 as the base case and obtain varying cases to experiment as follows:(a) no tabu memory is applied; (b) all tabu tenures are set to 4; (c) all tabutenures are set to 7; (d)
T L = T H = (max { , | I k | / } + min { , | I k | / } ) / RUN OPTNUM AVGGAP(%) MAXGAP(%) CPUTM
TSFSO-1200 100 0 0 312TSFSO-a 0 0.87 2.5 458TSFSO-b 16 0.39 1.5 377TSFSO-c 32 0.25 1.05 339TSFSO-d 47 0.0.21 1.93 324removed (TSFSO-a), the algorithm fails to obtain any optimal solutions in anyof the 100 cases. Upon implementing various tabu memory methods (TSFSO-b, TSFSO-c, TSFSO-d), the number of optimal solutions improved and theoptimality gaps diminished for non-optimal cases. This demonstrates the valueof tabu memory for improving an already good multiple neighborhood proce-dure by providing the ability to escape from strong locally optimal solutions.The baseline version of our algorithm (TSFSO-1200) which determines the tabutenure as indicated in Section 4.2 clearly outperforms the others.In addition, based on the results shown in Table 6, tabu memory not onlyplays critical role in obtaining optimal or near optimal solutions, but also help-ful in improving the efficiency with reduced computational time. This findingis consistent with our observation that those TSFSO variants without tabumemory or with simple implementation of tabu memory intend to use morecomplicated and time consuming neighborhood move types (i.e., type 3 or type5 moves), since they may encounter search impasse more frequently. An ap-propriate design of tabu memory is one of the key factors for practical FSOapplications that requires obtaining high quality solutions within reasonableamount of computing time.Finally, we demonstrate an example of the search progression of TSFSO fora selected run from our practical implementation in Figure 7. In this figure,the top and bottom charts show the value of the objective function f ( x ) as wellas the sum of the length constraint violations of the move performed at eachiteration. (A zero violation indicates a feasible solution). The horizontal axisrepresents the iteration number, and the values of the vertical axis ( f ( x ) andviolations) are transformed and re-scaled artificially (without loss of trends) forbetter illustrative purposes. Note the maximum number of iterations T is setto 350 in this run.Figure 7 demonstrates that the TSFSO can rapidly improve solution qualityafter starting from an initial solution with a large feasibility violation. With thehelp of the large penalty, the solution becomes feasible at 103 rd iteration, andcontinues to improve via the multiple neighborhood moves. A locally optimalsolution is obtained at the 233 rd iteration. Then the search continues, escapingthe local optimum with the assistance of tabu memory. The search falls into aninfeasible region at the 254 th iteration, and moves back into a feasible region at22igure 7: A Search Progress Examplethe 258 th iteration. The algorithm finds two new best solutions at the 278 th and301 st iterations, and then again enters an infeasible region between iterations333 and 340. No new best solutions were found throughout the remainder ofthe search, which terminated at the 350 th iteration. We studied the floor space optimization problem arising in retail store revenuemanagement by providing a mathematical formulation, conducting a review ofrelevant research and proposing a new solution approach based on tabu search.Our tabu search algorithm contains several innovative components, includinga scenario-based controller for combining the multiple neighborhoods, and acandidate list strategy that utilizes learning based on statistics collected fromprior search history.We applied our TSFSO on 100 test problems that combined the practicalconfiguration from real world applications as well as results from computationalstudies in literature. We reported results demonstrating that our method ishighly effective and efficient in handling the test problems. Analysis of theexperiment results further confirms the value of our scenario-based controllerand our learning-based candidate list strategy. The use of the TSFSO in apractical application to a grocery chain improved its predicted annual revenueby around 1%, which amounts to approximately 80 million Euros.23uture research work will continue in two directions: model improvementand algorithm improvement. First, we plan to enrich the space-effect and opti-mization models by considering planogram orientations, relative positions andlayout. Mowrey et al. (2018, 2019) studied the impact of layout and orientationof racks in a store on customer’s navigation and exposure which provide guid-ance on how to allocate planograms in a store to maximize revenue. Becausespace is relatively fixed and scarce in a store, the inclusion of these additionalaspects will improve the forecasting from the space-effect model and provideadditional depth to the optimization model. Secondly, we will further improvethe efficacy of TSFSO. Among the improvements envisioned, we plan to intro-duce a self-adaptive penalty function to replace the current reliance on a fixedpenalty value that penalizes feasibility violations. We also plan to study otherpotential improvements such as the analysis of the patterns of moves that provemost effective in order to further improve the search efficiency, the investigationof more advanced mechanisms to control the interplay between intensificationand diversification, and the exploration of path relinking strategies to constructand exploit search trajectories between good solutions.
Acknowledgements
The authors thank Professor Fred Glover for reviewing an early draft of thispaper and providing helpful comments. The authors also thank the editor andtwo anonymous reviewers for their detailed and helpful comments.
References
Agatz, N., Campbell, A. M., Fleischmann, M., Van Nunen, J. & Savelsbergh, M.(2013), ‘Revenue management opportunities for internet retailers’,
Journal ofRevenue and Pricing Management (2), 128–138.Aviv, Y. & Pazgal, A. (2005), ‘A partially observed markov decision process fordynamic pricing’, Management science (9), 1400–1416.Aviv, Y. & Pazgal, A. (2008), ‘Optimal pricing of seasonal products in thepresence of forward-looking consumers’, Manufacturing & service operationsmanagement (3), 339–359.Belavina, E., Girotra, K. & Kabra, A. (2017), ‘Online grocery retail: Revenuemodels and environmental impact’, Management Science (6), 1781–1799.Bianchi-Aguiar, T., Silva, E., Guimar˜aes, L., Carravilla, M. A. & Oliveira, J. F.(2018), ‘Allocating products on shelves under merchandising rules: Multi-levelproduct families with display directions’, Omega , 47–62.Borin, N., Farris, P. W. & Freeland, J. R. (1994), ‘A model for determining retailproduct category assortment and shelf space allocation’, Decision sciences (3), 359–384. 24ultez, A., Naert, P., Gijsbrechts, E. & Abeele, P. V. (1989), ‘Asymmetriccannibalism in retail assortments’, Journal of Retailing (2), 153.Chiang, W.-C., Chen, J. C. & Xu, X. (2007), ‘An overview of research on revenuemanagement: current issues and future research’, International journal ofrevenue management (1), 97–128.Chu, P. C. & Beasley, J. E. (1997), ‘A genetic algorithm for the generalisedassignment problem’, Computers & Operations Research (1), 17–23.Corstjens, M. & Doyle, P. (1981), ‘A model for optimizing retail space alloca-tions’, Management Science (7), 822–833.Coulter, K. S. (2001), ‘Decreasing price sensitivity involving physical productinventory: a yield management application’, Journal of Product & BrandManagement .Curhan, R. C. (1972), ‘The relationship between shelf space and unit sales insupermarkets’,
Journal of Marketing Research (4), 406–412.Desmet, P. & Renaudin, V. (1998), ‘Estimation of product category sales re-sponsiveness to allocated shelf space’, International Journal of Research inMarketing (5), 443–457.Dreze, X., Hoch, S. J. & Purk, M. E. (1994), ‘Shelf management and spaceelasticity’, Journal of retailing (4), 301–326.EHI Retail Institute (2014), Retail data 2014: Structure, key figures and profilesof international retailing, White paper, EHI Retail Institute, Cologne.Eisend, M. (2014), ‘Shelf space elasticity: A meta-analysis’, Journal of Retailing (2), 168–181.Glover, F. & Kochenberger, G. A. (1996), Critical event tabu search for mul-tidimensional knapsack problems, in I. H. Osman & J. P. Kelly, eds, ‘Meta-heuristics’, Springer, pp. 407–427.Glover, F. & Laguna, M. (1997),
Tabu Search , Kluwer Academic Publishers,USA.Glover, F., McMillan, C. & Glover, R. (1984), ‘A heuristic programming ap-proach to the employee scheduling problem and some thoughts on “manage-rial robots”’,
Journal of Operations Management (2), 113–128.Hawtin, M. (2003), ‘The practicalities and benefits of applying revenue man-agement to grocery retailing, and the need for effective business rule manage-ment’, Journal of revenue and pricing management (1), 61–68.Hiremath, C. (2008), New heuristic and metaheuristic approaches applied tothe multiple-choice multidimensional knapsack problem, PhD thesis, WrightState University. 25¨ubner, A. H. & Kuhn, H. (2012), ‘Retail category management: State-of-the-art review of quantitative research and software applications in assortmentand shelf space management’, Omega (2), 199–209.Karp, R. M. (1972), Reducibility among combinatorial problems, in R. E. Miller,J. W. Thatcher & J. D. Bohlinger, eds, ‘Complexity of computer computa-tions’, Springer, pp. 85–103.Kimes, S. E. & Renaghan, L. M. (2011), The role of space in revenue man-agement, in I. Yeoman & U. McMahon-Beattie, eds, ‘Revenue management’,Springer, pp. 17–28.Klein, R., Koch, S., Steinhardt, C. & Strauss, A. K. (2020), ‘A review of revenuemanagement: recent generalizations and advances in industry applications’,
European Journal of Operational Research (2), 397–412.K¨ok, A. G., Fisher, M. L. & Vaidyanathan, R. (2015), Assortment planning:Review of literature and industry practice, in N. Agrawal & S. A. Smith, eds,‘Retail supply chain management’, Springer, pp. 175–236.Lippman, B. W. (2003), ‘Retail revenue management—competitive strategy forgrocery retailers’,
Journal of revenue and pricing management (3), 229–233.Liu, A., Wang, J., Han, G., Wang, S. & Wen, J. (2006), Improved simulatedannealing algorithm solving for 0/1 knapsack problem, in ‘Sixth InternationalConference on Intelligent Systems Design and Applications’, Vol. 2, IEEE,pp. 1159–1164.Lokketangen, A. & Glover, F. (1998), ‘Solving zero-one mixed integer program-ming problems using tabu search’, European journal of operational research (2-3), 624–658.Martello, S., Pisinger, D. & Toth, P. (1999), ‘Dynamic programming and strongbounds for the 0-1 knapsack problem’,
Management Science (3), 414–424.Martello, S. & Toth, P. (1985), ‘Algorithm 632: A program for the 0–1 multipleknapsack problem’, ACM Transactions on Mathematical Software (TOMS) (2), 135–140.Martello, S. & Toth, P. (1997), ‘Upper bounds and algorithms for hard 0-1knapsack problems’, Operations Research (5), 768–778.Martello, S. & Toth, P. (2003), ‘An exact algorithm for the two-constraint 0–1knapsack problem’, Operations Research (5), 826–835.Mladenovi´c, N. & Hansen, P. (1997), ‘Variable neighborhood search’, Computers& operations research (11), 1097–1100.Mowrey, C. H., Parikh, P. J. & Gue, K. R. (2018), ‘A model to optimize rack lay-out in a retail store’, European Journal of Operational Research (3), 1100–1112. 26owrey, C. H., Parikh, P. J. & Gue, K. R. (2019), ‘The impact of rack lay-out on visual experience in a retail store’,
INFOR: Information Systems andOperational Research (1), 75–98.Phillips, R. L. (2005), Pricing and revenue optimization , Stanford UniversityPress.Pisinger, D. (1995), ‘A minimal algorithm for the multiple-choice knapsack prob-lem’,
European Journal of Operational Research (2), 394–410.Pisinger, D. (1997), ‘A minimal algorithm for the 0-1 knapsack problem’, Op-erations Research (5), 758–767.Pisinger, D. (1999 a ), ‘Core problems in knapsack algorithms’, Operations Re-search (4), 570–575.Pisinger, D. (1999 b ), ‘An exact algorithm for large multiple knapsack problems’, European Journal of Operational Research (3), 528–541.Pisinger, D. (2005), ‘Where are the hard knapsack problems?’,
Computers &Operations Research (9), 2271–2284.Raidl, G. R. (1998), An improved genetic algorithm for the multiconstrained 0-1knapsack problem, in ‘1998 IEEE International Conference on EvolutionaryComputation Proceedings. IEEE World Congress on Computational Intelli-gence (Cat. No. 98TH8360)’, IEEE, pp. 207–211.Shi, H. (2006), Solution to 0/1 knapsack problem based on improved ant colonyalgorithm, in ‘2006 IEEE International Conference on Information Acquisi-tion’, IEEE, pp. 1062–1066.Talluri, K. T. & Van Ryzin, G. J. (2006), The theory and practice of revenuemanagement , Vol. 68, Springer Science & Business Media.Xu, J., Chiu, S. Y. & Glover, F. (1996), ‘Using tabu search to solve the steinertree-star problem in telecommunications network design’,
TelecommunicationSystems (1), 117–125.Xu, J., Chiu, S. Y. & Glover, F. (1998), ‘Fine-tuning a tabu search algorithmwith statistical tests’, International Transactions in Operational Research (3), 233–244.Xu, J. & Kelly, J. P. (1996), ‘A network flow-based tabu search heuristic for thevehicle routing problem’, Transportation Science (4), 379–393.Zou, D., Gao, L., Li, S. & Wu, J. (2011), ‘Solving 0–1 knapsack problem by anovel global harmony search algorithm’, Applied Soft Computing11