mirror of
https://github.com/graphhopper/jsprit.git
synced 2020-01-24 07:45:05 +01:00
improve JobDistance for RadialRuin
This commit is contained in:
parent
b0de3eef86
commit
3587c7fe94
8 changed files with 233 additions and 145 deletions
|
|
@ -230,43 +230,7 @@ public class TestAlgorithmReader {
|
|||
for(SearchStrategy strat : algo.getSearchStrategyManager().getStrategies()){
|
||||
nOfModules += strat.getSearchStrategyModules().size();
|
||||
}
|
||||
assertEquals(6, nOfModules);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void whenCreatingAlgorithm_nOfUniqueInstancesOfInsertionModulesIsCorrect(){
|
||||
VehicleRoutingAlgorithm algo = VehicleRoutingAlgorithms.readAndCreateAlgorithm(vrp, config);
|
||||
int nOfBestInsertions = 0;
|
||||
Set<SearchStrategyModule> uniqueStrategies = new HashSet<SearchStrategyModule>();
|
||||
for(SearchStrategy strat : algo.getSearchStrategyManager().getStrategies()){
|
||||
for(SearchStrategyModule module : strat.getSearchStrategyModules()){
|
||||
if(module.getName().equals("bestInsertion")){
|
||||
nOfBestInsertions++;
|
||||
uniqueStrategies.add(module);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
assertEquals(3, nOfBestInsertions);
|
||||
assertEquals(2, uniqueStrategies.size());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void whenCreatingAlgorithm_nOfUniqueInstancesOfRuinModulesIsCorrect(){
|
||||
VehicleRoutingAlgorithm algo = VehicleRoutingAlgorithms.readAndCreateAlgorithm(vrp, config);
|
||||
int nOfRuinModules = 0;
|
||||
Set<SearchStrategyModule> uniqueStrategies = new HashSet<SearchStrategyModule>();
|
||||
for(SearchStrategy strat : algo.getSearchStrategyManager().getStrategies()){
|
||||
for(SearchStrategyModule module : strat.getSearchStrategyModules()){
|
||||
if(module.getName().endsWith("Ruin")){
|
||||
nOfRuinModules++;
|
||||
uniqueStrategies.add(module);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
assertEquals(3, nOfRuinModules);
|
||||
assertEquals(2, uniqueStrategies.size());
|
||||
assertEquals(3, nOfModules);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
|||
|
|
@ -34,11 +34,12 @@
|
|||
<selector name="selectBest"/>
|
||||
<acceptor name="acceptNewRemoveWorst"/>
|
||||
<modules>
|
||||
<module name="randomRuin">
|
||||
<share>0.5</share>
|
||||
<module name="ruin_and_recreate">
|
||||
<ruin name="randomRuin">
|
||||
<share>0.5</share>
|
||||
</ruin>
|
||||
<insertion name="bestInsertion"/>
|
||||
</module>
|
||||
<module name="bestInsertion">
|
||||
</module>
|
||||
</modules>
|
||||
<probability>0.4</probability>
|
||||
</searchStrategy>
|
||||
|
|
@ -47,10 +48,12 @@
|
|||
<selector name="selectBest"/>
|
||||
<acceptor name="acceptNewRemoveWorst"/>
|
||||
<modules>
|
||||
<module name="randomRuin">
|
||||
<share>0.1</share>
|
||||
<module name="ruin_and_recreate">
|
||||
<ruin name="randomRuin">
|
||||
<share>0.1</share>
|
||||
</ruin>
|
||||
<insertion name="bestInsertion"/>
|
||||
</module>
|
||||
<module name="bestInsertion"></module>
|
||||
</modules>
|
||||
<probability>0.4</probability>
|
||||
</searchStrategy>
|
||||
|
|
@ -59,11 +62,12 @@
|
|||
<selector name="selectBest"/>
|
||||
<acceptor name="acceptNewRemoveWorst"/>
|
||||
<modules>
|
||||
<module name="radialRuin">
|
||||
<share>0.3</share>
|
||||
<distanceMeasure>euclid</distanceMeasure>
|
||||
<module name="ruin_and_recreate">
|
||||
<ruin name="radialRuin">
|
||||
<share>0.3</share>
|
||||
</ruin>
|
||||
<insertion name="bestInsertion" id="1"/>
|
||||
</module>
|
||||
<module name="bestInsertion" id="1"></module>
|
||||
</modules>
|
||||
<probability>0.2</probability>
|
||||
</searchStrategy>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue