Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re: Travelling Salesman

by rg0now (Chaplain)
on May 10, 2012 at 20:52 UTC ( #969863=note: print w/ replies, xml ) Need Help??


in reply to Travelling Salesman

I would like to call your attention to Lemon::Graph, which I coded up, and use on a daily basis, as an alternative to Boost::Graph. Lemon::Graph is a Perl wrapper around LEMON, a C++ graph library that is thought to have a much saner interface than Boost Graph and provides useful additions like a built-in linear programming API, etc.

Here is how a simple Dijkstra run would look like in Lemon::Graph

use Lemon::Graph; # read graph from file with a cost map encoding arc lengths my $graph = Lemon::GraphReader->new("some_graph.lgf")-> arcMap("cost", my $cost)-> run(); my $source = ... some node ...; my $destination = ... some other node ...; # create a shortest path object my $d = Lemon::Dijkstra->new($graph, $cost); # run Dijkstra from $source $d->run($source); # get the distance to $destination my $dist = $d->dist($destination);
The bad news is that I have never ever tried to compile Lemon::Graph under Windows, but I see no reason why it shouldn't work. Please, report back if you manage to compile it.


Comment on Re: Travelling Salesman
Download Code
Re^2: Travelling Salesman
by gangulphus (Initiate) on May 16, 2012 at 17:16 UTC
    Thanks for drawing my attention to this. I have download the package and am currently working on trying to compile it.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://969863]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (18)
As of 2014-10-23 13:59 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    For retirement, I am banking on:










    Results (125 votes), past polls