{"title":"Computational experience with an algorithm for finding the k shortest paths in a network","authors":"D. Shier","doi":"10.6028/JRES.078B.020","DOIUrl":null,"url":null,"abstract":"A common task which arises In analyzing a system of interconnec ted elements or network is that of calculating shortest paths i. e., routes through the sys tem whose total le ngth or cos t is as small as possible_ Such calc ulations occur quite naturally in the context of trans portation and communication networks_ In applications s uch as these, it is so metimes desirable to have knowledge of the k shortest paths in contrast to simply a shortest path_ For example, the knowledge of good alternative routes (as opposed to just the shortest one) can be used by transportation planne rs to model more realistically the Aow of vehi cular traffi c on a road ne twork. Or, as a second example, the routing of messages through a communi cation s network when some routes are temporarily obstructed can be based on th e best alternative routes which are available. Several algorithms have been traditionally employed in order to determine the k shortest paths between specified nodes of a ne twork (such paths may in fac t con tain repeated nodes). An excellent survey of these algorithms is provided by the review article of Dreyfu s [1] 1. More recently, several new methods for performing s uch calculation s have been proposed [2 , 4]. These methods are based on a fairly strong analogy which exists be tween the solution of ne twork path problems and traditional techniques for solving ordinary linear equations. On the basi s of preliminary theoretical and computational evidence, one of these (the Double-Sweep method) emerged [4] as a reasonably effective procedure for calculating k shortest paths between a given node and all other nodes in a network.2 The purpose of this report is to describe a particular implementation of the Double-Sweep method in FORTRAN V 3 and to present a body of computational results for a practically important class of networks (namely, those with a rectangular grid topology).","PeriodicalId":166823,"journal":{"name":"Journal of Research of the National Bureau of Standards, Section B: Mathematical Sciences","volume":"78 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1974-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"45","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of Research of the National Bureau of Standards, Section B: Mathematical Sciences","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.6028/JRES.078B.020","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 45
Abstract
A common task which arises In analyzing a system of interconnec ted elements or network is that of calculating shortest paths i. e., routes through the sys tem whose total le ngth or cos t is as small as possible_ Such calc ulations occur quite naturally in the context of trans portation and communication networks_ In applications s uch as these, it is so metimes desirable to have knowledge of the k shortest paths in contrast to simply a shortest path_ For example, the knowledge of good alternative routes (as opposed to just the shortest one) can be used by transportation planne rs to model more realistically the Aow of vehi cular traffi c on a road ne twork. Or, as a second example, the routing of messages through a communi cation s network when some routes are temporarily obstructed can be based on th e best alternative routes which are available. Several algorithms have been traditionally employed in order to determine the k shortest paths between specified nodes of a ne twork (such paths may in fac t con tain repeated nodes). An excellent survey of these algorithms is provided by the review article of Dreyfu s [1] 1. More recently, several new methods for performing s uch calculation s have been proposed [2 , 4]. These methods are based on a fairly strong analogy which exists be tween the solution of ne twork path problems and traditional techniques for solving ordinary linear equations. On the basi s of preliminary theoretical and computational evidence, one of these (the Double-Sweep method) emerged [4] as a reasonably effective procedure for calculating k shortest paths between a given node and all other nodes in a network.2 The purpose of this report is to describe a particular implementation of the Double-Sweep method in FORTRAN V 3 and to present a body of computational results for a practically important class of networks (namely, those with a rectangular grid topology).