Heuristic routing

From Wikipedia, the free encyclopedia
Jump to: navigation, search

Heuristic is an adjective used in relation to methods of learning, discovery, or problem solving. Routing is the process of selecting paths to specific destinations.

According to Schuster (1974):

The heuristic approach to problem solving consists of applying human intelligence, experience, common sense and certain rules of thumb (or heuristics) to develop an acceptable, but not necessarily an optimum, solution to a problem. Of course, determining what constitutes an acceptable solution is part of the task of deciding which approach to use; but broadly defined, an acceptable solution is one that is both reasonably good (close to optimum) and derived within reasonable effort, time, and cost constraints. Often the effort (manpower, computer, and other resources) required, the time limits on when the solution is needed, and the cost to compile, process, and analyze all the data required for deterministic or other complicated procedures preclude their usefulness or favor the faster, simpler heuristic approach. Thus, the heuristic approach is generally used when deterministic techniques or are not available, economical, or practical. (p.9)

Heuristic routing is a system used to describe how data is delivered when problems in a network topology arise. Heuristic routing is achieved using specific algorithms to determine the best, although not always optimal, path to a destination. When an interruption in a network topology occurs, the software running on the networking electronics calculates another route to the desired destination via an alternate available path.

Heuristic routing is also used for vehicular traffic using the highway and transportation network of the world, but that is beyond the scope of this article.

Heuristic routing: Routing in which data, such as time delay, extracted from incoming messages, during specified periods and over different routes, are used to determine the optimum routing for transmitting data back to the sources.

Note: Heuristic routing allows a measure of route optimization based on recent empirical knowledge of the state of the network.

IP routing[edit]

The routing protocols in use today are based on one of two algorithms: Distance Vector or Link State. Distance Vector algorithms broadcast routing information to all neighboring routers. Link State routing protocols build a topographical map of the entire network based on updates from neighbor routers, and then use the Dijkstra algorithm to compute the shortest path to each destination. Metrics used are based on the number of hops, delay, throughput, traffic, and reliability.

Distance vector
RIP uses number of hops, or gateways traversed, as its metric.
IGRP uses bandwidth, delay, hop count, link reliability, load, and MTU.
EIGRP uses the (DUAL) Diffusing Update Algorithm.
BGP uses the Distance Vector algorithm

Link state
OSPF uses the Dijkstra algorithm.


  • Shuster, Kenneth A.(1974). Heuristic routing for solid waste collection vehicles. [Washington] U.S. Environmental Protection Agency
  • Robertazzi, Thomas G.(2007). Networks and Grids Technology and Theory. Springer ISBN 978-0-387-36758-3
  • Malhorta, Ravi (2002). IP Routing. O'Reilly ISBN 0-596-00275-0
  • Ravanbakhsh, M; et-al (2006) A Heuristic Routing Mechanism Using a New Addressing Scheme
    Bio-Inspired Models of Network, Information and Computing Systems, 1st
    11–13 Dec. 2006 Page(s):1–5
    DOI 10.1109/BIMNICS.2006.361825
  • Somarriba, O. (2008). Evaluation of heuristic algorithms for scheduling, routing and power allocation in traffic sensitive spatial TDMA Wireless Ad Hoc Networks
    Modeling and Optimization in Mobile, Ad Hoc, and Wireless Networks and Workshops, 2008. WiOPT 2008. 6th International Symposium
    1–3 April 2008 Page(s):462–466
    Digital Object Identifier 10.1109/WIOPT.2008.4586107

 This article incorporates public domain material from the General Services Administration document "Federal Standard 1037C".

See also[edit]

Heuristic algorithm
Ford–Fulkerson algorithm
Bellman–Ford algorithm