コード例 #1
0
 private void retractNextCustomer(Cliente cliente) {
   Vehiculo vehicle = cliente.getVehiculo();
   if (vehicle != null) {
     if (cliente.getSiguienteCliente() == null) {
       // Score constraint distanceFromLastCustomerToDepot
       softScore += vehicle.getUbicacion().getDistanciaMetros(cliente.getUbicacion());
     }
   }
 }
コード例 #2
0
 private void retractVehicle(Cliente cliente) {
   Vehiculo vehiculo = cliente.getVehiculo();
   if (vehiculo != null) {
     // Score constraint vehicleCapacity
     int capacidad = vehiculo.getCapacidad();
     int demandaAntigua = mapaDemandaVehiculo.get(vehiculo);
     int demandaNueva = demandaAntigua - cliente.getDemanda();
     hardScore += Math.min(capacidad - demandaNueva, 0) - Math.min(capacidad - demandaAntigua, 0);
     mapaDemandaVehiculo.put(vehiculo, demandaNueva);
     if (cliente.getSiguienteCliente() == null) {
       // Score constraint distanceFromLastCustomerToDepot
       softScore += vehiculo.getUbicacion().getDistanciaMetros(cliente.getUbicacion());
     }
   }
 }