1 | package de.uka.ipd.sdq.dsexplore.opt4j.operator; |
2 | |
3 | import org.opt4j.common.random.Rand; |
4 | import org.opt4j.operator.crossover.Crossover; |
5 | import org.opt4j.operator.crossover.CrossoverListRate; |
6 | import org.opt4j.optimizer.ea.ConstantCrossoverRate; |
7 | import org.opt4j.start.Constant; |
8 | |
9 | import com.google.inject.Inject; |
10 | |
11 | import de.uka.ipd.sdq.dsexplore.opt4j.genotype.DesignDecisionGenotype; |
12 | |
13 | /** |
14 | * Crossover implementation with possible multiple crossover points, depending on the rate. |
15 | * The larger rate, the more crossover points will be generated in average. |
16 | * |
17 | * Inherits behaviour from {@link CrossoverListRate} |
18 | * |
19 | * @author martens |
20 | * |
21 | */ |
22 | public class DesignDecisionCrossover extends CrossoverListRate<DesignDecisionGenotype> implements Crossover<DesignDecisionGenotype> { |
23 | |
24 | @Inject |
25 | public DesignDecisionCrossover( |
26 | @Constant(value = "rate", namespace = ConstantCrossoverRate.class) double rate, |
27 | Rand random) { |
28 | super(rate, random); |
29 | } |
30 | |
31 | } |