Class COptQuestUserControlledMatrixVariable


public class COptQuestUserControlledMatrixVariable extends COptQuestManifoldVariable
An output matrix variable: an m by n matrix of output variables. The elements are ordinary output variables.

Variable names: <name>@<row>,<col> for each element, 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].

Your evaluator writes a value to each element before it submits the solution.

In most programs, you add this variable with OptQuestModel.AddOutputMatrixVariable and your evaluator sets its values with OptQuestSolution.SetValue(String, double) and the generated names. Construct this class only when you add the variable with COptQuestOptimization.AddVariable(COptQuestVariable).

See Also:
  • OptQuestModel.AddOutputMatrixVariable(String, int, int)
  • Constructor Details

    • COptQuestUserControlledMatrixVariable

      public COptQuestUserControlledMatrixVariable(String name, int m, int n) throws COptQuestException
      Creates an output matrix variable.
      Parameters:
      name - base name of the variable
      m - number of rows; must be at least 1
      n - number of columns; must be at least 1
      Throws:
      COptQuestException - if m or n is less than 1
  • Method Details

    • getInputVariables

      public List<COptQuestVariable> getInputVariables()
      Returns an empty list, because an output matrix variable has no ordinary input variables.

      The values of an output matrix variable are in the list that getOutputVariables() returns. Your evaluator writes them. That list has one variable <name>@<row>,<col> for each element.

      Returns:
      an empty list
    • getProjectedInputVariables

      public List<COptQuestUserControlledVariable> getProjectedInputVariables()
      Returns an empty list, because the values of an output matrix variable are outputs.

      The values of an output matrix variable are in the list that getOutputVariables() returns. Your evaluator writes them. That list has one variable <name>@<row>,<col> for each element.

      Returns:
      an empty list
    • getOutputVariables

      public List<COptQuestUserControlledVariable> getOutputVariables()
      Description copied from class: COptQuestManifoldVariable
      Returns the outputs of this manifold variable.

      For the output vector, output matrix and output N-dimensional variables, your evaluator writes these values before it submits the solution. For a policy sequence variable, the engine computes these values, and your evaluator must not write them. For all other manifold variables, the list is empty.

      Specified by:
      getOutputVariables in class COptQuestManifoldVariable
      Returns:
      fixed-size or immutable list of outputs; never null