public static enum BopParameters.ThreadSynchronizationType extends java.lang.Enum<BopParameters.ThreadSynchronizationType> implements com.google.protobuf.ProtocolMessageEnum
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
Enum Constant and Description |
---|
NO_SYNCHRONIZATION
No synchronization.
|
SYNCHRONIZE_ALL
Synchronize all solvers.
|
SYNCHRONIZE_ON_RIGHT
Solver i synchronizes with solvers 0..i-1.
|
Modifier and Type | Field and Description |
---|---|
static int |
NO_SYNCHRONIZATION_VALUE
No synchronization.
|
static int |
SYNCHRONIZE_ALL_VALUE
Synchronize all solvers.
|
static int |
SYNCHRONIZE_ON_RIGHT_VALUE
Solver i synchronizes with solvers 0..i-1.
|
Modifier and Type | Method and Description |
---|---|
static BopParameters.ThreadSynchronizationType |
forNumber(int value) |
static com.google.protobuf.Descriptors.EnumDescriptor |
getDescriptor() |
com.google.protobuf.Descriptors.EnumDescriptor |
getDescriptorForType() |
int |
getNumber() |
com.google.protobuf.Descriptors.EnumValueDescriptor |
getValueDescriptor() |
static com.google.protobuf.Internal.EnumLiteMap<BopParameters.ThreadSynchronizationType> |
internalGetValueMap() |
static BopParameters.ThreadSynchronizationType |
valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) |
static BopParameters.ThreadSynchronizationType |
valueOf(int value)
Deprecated.
Use
forNumber(int) instead. |
static BopParameters.ThreadSynchronizationType |
valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name.
|
static BopParameters.ThreadSynchronizationType[] |
values()
Returns an array containing the constants of this enum type, in
the order they are declared.
|
public static final BopParameters.ThreadSynchronizationType NO_SYNCHRONIZATION
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;
public static final BopParameters.ThreadSynchronizationType SYNCHRONIZE_ALL
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;
public static final BopParameters.ThreadSynchronizationType SYNCHRONIZE_ON_RIGHT
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;
public static final int NO_SYNCHRONIZATION_VALUE
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;
public static final int SYNCHRONIZE_ALL_VALUE
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;
public static final int SYNCHRONIZE_ON_RIGHT_VALUE
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;
public static BopParameters.ThreadSynchronizationType[] values()
for (BopParameters.ThreadSynchronizationType c : BopParameters.ThreadSynchronizationType.values()) System.out.println(c);
public static BopParameters.ThreadSynchronizationType valueOf(java.lang.String name)
name
- the name of the enum constant to be returned.java.lang.IllegalArgumentException
- if this enum type has no constant with the specified namejava.lang.NullPointerException
- if the argument is nullpublic final int getNumber()
getNumber
in interface com.google.protobuf.Internal.EnumLite
getNumber
in interface com.google.protobuf.ProtocolMessageEnum
@Deprecated public static BopParameters.ThreadSynchronizationType valueOf(int value)
forNumber(int)
instead.value
- The numeric wire value of the corresponding enum entry.public static BopParameters.ThreadSynchronizationType forNumber(int value)
value
- The numeric wire value of the corresponding enum entry.public static com.google.protobuf.Internal.EnumLiteMap<BopParameters.ThreadSynchronizationType> internalGetValueMap()
public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
getValueDescriptor
in interface com.google.protobuf.ProtocolMessageEnum
public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
getDescriptorForType
in interface com.google.protobuf.ProtocolMessageEnum
public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
public static BopParameters.ThreadSynchronizationType valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
Copyright © 2025. All rights reserved.