VehicleTypeImpl type = VehicleTypeImpl.Builder.newInstance("type")
.build();
VehicleImpl v = VehicleImpl.Builder.newInstance("v")
.setType(type)
.setReturnToDepot(false)
.setStartLocation(Location.newInstance("-1"))
.build();
Service s1 = Service.Builder.newInstance("16823128")
.setLocation(Location.newInstance("16823128"))
.build();
Service s2 = Service.Builder.newInstance("16823132")
.setLocation(Location.newInstance("16823132"))
.build();
Service s3 = Service.Builder.newInstance("16823133")
.setLocation(Location.newInstance("16823133"))
.build();
Service s4 = Service.Builder.newInstance("16823134")
.setLocation(Location.newInstance("16823134"))
.build();
Service s5 = Service.Builder.newInstance("16823136")
.setLocation(Location.newInstance("16823136"))
.build();
Service s6 = Service.Builder.newInstance("16830703")
.setLocation(Location.newInstance("16830703"))
.build();
Service s7 = Service.Builder.newInstance("16830708")
.setLocation(Location.newInstance("16830708"))
.build();
VehicleRoutingTransportCostsMatrix costsMatrix =
VehicleRoutingTransportCostsMatrix.Builder.newInstance(true)
.addTransportDistance("-1", "16823128", 46.75)
.addTransportTime("-1", "16823128", 51.88)
.addTransportDistance("-1", "16823136", 60.65)
.addTransportTime("-1", "16823136", 51.52)
.addTransportDistance("-1", "16823133", 70.67)
.addTransportTime("-1", "16823133", 57.92)
.addTransportDistance("-1", "16823132", 71.62)
.addTransportTime("-1", "16823132", 60.2)
.addTransportDistance("-1", "16823134", 73.08)
.addTransportTime("-1", "16823134", 59.25)
.addTransportDistance("-1", "16830703", 74.73)
.addTransportTime("-1", "16830703", 67.28)
.addTransportDistance("-1", "16830708", 82.06)
.addTransportTime("-1", "16830708", 66.55)
.addTransportDistance("16823128", "16823136", 8.71)
.addTransportTime("16823128", "16823136", 31.0)
.addTransportDistance("16823128", "16823133", 21.9)
.addTransportTime("16823128", "16823133", 36.62)
.addTransportDistance("16823128", "16823132", 21.45)
.addTransportTime("16823128", "16823132", 39.28)
.addTransportDistance("16823128", "16823134", 23.68)
.addTransportTime("16823128", "16823134", 36.02)
.addTransportDistance("16823128", "16830703", 26.91)
.addTransportTime("16823128", "16830703", 48.38)
.addTransportDistance("16823128", "16830708", 40.86)
.addTransportTime("16823128", "16830708", 59.4)
.addTransportDistance("16823132", "16823133", 1.22)
.addTransportTime("16823132", "16823133", 4.0)
.addTransportDistance("16823132", "16830703", 4.97)
.addTransportTime("16823132", "16830703", 12.72)
.addTransportDistance("16823132", "16823134", 8.21)
.addTransportTime("16823132", "16823134", 18.37)
.addTransportDistance("16823132", "16823136", 12.49)
.addTransportTime("16823132", "16823136", 23.12)
.addTransportDistance("16823132", "16830708", 42.9)
.addTransportTime("16823132", "16830708", 44.2)
.addTransportDistance("16823133", "16830703", 5.39)
.addTransportTime("16823133", "16830703", 13.62)
.addTransportDistance("16823133", "16823134", 7.27)
.addTransportTime("16823133", "16823134", 18.53)
.addTransportDistance("16823133", "16823136", 11.54)
.addTransportTime("16823133", "16823136", 20.83)
.addTransportDistance("16823133", "16830708", 41.97)
.addTransportTime("16823133", "16830708", 44.35)
.addTransportDistance("16823134", "16830703", 9.02)
.addTransportTime("16823134", "16830703", 22.25)
.addTransportDistance("16823134", "16823136", 13.94)
.addTransportTime("16823134", "16823136", 22.22)
.addTransportDistance("16823134", "16830708", 36.77)
.addTransportTime("16823134", "16830708", 35.62)
.addTransportDistance("16823136", "16830703", 20.07)
.addTransportTime("16823136", "16830703", 35.77)
.addTransportDistance("16823136", "16830708", 51.24)
.addTransportTime("16823136", "16830708", 48.88)
.addTransportDistance("16830703", "16830708", 43.0)
.addTransportTime("16830703", "16830708", 47.95)
.build();
VehicleRoutingProblem vrp = VehicleRoutingProblem.Builder.newInstance()
.addJob(s1).addJob(s2).addJob(s3).addJob(s4).addJob(s5).addJob(s6).addJob(s7)
.addVehicle(v)
.setFleetSize(VehicleRoutingProblem.FleetSize.FINITE)
.setRoutingCost(costsMatrix)
.build();
VehicleRoutingAlgorithm algorithm = Jsprit.Builder.newInstance(vrp).buildAlgorithm();
VehicleRoutingProblemSolution s = Solutions.bestOf(algorithm.searchSolutions());
SolutionPrinter.print(vrp, s, SolutionPrinter.Print.VERBOSE);