A Multiobjective Evolutionary Algorithm for the

0 downloads 0 Views 178KB Size Report
Secondly, no two shops had similar allocations, not only because the ... ferent persons, which could be very confusing for customers visiting different shop.
A Multiobjective Evolutionary Algorithm for the Linear Shelf Space Allocation Problem A.I. Esparcia-Alc´azar1 , A.I. Mart´ınez-Garc´ıa1 , J.M. Albarrac´ın-Guillem2 , M.E. Palmer-Gato2 , J.J. Merelo3 , K.C. Sharman1 , and E. Alfaro-Cid1 1

3

Instituto Tecnol´ogico de Inform´atica Universidad Polit´ecnica de Valencia, Spain {anna,amartinez,ken,evalfaro}@iti.upv.es 2 Departamento de Organizaci´on de Empresas Universidad Polit´ecnica de Valencia, Spain {jmalbarr,marpalga}@doe.upv.es Departamento de Arquitectura y Tecnolog´ıa de Computadores Universidad de Granada, Spain [email protected]

Abstract. This paper presents a multiobjetive approach to solve the Linear Shelf Space Allocation Problem (LiSSAP), which consists on allocating lengths of shelves in a given shop to specific products or groups of products. Previously we gave the first steps towards the development of a commercially viable tool that used evolutionary computation to address the problem; in this paper we introduce MELiSSA, standing for Multiobjective Evolutionary Linear Shelf-Space Allocation, and test it on two real problem configurations, yielding very good results.

1 Introduction The problem of allocating space to a particular product in a shop is typically mapped in the literature to that of deciding which combination of products will yield the maximum profit. In general, the most commonly employed methods try and measure the impact on the customer of the relationship between allocated space and sales [1–3, 8, 9]. The aim is to find the allocation of space that maximises the profit. However, it is possible that this is just an academic pursuit and that in “real life” things are addressed in a different manner. This is the case that we are going to address in this paper, which was presented to us by a well-known Spanish supermarket chain4 . In this company the maximisation of the profit and the actual allocation of products to shelves were solved at different levels. At the management level the optimal (in terms of higher profit) lengths of shelves to allocate to each product were determined. These were called the category standards and 4

We term this Linear Shelf Space Allocation Problem, or LiSSAP, which differs from the ShelfSpace Allocation Problem (SSAP) described in [10] in that we aim to allocate products to lengths of shelves (horizontal allocation) and not to the individual tiers of the shelf (vertical allocation).

the set of category standards that configures a shop was termed the standard shop. At the shop level, the shop planners must take this “ideal” shop configuration (in practice a list of items and lengths of shelves) and transform it into an allocation of shelves to items, in effect adapting the standard shop to the actual space available. Because the size and layout of different premises can vary, the standard shop requirements cannot be fulfilled exactly, so for some categories the allocated shelf length must be increased or decreased with respect to the standard. There are also other constraints for the placing of groups. Firstly, groups can have affinities or adversities between them. Furthermore, some groups must be placed near reference points, such as the oven, the freezer or the checkouts. Finally, groups must be placed together in a cohesive manner: it is preferable to avoid situations in which a group is scattered all over the shop, or with one or two modules isolated in the middle of a shelf. The problem shop planners faced was the lack of suitable tools to perform this task, which meant that the allocation was done by hand. This resulted in several problems. Firstly, the allocation of products was likely to be suboptimal (in ways that we will define below). Secondly, no two shops had similar allocations, not only because the initial shop layout was different5 but also because the allocation was performed by different persons, which could be very confusing for customers visiting different shop. Further, allocation by hand was time consuming (up to several days), which is unacceptable when many shops must be opened at the same time and also when things must be frequently rearranged due to the introduction of new products. In previous work [4, 5, 7, 11] we gave the first steps towards the development of such a tool by employing evolutionary algorithms. Here we take a step further by performing several methodological changes, the first of which regards the objective function: previously we were either using a single aggregative fitness function which encapsulated several objectives (giving different weight to each) [4, 5, 7] or addressed different constraints in sequence [11], via a separate algorithm; here we will employ a multiobjective approach and address all objectives simultaneously, which we consider more suited to the problem at hand. The second change concerns the level of resolution of the problem, which in turn affects the representation (encoding). In our prior approach we assigned products or groups of products to modules (the parts in which shelves are divided). Here we will allocate groups to shelves and aisles; once this is done it is easy to allocate the individual modules to groups, because in general there will at most two different groups per shelf. The paper is laid out as follows: the variables that will be employed in the rest of the paper are described in Section 2. In Section 3 we describe the different aspects that are relevant to the MELiSSA methodology: encoding, fitness functions and operators. Results and analisys thereof are presented in Section 4. Finally, Section 5 summarises the conclusions and lays the lines for further work.

5

We assume that the premises are rented and not built on purpose, which would result in a much easier allocation problem.

2 Modeling the LiSSAP. Given a set of G groups of products, a set of A aisles and a set of S shelves, with S ≥ A. Each aisle ai can contain one or two rows of shelves. Each shelf ∫i , i = 1 . . . S, is part of one and only one aisle ak , k = 1 . . . A, and row (of which there can be one or S P two), and is divided into Mi modules, with M = Mi ≥ G being the total number i=1

of modules in the shop. Let P R be a number of reference points, which can be part of one or more aisles6 . Let D be the P × A matrix of distances between aisles, or distance matrix, whose components di,j represent the distance between aisles ai and aj . Let SS be the matrix that captures the standard shop requirements:    SS =  

std1 min1 max1 std2 min2 max2 .. .. .. . . . stdG minG maxG

    

(1)

where stdi , mini and maxi denote the standard, minimum and maximum number of modules to allocate to the group gi , respectively. We term standard shop size, S, the sum of the elements in the first column7 of SS: S=

G X

stdi

i=1

3 Evolutionary methodology for the LiSSAP In this section we cover the main aspects of the algorithm: the chromosome encoding, the initialisation of the population, the fitness functions and the evolutionary operators.

Encoding. The individuals will consist of two chromosomes: 1. Shelves chromosome. It is represented as a vector of variable length rows, where each row corresponds to a group and the elements of the row are shelf identifiers, indicating the shelves occupied by the group. 2. Modules chromosome. As above, but in this case the elements of the row indicate the number of modules assigned to the group in the corresponding shelf 6

7

These will be modeled as fictitious modules to which we will allocate an equal number of fictitious groups. Note that, in general, the standard shop size S will differ from the actual shop size M , S 6= M .

   Schrom =  

S11 . . . S1n S21 . . . S2m .. .. .. . . . SG1 . . . SGk





  ; 

  Mchrom =  

M11 . . . M1n M21 . . . M2m .. .. .. . . . MG1 . . . MGk

    

(2)

Initialisation of the population. Because we are only considering feasible individuals, the population initialisation method must ensure that the individuals created are valid. An individual is created in two steps. First, we take the shelves in order and while they have empty modules we randomly assign groups to these modules, according to the current number of modules assigned to each group. Next, if any group is below its minimum then it receives modules from other groups that were over their standard, starting with those groups which exceed their standard by a higher value.

Fitness functions. To encapsulate the constraints described before we will define three fitness functions: – Deviation fitness, fs , to capture the standard shop requirements.This function measures how close the allocation of number of modules to the groups is to the standard shop. The objective is to minimise the absolute value of fs , which is given by G

fs = e−k

1 X fs G i=1 i

where k equals the kurtosis of the deviations of all groups8 when this value is less than zero, and is zero otherwise and fsi is the deviation of group i. To obtain the value of fsi we will employ a function as shown in Figure 1. – Affinity fitness, fa , which will represent the affinity requirements between groups. We have captured the affinity requirements in the following expression: fa =

G G X X

ϕ · fai,j

i=1 j=1,j6=i

where G is the total number of groups, fai,j is the affinity fitness between groups i and j and ϕ is a parameter determined by experimentation. The objective of the algorithm is to maximise fa . 8

We employ the kurtosis as a measure of how spread the distribution of deviations is. A high value of kurtosis indicates that all the deviations are around the average value, while a less than zero value indicates a flat distribution. Using this statistic we intend to avoid undesirable situations in which a few groups have a much higher deviation than the rest, as it is preferable that all groups have more or less the same values.

σ σ

Fig. 1. Deviation function for a group gi of given maximum, minimum and standard number of modules. The values of σLo and σHi are determined by experimentation.

The affinity fitness between groups gi and gj , fai,j , is defined as follows, ³ ´α di,j   if gi and gj are adverse  d max    1 if gi and gj are indifferent ´α fai,j = ³ di,j  1 − dmax if gi and gj are affine   ³ ´β    1 − di,j if gi and gj are affine, with one being a reference point dmax where the values of α and β have been determined experimentally, dmax is the maximum distance between aisles and di,j is the distance between groups gi and gj 9 . – Dispersion fitness, fd , expressing the cohesion within a group. The dispersion fitness measures the spread of groups over the shelves and across the whole shop. The function we use for this purpose is : G

fd =

1 X fd G i=1 i

where fdi is the dispersion for group i, calculated as follows: fdi

¶ Si µ ni,∫j − 1 1 X max dSi = 1− · Si j=1 ni − 1 dmax

where Si is the number of shelves occupied by group i, ni,∫j is the number of modules of group i in shelf ∫j , ni is the total number of modules of group i and max dSi is the maximum distance between any two shelves occupied by the group. The objective is to minimise fd . These functions are fully described in [6]. 9

See [6] for a description of how distances are measured

Evolutionary operators. These have been designed to allow only valid individuals. For simplicity reasons we have not defined a crossover operator and will only perform mutation. The following mutation operators were implemented: – give a shelf: the group that occupies less modules in a shelf gives them to any other. The yielding group shall not remain under the minimum, nor the receiving above the maximum. This operator acts on both chromosomes. – swap shelves: two groups exchange all the modules each of them occupies, either in the same shelf or two different shelves. This operator acts on both chromosomes. – give modules: a group gives another a random number of the modules it occupies in a shelf. This operator acts only on the M chromosome. These operators are applied with different probabilities: swap shelves will have a probability of 0.5 and the rest 0.25 each. If the mutation does not change the individual then another one is attempted up to a maximum of ten times. Number of generations Size of population Restart when Size of tournament Size of Pareto front Number of individuals kept for final solution

100 500 50% of individuals are repeated 2 50 5

Table 1. Configuration of evolutionary algorithm

Once the evolutionary run has finished, we have a Pareto front consisting of 50 nondominated solutions. Because we cannot present the user with such a high number we must perform a selection. This will be based on the fact that the deviation fitness must take precedence above the other two.

4 Experiments The data set used to test the algorithm was taken from a well-known Spanish supermarket chain and consists of 8 groups, as shown in Table 2. The difficulty of this problem lies in the fact that the biggest group (G2, Cosmetics and household products), i.e. the one that has a bigger standard value, is also adverse to most other groups. Hence, it is going to be hard for the algorithm to find a location for G2 that is far from nearly all others. In order to test the algorithm two shelf layout configurations were chosen, which we have called Shop M154 and Shop M127RP. Shop 154 consists of 8 aisles, 17 shelves and M = 154 modules. This is greater that the standard shop size given by Table 2, M > S. Shop M127RP consists of 11 aisles, 19 shelves, and 127 modules. Hence, M < S and the shop is smaller than the standard shop. There is also one reference point,

Group #

Description

std min max Affine to Adverse to

1

Food - General

14

11

19

2

Cosmetics and household products

40

34

3

Food - Snacks

7

7

4

Sauces and seasoning products

9

5

Bakery, cereals

6

Baby food and accessories

7 8

3,4,7

2,8

52

-

1,3,4,5,6,7

9

1

2,8

7

11

1,7

2

21

15

28

RP1

2,8

13

8

19

-

2,8

Beverages

17

9

21

1,4

2,8

Pet food and accessories

9

5

11

-

1,3,5,6,7

Ref. point # Description RP1

Oven (N.B. This will only be used for Shop 2) Table 2. Standard shop used in the experiments, with a size S of 130.

the oven, to which group g5 (bakery & cereals) is affine. In both shops the module size is 1m × 0.5m and the aisles between parallel shelves are 3 m wide. We carried out 30 runs for each shop. The first thing that must be pointed out is that execution times are very short, less than half a minute per run for both shops. The best solutions for each shop are given in Tables 3 and 4, where Si is the id of a shelf occupied by a given group and in brackets are the number of modules assigned to the group in that shelf; maximum, rangemax and rangemin indicate that the group is at its maximum number of modules, between the standard and the maximum, or between the standard and minimum number of modules respectively. These solutions are also depicted in Figure 2 . These two solutions have been selected following this rule: first the lowest deviation (in absolute value, i.e. the one closest to 0), then the highest affinity and finally the smallest dispersion. For Shop M154 this corresponds to run 4, whilst for Shop M127RP it corresponds to run 13. In the latter case, however, group G5 does not occupy the shelf closest to the reference point. For this reason we will choose instead the solution obtained in run 5, because its deviation is very similar to that of run 13 and its affinity and dispersion also have similar values. This illustrates the importance of user choice in the selection of the final solution. For Shop M154, group G2 is placed on different aisles to all its adverse groups, except for shelf S4 in which it is next to G1. Also, G8 is in front of G4 in aisle A0. On the other hand, affine groups are occupying close shelves. In this shop it is easy to see that groups (except perhaps G5) are spread all over the shop. In Shop M127RP the algorithm succeeds in placing G5 opposite the reference point. However, the nearest shelf occupied by it is S4, which is two aisles away. Here there is less dispersion than in Shop M154 because more groups are cohesive.

Fig. 2. Best solution obtained for Shop M154 (top) and Shop M127RP (bottom)

G1: G2: G3: G4: G5: G6: G7: G8:

S6(4) S4(4) S9(9) S1(10) S3(4) S2(10) S12(7) S0(10)

S9(3) S15(12) → 19 S7(12) S8(12) S13(12) S14(12) → 52 → 9 → 10 S10(12) S11(12) → 28 S5(4) S12(5) → 19 S16(12) → 19 → 10

modules (maximum) modules (maximum) modules (maximum) modules (rangemax) modules (maximum) modules (maximum) modules (rangemax) modules (rangemax)

fa = 35.60611, fd = 0.31056547, fs = 0.8333333 Table 3. A solution for Shop M154; maximum and rangemax indicate that the group is at its maximum number of modules or between the standard and the maximum number of modules respectively.

G1: G2: G3: G4: G5: G6: G7: G8:

S1(8) S0(8) S11(8) S2(8) S4(8) S7(5) S12(8) S6(5)

S5(5) → 13 S3(8) S13(8) S14(16) S15(6) → 36 → 8 → 8 S10(8) S16(6) → 22 S8(5) S9(5) → 15 S17(6) → 14 S18(6) → 11

modules (rangemin) modules (rangemin) modules (rangemax) modules (rangemin) modules (rangemax) modules (rangemax) modules (rangemin) modules (maximum)

fa = 43.143826, fd = 0.26538268, fs = 0.0 Table 4. A solution for Shop M127RP; maximum, rangemax and rangemin indicate that the group is at its maximum number of modules, between the standard and the maximum, or between the standard and minimum number of modules respectively.

5 Conclusions and future work We have introduced MELiSSA, a multiobjective evolutionary methodology to solve the LiSSAP, which incorporates a new model of the problem, a new encoding of the chromosome and three fitness functions. The latter in particular have proven to be extremely complex to tune and deserve further investigation. We have observed that using the proposed method the groups tend to occupy complete shelves, as long as the size of shelves in the shop allows it. This is very important, since the undesirable situation in which a group is placed in an isolated module in a shelf never arises, which implies an improvement over the results presented in [11]. Regarding the affinities, the algorithm manages to avoid locating two adverse groups on the same shelf, although sometimes they can be placed on same aisle. Further, group 5 (Bakery & cereals) tends to be located in front of the reference point or near it. If a shop size is above the standard, all groups will be at least in their standard and never below it. If a shop is smaller than the standard size, we cannot assure that the distribution of number of modules is uniform. It appears that using the kurtosis as a measure of the deviation spread works well when a shop is big enough and all groups can be over their standard values, because the algorithm will prefer a solution were all groups are in std at least. In the case of a shop size smaller than standard shop size, we cannot avoid that there is a group in max whilst other groups are below std. In summary, it can be said that the proposed method is effective (in providing reasonable solutions) and efficient (by doing so in acceptable timescales). Future work will involve: – Using the centres of gravity of each group to measure the distances for the affinity fitness calculation, – Using a global dispersion function instead of considering separate dispersions for the groups – Considering alternatives to the kurtosis as a measure of deviation

Acknowledgement This work was part of projects NABILA (supported by the Instituto de la Peque˜na y Mediana Industria Valenciana, IMPIVA, Ref. IMCITA/2007/58, and partially funded by the European Regional Development Fund) and NoHNES (Spanish Ministerio de Educaci´on y Ciencia - TIN2007-68083-C02).

References 1. E.E. Anderson and H.N. Amato. A mathematical model for simultaneously determining the optimal brand collection and display area allocation. Operations Research, 22:13–21, 1974. 2. R. Bai and G. Kendall. An investigation of automated planograms using a simulated annealing based hyper-heuristic. In Proceedings of the 5th Metaheuristics International Conference (MIC2003), pages 25–28, August 2003. 3. M. Corstjens and P. Doyle. A model for optimizing retail space allocations. Management Science, 27(7):822–833, 1981. 4. A.I. Esparcia-Alc´azar, L. Lluch-Revert, J.M. Albarrac´ın-Guillem, M.E. Palmer-Gato, and K. Sharman. Towards an evolutionary tool for the allocation of supermarket shelf space. In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO), volume 2, pages 1653–1660, Seattle , USA, 2006. ISBN:1-59593-184-4. 5. A.I. Esparcia-Alc´azar, L. Lluch-Revert, K. Sharman, J.M. Albarrac´ın-Guillem, and M.E. Palmer-Gato. An evolutionary algorithm for the product to shelf allocation problem. In Proceedings of the IEEE Congress on Evolutionary Computation (CEC), pages 10966–10972, Vancouver, Canada, 2006. ISBN: 0-7803-9489-5. 6. A.I. Esparcia-Alc´azar and A.I. Mart´ınez-Garc´ıa. Linear shelf space allocation using a multi objective evolutionary algorithm. Complex Adaptive Systems Group Technical Report ITISAC-027, Instituto Tecnol´ogico de Inform´atica, Universidad Polit´ecnica de Valencia, Spain, April 2008. http://cas.iti.upv.es/reports/iti-sac-027.pdf. 7. Jos´e Miguel Albarrac´ın Guillem, Marta E Palmer Gato, Anna I. Esparcia Alc´azar, and Eugenia Babiloni. Modelizaci´on mediante programaci´on matem´atica del problema de ubicaci´on de productos en estanter´ıas. In Actas del XXX Congreso Nacional de Estad´ıstica e Investigaci´on Operativa y IV Jornadas de Estad´ıstica P´ublica 2007, pages 213–225, Valladolid (Espa˜na), September 2007. ISBN: 978-84-690-7249-3. 8. P. Hansen and H Heinsbroek. Product selection and space allocation in supermarkets. Eur J Oper Res, 3:474–484, 1979. 9. Cunli L., Yiu ming C., and Yuping W. A bi-objective model for shelf space allocation using a hybrid genetic algorithm. In Proceeedings of the International Joint Conference on Neural Networks (IJCNN 2007), pages 2460–2465, 2007. 10. A. Lim, B. Rodrigues, and X. Zhang. Metaheuristics with local search techniques for retail shelf-space optimization. Management Science, 50(1):117–131, 2004. 11. Lidia Lluch-Revert, Anna I. Esparcia-Alc´azar, Jos´e Miguel Albarrac´ın-Guillem, and Marta E Palmer-Gato. A new two-stage approach to solve the linear shelf space allocation problem. In Kay Chen Tan and Jian Xin Xu, editors, Proceedings of the IEEE Congress on Evolutionary Computation, CEC 2007, pages 4475–4482, Singapore, September 2007. IEEE. ISBN: 14244-1340-0.