[pgrouting-dev] GSoC projects and next steps
Stephen Woodbridge
woodbri at swoodbridge.com
Wed Oct 2 06:46:20 PDT 2013
On 10/2/2013 1:58 AM, Daniel Kastl wrote:
> It would be nice to have some "Distance Matrix Generator", but I don't
> think all distances need to be newly calculated with every request, so
> it would be probably more useful to have a function that can transform a
> "row based" list of distances (stored in a table) into a matrix as
> needed by TSP or VRP.
>
> I think users might calculate distances like this:
>
> * Use Euclidean distance
> * When adding a new "stop point" k-Dijkstra can be run and the result
> can be stored in a table
> * Use a different route generator like OSRM and store the distances in
> PostgreSQL
>
> ... or something else.
> This would be faster than re-creating the distance matrix with every VRP
> query.
I think that we should think about this in terms of an application where
you have orders and these change every day so you would need a table like:
id, lat, lon, size, time_start, time_end, description
1, y, x, 0, 0, 480, depot
... <orders>
Then the function can that this table and compute the distance table
using Euclidean distance or kdijkstra or whatever
And interesting variant on this is parcel pickup and delivery. Here you
have a parcel at a location and you have to pick it up and drop it off,
or return it to the depot for delivery the next day.
A simpler variant is a package pickup service, where the truck collects
parcels and returns them to the depot. In this case, we could pickup in
the morning and deliver in the afternoon, but clearly doing both at the
same time is more efficient.
> I want to do some testing on the partition projects, and look at
> performance and memory usage on large graphs. Mukul is going to look
> at creating a trsp-partition branch to see if he can integrate the
> partition model into TRSP.
TSP and VRP take their matrices in different formats and have some
different requirments, like TSP expects a symmetric matric and I don't
think VRP has the requirement. But having a functions that can convert
from matrix to table and table to matrix would be handing to have.
> Do you think it makes sense to have a "develop-2.0" branch to collect
> bug fixes and a "develop-2.1" branch to merge new functions such as the
> partitioning and VRP function?
Yes, but I don't like those names but I have not thought about names yet
and I think we should look at the branching model again. At the moment
the only changes in develop are 2.0.1 changes.
> I think for Razequl and Mukul it's also neice to have their work merged
> into a branch that is going to become a release in a few months. It's
> better to do this now when both of you remember what you actually wrote
> and not one year later ;)
I agree with this but, I need some time to review and test the code and
decide if we need to change the interface. I don't want to rush a bunch
of changes into a branch without thinking what it means to the release.
This is how things got to be such a mess before. Anyone can create their
own local fork and branch and pull in these changes to plan with which
was the whole point of using git. It will be able a month before I can
focus on this so in the mean time tag you branches with a
gsoc-vrp-submission or gsoc-partition-submission tags and then continue
making changes in the current branches.
Thanks,
-Steve
> Daniel
>
>
>
> --
> Georepublic UG & Georepublic Japan
> eMail: daniel.kastl at georepublic.de <mailto:daniel.kastl at georepublic.de>
> Web: http://georepublic.de <http://georepublic.de/>
>
>
> _______________________________________________
> pgrouting-dev mailing list
> pgrouting-dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/pgrouting-dev
>
More information about the pgrouting-dev
mailing list