1 package net.bmahe.genetics4j.core.spec;
2
3 import org.immutables.value.Value;
4
5 /**
6 * Evolutionary Algorithm - Execution Context
7 * <p>This defines how the Evolutionary Algorithm will be executed.
8 *
9 * @param <T> Type of the fitness measurement
10 */
11 @Value.Immutable
12 public abstract class EAExecutionContext<T extends Comparable<T>> extends AbstractEAExecutionContext<T> {
13
14 @Value.Default
15 public int numberOfPartitions() {
16 return Runtime.getRuntime().availableProcessors();
17 }
18
19 public static <U extends Comparable<U>> ImmutableEAExecutionContext.Builder<U> builder() {
20 return ImmutableEAExecutionContext.builder();
21 }
22 }