AntNet

AntNet is an algorithm for adaptive best-effort routing in IP networks. AntNet's design is based on the Ant Colony Optimization (ACO) framework, which exploits the mechanisms behind the shortest path behavior observed in ant colonies to define a Nature-inspired metaheuristic for combinatorial optimization.

ACO features a multi-agent organization, stigmergic communication among the agents, distributed operations, use of a stochastic decision policy to construct solutions, stigmergic learning of the parameters of the decision policy. It has been applied with success to a large variety of combinatorial problems. AntNet has been the first ACO algorithm for routing in packet-switched networks. My first work on AntNet, under the supervision of Prof. Marco Dorigo, dates back to 1997.

AntNet, as well as most of the other ACO routing algorithms designed after AntNet, exhibits a number of interesting properties: it works in a fully distributed way, is highly adaptive to network and traffic changes, uses lightweight mobile agents (called ants) for active path sampling, is robust to agent failures, provides multipath routing, and automatically takes care of data load spreading.

AntNet's performance has been extensively tested in simulation, considering different networks and traffic patterns, and compared to several state-of-the-art routing algorithms. In the great majority of the considered situations, AntNet has largely outperformed all its competitors, showing excellent adaptivity and robustness. AntNet has been also tested in small physical networks, confirming the good performance also in these real-world tests.

The complete description of all different versions of the algorithm (my thesis):

My thesis contains a comprehensive description of AntNet and of other routing algorithms I've designed, as well as of related work.

  • Di Caro G. A. "Ant Colony Optimization and its application to adaptive routing in telecommunication networks" PhD thesis in Applied Sciences, Polytechnic School, Université Libre de Bruxelles, Brussels, Belgium, 2004. [BibTeX]
  • Since the thesis is quite long and deals both with the general definition and study of the ACO metaheuristic and with its specific application to network routing, here you can find a link to the two chapters where AntNet is defined and its experimental results are reported.
    As a shortcut, a less detailed description and discussion of the algorithms can be found in the two papers reported below.
    Please refere exclusively to my thesis or to those two papers if you want to implement and discuss about AntNet, all the other older papers have to be considered as out-of-date.


    The original journal paper:

    The original journal paper which describes AntNet is the following one, although there were some previous conference papers describing preliminary versions of the algorithm:

  • Di Caro G.A., Dorigo M., "AntNet: Distributed Stigmergetic Control for Communications Networks", Journal of Artificial Intelligence Research (JAIR), Vol. 9, Pag. 317-365, 1998. [BibTeX]

  • The conference paper with the description of the latest version of AntNet:

    If you plan to implement AntNet for comparison studies, please refer either to my thesis or to the algorithm described in the paper indicated below, which contains some small but significant improvements over the version described in the JAIR paper above.

  • Di Caro G.A., Dorigo M., "Two Ant Colony Algorithms for Best-Effort Routing in Datagram Networks" , Proceedings of PDCS'98 - 10th International Conference on Parallel and Distributed Computing and Systems, Las Vegas, Nevada, October 28-31, 1998, (also Technical Report IRIDIA 98-09). [BibTeX]

  • Software implementations of AntNet:

    Don't ask me about my original code! I implemented the code for my own personal use, such that the code has no comments, no user manual, makes use of commercial libraries, etc. However, some software implementations of AntNet for popular network simulators are around:

  • Muddassar Farooq made an implementation of AntNet for OmNet++. The implementation is very close to the original algorithm, but I didn't fully checked and tested the code.

  • Lavina Jain made an implementation of AntNet for NS-2 (that can be also downloaded here).

  • Richardson Lima has also released, more recently, a version of AntNet for NS-2. He also made an AntNet web page.
    Since I'm not an NS-2 user, I haven't checked these implementations, but I guess the Lima's implementation can be used as a good starting point. If you plan to use Lima's code, please feel free to contact me to check/improve the quality of the implementation.

  • At IDSIA, Frederick Ducatelle and Liliana Carrillo made an implementation of AntNet for QualNet (ver. 3.8), the commercial network simulator from Scalable Network Technologies. The implementation has not been fully tested and the code needs to be polished. However, it works and can be definitely used as a starting point (anybody willing to check, improve, or port this code to newer QualNet versions, is most welcomed!).
  • Articles discussing principles and applications of ACO and Swarm Intelligence to routing in telecommunication networks:

    ACO is a form of Swarm Intelligence, and both have extensively been applied to telecommunication networks problems. The articles below contain extensive general discussions and surveys about the application of ACO, and, more in general, of Swarm Intelligence, to routing in telecommunications networks.

  • Ducatelle F., Di Caro G.A., Gambardella L.M., Principles and applications of swarm intelligence for telecommunications networks, Swarm Intelligence Journal Vol. 4, N. 3, pp. 173-198, 2010 [DOI] [BibTeX]

  • Saleem M., Di Caro G.A., Farooq M., Swarm intelligence based routing protocol for wireless sensor networks: Survey and future directions, Information Sciences, Volume 181, Issue 20, pp. 4597-4624, October 2011 [DOI] [BibTeX]

  • Farooq M., Di Caro G.A., Routing protocols for next-generation intelligent networks inspired by collective behaviors of insect societies in Blum C., Merkle D. (Eds.), Swarm Intelligence: Introduction and Applications, Springer, Natural Computing Series, 2008 [BibTeX]

  • Di Caro G.A., Ducatelle F., Gambardella L.M., Theory and practice of Ant Colony Optimization for routing in dynamic telecommunications networks, in Sala N., Orsucci F. (Eds.), Reflecting interfaces: the complex coevolution of information technology ecosystems, pp. 185-216, Idea Group, Hershey, PA, USA. 2008 [BibTeX]
  • Links to other work in routing for telecommunications and robotic networks:

    Below you can find the link to the AntHocNet and Swarm Robotics pages I am maintaining. AntHocNet is an ACO protocol for adaptive routing in mobile ad hoc networks derived from AntNet. We also did a lot of interesting work using routing information for navigation and coordination in mobile robotic swarms.

  • AntHocNet page
  • Swarm Robotics @ IDSIA


  • The Ant Colony Optimization metaheuristic

    AntNet has been designed in the framework of the ACO metaheuristic, intended for combinatorial optimization problems. I gave an important contribution to the definition and analysis of ACO. Below you can find links to the core work related to the original definition of the metaheuristic and to its further study and application:
    The original papers:

    In 1999, we defined the metaheuristic as an a posteriori metaheuristic, taking into account the initial seminal work of Dorigo et al. (dating back to 1991) and the number of algorithms designed after this work. The reference papers where ACO is formally defined and extensively discussed are the following two (they also contain loads of reference to practical ACO implementations):

  • Dorigo M., Di Caro G.A., Gambardella L.M., "Ant Algorithms for Discrete Optimization" , Artificial Life, Vol. 5, N. 2, 1999. [BibTeX]

  • Dorigo M., Di Caro G. A., "The Ant Colony Optimization Meta-Heuristic", in Corne D., Dorigo M., Glover F., "New Ideas in Optimization", McGraw-Hill, 1999. [BibTeX]
  • Comprehensive and up-to-date information sources:

    My thesis contains an up-to-date/novel definition of ACO, as well as extensive discussions and review of implementations. A new terminology is introduced, stressing the relationship between ACO and other domains like reinforcement learning and Markov decision processes:

  • Di Caro G. A. "Ant Colony Optimization and its application to adaptive routing in telecommunication networks" PhD thesis in Applied Sciences, Polytechnic School, Université Libre de Bruxelles, Brussels, Belgium, 2004. [BibTeX]

  • The other main reference is the recently published book on ACO:

  • Dorigo M., Stuetzle T., Ant Colony Optimization, MIT Press, 2005

  • Loads of additional information can be found in the official Ant Colony Optimization page.