Skip to main content

Advertisement

Log in

Computation of the travelling salesman problem by a shrinking blob

  • Published:
Natural Computing Aims and scope Submit manuscript

Abstract

The travelling salesman problem (TSP) is a well known and challenging combinatorial optimisation problem. Its computational intractability has attracted a number of heuristic approaches to generate satisfactory, if not optimal, candidate solutions. Some methods take their inspiration from natural systems, extracting the salient features of such systems for use in classical computer algorithms. In this paper we demonstrate a simple unconventional computation method to approximate the Euclidean TSP using a virtual material approach. The morphological adaptation behaviour of the material emerges from the low-level interactions of a population of particles moving within a diffusive lattice. A ‘blob’ of this material is placed over a set of data points projected into the lattice, representing TSP city locations, and the blob is reduced in size over time. As the blob shrinks it morphologically adapts to the configuration of the cities. The shrinkage process automatically stops when the blob no longer completely covers all cities. By manually tracing the perimeter of the blob a path between cities is elicited corresponding to a TSP tour. Over 10 runs on 20 randomly generated datasets consisting of 20 cities this simple and unguided method found tours with a mean average tour length of 6.41 % longer than the minimum tours computed by a TSP solver (mean best performance was 4.27 % longer and mean worst performance was 9.22 % longer). We examine the insertion mechanism by which the blob constructs a tour, note some properties and limitations of its performance, and discuss the relationship between the blob TSP and proximity graphs which group points on the plane. The method is notable for its simplicity, novelty and the spatially represented mechanical mode of its operation. We discuss similarities between this method and previously suggested models of human performance on the TSP and suggest possibilities for further improvement.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12

Similar content being viewed by others

Explore related subjects

Discover the latest articles, news and stories from top researchers in related subjects.

References

  • Adamatzky A (2007) Physarum machine: implementation of a Kolmogorov–Uspensky machine on a biological substrate. Parallel Process Lett, 17(4):455–467

    Article  MathSciNet  Google Scholar 

  • Adamatzky A (2008) Developing proximity graphs by Physarum polycephalum: does the plasmodium follow the Toussaint hierarchy. Parallel Process Lett, 19:105–127

    Article  MathSciNet  Google Scholar 

  • Adamatzky A (2010) Slime mould logical gates: exploring ballistic approach. Arxiv preprint arXiv:1005.2301

  • Adamatzky A (2011) Slime mould computes planar shapes. Arxiv preprint arXiv:1106.0305

  • Adamatzky A, Jones J (2010) Programmable reconfiguration of Physarum machines. Nat Comput, 9(1):219–237

    Article  MATH  MathSciNet  Google Scholar 

  • Al-Mulhem M, Al-Maghrabi T (1998) Efficient convex-elastic net algorithm to solve the euclidean traveling salesman problem. IEEE Trans Syst Man Cybern B Cybern, 28(4):618–620

    Article  Google Scholar 

  • Aono M, Hara M (2007) Amoeba-based nonequilibrium neurocomputer utilizing fluctuations and instability. In 6th International Conference on UC 2007, vol 4618 of LNCS, August 13–17. Springer, Kingston, pp 41–54

  • Aono M, Hara M (2008) Spontaneous deadlock breaking on amoeba-based neurocomputer. BioSystems, 91(1):83–93

    Article  Google Scholar 

  • Aono M, Hirata Y, Hara M, Aihara K (2009) Amoeba-based chaotic neurocomputing: combinatorial optimization by coupled biological oscillators. New Gener Comput, 27(2):129–157

    Article  MATH  Google Scholar 

  • Applegate D, Bixby R, Chvatal V, Cook W (2006) Concorde tsp solver. http://www.tsp.gatech.edu/concorde. Accessed 20 March 2013

  • Best BJ (2005) A model of fast human performance on a computationally hard problem. In Proceedings of the 27th annual conference of the cognitive science society, pp 256–262

  • de Lacy Costello B, Ratcliffe N, Adamatzky A, Zanin AL, Liehr AW, Purwins HG (2004) The formation of Voronoi diagrams in chemical and physical systems: experimental findings and theoretical models. Int J Bifurcation Chaos Appl Sci Eng, 14(7):2187–2210

    Article  MATH  Google Scholar 

  • Dorigo M, Bonabeau E, Theraulaz G (2000) Ant algorithms and stigmergy. Future Gener Comput Syst, 16(8):851–871

    Article  Google Scholar 

  • Dry M, Lee MD, Vickers D, Hughes P (2006) Human performance on visually presented traveling salesperson problems with varying numbers of nodes. J Probl Solving, 1(1):4

    Google Scholar 

  • Duckham M, Kulik L, Worboys M, Galton A (2008) Efficient generation of simple polygons for characterizing the shape of a set of points in the plane. Pattern Recognit, 41(10):3224–3236

    Article  MATH  Google Scholar 

  • Durbin R, Willshaw D (1987) An analogue approach to the travelling salesman problem using an elastic net method. Nature 326(6114):689–691

    Article  Google Scholar 

  • Edelsbrunner H, Kirkpatrick D, Seidel R (1983) On the shape of a set of points in the plane. IEEE Trans Inform Theory, 29(4):551–559

    Article  MATH  MathSciNet  Google Scholar 

  • Flood MM (1956) The traveling-salesman problem. Operations Res, 4(1):61–75

    Article  MathSciNet  Google Scholar 

  • Galton A, Duckham M (2006) What is the region occupied by a set of points? Geogr Inf Sci 81–98

  • Golden B, Bodin L, Doyle T, Stewart W (1980) Approximate traveling salesman algorithms. Operations Res, 28(3-Part-II):694–711

    Article  MATH  MathSciNet  Google Scholar 

  • Graham SM, Joshi A, Pizlo Z (2000) The traveling salesman problem: a hierarchical model. Mem Cognit, 28(7):1191–1204

    Article  Google Scholar 

  • Gunji Y-P, Shirakawa T, Niizato T, Yamachiyo M, Tani I (2011) An adaptive and robust biological network based on the vacant-particle transportation model. J Theor Biol, 272(1):187–200

    Article  Google Scholar 

  • Hasegawa M (2011) Verification and rectification of the physical analogy of simulated annealing for the solution of the traveling salesman problem. Phys Rev E, 83(3):036708

    Article  MathSciNet  Google Scholar 

  • Hirtle SC, Gärling T (1992) Heuristic rules for sequential spatial decisions. Geoforum, 23(2):227–238

    Article  Google Scholar 

  • Hopfield JJ, Tank DW (1986) Computing with neural circuits: a model. Science, 233(4764):625

    Article  Google Scholar 

  • Jones J (2010a) Characteristics of pattern formation and evolution in approximations of Physarum transport networks. Artif Life, 16(2):127–153

    Article  Google Scholar 

  • Jones J (2010b) The emergence and dynamical evolution of complex transport networks from simple low-level behaviours. Int J Unconv Comput, 6(2):125–144

    Google Scholar 

  • Jones J (2011a) Towards programmable smart materials: dynamical reconfiguration of emergent transport networks. Int J Unconv Comput, 7(6):423–447

    Google Scholar 

  • Jones J (2011b) Influences on the formation and evolution of Physarum polycephalum inspired emergent transport networks. Nat Comput 10(4):1345–1369

    Google Scholar 

  • Jones J, Adamatzky A (2010) Towards Physarum binary adders. Biosystems, 101(1):51–58

    Article  MathSciNet  Google Scholar 

  • Kurz ME (2011) Heuristics for the traveling salesman problem. In: Wiley Encyclopedia of Operations Research and Management Science. Wiley, Hoboken

  • Larranaga P, Kuijpers CMH, Murga RH, Inza I, Dizdarevic S (1999) Genetic algorithms for the travelling salesman problem: a review of representations and operators. Artif Intell Rev, 13(2):129–170

    Article  Google Scholar 

  • Lihoreau M, Chittka L, Raine NE (2010) Travel optimization by foraging bumblebees through readjustments of traplines after discovery of new feeding locations. Am Nat, 176(6):744–757

    Article  Google Scholar 

  • Lobovkina T, Dommersnes PG, Tiourine S, Joanny JF, Orwar O (2008) Shape optimization in lipid nanotube networks. Eur Phys J E, 26(3):295–300

    Article  Google Scholar 

  • MacGregor JN, Chu Y (2011) Human performance on the traveling salesman and related problems: a review. J Probl Solving, 3(2):2

    Google Scholar 

  • MacGregor JN, Ormerod T (1996) Human performance on the traveling salesman problem. Atten Percept Psychophys, 58(4):527–539

    Article  Google Scholar 

  • MacGregor JN, Ormerod TC, Chronicle EP (2000) A model of human performance on the traveling salesperson problem. Mem Cognit, 28(7):1183–1190

    Article  Google Scholar 

  • Nakagaki T, Guy RD (2007) Intelligent behaviors of amoeboid movement based on complex dynamics of soft matter. Soft Matter, 4(1):57–67

    Article  Google Scholar 

  • Nakagaki T, Kobayashi R, Nishiura Y, Ueda T (2004) Obtaining multiple separate food sources: behavioural intelligence in the Physarum plasmodium. R Soc Proc Biol Sci, 271(1554):2305–2310

    Article  Google Scholar 

  • Nakagaki T, Saigusa T, Tero A, Kobayashi R (2007) Effects of amount of food on path selection in the transport network of an amoeboid organism. In Proceedings of the international symposium on topological aspects of critical systems and networks. World Scientific

  • Nakagaki T, Yamada H, Toth A (2000) Intelligence: maze-solving by an amoeboid organism. Nature, 407:470

    Article  Google Scholar 

  • Ormerod TC, Chronicle EP (1999) Global perceptual processing in problem solving: the case of the traveling salesperson. Atten Percept Psychophys, 61(6):1227–1238

    Article  Google Scholar 

  • Pizlo Z, Stefanov E, Saalweachter J, Li Z, Haxhimusa Y, Kropatsch WG (2006) Traveling salesman problem: a foveating pyramid model. J Probl Solving, 1(1):8

    Google Scholar 

  • Reyes DR, Ghanem MM, Whitesides GM, Manz A (2002) Glow discharge in microfluidic chips for visible analog computing. Lab Chip, 2(2):113–116

    Article  Google Scholar 

  • Shirakawa T, Adamatzky A, Gunji Y-P, Miyake Y (2009) On simultaneous construction of Voronoi diagram and Delaunay triangulation by Physarum polycephalum. Int J Bifurcation Chaos, 19(9):3109–3117

    Article  Google Scholar 

  • Stepney S (2008) The neglected pillar of material computation. Phys D, 237(9):1157–1164

    Article  MATH  MathSciNet  Google Scholar 

  • Toussaint GT (1980) The relative neighbourhood graph of a finite planar set. Pattern Recognit, 12(4):261–268

    Article  MATH  MathSciNet  Google Scholar 

  • Tsuda S, Aono M, Gunji Y-P (2004) Robust and emergent Physarum logical-computing. BioSystems, 73:45–55

    Article  Google Scholar 

  • Zauner KP, Conrad M (1996) Parallel computing with DNA: toward the anti-universal machine. In: Parallel Problem Solving from Nature PPSN IV, pp 696–705

Download references

Acknowledgements

This authors AA and JJ were supported by the EU research project “Physarum Chip: Growing Computers from Slime Mould” (FP7 ICT Ref 316366) and JJ was supported by the SPUR Grant award for the project “Developing non-neural models of material computation in cellular tissues” from UWE.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jeff Jones.

Appendix: Shrinking blob particle model description

Appendix: Shrinking blob particle model description

The multi-agent particle approach to generate the behaviour of the virtual material blob uses a population of coupled mobile particles with very simple behaviours, residing within a 2D diffusive lattice. Lattice size was 200 × 200 pixels. The lattice stores particle positions and the concentration of a local diffusive factor referred to generically as chemoattractant. Collective particle positions represent the global pattern of the blob. The particles act independently and iteration of the particle population is performed randomly to avoid any artifacts from sequential ordering.

1.1 Generation of emergent blob cohesion and shape adaptation

The behaviour of the particles occurs in two distinct stages, the sensory stage and the motor stage. In the sensory stage, the particles sample their local environment using three forward biased sensors whose angle from the forwards position (the sensor angle parameter, SA), and distance (sensor offset, SO) may be parametrically adjusted (Fig. 13a). The offset sensors generate local coupling of sensory inputs and movement to generate the cohesion of the blob. The SO distance is measured in pixels and a minimum distance of 3 pixels is required for strong local coupling to occur. During the sensory stage each particle changes its orientation to rotate (via the parameter rotation angle, RA) towards the strongest local source of chemoattractant (Fig. 13b). After the sensory stage, each particle executes the motor stage and attempts to move forwards in its current orientation (an angle from 0–360°) by a single pixel forwards. Each lattice site may only store a single particle and particles deposit chemoattractant into the lattice only in the event of a successful forwards movement. If the next chosen site is already occupied by another particle move is abandoned and the particle selects a new randomly chosen direction.

Fig. 13
figure 13

Architecture of a single component of the shrinking blob and its sensory algorithm. a Morphology showing agent position ‘C’ and offset sensor positions (FL, F, FR), b algorithm for particle sensory stage

1.2 TSP problem representation

Twenty datasets were generated, each consisting of 20 randomly chosen data points within a circular arena. A condition was added that a minimum distance of 25 pixels must exist between data points. This gives a more uniform distribution of node points, preventing clustering of node points often found in real-world TSP instances, for example those based on real city locations. This was done partly to aid visual tracking of the tour path but also because a less clustered node distribution is known to provide more challenging problem instances (e.g. in human performance on TSP (Hirtle and Gärling 1992)) since there is less likelihood of providing pre-existing cues to intuitive solutions (for example nearest neighbour grouping). Each dataset was saved to a text file. TSP city data points for each dataset were loaded from the text files and were represented by projection of chemoattractant to the diffusion lattice at locations corresponding to a 3 × 3 window centred about their xy position. The projection concentration was 1.275 units per scheduler step. If a node was covered by a portion of the blob (i.e. if the number of agents in a 3 × 3 window surrounding the node was >0) the projection was reduced to 0.01275 units. Suppression of projection from covered sites was necessary to ensure a uniform concentration within the blob at internal data points. Uncovering of the data points by the shrinking blob acted to increase concentration at exposed nodes, causing the blob to be anchored by the nodes. Diffusion in the lattice was implemented at each scheduler step and at every site in the lattice via a simple mean filter of kernel size 3 × 3. Damping of the diffusion distance, which limits the distance of chemoattractant gradient diffusion, was achieved by multiplying the mean kernel value by 0.95 per scheduler step.

The blob was initialised by creating a population of particles and inoculating the population within the bounds of a Convex Hull formed by the data points, generate at the start of the experiment by a conventional algorithm. Why choose the Convex Hull as the initial blob pattern? It is possible to select any pattern for the blob shape, for example a circular blob. However, selecting any arbitrary pattern to cover the points might leave a large portion of the blob overlapping vacant space. This could result in shrinkage in one part of the blob taking place over vacant space with shrinkage in other parts over city points and would bias the output result. The Convex Hull was thus chosen as a simple representation of the perimeter of the data points. The exact population size differed depending on the area of the Convex Hull but the initial blob was typically composed of between 10,000 and 15,000 particles. Particles were given random initial positions within these confines and random initial orientations. Any particles migrating out of the bounds of the Convex Hull region were deleted. Particle sensor offset (SO) was 7 pixels. Angle of rotation (RA) and sensor angle (SA) were both set to 60° in all experiments. Agent forward displacement was 1 pixel per scheduler step and particles moving forwards successfully deposited five units of chemoattractant into the diffusion lattice. Both data projection stimuli and agent particle trails were represented by the same chemoattractant ensuring that the particles were attracted to both data stimuli and other agents’ trails. The collective behaviour of the particle population was cohesion and morphological adaptation to the configuration of stimuli.

1.3 Shrinkage mechanism

Adaptation of the blob size is implemented via tests at regular intervals as follows. If there are 1–10 particles in a 9 × 9 neighbourhood of a particle, and the particle has moved forwards successfully, the particle attempts to divide into two if there is a space available at a randomly selected empty location in the immediate 3 × 3 neighbourhood surrounding the particle. If there are 0–80 particles in a 9 × 9 neighbourhood of a particle the particle survives, otherwise it is deleted. Deletion of a particle leaves a vacant space at this location which is filled by nearby particles, causing the blob to shrink slightly. As the process continues the blob shrinks and adapts to the stimuli provided by the configuration of city data points. The frequency at which the growth and shrinkage of the population is executed determines a turnover rate for the particles. The frequency of testing for particle division was every five scheduler steps and the frequency for testing for particle removal was every ten scheduler steps. Since the shrinking blob method is only concerned with the reduction in size of the population it might be asked as to why there are tests for particle division at all. The particle division mechanism is present to ensure that the adaptation of the blob sheet is uniform across the sheet to prevent ‘tears’ or holes forming within the blob sheet, particularly at the start of an experiment when flux within the blob is initially established.

1.4 Halting mechanism

The shrinkage of the blob was halted when all data points were partially uncovered by using the following calculation. At each data point the number of particles surrounding the point in a 5 × 5 window was sampled. If the number of particles in this window was <15 the node was classified as partially uncovered. When all nodes are uncovered the model is halted and a greyscale representation of the diffusive lattice is saved to disk to read the result of the blob tour. The calculated tour path was saved in a text file and tour distance was calculated. The exact minimum tour path for each dataset was calculated for comparison by loading the data point configuration files into the Concorde TSP solver (Applegate et al. 2006).

Rights and permissions

Reprints and permissions

About this article

Cite this article

Jones, J., Adamatzky, A. Computation of the travelling salesman problem by a shrinking blob. Nat Comput 13, 1–16 (2014). https://doi.org/10.1007/s11047-013-9401-x

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11047-013-9401-x

Keywords

Navigation