Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things

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.

Replies are listed 'Best First'.
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?

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

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (12)
As of 2016-06-30 14:08 GMT
Find Nodes?
    Voting Booth?
    My preferred method of making French fries (chips) is in a ...

    Results (396 votes). Check out past polls.