I'm attempting to implement a large neighborhood search for the vehicle routing problem with time windows. JaCoP has been really easy to use for getting a basic CP solver working, but I'm have trouble figuring out how to implement the value selection heuristic I want.

An incomplete solution is a set of tours that go through some cities, each variable choice is a city, and each value choice is a place to insert that city into an existing tour.

I'd like to implement a simple value selection heuristic that chooses the insertion point that increases the total distance the least. Any idea how this can be best achieved? SimpleSelect doesn't work because the constraints I'm imposing are precedence relations between positions in the tour, not fixing values, but I'm not sure how to go about implementing a custom SelectChoicePoint to do this.

Thanks so much in advance for any help.