Top  Previous  Next

You can define one or more resources. A resource is the actual instantiation of resource types. If you for instance have 10 vehicles of a specific type, then you should create 10 entries in the input XML.


A resource is defined by an ID and always refers to one of the resource types.



If you are working with job timewindows, it may sometimes be possible to adjust the starting time from the depot, so the start is later, but still keeping servicetime within the time windows. Sometimes this may even reduce waiting time. This is the default behaviour.


By setting this parameter to false, a resource period always starts as the resource period defines it, possibly adding waiting time.



It is possible to supply a history of workloads, so the balancing can take the past into account: If resource A worked a lot last week, he/she may not have to work so much this week to keep the total in balance. See supplied spreadsheet workload_balancing.xls for an example.


Resource periods

For each resource it can be defined, when it is available as one or more resource periods.


A period is defined by an ID. This is included in the output, but do not have to be unique.


A period will usually start and stop at a depot, but doesn't have to. If any of the depots are not defined, we call it an open-ended task.


Depots can be different: Startdepot can for instance be current location for the resource, while stopdepot is home address.


Finally the key parameters Start and Stop. These may even be different days, since it is defined as a timestamp.



You can define multiple breaks per resource period. They are defined by a Start and Stop, which is the earlist time the break can start, and the latest it can end. Length of break (in minutes) need to fit within the period.


Break length does not affect the cost function, as it's not a part of total service time.


Breaks have higher priority than jobs, meaning that breaks are always allocated before jobs.


If breaks are located between two locations with a long drivetime between, the drivetime is split in the output. Otherwise breaks are normally located just before or after a job.


Breaks cannot split a job service time. This means if you have a break from 10.00 to 10.30, you can not be assigned a one hour job from 9.30 to 11.00.