Input XML

Top  Previous  Next

This chapter describes the input xml. Please look into the input.xsd file and samples for details. Especially the sample called dummy.xml shows all the possible elements of FleetEngine input.


You can refer to the xsd file inside the xml and it will automatically be validated when calling OPTIMIZESTART. We strongly recommend doing so. It will catch many possible errors as fast as possible.


But even so, we also recommend always testing input files for being valid with an XML validator, for instance XMLspy, before sending them to the optimizer.


If you don't have a validator, you can also use this website, which allow you to upload the schema too:


When defining a task, use as few elements as possible for describing the problem to solve.

1) Only include resource types, that are actually in use.

2) Only use job time windows, which are smaller than the resource periods.




Task setup


4 main kinds of tasks are supported and depending upon this, input data about the jobs are organized differently.


On-site - nothing is moved around and capacity is not relevant

The pickup node is used for specifying the job.


Pickup at specific locations and implicit delivery at the end of the route (at a depot if defined by the ResourcePeriod – else at the last job)

Typically waste collection. Just specify the coordinates of waste as the pickup node.

Delivery is then automatically done at the end of the route.


Implicit pickup at start of route (at a depot if defined by the ResourcePeriod – else at the first job) and delivery at specific locations

The classical delivery task (newspapers etc.). This can be modelled the same way as above, but using the delivery node only.


Pickup at specific locations and delivery at specific locations

This can for instance be school children being picked up at home and brought to different schools. Specify both pickup and delivery node.

It can also be several items being moved from one location to other ones, where the vehicle returns to the pickup location to restock.

This mode is also known as "mixed pickup and delivery".



The advantage of only specifying the pickup or delivery node, is it allows the optimizer to match a job with the nearest depot, if there are multiple to choose between and you have no specific wishes, about which one it should be.


To prevent any confusion: A job always consists of a pickup and delivery action, which go together in pairs and are defined as one element in the XML, so there is no risk that you pickup more items than you deliver or vice-versa.