Represents the multicriteria optimization (MCO) problem solved by the AI system (implementation as base class).
This is done by an ISolver<T>, e.g. an ConstraintSolver<T>.
A Problem<T> can be seen as matrix, whereby a row represents an objective and a column represents associated values for each objective. So it is ensured that each objective has got the same number of values. Every Problem<T> stores the information whether it is to be minimized or maximized so that an ISolver<T> implementation is able to distinguish between those two operations.
T | Type of the objective values defining the objective space. |
Properties | |
int | ObjectiveCount [get] |
The number of objectives (read only). More... | |
int | ValueCount [get] |
The number of values per objective (read only). More... | |
ReadOnlyCollection< T > | this[int index] [get] |
Provides quick read-only access to an objective (problem matrix row). More... | |
Public Methods | |
ReadOnlyCollection< T > | AddObjective (bool minimized) |
Adds an objective (one row to the problem matrix). More... | |
void | AddValues (T value) |
Adds a value to every objective (one column to the problem matrix). More... | |
void | AddValues (T[] values) |
Adds a value to every objective (one column to the problem matrix). More... | |
ReadOnlyCollection< T > | GetObjective (int index) |
Gets the objective (problem matrix row) belonging to the specified index . More... | |
T | GetValue (int objectiveIndex, int valueIndex) |
Gets a value (single element of the problem matrix). More... | |
bool | IsObjectiveMinimized (int index) |
Determines if an objective is considered to be minimized or maximized. More... | |
void | SetObjectiveMinimized (int index, bool minimized) |
Specifies if an objective is considered to be minimized or maximized. More... | |
void | SetValue (int objectiveIndex, int valueIndex, T value) |
Sets a value (single element of the problem matrix). More... | |
void | ResetValues () |
Resets all objective values to the default of T . More... | |
void | ResetValues (T value) |
Resets all objective values to the given value of T . More... | |
void | RemoveObjectiveAt (int index) |
Removes the objective (problem matrix row) at the specified index . More... | |
void | RemoveValuesAt (int index) |
Removes the objective values (problem matrix column) at the specified index . More... | |
void | ResizeObjectives (int valueCount) |
Changes the number of values (column length) for each objective to the specified valueCount . More... | |
void | ClearObjectives () |
Removes all objectives including all values. More... | |
void | ClearValues () |
Removes all values but preserves the number of objectives. More... | |