Class COptQuestFourierMatrixVariable
rows by cols matrix that is a
sum of the lowest-frequency cosine terms: freqRows terms down the columns and
freqCols terms along the rows. Use a Fourier matrix variable when the decision is
a large table that varies smoothly in both directions.
The terms are products of a cosine down the columns and a cosine along the rows, like the terms of the vector type. With one term down the columns, every row is the same. With one term along the rows, every column is the same.
In every solution that the engine generates, every entry is from min to 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.AddFourierMatrixVariable
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
ConstructorsConstructorDescriptionCOptQuestFourierMatrixVariable(String name, int rows, int cols, int freqRows, int freqCols, double min, double max) Creates a Fourier matrix variable. -
Method Summary
Modifier and TypeMethodDescriptionReturns an empty list, because a Fourier matrix variable has no ordinary input variables.Returns an empty list, because a Fourier 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
-
COptQuestFourierMatrixVariable
public COptQuestFourierMatrixVariable(String name, int rows, int cols, int freqRows, int freqCols, double min, double max) throws COptQuestException Creates a Fourier matrix variable.- Parameters:
name- base name of the variablerows- number of rows; must be at least 1cols- number of columns; must be at least 1freqRows- number of cosine terms down each column; the rows are more alike with fewer terms. A value less than 1 is used as 1, and a value greater than the number of rows is used as that number.freqCols- number of cosine terms along each row; the columns are more alike with fewer terms. A value less than 1 is used as 1, and a value greater than the number of columns is used as that number.min- lower bound of every entrymax- upper bound of every entry- Throws:
COptQuestException- if an error occurs while the variable is created
-
-
Method Details
-
getInputVariables
Returns an empty list, because a Fourier matrix variable has no ordinary input variables.The values of a Fourier 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 a Fourier matrix variable has no output variables.The values of a Fourier 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
-