Multipe Depot Heterogeneous VRP with Time windows (MDHVRPTW)

194 views
Skip to first unread message

elmepieterse

unread,
Jul 13, 2015, 2:29:49 PM7/13/15
to jsprit-ma...@googlegroups.com
Hi

I am new to JSprit and I want to model a Multipe Depot Heterogeneous VRP with Time windows, i have a few questions if someone can please assist me.
1. Just to make sure, it is possible to model that problem?
2. Does all the problems use the same metaheuristic?
3. When modeling the MDHVRPTW, will it consider all the constraints applicable to all the variants?

Thank you
Elmé

Stefan Schröder

unread,
Jul 14, 2015, 8:15:14 AM7/14/15
to jsprit-ma...@googlegroups.com, elmepi...@gmail.com
Hi,

@1: yes, it should solve this problem

@2: yes, but you can customize the strategies used, i.e. if you realize that certain strategies are more successful for your problem, you can give them a higher weight or alternatively switch off unsuccessfull strategies

@3 What do you mean here exactly?

Best
Stefan

Elme Pieterse

unread,
Jul 16, 2015, 3:24:29 AM7/16/15
to jsprit-ma...@googlegroups.com
Thanks for the reply!

I set up the problem. What i ment is how do i make sure the constraints is considered (time windows and capacity) , where are the constraints set? In the algorithm?

And i want to ask , is it possible to use the distance time matrix and also set time windows? I am not sure how to work with that.

Best
Elmé 
--
You received this message because you are subscribed to the Google Groups "jsprit-mailing-list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jsprit-mailing-...@googlegroups.com.
To post to this group, send email to jsprit-ma...@googlegroups.com.
Visit this group at http://groups.google.com/group/jsprit-mailing-list.
For more options, visit https://groups.google.com/d/optout.

Elme Pieterse

unread,
Jul 16, 2015, 3:31:33 AM7/16/15
to jsprit-ma...@googlegroups.com
And i also want to find out. With what speed does the routing problems work with to satisfy tw?
Thank you

Stefan Schroeder

unread,
Jul 16, 2015, 3:38:50 AM7/16/15
to jsprit-ma...@googlegroups.com
These constraints can be easily modelled by specifying your jobs and vehicles.

tw-constraint: just assign tws to your jobs

multiple depots: just assign different start locations to your vehicles

heterogeneous fleet: just specify different vehicle types

Once you did this, the algorithm automatically considers these constraints. Please read the wiki to find out how to specify vehicles and jobs. Additionally there are various code examples in jsprit.examples.

With regard to speed, please measure this yourself since it depends on your problem(size), machine, algorithm config, etc.

Best,
Stefan

Am 16/07/15 um 09:31 schrieb Elme Pieterse:

Elme

unread,
Jul 16, 2015, 4:34:01 AM7/16/15
to jsprit-ma...@googlegroups.com
Thank you it helps a lot. Just one more about the speed, where can I change the speed the algorithm currently works with? The algorithm must consider a speed automatically now to determine the time window arrival times etc.

Elmé

Sent from my iPad

Stefan Schroeder

unread,
Jul 16, 2015, 6:50:50 AM7/16/15
to jsprit-ma...@googlegroups.com
Ahh you mean vehicle speed. This is what you specify with VehicleRoutingTransportCosts where you have a method called .getTransportTime(...). By default, the Euclidean distance is used for both, costs and time. But you can specify transport costs of your choice and set it via the VehicleRoutingProblem.Builder

Am 16/07/15 um 10:33 schrieb Elme:

Elme Pieterse

unread,
Jul 16, 2015, 8:13:10 AM7/16/15
to jsprit-ma...@googlegroups.com
Oky so by default the speed is already set in the builder to calculate time with the euclidean distance. So i can change it there?

Thanks a lot stefan!

Stefan Schroeder

unread,
Jul 16, 2015, 8:24:12 AM7/16/15
to jsprit-ma...@googlegroups.com
Actually, there is no explicit speed value, but an interface where you can determine how long a vehicle takes from A to B. Have a look at this and you see how the default transport time is calculated (as I wrote based on Euclidean distance). There are various ways to specify your own. First, you specify the transport costs/times the algorithm uses by setting this (with this you override the default). Second, you can either implement AbstractForwardVehicleRoutingTransportCosts with your own or you can use a matrix (e.g. the FastVehicleRoutingTransportCostMatrix) to fill in your own transport time and distance values.

Best
Stefan

Am 16/07/15 um 14:13 schrieb Elme Pieterse:

Elme Pieterse

unread,
Jul 16, 2015, 8:25:31 AM7/16/15
to jsprit-ma...@googlegroups.com
I think i might be a bit confusing. I am not using the the distance time matrix. I am using the normal x any coordinates with time windows. Like the solomon problem. So i can change the vehicle speed in the builder ?

Stefan Schroeder

unread,
Jul 16, 2015, 8:30:30 AM7/16/15
to jsprit-ma...@googlegroups.com
If it is not dependent on a vehicle (but is valid for your vehicles), you can just modify the speed value in EuclideanCosts. The field is public so just instantiate it, set .speed = x and override the default routing costs with VehicleRoutingProblem.Builder as I just described.

Am 16/07/15 um 14:25 schrieb Elme Pieterse:
Reply all
Reply to author
Forward
0 new messages