Class COptQuestIncrementalLowRankCorrectionMatrixVariable
initial, plus a correction of rank 1. Use this variable to build a correction one
rank at a time. Run an optimization, pass its best value as initial of the next
variable of this type, and repeat. Each variable has a correction of rank 1 and does not
store the corrections of earlier variables.
In every solution that the engine generates, every entry is from min to max,
and the matrix is initial plus a correction of rank at most 1. The engine first moves
each entry of initial into [min, max].
Variable names: <name>@<row>,<col> for each entry, with 1-based row and
column numbers, row by row. Each name contains a comma, so write it in brackets in an
expression: [<name>@1,2].
In most programs, you add this variable with
OptQuestModel.AddIncrementalLowRankCorrectionMatrixVariable
and read its values with OptQuestSolution.GetValue(String) and the generated names.
Construct this class only when you add the variable with
COptQuestOptimization.AddVariable(COptQuestVariable).
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionCOptQuestIncrementalLowRankCorrectionMatrixVariable(String name, double[][] initial, int rank, double min, double max) Creates an incremental low-rank correction matrix variable. -
Method Summary
Modifier and TypeMethodDescriptionReturns an empty list, because an incremental low-rank correction matrix variable has no ordinary input variables.Returns an empty list, because an incremental low-rank correction matrix variable has no output variables.Returns the decision values of this manifold variable that are not ordinary decision variables.Methods inherited from class com.opttek.optquest.COptQuestManifoldVariable
getConstraintsMethods inherited from class com.opttek.optquest.COptQuestUserControlledVariable
GetReplicationStatistic, GetReplicationStatisticValue, SetExclusiveRange, SetLowerBound, SetReplicationStatistic, SetUpperBoundMethods inherited from class com.opttek.optquest.COptQuestVariable
equals, GetDOELowerBound, GetDOEUpperBound, GetExclusiveLowerBoundAt, GetExclusiveUpperBoundAt, getID, GetLowerBound, GetName, GetNumberOfExclusiveRanges, GetStepSize, GetSuggestedValue, GetUpperBound, getVarRange, hashCode, isZeroOne, SetName
-
Constructor Details
-
COptQuestIncrementalLowRankCorrectionMatrixVariable
public COptQuestIncrementalLowRankCorrectionMatrixVariable(String name, double[][] initial, int rank, double min, double max) throws COptQuestException Creates an incremental low-rank correction matrix variable.- Parameters:
name- base name of the variableinitial- the baseline matrix; the variable has the same number of rows and columnsrank- the number of this variable in the sequence. Pass 1 for the first variable in the sequence, 2 for the next, and so on. The value must be at least 1. The value has no effect on the values of this variable.min- lower bound of every entrymax- upper bound of every entry- Throws:
COptQuestException- ifminormaxis NaN, ifminis greater thanmax, or ifrankis less than 1
-
-
Method Details
-
getInputVariables
Returns an empty list, because an incremental low-rank correction matrix variable has no ordinary input variables.The values of an incremental low-rank correction matrix variable are in the list that
getProjectedInputVariables()returns. That list has one variable<name>@<row>,<col>for each entry.- Returns:
- an empty list
-
getOutputVariables
Returns an empty list, because an incremental low-rank correction matrix variable has no output variables.The values of an incremental low-rank correction matrix variable are in the list that
getProjectedInputVariables()returns. That list has one variable<name>@<row>,<col>for each entry.- Returns:
- an empty list
-
getProjectedInputVariables
Description copied from class:COptQuestManifoldVariableReturns the decision values of this manifold variable that are not ordinary decision variables.For example, an angle variable returns
angle@theta, and a mixture variable returns onemix@<component>name for each component. In every solution that the engine generates, and in every suggested solution, these values are inside the set of the variable. Your evaluator reads them as inputs:OptQuestSolution.GetInputNames()returns them.A constraint that uses one of these names is checked after the evaluation, like a constraint on an output. Your evaluator can receive values that break the constraint, and the solution is then infeasible.
- Specified by:
getProjectedInputVariablesin classCOptQuestManifoldVariable- Returns:
- fixed-size or immutable list of these variables; never
null
-