1
0
Fork 0
mirror of https://github.com/graphhopper/jsprit.git synced 2020-01-24 07:45:05 +01:00

optimize job removal

This commit is contained in:
oblonski 2015-09-28 09:51:34 +02:00
parent e25b61cac4
commit e1aa0a20ce

View file

@ -17,6 +17,7 @@
package jsprit.core.problem.solution.route.activity;
import jsprit.core.problem.job.Job;
import jsprit.core.problem.job.Service;
import jsprit.core.problem.solution.route.activity.TourActivity.JobActivity;
import java.util.*;
@ -127,12 +128,17 @@ public class TourActivities {
jobRemoved = jobs.remove(job);
}
boolean activityRemoved = false;
List<TourActivity> acts = new ArrayList<TourActivity>(tourActivities);
for (TourActivity c : acts) {
Iterator<TourActivity> iterator = tourActivities.iterator();
while(iterator.hasNext()){
TourActivity c = iterator.next();
if (c instanceof JobActivity) {
if (job.equals(((JobActivity) c).getJob())) {
tourActivities.remove(c);
Job underlyingJob = ((JobActivity) c).getJob();
if (job.equals(underlyingJob)) {
iterator.remove();
activityRemoved = true;
if(underlyingJob instanceof Service){
break;
}
}
}
}