The local search strategy

Một phần của tài liệu Multi objective optimization in traffic signal control (Trang 74 - 79)

A local search strategy is introduced to improve anytime behaviour of the evolutionary algorithm for traffic signal optimization problems. Firstly, this section explains how neighbours are created from a candidate solution and reference solutions. Afterwards, the local search method is provided in the second part of this section.

4.2.1 Creating neighbours of a solution

There are many neighbours surrounding a solution and choosing appropriate neighbours to evaluate is critical in local search strategies. Given a solution R(t)i in j(th) subpop- ulation, R(t)u and R(t)v are two solutions selected from front F1 and F2 sorted from the population using a non-dominated sorting algorithm. The neighbour nb

R(t)i of solution Ri(t) is defined using the following formula:

nbR(t) i

=R(t)i +α∗(R(t)u −R(t)v ) (4.1)

where α is a perturbation index which complies with Gaussian distribution N(à, σ2), whereσ andà are the standard deviation and mean values of the Gaussian probability distribution, respectively. If à is set too large, it would magnify (Ru(t) −R(t)v ) value which would, in turn, affect the convergence of the algorithm. Similarly, ifσ is too big, the value of α will be too big or too small, thus affecting the convergence speed of the search (Chen et al.(2015)). On the other hand, ifσ is set too small, the effectiveness of perturbation would not be observable.

4.2.2 Motivation of the local search method

Suppose that we have two reference solutionsR(t)u andR(t)v , a neighbournb

R(t)i of solution Ri(t) is created using formula 4.1. An example of a neighbour creation is illustrated in Figure 4.1 with α = 0.5. There are two worthwhile conclusions drawn from this neighbour creation as the following:

1. The direction fromR(t)i to its neighbournb

R(t)i is the same with the direction from R(t)v toR(t)u .

2. The distance between R(t)i andnbR(t) i

is proportional to the length of ( ~ R(t)u − ~

R(t)v ) and it also depends on the parameterα.

From the above conclusions, another observation is made. If the following conditions:

1. R(t)u dominatesR(t)v ;

x1

x2

R(t)v

R(t)u

Ri(t) nbR(t)i

Figure 4.1: The neighbour creation: a neighbournbR(t) i

is created from solutionR(t)i based on two other reference solutionsR(t)u andR(t)u using equation 4.1withα= 0.5.

2. R(t)u ,R(t)v , and R(t)i are close enough or they are in the same local area.

are satisfied, the direction from R(t)v to Ru(t) would be the direction from one point to a better point, as a result, neighbour nb

R(t)i would dominate solution R(t)i and the neighbournbR(t)

i

would be closer to a local optimum.

From the above reason, we introduce a new local search method, which can predict a potential search direction to quickly find a superior neighbour. The population is classi- fied into several subpopulations and neighbour is created using candidate and reference solutions in the same subpopulation. Furthermore, the reference solutions are selected from the first and second non-dominated fronts. Therefore, the two conditions men- tioned above are satisfied, and as a result, the neighbour is likely to be better than the original solution. Details of the proposed local search algorithm is introduced in the next section.

4.2.3 The flow of the proposed local search

The pseudo code of this new local search algorithm is illustrated in Algorithm 2 and its procedure is outlined in the following:

Algorithm 2 The pseudo code of the local search algorithm

1: Input: population R(t) including2N solutions.

2: Output:

3: 1. PopulationP(t) including N best solutions.

4: 2. Ltemp containing solutions evaluated by SUMO during the local search pro- cess.

5: Procedure:

6: Ltemp=∅

7: SortingR(t) into a number of different non-dominated fronts Fi,i= 1,2, . . .

8: Cluster R(t) intoJ sub-populations using a k-means algorithm.

9: For j(th) sub-population (j ∈[1, J]):

10: SU P1 =∅,SU P2=∅

11: Ljsub is the length of j(th) sub-population.

12: Fork(th) solution in j(th) sub-population (j∈[1, Ljsub]):

13: If k(th) solution belongs toF1 then

14: SU P1 ← k(th) solution.

15: If k(th) solution belongs toF2 then

16: SU P2 ← k(th) solution.

17: If |SU P1| ≥2 and |SU P1| ≥1 then

18: Select one solution R(t)i belonging toSU P1.

19: Select one solutionR(t)u belonging toSU P1 and one solutionR(t)v inSU P2.

20: Create a neighbour nb

R(t)i of R(t)i using formula 4.1.

21: Assign a fitness value for the neighbour nb

Ri(t).

22: Ltemp ← solutions evaluated by SUMO during the local search.

23: R(t) ←nbR(t)

i

.

24: End For

25: SortingR(t) into different non-dominated fronts Fi, i= 1,2, . . .

26: P(t+1) ← ∅, i←0

27: Until|P(t+1)|+|Fi| ≤N:

28: P(t+1) ←P(t+1)∪Fi 29: i←i+ 1

30: End Until

31: Crowding-sort(Fi, <c)

32: Descending-order-sort(Fi)

33: P(t+1) ←P(t+1)∪Fi[1 : (N − |P(t+1)|)]

34: Return: P(t+1) and Ltemp

Step 1: Classify a populationR(t) to a number of non-dominated frontsFi,i= 1,2, ...

using a non-dominated sorting algorithm.

Step 2: Cluster R(t) into J sub-populations on the decision variable space using a k- means algorithm. This helps determine neighbouring solutions of a particular solution.

Step 3: For each sub-population:

ˆ Step 3.1: Select all solutions which belong to both the current sub-population and frontF1. These selected solutions are then reserved inSU P1.

ˆ Step 3.2: Create a set SU P2, which includes solutions belong to both the current sub-population and frontF2.

ˆ Step 3.3: If there are more than 2 solutions inSU P1, randomly select one solution R(t)i and another individual R(t)u inSU P1.

ˆ Step 3.4: Randomly select one solutionR(t)v inSU P2.

ˆ Step 3.5: Create a neighbournbR(t) i

ofR(t)i using formula 4.1. R(t)u dominatesR(t)v

as R(t)u and R(t)v belong to F1 and F2 respectively. Furthermore, Ri(t), R(t)u , and R(t)v are close together as they are all in the current sub-population. ThusnbR(t) i

is likely to be superior toR(t)i .

ˆ Step 3.6: Assign a fitness value for the new created neighbournb

R(t)i using SUMO.

ˆ Step 3.7: Add nb

R(t)i toR(t).

Step 4: Non-dominated sortR(t) into different fronts Fi, i= 1,2, . . ..

Step 5: Replace the population P(t+1) by N best solutions selected from R(t) using their rank and crowding distance. Return P(t+1) and Ltemp as the output of the local search procedure.

As we can see from the above procedure that the search direction in the proposed local search method is not randomly chosen. A potential direction is selected before starting the searching process, by only selecting R(t)u in front F1 and R(t)v in front F2. As a result, the chance to immediately find out a superior neighbour from the first search would be increased. Moreover, the neighbour nbR(t)

i

is not only compared to R(t)i but also all solutions inR(t) and other neighbours newly created in the local search process.

Consequently, the elitism of the algorithm is conserved and no good solutions are missed once they are found.

Optimization model TraCI SUMO XML files Extract traffic

measurement Traffic Network

O/D matrix for traffic scenario Solution

genotype

Solution

phenotype Output

Solution fitness values

Figure 4.2: The overall optimisation framework of NS-LS.

Một phần của tài liệu Multi objective optimization in traffic signal control (Trang 74 - 79)

Tải bản đầy đủ (PDF)

(187 trang)