Procedure GMP::Solution::RandomlyGenerate(GMP, solution, maxVarBound, startPoint, perturbation)

GMP::Solution::RandomlyGenerate

The procedure GMP::Solution::RandomlyGenerate generates random level values in a solution for all columns in a generated mathematical program. Each level value is sampled from the uniform distribution by using the lower and upper bound of the column as parameters.

GMP::Solution::RandomlyGenerate(
     GMP,            ! (input) a generated mathematical program
     solution,       ! (input) a solution
     [maxVarBound],  ! (optional) a scalar value
     [startPoint],   ! (optional) a solution
     [perturbation]  ! (optional) a scalar value
     )

Arguments

GMP

An element in AllGeneratedMathematicalPrograms.

solution

An integer scalar reference to a solution.

maxVarBound

The maximal variable bound. If a column has no upper bound then the sampled level value will be smaller than the maximal variable bound, and if a column has no lower bound then the sampled level value will be greater than minus the maximal variable bound. The default is 1000.

startPoint

An integer scalar reference to a solution representing a starting point. If specified then the sampled level value of a column will be around its level value in the starting point. By default no starting point is used.

perturbation

Used in combination with argument startPoint. A value between 0 and 1 that represents the (relative) perturbation around the starting pount. The default is 0.1.

Return Value

The procedure returns 1 on success, or 0 otherwise.

Note

  • This procedure should be called after calling the function GMP::Instance::CreatePresolved if it is used in combination with that function. Otherwise the sampled level values might be outside the range of the columns in the presolved model.

  • If argument startPoint is specified then for each column the sampled value will be in the range

    \[\]

    where \(x\) denotes the level value of the column, \(lb\) and \(ub\) its lower and upper bound respectively, and \(p\) the perturbation value.

  • startPoint cannot be equal to solution.

See also

The function GMP::Instance::CreatePresolved.