int hardScore = 0;
int softScore = 0;
for (Customer customer : customerList) {
Standstill previousStandstill = customer.getPreviousStandstill();
if (previousStandstill != null) {
Vehicle vehicle = customer.getVehicle();
vehicleDemandMap.put(vehicle, vehicleDemandMap.get(vehicle) + customer.getDemand());
// Score constraint distanceToPreviousStandstill
softScore -= customer.getDistanceFromPreviousStandstill();
if (customer.getNextCustomer() == null) {
// Score constraint distanceFromLastCustomerToDepot
softScore -= customer.getLocation().getDistance(vehicle.getLocation());
}
if (timeWindowed) {
TimeWindowedCustomer timeWindowedCustomer = (TimeWindowedCustomer) customer;
int dueTime = timeWindowedCustomer.getDueTime();
Integer arrivalTime = timeWindowedCustomer.getArrivalTime();