• No se han encontrado resultados

Selection (RWMS) and Tournament Member Selection (TMS) are equivalent when just one parent solution has to be selected.

5.4

Operators

Two main groups of operators are reviewed in the following sections: Mutation and Crossover. Both of these are described below.

5.4.1 Mutation

The operators introduced here are local search (guided mutation) operators which generate feasible solutions.

All flights which have not been assigned to a sorting station are assigned to the ‘dummy’ sorting station. Some operators can switch flights between the real and dummy sorting stations.

When a sorting station is to be selected, the roulette wheel selection method is used where every sorting station has the same probability of being selected.

When a time has to be determined (for instance for the start or end of a time range) a uniform random variable is used so that any time within the time range of the flights under consideration has an equal probability of being chosen.

Dummy Single Exchange Mutation Operator

The Dummy Single Exchange Mutation Operator (DSEMO) is equivalent to the ‘Apron Exchange Move’ used by Ding et al (2004) and Ding et al (2005). A solution is selected from the population by the member selector (Sm) then a new solution is

built by moving a flight from the ‘dummy’ sorting station from this solution to a randomly selected sorting station, potentially moving another flight back onto the ‘dummy’ sorting station when it can no longer be fitted in.

This operator may increase the number of assignments where the operation does not move a flight back onto the ‘dummy’ sorting station.

It is necessary that some flights be unassigned in the parent solution. So when full assignment has been attained for the given number of BSSs this operator clearly will not provide a new solution.

Dummy Single Move Mutation Operator

In the Dummy Single Move Mutation Operator (DSMMO) a random unallocated flight and initial target sorting station are chosen and an attempt is made to assign

the flight to the selected sorting station. If the assignment cannot be achieved then the next sorting station is selected and the process is repeated until the flight is assigned or no more sorting stations are available, in which case the flight is returned to the ‘dummy’ sorting station. When maximum assignments have been attained for the given number of sorting stations, then this operator obviously will not provide a new solution.

Multi Exchange Mutation Operators

A set of sorting stations is randomly selected within a random time period,trstotre.

All assignments where the base service durations are entirely within the time period are then moved to the next sorting station in the set, as shown in Figure 5.3, provided they fit. This operation is repeated from one sorting station in the set to the next, until they have all been covered. Flights which cannot be moved are added to the set of flights which will be considered for assignment at the end, potentially reducing the number of flights which otherwise would not be assigned. These operators generalise the ‘Interval Exchange Move’ which was presented by Ding et al (2005), and cannot increase the number of assignments.

Figure 5.3: Example of multi exchange between 3 BSSs. Three variants have been developed:

1. Multi Exchange between a Fixed Number of Resources (MEFNRn): The num- ber of sorting stations between which flights are exchanged is fixed atn, where 2≤n≤N.

2. Multi Exchange between a Random Number of Resources (MERNRn): The number of sorting stations between which flights are exchanged is randomly chosen each time, between 2 and n, where 2< n≤N.

5.4. OPERATORS 103

The number of sorting stations between which flights are exchanged is randomly chosen each time, between x andy, where 2≤x < y≤N.

Multi Exchange By Pier Mutation Operators

These operators are a specialised case of the Multi Exchange Mutation Operators, where the sorting station selection element ensures that no two consecutive sorting stations in the set are on the same pier. The idea is to improve the distance objective by encouraging the movement of assignments between piers.

Once again, this operator cannot increase the number of assignments. As for the Multi Exchange Mutation Operators, three variants have been created:

1. Multi Exchange By Pier between a Fixed Number of Resources (MEBPFNRn): The number of sorting stations to exchange flights between is fixed atn, where 2≤n≤N.

2. Multi Exchange By Pier between a Random Number of Resources (MEBPRNRn): The number of sorting stations between which the flights are exchanged is ran- domly chosen each time, between 2 andn, where 2< n≤N.

3. Multi Exchange By Pier between a Range Random Number of Resources (MEBPRRNRxy): The number of sorting stations between which the flights are exchanged is ran-

domly chosen each time, between x and y, where 2≤x < y≤N.

Range Multi Exchange Mutation Operators

These are the same as the Multi Exchange Mutation Operators, however they add an additional feasibility recovery step when flights cannot be moved. Flights which cannot be moved are added to the set of flights which will be considered for assignment to the next sorting station, potentially reducing the number of flights which will not be assigned in the end. Finally, flights which have still not been moved are again considered for assignment to the other sorting stations in the set, except the last one, once again potentially reducing the number of flights which otherwise would not be assigned, in the same way as the Multi Exchange Mutation Operators, Figure 5.4.

Once again, this operator cannot increase the number of assignments. Three variants have been developed:

1. Range Multi Exchange between Fixed Number of Resources (RMEFNRn): The number of sorting stations between which to exchange flights is fixed atn, where 2≤n≤N.

Figure 5.4: Example of range multi exchange between 3 BSSs.

2. Range Multi Exchange between Random Number of Resources (RMERNRn): The number of sorting stations between which to exchange flights is randomly chosen each time, between 2 and n, where 2< n≤N.

3. Range Multi Exchange between Range Random Number of Resources (RMERRNRxy): The number of sorting stations between which to exchange flights is randomly chosen each time, between x andy, where 2≤x < y≤N.

Range Multi Exchange By Pier Mutation Operators

These are a specialised version of the Range Multi Exchange Mutation Operators, which ensure that consecutive sorting stations in the set are not on the same pier, to encourage the movement of flights between piers, so potentially improving the distance objective. These operators cannot increase the number of assignments. As for the Multi Exchange Mutation Operators, three variants have been created: Range Multi Exchange By Pier between Fixed Number of Resources (RMEBPFNRn) and with Random Number of Resources Range Multi Exchange By Pier between Random Number of Resources (RMEBPRNRn) and Range Multi Exchange By Pier between Range Random Number of Resources (RMEBPRNRxy).

The Multi Exchange Mutation Operators may also be extended by using multiple points in time instead of two points in time (a time range). However, this will also increase the complexity and time required to execute the operations, and equates to several executions of the current implementation and was not therefore investigated.

5.4.2 Crossover

The crossover operators involve the generation of new solutions from multiple par- ents. Each parent will be chosen using the Parent Selectors (Sm) and multiple child

5.4. OPERATORS 105

2-point Crossover

In the 2-point crossover (C2P), two points in time are randomly selected within the time range of the flights, to generate a time window. All flight assignments which lie within this time period, for all of the sorting stations in each solution, are exchanged between the parent solutions, as shown in Figure 5.5. The flight timings are identical across all solutions, except that the flights in the exchanged region may overlap flights which are not exchanged in the case of some sorting stations. Such overlapping flights in the exchange region are reassigned to other sorting stations where possible, otherwise they are assigned to the dummy sorting station (i.e. are unassigned).

Figure 5.5: 2-point crossover.

Whereas in the classic crossover a chromosome is divided into 3 sections, here the chromosome is divided into 3∗N sections which correspond to 3 sections per sorting station.

1-point Crossover

The 1-point crossover (C1P) is a specific case of the above 2-point crossover, where the window extends to the end time of the solution, Figure 5.6.

In my representation, 1-point crossover is a special case of 2-point crossover (n = 2, number of points), where the second point corresponds to the end of the chromosome. This can be better understood if the chromosome is represented as a loop, Figure 5.7.

Figure 5.6: 1-point crossover.

a 2-point cross over b 1-point cross over

Figure 5.7: Crossover representations where ‘s’ refers to the start and ‘e’ to the end.

n-point Crossover

The n-point crossover (CnP) may use n+ 1 solutions from the population, where n refers to the number of cuts. The full time range is divided into n+ 1 sections and multiple new solutions are obtained by merging the consecutive sections between the different parents, as shown in Figure 5.8. This recombination may leave some flights unassigned, which may be assigned directly to the dummy sorting station (fictitious sorting station) or it could be attempted to repair the solution by assigning them to any available sorting station. An extension to 2-point crossover is the n-point crossover which divides the chromosome into (n+ 1)∗ N which equates to n+ 1 sections per sorting station.

Using n-point crossover with n+ 1 parents can provide up to (n+ 1)! different children. Eiben et al (1994), Eiben et al (1995), Tsutsui and Jain (1998), and Eiben

5.4. OPERATORS 107

Figure 5.8: All children for 2-point crossover and 3 parents.

(2003) studied the effect of using multiple parents and multiple crossover points and observed that the increase in the success rate is not merely a consequence of using multiple crossover points, leading to the conclusion that using more parents does increase GA performance.

1-point Serial Crossover

The 1-point serial crossover (SC1P) is a different implementation of a crossover oper- ator and may be simpler to understand by representing the problem as a continuous list of BSSs where the crossover cut(s) is in this continuous list, instead of within each BSS as seen in the previously presented crossover operators. The 1-point serial crossover operator is illustrated in Figure 5.9 for the ABSSAP. When the cut(s) has to be determined, a comparison of both parents is made to find the first and last dif- ferences in their assignments within the representation, which may be used to restrict the selection of the cut(s). This implementation of a crossover operator is closer to that which is commonly presented in the literature as a 1-point crossover operator, and it is different to that previously introduced in this section.

Figure 5.9: 1-point serial crossover.

Figure 5.10 shows a simple example where the same parent solutions are used in a 1-point crossover and a 1-point serial crossover side by side. When considering two parents with full assignment, the cut in time (trs) in the 1-point crossover (C1P)

breaks the assigned flights into two groups, each of which contains the same flights for both parents, whereas this is not the case for 1-point serial crossover (SC1P), as shown in Figure 5.10, where flight ‘3’ is on a different side of the cut in the parents. This means that in the case of SC1P it is required to check the assignments after the cut (trs) from the second parent to make sure that they have not been already

assigned to the first side (from the first parent). Flight ‘3’ was already assigned to the offspring from the first parent and therefore cannot again be assigned from the second parent, as shown in Figure 5.10. So 1-point crossover is simpler to implement than 1-point serial crossover.

Furthermore, this implementation could be easily extended to n points.

Holland (1975) argued that, based on the schema theorem to minimise schema disruption, 2-point serial crossover is better than 1-point serial crossover. Although our results show that in some instances 1-point serial crossover provides better solu- tions than 2-point serial crossover, in general 2-point serial crossover performs best overall. Nevertheless, the schemata theorem is based on a binary representation of the chromosome and binary operators, which differ from the representation and operators presented here, so its application is of limited interest.

5.4. OPERATORS 109

Figure 5.10: Example of 1-point crossover and 1-point serial crossover.

5.4.3 Combination of Operators

Based on how the operator is selected, the types which are of interest are described in the following subsections. It is noted that the operators could be used in complex ways by combining these different types with different parameters.

Probability Single Multi Operator

The Probability Single Multi Operator (PSMO) is composed of several sub-operators (which are described in Section 5.4), each one of which has a specified probability of being used for the creation of new population members, Algorithm 4. The combined probabilities across all operators must add up to 1.

As an example, consider a PSMO operator which uses the operators C1P (with a 0.1 probability of being selected) and Multi Exchange between a Fixed Number of 3 Resources (MEFNR3) (with a 0.90 probability of being selected), which may be represented as PSMO(C1P:10+MEFRN3:90). Given that the total probability must amount to 1, it is not necessary to specify the probability for the last sub-operator, so the representation may also be PSMO(C1P:10+MEFRN3).

Algorithm 4:Probability Single Multi Operator. Input: Member Selector Sm

Input: Population of solutions P Input: Operators; Ok ∀ k∈[1. . . R]

Input: Probability for operatorspk, 0< pk ≤1∀k∈[1. . . R] and PRk=1pk= 1

begin

// Initialise

P0← ∅;// empty list of children

r=rnd[0. . .1);

k= 1;// initialise sub-operator index to first operation

p=p1; // Select operator while k < R and r > pdo k=k+ 1; // next operator p=p+pk; end

Q←Sm(P, Ok); // get parent solutions for operator Ok

P0←Ok(Q);// build children by applying operator to parents

return P0;// return the obtained children

end

Sequential Operator

Considering the way the CGA operates, where a crossover operator may be applied to the parents with a high probability and its children may be further modified by applying a mutation operator, the operators may be extended by defining a new operator composed of multiple sub-operators, which are applied sequentially with a given probability (0< p≤1), Algorithm 5. This new operator is called the Sequential Operator (SO) herein.

As an example, consider the operators C1P with a selection probability of 1 and the MEFNR3 with a probability of selection of 0.01, which may be represented as SO(C1P:100,MEFNR3:1), where a 1-point crossover is always applied to generate the intermediate children for which there is a small probability of 0.01 for application of the MEFNR3 operator in order to generate the final children solutions.