You are on page 1of 12

OPTIMIZATION AND BALANCE OF MALL STORES' WINDOWS CLEANING ROUTES USING SIMULATED ANNEALING

Thassyo G. Pereira a and Yvelyne I. Santos b

a Laboratory of Logistics, Centre of Thechnology and Natural Sciences, Pará State University, Tv. Dr. Enéas Pinheiro, 2626, Marco, 66095-015, Belém, PA, Brazil, http://paginas.uepa.br/engprod

b Department of Industrial Engineering, Centre of Thechnology and Natural Sciences, Pará State University, Tv. Dr. Enéas Pinheiro, 2626, Marco, 66095-015, Belém, PA, Brazil,

http://paginas.uepa.br/engprod

Keywords: Vehicle Routing Problem, Simulated Annealing, Stores' Windows Cleaning.

Abstract. The cleaning operations of stores' windows is an important support activity to the commercial sector. In the city of Belém of Pará, many stores chose to outsource this activity, mainly to the company studied in this paper. In the malls, the scenario in which the window cleaning operations are performed can be seen as the Vehicle Routing Problem: the cleaning staff are the vehicles, the time window given by the mall administration to the operations is the capacity, and the window's perimeter are the demands to be covered. In this paper, we collect the actual routes of the cleaning staff in one of the three malls in which the company is present, and apply the Simulated Annealing metaheuristic to reduce the distance traveled by the cleaning staff and improve the workload balance among them. The results of the algorithm reduced in 35% the average traveled distance and improved in 93,84% the workload balance.

1

INTRODUCTION

Service business is a central economic activity for any post-industrial society, the development of this sector is a natural process to reach such a phase (Fitzsimmons and Fitzsimmons, 2004). In the last few decades, service-related activities suffered an remarkable increase, if compared to other economic sectors (Normann, 2002), gaining the attention of operations management researchers since the 1970's (Corrêa, 2003). In Brazil, 60% of all income generation is related to the service and commerce sector

(Corrêa, 2003). Specifically in the State of Pará, where our study takes place, an increase occurred in the number of cities with service-based economics, summing 125 in 2007, against

  • 9 cities agribusiness-based and 9 with industrial economic base (Pará, 2007). As the capital,

Belém holds most of the service activities of the State (Pará, 2007), with approximately 71% of its 2007's Gross Domestic Product (GNP) derived from the service and commerce sector (Brazil, 2007). The strong presence of the commercial activity is shown by the great amount of clothing and accessories stores, many of which are concentrated in the three Malls of the city and in streets devoted almost exclusively to commercial activities. An important support activity to the city's commercial sector is the cleaning of the stores' windows, because the windows are an important mean of marketing, publicity (propaganda

and discount adhesives are placed on they), display (they allow the costumers to quickly browse the products that are inside the store), and as a measurement of the general level of the apparency and cleanness of the store, causing impact on the service level expected by the costumer, giving that they are responsible, in most cases, for the first impression that the costumer gets of the store. Thanks to the dynamic routine of the stores, the window cleaning operations have to meet a given time window, what makes it similar to the Vehicle Routing Problem (VRP), in which the cleaning workers staff are the vehicles, the time window is their capacity, the stores are the costumers, and the windows' perimeters are the demands to be covered. It must be pointed, though, one distinguish characteristic of the window cleaning routing: the human factor, in a way that the simple minimization of the total traveled distance is not enough, being also necessary to level the workload distribution among the cleaning workers, since they hold the same job level and are paid equally. This vehicle routing problem variation has not received much attention in the literature, being studied separately by few authors. Our study applies the Simulated Annealing metaheuristic (SA) with problem-oriented modifications to perform the routing of the window cleaning operations of one company present in Belém city. By doing that, we aim at not only to improve the company competitiveness, but also contribute to the problem's literature with a novel solution technique. The paper remainder of the paper organized as follows. The VRP formulation is described in Section 2, where we also make an literature review about the specific VRP variation under study (Section 2.1). The mechanism of SA is described in Section 3. Section 4 presents the actual state of the cleaning operations along with the input data used in Section 5, which presents the conditions and computational results of the developed algorithm. Finally, Section

  • 6 concludes the paper with reflections on the obtained results and suggestions for future works.

  • 2 THE VEHICLE ROUTING PROBLEM

The VRP was first introduced by Dantzig and Ramster (1959) and consists in determining the optimal set of routes for one fleet of “vehicles” to serve a given number of “costumers” with known locations and demands. Thanks to the large number of possible applications, an equally large number of objectives and constraints may arise (Christofides, Mingozzi, and

Toth, 1979). Common constraints are: the vehicle's capacity, time windows, limits on the driver's working time, limits on the distance traveled by the vehicles, multiple depots, heterogeneous fleet, possibility of both pick-up and delivery in the same route, etc. According to Garey and Johnson (1979), the VRP (a generalization of the Traveling Salesman Problem, TSP) is NP-Complete, being hardly solved to optimality, causing many researchers to develop heuristics approaches to the problem, creating an extensive literature on the topic. A broad review on these approaches can be found at Toth and Vigo (2002). Mathematically, the classical VRP is defined as a complete weighted graph G = (V, A, d), where the set of nodes is represented by V = {v 0 , v 1 , v 2 , v 3 , …, v n } and A = {(v i , v j ) : i ≠ j} is the set of arcs. The central depot, where all the vehicles start their routes, is represented as v 0 and the other nodes in V are the costumers. The distance between the costumers v i and v j is the non-negative weight d ij , associated with the arc (v i , v j ). The costumer v i is associated with the non-negative values q i e δ i that represent, respectively, the demand and the service time (q 0 = 0, δ 0 = 0) that must be covered by a vehicle with capacity C, driving a distance not superior to L (including service times).

2.1 The vehicle routing and balancing problem

As we mentioned, the vehicle routing problem in which the balance is also necessary has not received much attention in the literature. Thanks to that, a handful of authors have separately studied it under different names, such as “balanced cargo vehicle routing problem” (Kritikos and Ioannou, 2010), “vehicle routing problem with load-balancing” (Lee and Ueng, 1999), and “vehicle routing problem with route balancing” (Jozefowiez, Semet, and Talbi, 2009).

Despite the lack of attention, the variety of names is also a result of two different targets for the balancing: (i) the route lengths, and (ii) the cargo load of the vehicles. In this sense, we will refer to the problem as the vehicle routing and balancing problem (VRBP) as a broad category that branches into:

1)

the vehicle routing and length balancing problem (VRLBP)

2)

the vehicle routing and cargo balancing problem (VRCBP)

As we will model the problem in Section 5, it will fit in both categories, being reasonable to classify it as the broad VRBP type.

  • 3 SIMULATED ANNEALING METAHEURISTIC

The SA metaheuristic was originally proposed by Kirkpatrick, Gelatt, and Vecchi (1983) based on techniques from the Statistical Mechanics. SA uses the procedure of Metropolis et al. (1953), which simulates a set of atoms in equilibrium in a certain temperature, using the Monte Carlo method for multidimensional numerical integration. Using the objective function to represent the system's energy and a set of parameters to represent the configurations, Kirkpatrick, Gelatt, and Vecchi (1983) demonstrated that it is possible to apply the procedure of Metropolis et al. (1953) to generate a population of different configurations to a given optimization problem in a effective temperature, which is a simple a control parameter with the same measurement unit as the objective function. The SA proposed by Kirkpatrick, Gelatt, and Vecchi (1983) consists in, first, “melt” the system to be optimized in a high enough temperature, and then slowly low the temperature, phase by phase, until the moment at which the system freezes (when no more changes occur). In every temperature, the simulation must happen until the system reaches a stable state. The sequence of temperatures and the number of tested rearrangements to reach the equilibrium can be considered as a process of annealing. They recognized the need of three “ingredients” for the algorithm: a good problem description; a generator or rearrangements in the system; a quantitative objective function, representing the compensations that must be made; a cooling

schedule for the temperature and a time span in which the system must evolve.

  • 3.1 Detailing and pseudocode of the algorithm

The algorithm reads the control parameters related to initial temperature (T 0 ), cooling rate (α) and number of iterations (n), and generates some initial solution s 0 (process described in Section 3.2). Then, starts its loops: (1) External while loop, controlled by the temperature, evolves until the temperature reaches zero; (2) Internal while loop, controlled by the number of iterations. One internal loop is performed at each iteration of the external loop. At each iteration of the internal loop, the generator or rearrangements defines one neighbor (s v ) (procedure demonstrated in Section 3.3) of the current solution (s). If the evaluation function f(s v ) of the neighbor is better than f(s), s v is accepted as the current solution. If it is also better than the best solution (s*), s v is accepted as the system's solution. If it is not better than s, it might be accepted as the current solution s with e -ΔE/T probability (for minimization of f and e ΔE/T for maximization of f), where e is the Euler's number, ΔE = f(s v ) – f(s) represents the variation in the evaluation function's value given by the neighbor, and T is a control parameter in the same unit as f, called temperature and that decays at each iteration of the external loop at a rate of α, non-dimensional parameter called cooling rate. The external loop runs until the freezing, phase in which T reachs zero (a very small user defined number). The best result of the evaluation function f found during the algorithm's progress (s*) is taken as the system's heuristic solution. The pseudocode for the algorithm is shown at Fig. 1.

schedule for the temperature and a time span in which the system must evolve. 3.1 Detailing

Figure 1: SA's pseudocode

3.2

Initial solution generation

For the generation of the initial solution (“generate_greedy_solution()”), the nearest neighbor based heuristic (NNBH) proposed by Tavakkoli-Moghaddam, Safaei, and Gholipour (2006) will be used. It is a constructive process that initiates the route r of one vehicle at a random point, moving to the nearest neighbors until that there are no more points left in the list of remaining points (V remaining ) or its capacity C used is reached, when the route of one new vehicle is started in a new random point, repeating the process. The algorithm terminates returning the set of constructed routes (s 0 ), its pseudocode is shown at Fig. 2.

3.2 Initial solution generation For the generation of the initial solution (“generate_greedy_solution()”), the nearest neighbor based

Figure 2: NNBH's pseudocode

  • 3.3 Mechanism for neighbor generation

Osman (1993), pioneer in the application of SA to solve VRP, created two generator

mechanisms based on the λ-opt of Lin (1965), to which he called λ-interchange. Taking λ = 1, the two possible moves to be performed in two different routes are:

1)

A shift process: one point is shifted from one route to another.

2)

An interchange process: one point from one route is exchanged with one point of another route.

The procedure “generate_neighbor(s)” chooses randomly between 1) and 2), performs the operation in s and returns s v .

  • 4 CASE STUDY

The studied company has been on the market for more than 10 years, performing cleaning services of commercial windows, floors and fronts, as well as sales representation of cleaning

supplies in the city of Belém, Pará State. The window cleaning staff is composed of 6 employees, divided among the three malls of the city, commercial streets, and companies with independent establishments. There are about 260 window cleaning contracts, being this activity the company's main source of revenue. The cleaning staff is divided as 3, 2, and 1 workers in the so called Mall A, Mall B, and Mall C, respectively. After the cleaning of the Malls A and B, the workers are drove to the stores of the near commercial streets.

  • 4.1 Clients

The Malls can be seen as “condos of stores”, to obtain space in one of them it is necessary to buy a “property”, to pay a fee similar to a condo fee, and to obey the rules of the Mall Management. Among those rules, there are the establishment of common promotion periods, common opening period, and the mandatory maintenance of a good general appearance, mainly a clean window, what makes many store owners outsource this service. To fail to obey any rules means the payment of fines. The stores of commercial streets have a similar institutional environment, existing stores owners associations acting in a similar way as the malls administrations.

  • 4.2 Window cleaning environment

The malls open from 10:00 to 22:00 hours, the mall management establishes the time between 6:00 and 9:45 hours for activities like stock replenishment, organization and cleaning. This time is also used by the management for the maintenance of the mall's common spaces. The commercial streets are open at the same period, but the stores owners associations does not establishes specific periods for the stores' support activities, which usually occur during the opened period. It can be seen that, in the cleaning operations of the malls, the studied company has a time window of 3:45 hours, and that the violation is subjected to fines, what does not occur with the stores outside the malls. The company establishes that the working journey of the employees must start at 06:30, with a 15-minute tolerance. It is important to point that the window cleaning contracts stipulates not only a daily external cleaning, but also a monthly internal cleaning. The latter takes longer, given the need to move the dummies and other items leaned in the window, what makes the cleaning staff finish all the external cleanings first, and then move to the internal cleanings. It will be considered that the external cleanings must finish at 08:45. The time window between 06:45 and 08:45 is 2 hours, or 7,200 seconds.

  • 4.3 Current state of the cleaning operations and input data

There is no prior defined route for the external cleaning, causing the workers to waste a lot of time moving from one store to another instead of actually cleaning. To measure the potential productivity of the cleaners, a time and motion study was performed with them, obtaining a standard time of 39.28 seconds per meter of window perimeter and a 1 m/s walking speed was considered. These numbers allow us to express the worker's capacity in means of time, which, for malls, will be considered as 7,200 seconds, as discussed in Section

4.2.

Therefore, this problem will fit in both the categories we defined in Section 2.1, given that we transformed cargo and route length into the same measurement unit. So, it can be classified as a broad VRBP type. Table 1 presents the localization of the Mall A's stores ( “Fl” means floor, “Ug” represents the underground floor, and “X” and “Y” are the Cartesian coordinates, in meters) and its perimeters (“P”, in meters), “0” means the entrance/exit, considered as the depot. The distance

between two stores will be considered as the euclidean distance multiplied by a circuit factor of k = 1.2, common in the literature. In the case of change of floors, it will be used the stairs that offer the shortest distance (Table 2), considering 6 meters per floor as the traveled distance in the stair. It must be pointed the special case of the stores 8 to 10, that represent only one store that has been divided into 3 because the workers currently do so and are not willing to change that, given the size of the store.

Table 1: Data of the stores of the Mall A

Fl

Store

X

Y

P

Fl

Store

X

Y

P

Fl

Store

X

Y

P

Ug

0

 
  • 52.62 st

97.87

0

   
  • 115.86 rd

  • 1 3

    • 30 2.89

47.90

   

60

87.65

49.55

9.13

Ug

1

 
  • 44.78 7.00

    • 109.03 st

     
  • 111.86 rd

  • 1 3

    • 31 6.80

48.77

   

61

80.95

51.95

5.97

Ug

2

 
  • 46.94 8.23

    • 101.46 st

     
  • 106.77 rd

  • 1 3

    • 32 3.01

49.86

   

62

69.85

52.55

4.15

Ug

3

 
  • 49.62 st

96.26

3.23

   
  • 95.60 rd

  • 1 3

    • 33 2.60

37.28

   

63

63.79

59.71

8.13

Ug

4

 
  • 49.42 st

93.32

2.91

   
  • 94.23 rd

  • 1 3

    • 34 5.89

29.76

   

64

57.64

66.08

8.31

Ug

5

 
  • 60.76 nd

84.05

5.81

   
  • 90.01 rd

  • 2 3

    • 35 7.16

39.10

   

65

68.16

63.35

5.99

Ug

6

 
  • 75.01 nd

88.03

5.10

   
  • 81.93 rd

  • 2 3

    • 36 3.29

51.72

   

66

74.54

63.18

5.93

  • 1 st

7

 
  • 85.68 nd

11.44

2.76

   
  • 79.11 rd

  • 2 3

    • 37 2.68

51.69

   

67

94.05

63.32

2.96

  • 1 st

8

 
  • 86.75 nd

17.37

5.00

   
  • 76.23 rd

  • 2 3

    • 38 2.89

51.71

   

68

105.01

58.41

5.08

  • 1 st

9

 
  • 86.75 nd

17.37

5.00

   
  • 64.74 rd

  • 2 3

    • 39 9.89

59.99

   

69

109.73

57.52

4.24

  • 1 st

10

 
  • 86.75 nd

17.37

5.00

   
  • 57.44 rd

  • 2 3

    • 40 3.50

74.26

   

70

113.73

57.52

3.38

  • 1 st

11

 
  • 90.81 nd

45.34

2.74

   
  • 65.27 rd

  • 2 3

    • 41 4.19

67.87

   

71

117.43

57.52

4.03

  • 1 st

12

 
  • 88.62 nd

50.95

9.84

   
  • 68.12 rd

  • 2 3

    • 42 6.41

63.82

   

72

121.94

57.52

4.32

  • 1 st

13

 
  • 83.02 nd

55.17

4.17

   
  • 88.79 rd

  • 2 3

    • 43 4.39

42.65

   

73

128.65

57.52

5.89

  • 1 st

14

 
  • 75.12 nd

53.19

5.89

   
  • 96.85 rd

  • 2 3

    • 44 2.88

62.93

   

74

137.78

57.52

4.10

  • 1 st

15

 
  • 64.56 nd

60.74

9.11

   
  • 99.97 rd

  • 2 3

    • 45 3.53

62.72

   

75

141.23

57.52

2.63

  • 1 st

16

 
  • 57.65 nd

77.45

8.41

   
  • 108.89 rd

  • 2 3

    • 46 2.99

56.96

   

76

140.80

46.24

6.13

  • 1 st

17

 
  • 60.91 nd

74.36

4.13

   
  • 127.43 rd

  • 2 3

    • 47 4.40

57.05

   

77

134.83

46.24

5.89

  • 1 st

18

 
  • 64.10 nd

71.38

4.36

   
  • 125.71 rd

  • 2 3

    • 48 5.89

46.28

   

78

127.37

46.24

2.89

  • 1 st

19

 
  • 66.80 nd

66.00

10.51

   
  • 121.27 rd

  • 2 3

    • 49 2.90

46.28

   

79

124.41

46.24

2.89

  • 1 st

20

 
  • 75.00 nd

63.56

6.00

   
  • 118.26 rd

  • 2 3

    • 50 2.87

46.28

   

80

121.35

46.24

2.89

  • 1 st

21

 
  • 103.06 nd

58.13

3.41

   
  • 115.28 rd

  • 2 3

    • 51 2.93

46.28

   

81

118.36

46.24

2.89

  • 1 st

22

 
  • 106.20 nd

55.86

3.83

   
  • 105.98 rd

  • 2 3

    • 52 3.13

46.29

   

82

109.34

46.24

2.83

  • 1 st

23

 
  • 117.31 nd

58.42

5.89

   
  • 92.75 rd

  • 2 3

    • 53 2.88

27.11

   

83

103.17

46.24

2.70

  • 1 st

24

 
  • 122.54 nd

58.61

4.28

   
  • 91.93 rd

  • 2 3

    • 54 6.08

23.31

   

84

97.04

44.57

10.6

  • 1 st

25

 
  • 128.27 nd

58.81

4.50

   
  • 2 3

    • 55 7.00

108.24

51.67

 

rd

85

94.06

33.27

2.89

  • 1 st

26

 
  • 127.89 rd

48.26

2.89

   
  • 87.82 rd

  • 3 3

    • 56 7.11

28.94

   

86

92.76

27.33

2.89

  • 1 st

27

 
  • 124.91 rd

48.17

2.88

   
  • 88.94 rd

  • 3 3

    • 57 2.92

34.29

   

87

111.59

51.68

1.99

  • 1 st

28

 
  • 121.89 rd

48.08

2.89

   
  • 89.72 rd

  • 3 3

    • 58 4.41

37.79

           
  • 1 st

29

 
  • 119.07 rd

48.00

2.85

   
  • 90.23 rd

  • 3 3

    • 59 2.82

41.76

           
 

Table 2: Data of the stairs of the Mall A

 
 

Axis

 

Stair 1

 

Stair 2

 

Stair 3

 

Stair 4

 

Stair 5

 

X

 

58.71

 

72.13

 

98.42

 

114.97

 

125.76

 

Y

 

85.91

 

57.84

 

18.04

 

53.12

 

66.99

The previous methodology was used to obtain the current state of the operations by

collecting 3 routes of the workers during 3 randomly chosen days. Table 3 and the Figs 3 and 4 present that data. It must be pointed that the route is not prior defined, so the worker might travel different routes daily, although it is believe that the operation's general state is well represented by this sample.

Table 3: Current routes

Worker

Route

Ocupation (s)

Traveling

Cleaning

1

0, 64, 65, 66, 67, 69, 70, 71, 72, 73, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 8, 7, 34, 33, 11, 32, 14, 0

5,062

8.11%

91.89%

2

0, 62, 68, 74, 75, 47, 46, 55, 45, 44, 43, 53, 54, 42, 41, 6, 5, 4, 3, 2, 1, 9, 31, 30, 28, 27, 26, 25, 24, 0

5,640

12.86%

87.14%

3

0, 16, 17, 18, 19, 15, 20, 13, 12, 10, 21, 22, 29, 23, 48, 49, 50, 51, 52, 35, 36, 37, 38, 39, 40, 63, 61, 60, 59, 58, 57, 56, 87, 0

7,166

8.40%

91.60%

Mean

-

5,956

9.73%

90.27%

collecting 3 routes of the workers during 3 randomly chosen days. Table 3 and the Figs

Figure 3: Cleaning staff's current occupation

collecting 3 routes of the workers during 3 randomly chosen days. Table 3 and the Figs

Figure 4: Cleaning staff's current routes

Taking a closer look to the data, we can see that an average of 9.73% of the staff's time is

spent in the walking activity, and that there is an unbalance in the workload, with an 29.36%

difference between the most loaded worker and the least loaded.

It can be seen, then, the need to improve the workload balance among the workers, making

it more even, and reduce the time wasted with walking, given that it does not aggregates value

and generates wastes for the company. Being so, the developed routing algorithm must be

capable of solve these two problems.

5 OPTIMIZATION

First of all, it is necessary to state the following:

s = {r 1 , r 2 , r 3 , r 4 , …, r n }: solution for the problem, given by the n r i routes

Ts: standard time for the complete cleaning of 1 meter of window perimeter, given in

seconds per meter.

Vel: worker's walking velocity, in m/s.

k: circuit factor.

space(r i ): total euclidean distance walked in a given route r i , in meters.

perimeter(r i ): sum of the perimeters of all stores in r i , in meters.

ocup(s): total time spent in s for the cleaning of all stores, given by Eq. 1.

ocup(s)=Ts perimeter ( r i ) +

i

ocup(s): mean time spent in all routes of s.

k Vel ∑ i
k
Vel ∑
i

space ( r i )

(1)

MD(s): mean deviation of the spent time in all routes of s, given by Eq. 2.

MD (s)=

1

n

i

ocup(s)TPperimeter ( r i ) + Vel k space ( r i )

(2)

The fact that the number of stores and its perimeters do not change during the algorithm's

run, allow us to see state that, given two solutions s and s', we have the relation of Eq. 3.

i

perimeter ( r i ) = perimeter ( r' i )

i

(3)

In such a way that the difference among s and s' is given only by the total distance walked,

so, in the moment to choose one VRP evaluation function to implement in the SA, we can pick

Eq. 1 in a full or its second part for the minimization of the total amount of work performed.

But it is better to pick the whole equation, because, for each worker, the capacity is expressed

in means of total time, and is subjected to the constraint of the Eq. 4.

Tsperimeter ( r i ) + Vel k space ( r i ) C

i

(4)

Using only Eq. 1, though, does not consider the workload balance among the workers. To

solve this problem, we added to the objective function the measure of dispersion MD(s), which

will be multiplied by an parameter b < 1, aiming to control its impact in the quality of the

solutions. The evaluation function used in our work, then, is shown in Eq. 5.

f (s)=ocup (s)+bMD(s)

(5)

During the SA's generation of neighbors, nothing is constraining the algorithm to reach

unfeasible regions of the solution space, in which the constraint at Eq. 4 is violated. A very

common solution for this problem is the penalization of these violations, making the unfeasible

solutions not likely to be chosen over the iterations. However, the evaluation function in Eq. 5

makes the penalization unnecessary because, naturally, capacity violations will generate an

increase in the mean deviation, followed by a reduction of the solution's quality, acting

similarly to the penalization.

  • 5.1 Computer results

Table 4 presents the computer results of the algorithm. We used T = 0.1, α = 0.95, zero =

  • 10 -30 e b = 0.2, and varied the iterations number as shown, performing 10 runs at each level.

The algorithm was codified in Python language and executed in the Ipython IDE. The

Operational System was the 9.10 version of the Linux distribution Ubuntu. The hardware was

an Intel® CoreTM2 Duo CPU E7300 processor with a 2.66 GHz clock, and 2 GB RAM.

Table 4: Overview of the computer results

Iterations

f mean

f best

f worse

Average run time (seconds)

1

17,622.28

17,485.42

17,745.90

0.57

10

17,421.77

17,303.48

17,552.18

5.62

100

17,373.66

17,286.79

17,501.63

56.36

1,000

17,365.45

17,227.14

17,542.86

553.79

As can be seen, the computer time increases linearly with the number of iterations, without

an equivalent decrease in the evaluation function value. What makes a large number of

iterations unwise.

The new routes to be implemented by the company are the better solution found, with a

17,227.14 seconds evaluation function, detailed in Table 5 and Figures 5, and 6.

Table 5: Optimized routes

Worker

Route

Ocupation (s)

Traveling

Cleaning

1

0, 64, 63, 65, 61, 60, 83, 84, 59, 58, 85, 86, 56, 57, 62, 38, 37, 36, 43, 35, 53, 54, 7, 8, 9, 10, 34, 33, 11, 0

5,724

6.42%

93.58%

2

0, 1, 2, 3, 4, 5, 16, 17, 18, 20, 13, 12, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 47, 48, 49, 50, 51, 52, 55, 22, 21, 0

5,800

5.64%

94.36%

3

0, 19, 15, 14, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 87, 46, 45, 44, 42, 39, 41, 40, 6, 0

5,695

6.91%

93.09%

Mean

-

5,740

6.32%

93.68%

similarly to the penalization. 5.1 Computer results Table 4 presents the computer results of the algorithm.

Figure 5: Cleaning staff's optimized occupation

Figure 6: Cleaning staff's optimized routes Table 5 shows that the algorithm managed to reduce the

Figure 6: Cleaning staff's optimized routes

Table 5 shows that the algorithm managed to reduce the mean time wasted in walk from

9.73% to 6.32%, a 35% improvement, approximately, and increased the time devoted to

cleaning from 90.27% to 93.68%. It reduced the mean workers' occupation in almost 4%,

from 5,956 seconds to 5,740. The workload balanced improved notably, as can be seen in Fig.

5, with a 93.84% improvement in the difference between the most loaded worker and the least

loaded, going from 29.36% to 1.81%.

6 CONCLUSIONS

In our paper, we studied a window cleaning company and its employees' routes in a mall.

The problem was modeled as a vehicle routing problem where, given the human factor

involved, the workload balance also had to be optimized. Those characteristics lead us to

classify the problem as a vehicle routing and balancing problem (term that we coined), which

has been scarcely studied in the literature, mostly using multi-objective approaches.

The current state of the operations shows that, in average, 9.73% of the cleaning staff's time

is wasted in walking activities, with a big unbalance (29.36%) among the greater and the lesser

loaded workers. We developed a Simulated Annealing approach using the Nearest Neighbor

Based Heuristic to generate the initial solution, the lambda interchange as the operator, and an

objective function that considers the balance of the routes. It managed to reduce the walked

distance in 35%, the overall worked time in 4%, and the greater/lesser workload unbalance in

93.84%, which reached a 1.81% level.

As we managed to improve the company's operations and also contributed to the literature

of the VRBP with a novel approach, we must make some considerations to guide future works

and studies on the topic: the utilization of other heuristics methods to solve this VRP variation

(in which may not be cleaver to use constructive heuristics, given that they have an

unbalancing method), and to improve the evaluation function we developed, using a technique

to control the unbalancement other than the parameter b, because it becomes another user-

defined parameter and increases the complexity of the design of the computer tests and its

tuning for applications.

REFERENCES

Brazil. Ministry of Planning, Budget and Management. Brazilian Institute of Geography and

Statistics. Produto Interno Bruto dos Municípios 2007. URL:

<http://www.ibge.gov.br/cidadesat/link.php?uf=pa>; [accessed 05.11.2010].

Christofides, N., Mingozzi, A., Toth, P. The vehicle routing problem. In: Christofides, N. et

al. (eds). Combinatorial optimization. Wiley, 1979.

Corrêa, H. Teoria geral da administração: abordagem histórica da gestão de produção e

operações. Atlas, 2003.

Dantzig, G., Ramster, J. The truck dispatching problem. Management Science, 6:80-91, 1959.

Fitzsimmons, J., and Fitzsimmons, M. Service Management: operations, strategy, and

information technology. McGraw Hill, 2004.

Garey, M., Johnson, D. Computers and Intractability: A Guide to the Theory of NP-

Completeness. Bell Telephone Laboratories: 1979.

Kirkpatrick, S., Gelatt, C., Vecchi, M. Optimization by Simulated Annealing, Science,

220:671-680, 1983.

Kritikos, M., Ioannou, G. The balanced cargo vehicle routing problem with time windows,

International Journal of Production Economics, 123:42-51, 2010.

Jozefowiez, N., Semet, F., Talbi, E. An evolutionary algorithm for the vehicle routing problem

with route balancing, European Journal of Operational Research, 195:761-769.

Lee, T., Ueng, J. A study of vehicle routing problems with load-balancing, International

Journal of Physical Distribution & Logistics, 29:664-658, 1999.

Lin, S. Computer solutions for the traveling salesman problem, The Bell System Technical

Journal, 44:2245-2269, 1965.

Metropolis, N. et al. Equation of State Calculations by Fast Computing Machines, The

Journal of Chemical Physics, 21:1087-1092, 1953.

Normann, R. Service Management: strategy and leadership in service business. John Wiley

and Sons, 2002.

Osman, I. Metastrategy simulated annealing and tabu search algorithms for the vehicle routing

problem, Annals of Operations Research, 41:421-451, 1993.

Pará. Planing State Agency. PIB: Municípios Paraenses 2007. URL:

<http://www.sepof.pa.gov.br/sites/default/files/images/1612-

Resumo_PIB_Municipios_paraenses_2007.pdf>; 2007 [accessed 06.11.2010].

Tavakkoli-Moghaddam, R., Safaei, N., Gholipour, Y. A hybrid simulated annealing for

capacitated vehicle routing problems with the independent route length, Applied

Mathematics and Computation, 176:445-454, 2006.

Toth, P.; Vigo, D. (eds). The vehicle routing problem. CIAM, 2002.