Detailed Description
structures and methods for pseudo random number generation
Functions | |
int | SCIPgetRandomInt (int minrandval, int maxrandval, unsigned int *seedp) |
int | SCIPrandomGetInt (SCIP_RANDNUMGEN *randgen, int minrandval, int maxrandval) |
SCIP_RETCODE | SCIPrandomGetSubset (SCIP_RANDNUMGEN *randgen, void **set, int nelems, void **subset, int nsubelems) |
SCIP_Real | SCIPrandomGetReal (SCIP_RANDNUMGEN *randgen, SCIP_Real minrandval, SCIP_Real maxrandval) |
SCIP_Real | SCIPgetRandomReal (SCIP_Real minrandval, SCIP_Real maxrandval, unsigned int *seedp) |
SCIP_RETCODE | SCIPgetRandomSubset (void **set, int nelems, void **subset, int nsubelems, unsigned int randseed) |
SCIP_RETCODE | SCIPcreateRandom (SCIP *scip, SCIP_RANDNUMGEN **randnumgen, unsigned int initialseed, SCIP_Bool useglobalseed) |
void | SCIPfreeRandom (SCIP *scip, SCIP_RANDNUMGEN **randnumgen) |
void | SCIPsetRandomSeed (SCIP *scip, SCIP_RANDNUMGEN *randnumgen, unsigned int seed) |
unsigned int | SCIPinitializeRandomSeed (SCIP *scip, unsigned int initialseedvalue) |
Function Documentation
◆ SCIPgetRandomInt()
int SCIPgetRandomInt | ( | int | minrandval, |
int | maxrandval, | ||
unsigned int * | seedp | ||
) |
returns a random integer between minrandval and maxrandval
- Deprecated:
- Please use SCIPrandomGetInt() to request a random integer.
returns a random integer between minrandval and maxrandval
- Deprecated:
- Please use SCIPrandomGetInt() to request a random integer.
- Parameters
-
minrandval minimal value to return maxrandval maximal value to return seedp pointer to seed value
Definition at line 9991 of file misc.c.
References getRandomInt().
◆ SCIPrandomGetInt()
int SCIPrandomGetInt | ( | SCIP_RANDNUMGEN * | randnumgen, |
int | minrandval, | ||
int | maxrandval | ||
) |
returns a random integer between minrandval and maxrandval
- Parameters
-
randnumgen random number generator minrandval minimal value to return maxrandval maximal value to return
Definition at line 10108 of file misc.c.
References randomGetRand(), SCIP_Longint, and SCIP_Real.
Referenced by calcPscostQuot(), chooseCoefVar(), chooseDoubleVar(), chooseFracVar(), chooseGuidedVar(), DECL_VARFIXINGS(), getRandomVariable(), getScore(), getScoreLikeCoefdiving(), getScoreOfFarkasDiving(), optimize(), permuteStartSolution(), SCIP_DECL_BANDITSELECT(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_BRANCHEXECPS(), SCIP_DECL_DIVESETGETSCORE(), SCIP_DECL_HEUREXEC(), SCIPrandomGetSubset(), SCIPrandomPermuteArray(), SCIPrandomPermuteIntArray(), SCIPsolveConcurrent(), selectBranchingCandidate(), selectDiving(), selectInitialVariableDecomposition(), selectInitialVariableRandomly(), and selectSolsRandomized().
◆ SCIPrandomGetSubset()
SCIP_RETCODE SCIPrandomGetSubset | ( | SCIP_RANDNUMGEN * | randnumgen, |
void ** | set, | ||
int | nelems, | ||
void ** | subset, | ||
int | nsubelems | ||
) |
draws a random subset of disjoint elements from a given set of disjoint elements; this implementation is suited for the case that nsubelems is considerably smaller then nelems
- Parameters
-
randnumgen random number generator set original set, from which elements should be drawn nelems number of elements in original set subset subset in which drawn elements should be stored nsubelems number of elements that should be drawn and stored
Definition at line 10211 of file misc.c.
References BMScopyMemoryArray, r, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, and SCIPrandomGetInt().
◆ SCIPrandomGetReal()
SCIP_Real SCIPrandomGetReal | ( | SCIP_RANDNUMGEN * | randnumgen, |
SCIP_Real | minrandval, | ||
SCIP_Real | maxrandval | ||
) |
returns a random real between minrandval and maxrandval
- Parameters
-
randnumgen random number generator minrandval minimal value to return maxrandval maximal value to return
Definition at line 10130 of file misc.c.
References randomGetRand(), and SCIP_Real.
Referenced by alnsFixMoreVariables(), alnsUnfixVariables(), applyNlobbt(), bilinboundGetScore(), computeFixingOrder(), computeScores(), computeVertexPolyhedralFacetLP(), createSubscip(), dataReset(), ensureStartingPoint(), estimateGradient(), execRelpscost(), generateGaussianNoise(), generateGMICuts(), getScore(), getScoreLikeCoefdiving(), getScoreOfFarkasDiving(), handleCycle(), LNSFixMoreVariables(), LNSUnfixVariables(), performRandRounding(), sampleRandomPoints(), sampleWeighted(), SCIP_DECL_BANDITRESET(), SCIP_DECL_BANDITSELECT(), SCIP_DECL_DIVESETGETSCORE(), SCIP_DECL_HEUREXEC(), SCIP_DECL_NLPISOLVE(), SCIP_DECL_READERREAD(), SCIP_DECL_SEPAEXECLP(), SCIPapplyLockFixings(), scoring(), selectBranchVar(), selectDiving(), setupStart(), sortVariables(), and updateBestCandidate().
◆ SCIPgetRandomReal()
returns a random real between minrandval and maxrandval
- Deprecated:
- Please use SCIPrandomGetReal() to request a random real.
returns a random real between minrandval and maxrandval
- Deprecated:
- Please use SCIPrandomGetReal() to request a random real.
- Parameters
-
minrandval minimal value to return maxrandval maximal value to return seedp pointer to seed value
Definition at line 10004 of file misc.c.
References getRandomReal().
◆ SCIPgetRandomSubset()
SCIP_RETCODE SCIPgetRandomSubset | ( | void ** | set, |
int | nelems, | ||
void ** | subset, | ||
int | nsubelems, | ||
unsigned int | randseed | ||
) |
draws a random subset of disjoint elements from a given set of disjoint elements; this implementation is suited for the case that nsubelems is considerably smaller then nelems
- Deprecated:
- Please use SCIPrandomGetSubset()
draws a random subset of disjoint elements from a given set of disjoint elements; this implementation is suited for the case that nsubelems is considerably smaller then nelems
- Deprecated:
- Please use SCIPrandomGetSubset()
- Parameters
-
set original set, from which elements should be drawn nelems number of elements in original set subset subset in which drawn elements should be stored nsubelems number of elements that should be drawn and stored randseed seed value for random generator
Definition at line 10480 of file misc.c.
References BMScopyMemoryArray, getRandomInt(), r, SCIP_INVALIDDATA, SCIP_OKAY, and SCIPerrorMessage.
◆ SCIPcreateRandom()
SCIP_RETCODE SCIPcreateRandom | ( | SCIP * | scip, |
SCIP_RANDNUMGEN ** | randnumgen, | ||
unsigned int | initialseed, | ||
SCIP_Bool | useglobalseed | ||
) |
creates and initializes a random number generator
- Note
- The initial seed is changed using SCIPinitializeRandomSeed()
- Parameters
-
scip SCIP data structure randnumgen random number generator initialseed initial random seed useglobalseed should the supplied seed be initialized by SCIP's global seed shift?
Definition at line 56 of file scip_randnumgen.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPblkmem(), SCIPinitializeRandomSeed(), and SCIPrandomCreate().
Referenced by computeVertexPolyhedralFacetLP(), conshdlrdataCreate(), DECL_NHINIT(), ensureStartingPoint(), estimateGradient(), probdataCreate(), runCyckerlin(), SCIP_DECL_BRANCHINIT(), SCIP_DECL_BRANCHINITSOL(), SCIP_DECL_CUTSELINIT(), SCIP_DECL_HEURINIT(), SCIP_DECL_NLPICREATEPROBLEM(), SCIP_DECL_PRICERINIT(), SCIP_DECL_PROPINIT(), SCIP_DECL_PROPINITSOL(), SCIP_DECL_READERREAD(), SCIP_DECL_SEPAINIT(), SCIP_DECL_SEPAINITSOL(), SCIPincludeBranchrulePscost(), SCIPincludeHeurAdaptivediving(), SCIPpermuteProb(), SCIPsolveConcurrent(), selectBranchingCandidate(), and setupStart().
◆ SCIPfreeRandom()
void SCIPfreeRandom | ( | SCIP * | scip, |
SCIP_RANDNUMGEN ** | randnumgen | ||
) |
frees a random number generator
- Parameters
-
scip SCIP data structure randnumgen random number generator
Definition at line 79 of file scip_randnumgen.c.
References NULL, SCIPblkmem(), and SCIPrandomFree().
Referenced by conshdlrdataFree(), DECL_NHEXIT(), DECL_NHINIT(), probdataFree(), runCyckerlin(), SCIP_DECL_BRANCHEXIT(), SCIP_DECL_BRANCHEXITSOL(), SCIP_DECL_BRANCHFREE(), SCIP_DECL_CONSEXIT(), SCIP_DECL_CONSFREE(), SCIP_DECL_CUTSELEXIT(), SCIP_DECL_HEUREXIT(), SCIP_DECL_HEURFREE(), SCIP_DECL_NLHDLREXIT(), SCIP_DECL_NLPIFREE(), SCIP_DECL_NLPIFREEPROBLEM(), SCIP_DECL_PRICEREXIT(), SCIP_DECL_PROPEXIT(), SCIP_DECL_PROPEXITSOL(), SCIP_DECL_READERREAD(), SCIP_DECL_SEPAEXIT(), SCIP_DECL_SEPAEXITSOL(), SCIPpermuteProb(), and SCIPsolveConcurrent().
◆ SCIPsetRandomSeed()
void SCIPsetRandomSeed | ( | SCIP * | scip, |
SCIP_RANDNUMGEN * | randnumgen, | ||
unsigned int | seed | ||
) |
initializes a random number generator with a given seed
- Note
- The seed is changed using SCIPinitializeRandomSeed()
initializes a random number generator with a given start seed
- Note
- The seed is changed using SCIPinitializeRandomSeed()
- Parameters
-
scip SCIP data structure randnumgen random number generator seed new random seed
Definition at line 94 of file scip_randnumgen.c.
References NULL, SCIPinitializeRandomSeed(), and SCIPrandomSetSeed().
Referenced by SCIP_DECL_BRANCHINIT(), and SCIP_DECL_HEURINIT().
◆ SCIPinitializeRandomSeed()
unsigned int SCIPinitializeRandomSeed | ( | SCIP * | scip, |
unsigned int | initialseedvalue | ||
) |
modifies an initial seed value with the global shift of random seeds
- Parameters
-
scip SCIP data structure initialseedvalue initial seed value to be modified
Definition at line 111 of file scip_randnumgen.c.
References NULL, and SCIPsetInitializeRandomSeed().
Referenced by SCIPcreateBanditEpsgreedy(), SCIPcreateBanditExp3(), SCIPcreateBanditExp3IX(), SCIPcreateBanditUcb(), SCIPcreateRandom(), SCIPresetBandit(), SCIPsetRandomSeed(), and setupAndSolveSubscipCrossover().