1 package net.bmahe.genetics4j.core.spec.replacement;
2
3 import org.immutables.value.Value;
4
5 import net.bmahe.genetics4j.core.spec.selection.SelectionPolicy;
6
7 /**
8 * Generational Replacement strategy
9 * <p>This strategy only retain the best offsprings to compose the next generation of a population
10 *
11 */
12 @Value.Immutable
13 public interface GenerationalReplacement extends ReplacementStrategy {
14
15 public abstract SelectionPolicy offspringSelectionPolicy();
16
17 class Builder extends ImmutableGenerationalReplacement.Builder {
18 }
19
20 public static Builder builder() {
21 return new Builder();
22 }
23
24 }