• No results found

Comprehensive Learning PSO

While PSO performs well on a variety of problems, it can be prone to premature convergence on the more dicult, multi-funnelled problems [67]. We say that a system has converged if all its particles are clustered around a single point and their velocities are such that they are incapable of escaping from this state. This has the advantage of facilitating a thorough local search, but comes at the cost of global search capacity. We say that it has undergone premature convergence if the likely cost reduction in continuing with a global search outweighs the advantages of fully optimising the current best minimum, given the constraints the algorithm is operating under (e.g. time, cost).

Note that equation 2.7 claries the cause of premature convergence. If there is some ˆh which is suciently dicult to improve upon, it tends to remain xed for long enough such that (assuming f is continuous) the swarm's attractors cluster around it. Once a particle i is oscillating about a single location, the magnitude of the velocity tends to decrease due to the contribution of the random vectors ~r1, ~r2,

causing ~ai to approach ˆh. Once all velocities are suciently small and all personal

bests suciently close to the global best, the particles are trapped and all search capacity is lost. Using a topology with fewer connections slows the speed of this information spread, but does not stop it.

To guarantee that the swarm converges into such a small area, we require that

c1+ c2 < 4 (see [51] for theoretical proof of this in a simplied system). It would,

therefore, seem reasonable to increase the magnitude of these constants to prevent premature convergence. However, this not only prevents premature convergence, it prevents any convergence, meaning that the swarm cannot cluster around and eciently exploit good locations in the search space. For this reason, other methods

of preventing premature convergence must be looked at. Therefore we look at a PSO variant designed to combat this problem, comprehensive learning PSO.

Comprehensive learning PSO (CLPSO) is a PSO variant introduced by Liang et al. [44] which outperforms many current PSO variants, particularly on dicult multimodal problems.. It attempts to slow convergence by allowing particles to generate exemplar positions, ~ei(t), which they are attracted to. These exemplars

are stochastic combinations of a particle's own knowlege and that of its neighbours. As exemplars are unique to a particle they allow swarms to retain their diversity. A CLPSO particle updates its velocity according to the following equation.

~vi(t) = η ~vi(t− 1) + φ ~r ⊗ (~ei(t)− ~xi(t)) (2.17)

Particles generate a single exemplar, learn form it, and then discard it in favour of a new position. In an attempt to ensure that good exemplars are retained for long enough for a particles to exploit them fully, while bad exemplars are discarded quickly to minimise wasted function evaluations, the concept of particle stationarity is used. A particle i is said to have been stationary for τ time steps if τ is the largest number for which:

f (~ai(t− s)) = f(~ai(t)),∀s < τ. (2.18)

A particle generates a new exemplar when it has been stationary for m timesteps, where m is called the refreshing gap.

When generating a new exemplar, a particle starts with its own attractor as a base position. Each dimension of this exemplar vector is then independently modied with probability P ci (or not modied with probability 1 − P ci), called the

learning probability for agent i. To modify dimension d of the exemplar, two distinct neighbours of the particle are chosen at random, and the one with lower cost ~h(t) is deterministically selected (i.e. if neighbour j is selected then ei,d(t + 1)

is set to hj,d(t)). If this processes nishes with no modication to the exemplar,

one dimension of is randomly selected for the insertion of a neighbouring value. See algorithm 1 for details.

Liang et al. [44] found that better results were obtained when particles had a heterogeneous set of learning probabilities and we will take their approach when using CLPSO, setting each particle's learning probability according to the following

equation. P ci = 0.05 + 0.45· exp  10·(i−1) n−1  − 1 exp(10)− 1 (2.19)

Algorithm 1 Exemplar Selection for 1 ≤ j ≤ d do

Randomly choose r ∼ U[0, 1] if r < P ci then

ei,j = ai,j

else

Randomly choose u, v ∈ Ni such that u, v and i are all distinct.

if f(~hu) < f (~hv) then ei,j = hu,j else ei,j = hv,j end if end if end for if ~ei ≡ ~ai then Randomly choose j ∈ {1, ..., d}

Randomly choose u, v ∈ Ni such that u, v and i are all distinct.

if f(~hu) < f (~hv)then ei,j = hu,j else ei,j = hv,j end if end if

3

Distributed Task

Allocation

CONTENTS

3.1 Motivation . . . 25 3.2 The Mail Processing Problem . . . 26 3.3 Threshold Based Algorithms . . . 32 3.3.1 Mail Uptake . . . 34 3.3.2 Specialisation Update Rules . . . 35 3.3.3 Evolution Strategies . . . 38 3.3.4 A Theoretical Description . . . 39 3.3.5 Results . . . 41 3.3.6 Conclusions . . . 49 3.4 A Comparative Approach . . . 50 3.4.1 Market Based Algorithms . . . 50 3.4.2 A Hybrid Algorithm . . . 52 3.4.3 Particle Swarm Optimization . . . 53 3.4.4 Theoretical Eciency Limit . . . 53 3.4.5 Results . . . 55 3.4.6 Conclusions . . . 67

3.1 Motivation

Distributed systems are an active and important eld with applications ranging from distributed heterogeneous computing systems [32] to mobile sensor networks [45], and their performance is dependent on the coordination of disparate sub-systems to full the overall goal of the system. This problem can be seen as one of eciently deploying a nite set of resources in order to complete a distributed set of sub-tasks, where these sub-tasks further this overall goal. It is clear that, in theory, the best method for coordinating these resources must be centralised. A central controller can, at minimum, issue commands causing resources to be deployed as if according to the optimal decentralised behaviour. In fact, access to global information and the ability to coordinate agents should allow better performance than any collection of individuals. However, limitations on resources such as computational power and/or communication costs [36] mean that centralised solutions are not ecient in practice. This is particularly true for large systems as the calculation time of an optimal allocation of tasks becomes a major limitation [13]. Large systems also decrease the eectiveness of global inter-agent communication. Shehory et al. [65] point out that if n agents are communicating with each other, this involves a total of O(n2)

communications, potentially overwhelming the communication network.

Rana et al. [59] suggest that many practical applications will require large num- bers of agents, and because of this the poor scalability of centralised systems rules them out as solutions to these problems. Therefore, decentralised approaches must be investigated. In a decentralised approach, a set of autonomous, decision mak- ing, agents control the behaviour of sub-systems with the aim of coordinating to provide good global behaviour. A simple method to promote coordination would be to allow all agents to communicate freely, however n agents are communicating with each other involves a total of O(n2)communications [59]. If communication is

costly, this is hardly an ideal approach and so nding good decentralised methods for distributed task allocation, which require a minimum of communication, is an important problem.

Related documents