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()); } } }
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()); } } }