Google OR-Tools v9.9
a fast and portable software suite for combinatorial optimization
|
Public Member Functions | |
final int | getNumber () |
final com.google.protobuf.Descriptors.EnumValueDescriptor | getValueDescriptor () |
final com.google.protobuf.Descriptors.EnumDescriptor | getDescriptorForType () |
Static Public Member Functions | |
static ThreadSynchronizationType | valueOf (int value) |
static ThreadSynchronizationType | forNumber (int value) |
static com.google.protobuf.Internal.EnumLiteMap< ThreadSynchronizationType > | internalGetValueMap () |
static final com.google.protobuf.Descriptors.EnumDescriptor | getDescriptor () |
static ThreadSynchronizationType | valueOf (com.google.protobuf.Descriptors.EnumValueDescriptor desc) |
Public Attributes | |
NO_SYNCHRONIZATION =(0) | |
SYNCHRONIZE_ALL =(1) | |
SYNCHRONIZE_ON_RIGHT =(2) | |
Static Public Attributes | |
static final int | NO_SYNCHRONIZATION_VALUE = 0 |
static final int | SYNCHRONIZE_ALL_VALUE = 1 |
static final int | SYNCHRONIZE_ON_RIGHT_VALUE = 2 |
Defines how the different solvers are synchronized during the search. Note that the synchronization (if any) occurs before each call to an optimizer (the smallest granularity of the solver in a parallel context).
Protobuf enum operations_research.bop.BopParameters.ThreadSynchronizationType
Definition at line 85 of file BopParameters.java.
|
static |
value | The numeric wire value of the corresponding enum entry. |
Definition at line 207 of file BopParameters.java.
|
static |
Definition at line 237 of file BopParameters.java.
final com.google.protobuf.Descriptors.EnumDescriptor com.google.ortools.bop.BopParameters.ThreadSynchronizationType.getDescriptorForType | ( | ) |
Definition at line 233 of file BopParameters.java.
final int com.google.ortools.bop.BopParameters.ThreadSynchronizationType.getNumber | ( | ) |
Definition at line 189 of file BopParameters.java.
final com.google.protobuf.Descriptors.EnumValueDescriptor com.google.ortools.bop.BopParameters.ThreadSynchronizationType.getValueDescriptor | ( | ) |
Definition at line 229 of file BopParameters.java.
|
static |
Definition at line 217 of file BopParameters.java.
|
static |
Definition at line 243 of file BopParameters.java.
|
static |
value | The numeric wire value of the corresponding enum entry. |
forNumber(int)
instead. Definition at line 199 of file BopParameters.java.
com.google.ortools.bop.BopParameters.ThreadSynchronizationType.NO_SYNCHRONIZATION =(0) |
No synchronization. The solvers run independently until the time limit is reached; Then learned information from each solver are aggregated. The final solution is the best of all found solutions. Pros: - No need to wait for another solver to complete its task, - Adding a new solver always improves the final solution (In the current implementation it still depends on the machine load and the time limit). Cons: - No learning between solvers.
NO_SYNCHRONIZATION = 0;
Definition at line 101 of file BopParameters.java.
|
static |
No synchronization. The solvers run independently until the time limit is reached; Then learned information from each solver are aggregated. The final solution is the best of all found solutions. Pros: - No need to wait for another solver to complete its task, - Adding a new solver always improves the final solution (In the current implementation it still depends on the machine load and the time limit). Cons: - No learning between solvers.
NO_SYNCHRONIZATION = 0;
Definition at line 152 of file BopParameters.java.
com.google.ortools.bop.BopParameters.ThreadSynchronizationType.SYNCHRONIZE_ALL =(1) |
Synchronize all solvers. Each solver waits for all other solvers to complete the previous optimizer run, before running again. The final solution is the best of all found solutions. Pros: - Full learning between solvers. Cons: - A lot of waiting time when solvers don't run at the exact same speed, - The quality of the final solution depends on the number of solvers, adding one more solver might lead to poorer results because the search goes on a different path.
SYNCHRONIZE_ALL = 1;
Definition at line 117 of file BopParameters.java.
|
static |
Synchronize all solvers. Each solver waits for all other solvers to complete the previous optimizer run, before running again. The final solution is the best of all found solutions. Pros: - Full learning between solvers. Cons: - A lot of waiting time when solvers don't run at the exact same speed, - The quality of the final solution depends on the number of solvers, adding one more solver might lead to poorer results because the search goes on a different path.
SYNCHRONIZE_ALL = 1;
Definition at line 168 of file BopParameters.java.
com.google.ortools.bop.BopParameters.ThreadSynchronizationType.SYNCHRONIZE_ON_RIGHT =(2) |
Solver i synchronizes with solvers 0..i-1. This is a good tradeoff between NO_SYNCHRONIZATION and SYNCHRONIZE_ALL: communication while keeping a relative determinism on the result even when the number of solvers increases. The final solution is the best of all found solutions. Pros: - Solver i learns from i different solvers, - Adding a new solver always improves the final solution (In the current implementation it still depends on the machine load and the time limit). Cons: - No full learning, - Some solvers need to wait for synchronization.
SYNCHRONIZE_ON_RIGHT = 2;
Definition at line 135 of file BopParameters.java.
|
static |
Solver i synchronizes with solvers 0..i-1. This is a good tradeoff between NO_SYNCHRONIZATION and SYNCHRONIZE_ALL: communication while keeping a relative determinism on the result even when the number of solvers increases. The final solution is the best of all found solutions. Pros: - Solver i learns from i different solvers, - Adding a new solver always improves the final solution (In the current implementation it still depends on the machine load and the time limit). Cons: - No full learning, - Some solvers need to wait for synchronization.
SYNCHRONIZE_ON_RIGHT = 2;
Definition at line 186 of file BopParameters.java.