Memetic Computing

, Volume 5, Issue 1, pp 35–48 | Cite as

Automated self-organising vehicles for Barclays Cycle Hire

Regular Research Paper


Self-organisation is a distributed and asynchronous process in which global pattern or behaviour emerge from local components of the system. Neither central control nor external intervention is necessary during this process. Self-organising systems are adaptive and robust, which are appealing properties from a design and engineering point of view. In this paper, we present an innovative self-organisation approach for a dynamic vehicle routing problem, the Barclay Cycle Hire truck dispatch. In addition, we introduce an evolutionary algorithm capable of automatically configuring the “self-organising trucks”. Experimental results show the evolutionary algorithm improves the overall fitness of the self-organising trucks; and we observe global emergent behaviour in the way trucks self-organise.


Self-organisation Vehicle routing problem Evolutionary design Genetic algorithm 

1 Introduction

Self-organisation is a process in which global behaviour of the system emerge from low-level components autonomously and spontaneously interacting with each other and the environment they live in. Nature presents examples of self-organising systems at all scales. Bird flocking and fish schooling illustrate self-organising behaviour in biology. At the nano-scale, protein folding, DNA self-formation [1] are well known self-organising systems.

Self-organising systems have the major advantages of being robust and versatile. These advantages arise from the fact that self-organising systems do not rely on any central control mechanisms, but rather on a large number of components to achieve “local-to-global” emergent behaviour of the final system. Self-organising systems are robust because when a certain part of the system fails, components continue to operate on local rules, allowing the global system to dynamically adapt to the changes and minimise disruption. A self-organising system is also versatile, because there can usually be alternative configurations of components to achieve the same goal, and this makes it prone to alternative configurations [2].

Self-organisation is a powerful engineering methodology because of its bottom-up and distributed manufacturing principle. As a result, self-organisation has received an explosion of research interests in the field of computer science in the recent years. Self-organisation has been studied in software design [3, 4, 5], database design [6], bio-informatics [7, 8, 9] and peer-to-peer systems [10]. Recently, there has been studies in the automated design of self-organising systems. Wang tiles have been shown as a promising example to achieve global structure using automated design of tiles [11, 12, 13]. The optimisation of cellular automata parameters design [14] is yet another example to illustrate this concept.

In this paper, we present a self-organisation approach for a dynamic vehicle routing problem—the Barclay Cycle Hire truck dispatch. Vehicle routing is an important research problem as solutions are widely needed in the fields of transportation, logistics, and distribution [15]. Vehicle routing problem (VRP) has been shown to be NP-hard and routinely studied using a wide range of sophisticated algorithms such as simulated annealing [16], ant colony optimisation [17], tabu search [18, 19] and adaptive memetic algorithm [20, 21, 22]. To the best of our knowledge, such a self-organisation approach has not yet been studied or applied to a vehicle routing problem.

We tackle this vehicle routing problem by automatically programming “self-organising trucks” using an evolutionary algorithm. This paper is organized as follows: Sect. 2 provides an overview of this Barclay Cycle Hire problem. In Sect. 3, we describe a metaphor for our model based on docking points signals and self-organising trucks. In Sect. 4, we introduce a genetic algorithm for the automatic design of optimal trucks configuration. Section 5 describes and analyses experimental results. We measure the overall performance by defining LCHI (London Cycling Hire Index) at different time of the day for our experiments. Section 6 is the conclusion and future work.

2 Barclay Cycle Hire: problem overview

Transport for London (TfL) launched its public cycle hire scheme, known as Barclays Cycle Hire (abbreviated as BCH in the rest of this paper) on 30 July 2010. Bikes are distributed in docking points across central London for rental by the general public. Users of the scheme can collect a bike from a docking point and then return the bike to another docking point once the journey is complete. At the time of writing, there are 415 docking points and more than 6,000 bikes used for BCH. The scheme has reached 6 million journeys 1 year after its launch [23]. Furthermore, the scheme is scheduled to expand to further areas of the city and hundreds more docking points to be added by 2012 [24].

Despite its popularity, the scheme has received criticism from the press and the general public due to unavailability of bikes and docking space, especially at peak time [25]. Users find it difficult to either collect or return bikes from docking points, because they are completely empty or full. This is due to the large demand for bikes during rush hours. TfL’s selected service company deploy trucks to reallocate bikes between docking points in an attempt to balance the system. (The current truck dispatch decision is entirely manual, where operators look at the live status of docking points on a map and instruct drivers to distribute bikes by telephone.)

The BCH truck dispatch problem consists of a finite number of docking points and trucks. Each docking point has a limited capacity, and there are a number of bikes and docking spaces available at any time of the day. Trucks are capacity constrained. Trucks are replenished by collecting bikes from docking points, rather than from a service depot. The objective is to optimise the truck dispatch process, in order to maximise the usability of the overall system.

This problem can be regarded as a variant to vehicle routing, in which a fleet of capacity constrained vehicles seek to service a set of locations in the most optimal way, usually the most cost efficient. A fleet of trucks are dispatched from a depot and each vehicle has a working shift. However, it differs from a traditional vehicle routing problem in a number of ways. Firstly, the optimisation goal is different. Bikes are reallocated throughout the system, with an aim to improve the likelihood for users to retrieve and return bikes. Secondly, traditional vehicle route optimisation operates on static information. That is, static locations are provided with or without an associated service time window. In contrast, service locations for this problem are unknown. The solution needs to work out the service locations in run-time. This is because the usage of the BCH system changes dynamically and there is a significant difference between peak and off-peak hours, weekdays and weekends. External events such as weather conditions, disruption to other forms of public transport can greatly affect the demand and usage of the system. To adapt to the dynamic users’ demand, the solution must take the following factors into account:
  • current status of all the docking points,

  • predictions on incoming traffic for all docking points,

  • number of bicycles on board of each vehicle,

  • some docking points have priority over others due to business requirements.


To illustrate the dynamic nature of the BCH system, we performed data analysis on two consecutive weeks worth of data. We defined the London Cycling Hire Index (LCHI) as a Key Performance Indicator (KPI) to measure the overall performance, in terms of availability of the BCH system. More specifically, LCHI measures the number of accessible docking points at any time. A docking point is deemed to be “accessible” if there are at least 2 bikes and 2 docking spaces available. A higher LCHI value implies a better overall user accessibility of the BCH system.

Figure 1a below shows the average LCHI value and associated standard deviation, over a period of two consecutive weeks by time of day. Figure 1b compares LCHI for a typical day and two atypical days. It clearly illustrates in Fig. 1b how a tube strike on the 29th of November 2010 results in an usually high demand for bikes. To the contrary, on the royal wedding day the 29th of April 2011, there is exceptionally low demand for bikes. These two cases are both very different to a typical date and the average trend shown in Fig. 1a. The way LCHI fluctuates demonstrates the dynamic usage of the system, caused by predictable and unpredictable external events.
Fig. 1

Actual data showing the average LCHI and its dynamic nature. a Average LCHI with standard deviation from 2011-01-31 to 2011-02-13. b LCHI on a London tube strike day on 2010-11-29; royal wedding day 2011-04-29; and a normal day 2011-11-01

Given the dynamic and complex nature of the BCH system, as well as the real-time decision making requirement, we believe it is difficult for traditional vehicle routing methods to provide a solution “on-the-fly” for this problem. Traditional vehicle routing approach produces a master plan as a result of optimisation and therefore is computationally expensive. We therefore propose a bottom-up design of “self-organising trucks” capable of adapting to the dynamic BCH system. The global goal is achieved by low-level components autonomously interact with their environment, operating on simple local rules, thus minimising computational cost at run-time. In contrast with other vehicle route optimisation techniques, no master plan is produced. Instead, we use an evolutionary algorithm to evolve a set of self-organising trucks best suited to the changing demand and behaviour of the system.

3 A self-organisation approach for BCH: system description

Inspired from self-organising systems found in nature, we propose a self-organisation model in which autonomous components interact with the environment they live in to satisfy the global goal. More specifically, the agents in this model are a set of self-organising trucks, and the environment they operate within is defined by a set of docking points acting as beacons emitting signals.1 Each self-organising truck has a set of parameters used by its local rules. Rules in turn are used to interpret signals to react upon. The concept is to configure a family of self-organising trucks responding to signals to achieve the global goal.

3.1 Signals

Each docking point \(\delta \) can be regarded as a beacon emitting signal \(S\), where \(S\) represents the demand level of a docking point and therefore how acutely it needs to be serviced. A signal can be either positive or negative, depending on whether it requires more bikes or more space. A zero signal is considered to be “neutral”, meaning the docking point does not need to be served at the time of calculation. The magnitude of a signal (\(|S|\)) increases with its demand level. Thus the usability of a docking point decreases as the magnitude of the signal (\(|S|\)) increases. Figure 2 shows a screen shot of signals released from docking points. \(S\) is derived over a time interval (\(\tau \)) from the following factors:
  • Current number of available bikes (\(\delta _{bike}\)) and docking spaces (\(\delta _{space}\)): this is calculated proportionate to the capacity of the docking point to avoid biasing on large docking points.

  • Current traffic: number of bikes that have arrived (\(\delta _{bikesIn}\)) and left (\(\delta _{bikesOut}\)) the docking point over \(\tau \).

  • Historical trend: number of bikes predicted to arrive (\(\delta _{bikesIn}\)’) or leave (\(\delta _{bikesOut}\)’) in the next time interval \(\tau +1\).

  • Docking point bike capacity (\(\delta _{capacity}\)), so that signals are not biased to large docking points.

  • Signal released time: signals above a pre-defined critical threshold will intensify over time. This is to prevent less critical docking points from being ignored over a long time in lieu of strong signals from neighbouring docking points.

Fig. 2

A system screen-shot to display signals (color figure online)

The pseudo-code for calculating a docking point signal is detailed as the following:

3.2 Self-organising trucks

Self-organising trucks capture signals emitted by all docking points and follow simple rules to determine the next destination. The most fundamental rule is that a truck acts upon the strongest signal it perceives (\(S^{\prime }\)), where the perception is calculated based on the following factors and their associated weights (\(w\)):
  1. 1.

    Signal (\(S\)) of a docking point: a positive signal is more likely to attract a truck with many bikes on board, whilst a negative signal is more likely to attract trucks with few bikes.

  2. 2.

    Shortest driving distance (\(D\)) to the docking point: the perceived signal decreases over distance.

  3. 3.

    Priority information (\(P\)) of the docking point: the \(P\) value determines how a truck reacts to different types of docking points in relation to a pre-defined peak time.

A solution is a family of self-organising trucks \(\{T_1, T_2, \ldots , T_n\}\). Each self-organising truck is formally defined as \(T=\{T|t=(w_S, w_D, w_P)\}\), where \(w_S, w_D, w_P\)\(\in \)\(\Sigma \). \(\Sigma \) is a set of pre-defined labels with integer values encoding the significance of weights on \(S\), \(D\) and \(P\). The weights are used to govern how a truck prioritizes among \(S\), \(D\) and \(P\).
A truck’s perceived signal value from a docking point is described by:
$$\begin{aligned} S^{\prime } = f_1(w_S, S) \times f_2(w_D, D) \times f_3(w_P, P), \end{aligned}$$
with weighting functions \(f_1, f_2, f_3\). When a truck arrives at a docking point, it calculates the number of bikes to load or unload in order to neutralize the signal.

Some other simple rules and assumptions are placed to ensure valid and meaningful operations of the system. For instance, once a truck sets its destination docking point, the docking point is locked so that no other trucks will go to the same docking point until the signal is neutralized.

4 Genetic algorithm for the design of self-organising trucks

A self-organising system can be achieved by careful bottom-up design of components. Signal calculation is fixed in our model and the aim is to find a best selection of trucks, each having its own rules to respond to the signals. We use genetic algorithm in order to achieve this. The primary objective of the genetic algorithm is to improve accessibility of the docking points, with a secondary objective to minimise traveling distance to save cost for the service company.

The genetic algorithm consists of a population of individuals, a set of fitness functions and genetic operators for crossover and mutation. Figure 3 shows the overall architecture of the entire system and how the genetic algorithm is linked to the self-organisation simulator.
Fig. 3

System architecture for the genetic algorithm and the self-organisation simulator

4.1 Initialisation and individual representation

The genetic algorithm evolves a population of individuals. Each individual is a family of self-organising trucks used as a solution candidate for the simulator shown in Fig. 3. There are \(\Gamma \) number of individuals in each generation of the population. Each individual consists of a minimum of \(\phi \) and a maximum of \(\varphi \) number of self-organising trucks. That is, we use variable-length individuals. The genetic algorithm therefore seeks the ideal number of trucks as well as their configurations for the selected period of the simulation. The initial population is randomly generated and each gene in the chromosome is randomly selected from the predefined integer set \(\Sigma \).
$$\begin{aligned}&Population = \{Ind_1, Ind_2, \ldots , Ind_k\} \quad \text{ and} \\&\quad Ind_i = \{T_1, T_2, \ldots , T_n\},\quad \text{ where} \, k = \Gamma \quad \text{ and} \\&\quad \phi \le n \le \varphi \end{aligned}$$

4.2 Evaluation and fitness functions

The genetic algorithm individuals are evaluated as follows. An individual is placed into the self-organisation simulator. The simulator retrieves all relevant docking points information from the database for signal calculation. The simulation runs from a specified start time till a specified end time. Self-organising trucks interact with signals according to the rules described before and query routing information from the routing engine when necessary. Once the simulation finishes, the fitness of the GA individual is evaluated using the linear sum of three weighted fitness functions. The objective of the genetic algorithm is to minimise this aggregated sum of the above fitness functions.

The three fitness functions aim at different optimisation objectives. (1) The signal fitness function reflects the usability of the overall system by measuring the big signals released during the entire simulation. Docking points with low signal values are not included because they need minimum attention. Therefore the signal fitness function only considers signals above a certain pre-defined threshold. (2) The second fitness function aims at minimising completely empty or full docking points at peak time, especially the priority docking points. (3) Finally, a distance fitness function calculates the total distance travelled by all trucks. The objective is to save cost for the service company. This fitness function can help avoid trucks making long journeys and in some cases reduces the number of deployed trucks. This optimisation objective can conflict with the more important usability requirement and has a relatively lower priority. Hence the distance fitness function has a lower weight associated. The weight on the three objective functions specify the trade-offs between the different goals. The tuning of these parameters is a manual process. The service company approves the parameters set by examining the corresponding optimised results.

4.3 Genetic operators

The genetic operators are uniform crossover and uniform mutation. The uniform crossover operator uses roulette wheel selection and take two individuals in the population according to their fitness. The mixing ratio of the uniform crossover is 0.5. Let the selected parents be \(Parent_1 = \{T^{1}_1, T^{2}_1, \ldots , T^{m-1}_1, T^{m}_1\}\) and \(Parent_2= \{T^{1}_2, T^{2}_2, \ldots , T^{n-1}_2, T^{n}_2\}\). If \(m<n\), the possible two offspring generated before mutation is applied will be: \(Child_1 = \{T^{1}_2, T^{2}_1, \ldots , T^{m-1}_1, T^{m}_1\}\) and \(Child_2\)\( = \{T^{1}_1, T^{2}_2, \ldots , T^{n-1}_2, T^{n}_2\}\). The mutation is then applied to the offspring such that the gene is uniformly mutated to a value in \(\Sigma \). That is, the mutation operator randomly changes a specific setting of a truck using a given low probability. A single individual elitism is used to maintain the best individuals in each generation.

5 Experiments

5.1 Method

We ran experiments from 6 am to 6 pm of a selected week, i.e. 7 days. All experiments have a population size of 100; minimum of 16 and maximum of 20 trucks, which reflects the minimum and maximum number of trucks deployed by the BCH service company; 100 generations; crossover probability of 0.5; mutation probability of 0.15. In addition, the same fitness functions and associated weights; the same signal parameters are used for the simulations. Table 1 lists the detailed configuration for our experiments.
Table 1

Experiment configurations for the genetic algorithm




\(\phi \)

\(\varphi \)

\(\Gamma \)







5.2 Results and analysis

We calculate the average fitness of individuals in each generation and compare the results with a random search. Figure 4 illustrates sample comparisons, showing that the genetic algorithm significantly outperforms the random search. The GA yields better results than random search, from around the 10th generation. The fitness values vary amongst simulations because the user demand for bikes change as shown in Sect. 2. However, the fitness improvement does follow a similar pattern. That is, fitness improvement progresses much faster at the start than at the latter stage of the search when results converge. It is also worth noting that in the general case, fitness improvement tends to progress very slowly beyond the 80th generation.
Fig. 4

Comparison on average individual fitness between a GA run and a random search on different days

In addition to the random search, we designed a greedy strategy such that a truck always serves the most imbalanced station within a pre-defined distance, whilst taking the number of bikes on board of the truck into account. The purpose is to further compare the performance of the genetic algorithm based self-organising system with a static approach. Figure 5 illustrates the fitness comparison between the best solution found by the genetic algorithm, the random search and the greedy strategy for all the simulations. It is evident that the self-organising trucks evolved by the genetic algorithm yield the best results amongst all simulations. It is interesting to observe that the greedy strategy does not always perform better than random search of the self-organisation system. This is because the greedy strategy only focuses on imbalanced docking points close to the truck, and therefore fails to adapt to the dynamic nature of the BCH system. We have performed t test on the fitness values between the genetic algorithm and random search, and between the genetic algorithm and the greedy search. The p value are \(5.9 \times 10^{-7}\) and \(0.0062\), respectively. By convention, p value smaller than 0.05 are considered strong evidence that the results are statistically different.
Fig. 5

Comparison of fitness on GA solution, a random search, and a greedy strategy on different days

The genetic algorithm captures the best individual, i.e. the most suitable set of trucks for each experiment. The results are in turn compared with the original source data using LCHI as a performance indicator. It can be seen from Fig. 6 that the actual LCHI and the solution LCHI starts the same, but gradually the GA solution performs better than the actual data. Statistically, there is an average increase on LCHI of 10 % using the GA solution. Table 2 shows the average LCHI values for all the experiments, and Table 3 groups average LCHI improvements hourly. A general increase in LCHI throughout the day can be observed for all the experiments results. The actual LCHI shows the demand fluctuates throughout the day, hence a consistent improvement on LCHI indicates the self-organising approach is adaptive and robust. However, it can be seen from Fig. 6 and Table 3 that it is more difficult to improve the LCHI during rush hour. The LCHI value for the simulations on 2011-01-31, 2011-02-01, and 2011-02-02 at rush hour are very close to the actual LCHI. This is because demand rises sharply in key areas of London during rush hour. An increase in demand is observed in groups of docking points that are geographically close to each other. However, our current system treats docking point signals in isolation and therefore does not take this effect into account. We would investigate aggregated signals from clusters of docking points in the future to address this problem.
Fig. 6

LCHI comparison between GA solution and actual TfL data

Table 2

Average LCHI from the actual source data and the GA solution


Actual LCHI

Solution LCHI

Average improvement (%)

31-01-2011 Monday




01-02-2011 Tuesday




02-02-2011 Wednesday




03-02-2011 Thursday




04-02-2011 Friday




05-02-2011 Saturday




06-02-2011 Sunday




Table 3

Average hourly LCHI improvement with the GA solution


31-01-2011 (%)

01-02-2011 (%)

02-02-2011 (%)

03-02-2011 (%)

04-02-2011 (%)

05-02-2011 (%)

06-02-2011 (%)

































































































To further assess our self-organising approach, we performed same set of experiments on the two extreme circumstances illustrated in Sect. 2. As can be seen from Fig. 1, the actual LCHI behaved in entirely different manner on the royal wedding day (2011-04-29) and a tube strike day (2011-03-29), and are both very different to normal days. Figure 7 shows the experiment results and LCHI comparison. It can be seen that the LCHI using the GA solution is generally higher than the actual LCHI on both days. A system is robust if it continues to function in the face of perturbations [26]. We therefore argue that the system is robust as we observe a consistent improvement under different circumstances and perturbation.
Fig. 7

LCHI comparison on royal wedding date and between GA solution and actual TfL data

Figure 8 shows different stages of a simulation on 2011-02-01, using the evolved trucks from the GA. We capture and show trucks locations and their autonomous behaviour. It is intriguing to observe how trucks adapt to the dynamic BCH system. In the early morning from 6:00 am TO 6:30 am when simulation starts, Fig. 8a shows trucks leaving the same depot and then serving the busy docking points nearby as in Fig. 8b. The trucks then quickly scatter around the city in preparation of the rush hour as shown in Fig. 8c. At lunch time, it can be seen many trucks are working in the Angle/Islington area, with some trucks working near Waterloo and Soho Fig. 8d, e. These are the restaurant, and business areas of London. At 3:40 pm, it can be observed in Fig. 8f that many trucks have gradually shifted from east London to central London, due to the rise in demand level in the city center, or possibly in preparation of the afternoon peak hour. At 4:50 pm when the afternoon rush hour has already started, Fig. 8g shows more trucks are in central London.
Fig. 8

Exemplar self-organisation simulation screen shots: trucks move around in London to reallocate bikes between docking points at different time of the day. The highlighted yellow lines represent a truck journey. The arcs around a dot represent a docking point signal, where the number of arcs indicates the magnitude of the signal. a Trucks start from the same depot. b Trucks serving nearby docking points after leaving depot. c Shortly afterwards, trucks start to disperse across London. d Trucks serving busiest docking points in central London during the morning rush hour. e Lunch time, with many of the trucks working in the busiest areas near Angel and Waterloo. f Trucks’ locations at 13:30, with many of them in East London g. More trucks have shifted from east to central London after the lunch hour h. Afternoon peak time, most of them in central London or near railway stations (color figure online)

6 Conclusion and future work

6.1 Conclusion

In this paper, we have made the following contributions. (1) We introduced a unique self-organisation approach for a dynamic vehicle routing problem, the Barclays Cycle Hire truck dispatch. This self-organisation model is based on docking points acting as beacons emitting signals, and trucks autonomously reacting upon signals without a master plan or external intervention. To the best of our knowledge, self-organisation has not been studied in a real world vehicle routing problem before. (2) We have also presented an evolutionary algorithm capable of automatically programming the self-organising trucks to improve the overall performance. We reported initial experiments on our model and the results indicate that the genetic algorithm is able to improve the fitness of trucks over generations, outperforming random search significantly. In addition, we have compared our self-organisation approach with a greedy strategy which deploys pre-defined rules to guide the trucks. The experiment results have indicated the self-organisation approach yields better fitness than the greedy strategy. We have also observed and reported how the self-organising trucks dynamically adapt to a changing external environment.

6.2 Future work

For the future work, there are a number of research directions we would like to pursue. Primarily, we would investigate how to further enhance the outcome of this self-organising system. We have observed from our experiments that the LCHI improvement is less significant during peak time. This is due to a sharp increase in demand for groups of docking points which are in close proximity. However, our current self-organisation system only focuses on individual signals. We would therefore investigate the use of aggregated signal from a cluster of docking points to address this problem. In addition, we would carry out further experiments and compare our approach with existing methods to further assess the robustness of the self-organising system, e.g. when trucks break down, or when there are sudden unexpected changes in user demand. Finally, we would study the scalability of our solution. That is to compare the solution time and LCHI improvements using problems of different scales.


  1. 1.

    The system captures docking points information from a live TfL data feed and stored it in our local database. The data is then fed into the self-organising system for signal calculation.


  1. 1.
    Krasnogor N, Gustafson S, Pelta D, Verdegay J (eds) (2008) Systems self-assembly: multidisciplinary snapshots, vol 5. Studies in Multidisciplinarity. Elsevier, AmsterdamGoogle Scholar
  2. 2.
    Hogg T (1999) Robust self-assembly using highly designable structures. Nanotechnology 10(3):300CrossRefGoogle Scholar
  3. 3.
    Li L, Garibaldi J, Krasnogor N (2006) Automated self-assembly programming paradigm: initial investigation. In: Proceedings of the third IEEE international workshop on engineering of autonomic and autonomous systems, EASe 2006, pp 25–36, IEEE (ISBN 0-7695-2544-X)Google Scholar
  4. 4.
    Li L, Krasnogor N, Garibaldi J (2006) Automated self-assembly programming paradigm: a particle swarm realization. In: Krasnogor N, Pelta D (eds) Proceedings of the workshop on nature inspired cooperative strategies for optimisation, University of GranadaGoogle Scholar
  5. 5.
    Li L, Garibaldi J, Krasnogor N (2009) Automated self-assembly programming paradigm: the impact of network topology. Int J Intel Syst (IJIS) 24(7):793–817 (special issue on nature inspired cooperative strategies for optimisation)MATHCrossRefGoogle Scholar
  6. 6.
    Levinson R, Helman DR, Oswalt E (1988) Intelligent signal analysis and recognition using a self-organizing database. IEA/AIE 2(88):1116–1130CrossRefGoogle Scholar
  7. 7.
    Siepmann P, Martin C, Vancea I, Moriarty P, Krasnogor N (2007) A genetic algorithm approach to probing the evolution of self-organised nanostructured systems. Nano Lett 7(7):1985–1990CrossRefGoogle Scholar
  8. 8.
    Romero-Campero FJ, Twycross J, Camara M, Bennett M, Gheorghe M, Krasnogor N (2009) Modular assembly of cell systems biology models using p systems. Int J Found Comput Sci 20(3):427–442MathSciNetMATHCrossRefGoogle Scholar
  9. 9.
    Krasnogor N (2004) Self-generating metaheuristics in bioinformatics: the protein structure comparison case. Genet Program Evol Mach 5(2):181–201CrossRefGoogle Scholar
  10. 10.
    Sartiani C, Manghi P, Ghelli G, Conforti G (2005) Xpeer : a self-organizing xml p2p database system. In: Lindner W, Mesiti M, Trker C, Tzitzikas Y, Vakali A (eds) Current trends in database technology—EDBT 2004 workshops, vol 3268. Lecture Notes in Computer Science, Springer, Berlin, pp 429–432Google Scholar
  11. 11.
    Terrazas G, Krasnogor N, Kendall G, Gheorghe M (2005) Automated tile design for self-assembly conformations. In: IEEE congress on evolutionary computation, vol 2. CEC, IEEE, September 2005, pp 1808–1814Google Scholar
  12. 12.
    Terrazas G, Gheorghe M, Kendall G, Krasnogor N (2007) Evolving tiles for automated self-assembly design. In: Proceedings for the 2007 IEEE congress on evolutionary computation, IEEE, pp 2001–2008Google Scholar
  13. 13.
    Terrazas G, Krasnogor N (2012) A genotype-phenotype-fitness assessment protocol for evolutionary self-assembly wang tiles design. J Memet Comput. doi:10.1007/s12293-012-0092-0
  14. 14.
    Terrazas G, Siepmann P, Kendall G, Krasnogor N (2007) An evolutionary methodology for the automated design of cellular automaton-based complex systems. J Cell Autom 2(1):77–102Google Scholar
  15. 15.
    Brandao Oliveira H, Vasconcelos G (2010) A hybrid search method for the vehicle routing problem with time windows. Ann Oper Res 180:125–144 Google Scholar
  16. 16.
    Chiang W-C, Russell R (1996) Simulated annealing metaheuristics for the vehicle routing problem with time windows. Ann Oper Res 63:3–27Google Scholar
  17. 17.
    Bell JE, McMullen PR (2004) Ant colony optimization techniques for the vehicle routing problem. Adv Eng Inf 18(1):41–48CrossRefGoogle Scholar
  18. 18.
    Cordeau JF, Laporte G, Hautes École, Commerciales Études, Gerad LCD (2001) A unified tabu search heuristic for vehicle routing problems with time windows. J Oper Res Soc 52:928–936MATHCrossRefGoogle Scholar
  19. 19.
    Pacheco J, Martí R (2006) Tabu search for a multi-objective routing problem. J Oper Res Soc 57(1):29–37MATHCrossRefGoogle Scholar
  20. 20.
    Chen X (2012) An algorithm development environment for problem-solving: software review. Memet Comput 4(2):149–161CrossRefGoogle Scholar
  21. 21.
    Ong Y-S, Lim M-H, Chen X (2010) Memetic computation—past, present and future [research frontier]. IEEE Comp Int Mag 5(2):24–31CrossRefGoogle Scholar
  22. 22.
    Goldbarg M, Asconavieta P, Goldbarg E (2012) Memetic algorithm for the traveling car renter problem: an experimental investigation. Memet Comput 4:89–108CrossRefGoogle Scholar
  23. 23.
    Lewis T (2011) Has London’s cycle hire scheme been a capital idea?.
  24. 24.
    TfL (2011) Barclays cycle hire expansion.
  25. 25.
    (2010) London cycle hire: good, but not great.
  26. 26.
    Wagner A (2005) Robustness and evolvability in living systems (Princeton Studies in Complexity). Princeton University Press, PrincetonGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  1. 1.Stage Intelligence LtdLondonUK

Personalised recommendations