internal methods for collecting primal CIP solutions and primal informations
Definition in file primal.h.
#include "scip/def.h"
#include "blockmemshell/memory.h"
#include "scip/type_retcode.h"
#include "scip/type_set.h"
#include "scip/type_event.h"
#include "scip/type_lp.h"
#include "scip/type_var.h"
#include "scip/type_prob.h"
#include "scip/type_sol.h"
#include "scip/type_primal.h"
#include "scip/type_tree.h"
#include "scip/type_reopt.h"
#include "scip/type_heur.h"
#include "scip/struct_primal.h"
Go to the source code of this file.
SCIP_RETCODE SCIPprimalCreate | ( | SCIP_PRIMAL ** | primal | ) |
creates primal data
primal | pointer to primal data |
Definition at line 117 of file primal.c.
References BMSallocMemory, NULL, SCIP_ALLOC, SCIP_INVALID, and SCIP_OKAY.
Referenced by copyProb(), SCIPcreateProb(), and SCIPtransformProb().
SCIP_RETCODE SCIPprimalFree | ( | SCIP_PRIMAL ** | primal, |
BMS_BLKMEM * | blkmem | ||
) |
frees primal data
primal | pointer to primal data |
blkmem | block memory |
Definition at line 146 of file primal.c.
References BMSfreeMemory, BMSfreeMemoryArrayNull, NULL, SCIP_CALL, SCIP_OKAY, and SCIPsolFree().
Referenced by freeTransform(), and SCIPfreeProb().
SCIP_RETCODE SCIPprimalClear | ( | SCIP_PRIMAL ** | primal, |
BMS_BLKMEM * | blkmem | ||
) |
clears primal data
primal | pointer to primal data |
blkmem | block memory |
Definition at line 189 of file primal.c.
References NULL, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, and SCIPsolFree().
Referenced by freeReoptSolve().
SCIP_RETCODE SCIPprimalSetCutoffbound | ( | SCIP_PRIMAL * | primal, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_PROB * | transprob, | ||
SCIP_PROB * | origprob, | ||
SCIP_TREE * | tree, | ||
SCIP_REOPT * | reopt, | ||
SCIP_LP * | lp, | ||
SCIP_Real | cutoffbound, | ||
SCIP_Bool | useforobjlimit | ||
) |
sets the cutoff bound in primal data and in LP solver
primal | primal data |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics data |
eventqueue | event queue |
transprob | transformed problem data |
origprob | original problem data |
tree | branch and bound tree |
reopt | reoptimization data structure |
lp | current LP data |
cutoffbound | new cutoff bound |
useforobjlimit | should the cutoff bound be used to update the objective limit, if better? |
Definition at line 264 of file primal.c.
References SCIP_Primal::cutoffbound, NULL, primalSetCutoffbound(), SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIPerrorMessage, SCIPprobExternObjval(), SCIPprobGetObjlim(), SCIPprobSetObjlim(), SCIPsetDebugMsg, and SCIPsetInfinity().
Referenced by initSolve(), and SCIPupdateCutoffbound().
SCIP_RETCODE SCIPprimalSetUpperbound | ( | SCIP_PRIMAL * | primal, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_PROB * | prob, | ||
SCIP_TREE * | tree, | ||
SCIP_REOPT * | reopt, | ||
SCIP_LP * | lp, | ||
SCIP_Real | upperbound | ||
) |
sets upper bound in primal data and in LP solver
primal | primal data |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics data |
eventqueue | event queue |
prob | transformed problem after presolve |
tree | branch and bound tree |
reopt | reoptimization data structure |
lp | current LP data |
upperbound | new upper bound |
Definition at line 371 of file primal.c.
References NULL, primalSetUpperbound(), SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, SCIPsetInfinity(), and SCIP_Primal::upperbound.
Referenced by primalAddSol().
SCIP_RETCODE SCIPprimalUpdateObjlimit | ( | SCIP_PRIMAL * | primal, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_PROB * | transprob, | ||
SCIP_PROB * | origprob, | ||
SCIP_TREE * | tree, | ||
SCIP_REOPT * | reopt, | ||
SCIP_LP * | lp | ||
) |
updates upper bound and cutoff bound in primal data after a tightening of the problem's objective limit
primal | primal data |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics data |
eventqueue | event queue |
transprob | transformed problem data |
origprob | original problem data |
tree | branch and bound tree |
reopt | reoptimization data structure |
lp | current LP data |
Definition at line 402 of file primal.c.
References MIN, NULL, primalSetCutoffbound(), primalSetUpperbound(), SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPprobGetObjlim(), SCIPprobInternObjval(), and SCIPsetInfinity().
Referenced by initSolve(), presolve(), SCIPsetObjlimit(), and SCIPtransformProb().
SCIP_RETCODE SCIPprimalUpdateObjoffset | ( | SCIP_PRIMAL * | primal, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_PROB * | transprob, | ||
SCIP_PROB * | origprob, | ||
SCIP_TREE * | tree, | ||
SCIP_REOPT * | reopt, | ||
SCIP_LP * | lp | ||
) |
recalculates upper bound and cutoff bound in primal data after a change of the problem's objective offset
primal | primal data |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics data |
eventqueue | event queue |
transprob | tranformed problem data |
origprob | original problem data |
tree | branch and bound tree |
reopt | reoptimization data structure |
lp | current LP data |
Definition at line 441 of file primal.c.
References MIN, SCIP_Primal::nsols, NULL, primalSetCutoffbound(), primalSetUpperbound(), SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVED, SCIPprobGetObjlim(), SCIPprobInternObjval(), SCIPsetGetStage(), SCIPsetInfinity(), SCIPsolGetObj(), SCIPsolIsOriginal(), and SCIP_Primal::sols.
Referenced by SCIPaddObjoffset(), SCIPprobCheckObjIntegral(), SCIPprobScaleObj(), and SCIPvarAddObj().
void SCIPprimalAddOrigObjoffset | ( | SCIP_PRIMAL * | primal, |
SCIP_SET * | set, | ||
SCIP_Real | addval | ||
) |
adds additional objective offset in origanal space to all existing solution (in original space)
adds additional objective offset in original space to all existing solution (in original space)
primal | primal data |
set | global SCIP settings |
addval | additional objective offset in original space |
Definition at line 507 of file primal.c.
References SCIP_Primal::existingsols, SCIP_Primal::nexistingsols, SCIP_Primal::nsols, NULL, SCIP_SOLORIGIN_ORIGINAL, SCIP_STAGE_PROBLEM, SCIPsetGetStage(), SCIPsetIsLE(), SCIPsolGetOrigin(), SCIPsolGetOrigObj(), SCIPsolOrigAddObjval(), and SCIP_Primal::sols.
Referenced by SCIPaddOrigObjoffset().
SCIP_Bool SCIPprimalUpperboundIsSol | ( | SCIP_PRIMAL * | primal, |
SCIP_SET * | set, | ||
SCIP_PROB * | transprob, | ||
SCIP_PROB * | origprob | ||
) |
returns whether the current primal bound is justified with a feasible primal solution; if not, the primal bound was set from the user as objective limit
primal | primal data |
set | global SCIP settings |
transprob | tranformed problem data |
origprob | original problem data |
Definition at line 541 of file primal.c.
References SCIP_Primal::nsols, NULL, SCIPsetIsEQ(), SCIPsolGetObj(), SCIP_Primal::sols, and SCIP_Primal::upperbound.
Referenced by SCIPisPrimalboundSol().
SCIP_SOL* SCIPprimalGetRay | ( | SCIP_PRIMAL * | primal | ) |
returns the primal ray thats proves unboundedness
primal | primal data |
Definition at line 554 of file primal.c.
References NULL, and SCIP_Primal::primalray.
SCIP_RETCODE SCIPprimalUpdateRay | ( | SCIP_PRIMAL * | primal, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_SOL * | primalray, | ||
BMS_BLKMEM * | blkmem | ||
) |
update the primal ray thats proves unboundedness
primal | primal data |
set | global SCIP settings |
stat | dynamic SCIP statistics |
primalray | the new primal ray |
blkmem | block memory |
Definition at line 564 of file primal.c.
References NULL, SCIP_Primal::primalray, SCIP_CALL, SCIP_OKAY, SCIPsolCopy(), and SCIPsolFree().
Referenced by SCIPupdatePrimalRay().
SCIP_RETCODE SCIPprimalAddSol | ( | SCIP_PRIMAL * | primal, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_MESSAGEHDLR * | messagehdlr, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | origprob, | ||
SCIP_PROB * | transprob, | ||
SCIP_TREE * | tree, | ||
SCIP_REOPT * | reopt, | ||
SCIP_LP * | lp, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_EVENTFILTER * | eventfilter, | ||
SCIP_SOL * | sol, | ||
SCIP_Bool * | stored | ||
) |
adds primal solution to solution storage by copying it
primal | primal data |
blkmem | block memory |
set | global SCIP settings |
messagehdlr | message handler |
stat | problem statistics data |
origprob | original problem |
transprob | transformed problem after presolve |
tree | branch and bound tree |
reopt | reoptimization data structure |
lp | current LP data |
eventqueue | event queue |
eventfilter | event filter for global (not variable dependent) events |
sol | primal CIP solution |
stored | stores whether given solution was good enough to keep |
Definition at line 1142 of file primal.c.
References FALSE, SCIP_Primal::nsols, NULL, primalAddSol(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPsetIsLE(), SCIPsolCopy(), SCIPsolGetObj(), SCIPsolIsPartial(), solOfInterest(), SCIP_Primal::sols, and TRUE.
Referenced by addCurrentSolution(), SCIPaddSol(), SCIPprimalAddCurrentSol(), SCIPtransformProb(), and SCIPtrySol().
SCIP_RETCODE SCIPprimalAddSolFree | ( | SCIP_PRIMAL * | primal, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_MESSAGEHDLR * | messagehdlr, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | origprob, | ||
SCIP_PROB * | transprob, | ||
SCIP_TREE * | tree, | ||
SCIP_REOPT * | reopt, | ||
SCIP_LP * | lp, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_EVENTFILTER * | eventfilter, | ||
SCIP_SOL ** | sol, | ||
SCIP_Bool * | stored | ||
) |
adds primal solution to solution storage, frees the solution afterwards
primal | primal data |
blkmem | block memory |
set | global SCIP settings |
messagehdlr | message handler |
stat | problem statistics data |
origprob | original problem |
transprob | transformed problem after presolve |
tree | branch and bound tree |
reopt | reoptimization data structure |
lp | current LP data |
eventqueue | event queue |
eventfilter | event filter for global (not variable dependent) events |
sol | pointer to primal CIP solution; is cleared in function call |
stored | stores whether given solution was good enough to keep |
Definition at line 1210 of file primal.c.
References FALSE, NULL, primalAddSol(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPsolFree(), solOfInterest(), and TRUE.
Referenced by addCurrentSolution(), SCIPaddSol(), SCIPaddSolFree(), and SCIPtrySolFree().
SCIP_RETCODE SCIPprimalAddOrigSol | ( | SCIP_PRIMAL * | primal, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | prob, | ||
SCIP_SOL * | sol, | ||
SCIP_Bool * | stored | ||
) |
adds primal solution to solution candidate storage of original problem space
primal | primal data |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics data |
prob | original problem data |
sol | primal CIP solution; is cleared in function call |
stored | stores whether given solution was good enough to keep |
Definition at line 1265 of file primal.c.
References FALSE, NULL, origsolOfInterest(), primalAddOrigPartialSol(), primalAddOrigSol(), SCIP_CALL, SCIP_OKAY, SCIPsolCopy(), SCIPsolIsOriginal(), SCIPsolIsPartial(), and TRUE.
Referenced by freeTransform(), and SCIPaddSol().
SCIP_RETCODE SCIPprimalAddOrigSolFree | ( | SCIP_PRIMAL * | primal, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | prob, | ||
SCIP_SOL ** | sol, | ||
SCIP_Bool * | stored | ||
) |
adds primal solution to solution candidate storage of original problem space, frees the solution afterwards
primal | primal data |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics data |
prob | original problem data |
sol | pointer to primal CIP solution; is cleared in function call |
stored | stores whether given solution was good enough to keep |
Definition at line 1320 of file primal.c.
References FALSE, NULL, origsolOfInterest(), primalAddOrigPartialSol(), primalAddOrigSol(), SCIP_CALL, SCIP_OKAY, SCIPsolFree(), SCIPsolIsOriginal(), SCIPsolIsPartial(), and TRUE.
Referenced by SCIPaddSolFree().
SCIP_RETCODE SCIPprimalAddCurrentSol | ( | SCIP_PRIMAL * | primal, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_MESSAGEHDLR * | messagehdlr, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | origprob, | ||
SCIP_PROB * | transprob, | ||
SCIP_TREE * | tree, | ||
SCIP_REOPT * | reopt, | ||
SCIP_LP * | lp, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_EVENTFILTER * | eventfilter, | ||
SCIP_HEUR * | heur, | ||
SCIP_Bool * | stored | ||
) |
adds current LP/pseudo solution to solution storage
primal | primal data |
blkmem | block memory |
set | global SCIP settings |
messagehdlr | message handler |
stat | problem statistics data |
origprob | original problem |
transprob | transformed problem after presolve |
tree | branch and bound tree |
reopt | reoptimization data structure |
lp | current LP data |
eventqueue | event queue |
eventfilter | event filter for global (not variable dependent) events |
heur | heuristic that found the solution (or NULL if it's from the tree) |
stored | stores whether given solution was good enough to keep |
Definition at line 1404 of file primal.c.
References SCIP_Primal::currentsol, NULL, primalLinkCurrentSol(), SCIP_CALL, SCIP_OKAY, and SCIPprimalAddSol().
Referenced by SCIPaddCurrentSol().
SCIP_RETCODE SCIPprimalTrySol | ( | SCIP_PRIMAL * | primal, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_MESSAGEHDLR * | messagehdlr, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | origprob, | ||
SCIP_PROB * | transprob, | ||
SCIP_TREE * | tree, | ||
SCIP_REOPT * | reopt, | ||
SCIP_LP * | lp, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_EVENTFILTER * | eventfilter, | ||
SCIP_SOL * | sol, | ||
SCIP_Bool | printreason, | ||
SCIP_Bool | completely, | ||
SCIP_Bool | checkbounds, | ||
SCIP_Bool | checkintegrality, | ||
SCIP_Bool | checklprows, | ||
SCIP_Bool * | stored | ||
) |
checks primal solution; if feasible, adds it to storage by copying it
primal | primal data |
blkmem | block memory |
set | global SCIP settings |
messagehdlr | message handler |
stat | problem statistics data |
origprob | original problem |
transprob | transformed problem after presolve |
tree | branch and bound tree |
reopt | reoptimization data structure |
lp | current LP data |
eventqueue | event queue |
eventfilter | event filter for global (not variable dependent) events |
sol | primal CIP solution |
printreason | Should all reasons of violations be printed? |
completely | Should all violations be checked? |
checkbounds | Should the bounds of the variables be checked? |
checkintegrality | Has integrality to be checked? |
checklprows | Do constraints represented by rows in the current LP have to be checked? |
stored | stores whether given solution was feasible and good enough to keep |
Definition at line 1434 of file primal.c.
References FALSE, NULL, primalAddSol(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPsolCheck(), SCIPsolCopy(), solOfInterest(), and TRUE.
Referenced by addCurrentSolution(), SCIPprimalTryCurrentSol(), SCIPtrySol(), solveNode(), and solveNodeLP().
SCIP_RETCODE SCIPprimalTrySolFree | ( | SCIP_PRIMAL * | primal, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_MESSAGEHDLR * | messagehdlr, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | origprob, | ||
SCIP_PROB * | transprob, | ||
SCIP_TREE * | tree, | ||
SCIP_REOPT * | reopt, | ||
SCIP_LP * | lp, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_EVENTFILTER * | eventfilter, | ||
SCIP_SOL ** | sol, | ||
SCIP_Bool | printreason, | ||
SCIP_Bool | completely, | ||
SCIP_Bool | checkbounds, | ||
SCIP_Bool | checkintegrality, | ||
SCIP_Bool | checklprows, | ||
SCIP_Bool * | stored | ||
) |
checks primal solution; if feasible, adds it to storage; solution is freed afterwards
primal | primal data |
blkmem | block memory |
set | global SCIP settings |
messagehdlr | message handler |
stat | problem statistics data |
origprob | original problem |
transprob | transformed problem after presolve |
tree | branch and bound tree |
reopt | reoptimization data structure |
lp | current LP data |
eventqueue | event queue |
eventfilter | event filter for global (not variable dependent) events |
sol | pointer to primal CIP solution; is cleared in function call |
printreason | Should all the reasons of violations be printed? |
completely | Should all violations be checked? |
checkbounds | Should the bounds of the variables be checked? |
checkintegrality | Has integrality to be checked? |
checklprows | Do constraints represented by rows in the current LP have to be checked? |
stored | stores whether solution was feasible and good enough to keep |
Definition at line 1504 of file primal.c.
References FALSE, NULL, primalAddSol(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPsolCheck(), SCIPsolFree(), solOfInterest(), and TRUE.
Referenced by addCurrentSolution(), SCIPprimalTransformSol(), SCIPtrySolFree(), solveNode(), and solveNodeLP().
SCIP_RETCODE SCIPprimalTryCurrentSol | ( | SCIP_PRIMAL * | primal, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_MESSAGEHDLR * | messagehdlr, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | origprob, | ||
SCIP_PROB * | transprob, | ||
SCIP_TREE * | tree, | ||
SCIP_REOPT * | reopt, | ||
SCIP_LP * | lp, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_EVENTFILTER * | eventfilter, | ||
SCIP_HEUR * | heur, | ||
SCIP_Bool | printreason, | ||
SCIP_Bool | completely, | ||
SCIP_Bool | checkintegrality, | ||
SCIP_Bool | checklprows, | ||
SCIP_Bool * | stored | ||
) |
checks current LP/pseudo solution; if feasible, adds it to storage
primal | primal data |
blkmem | block memory |
set | global SCIP settings |
messagehdlr | message handler |
stat | problem statistics data |
origprob | original problem |
transprob | transformed problem after presolve |
tree | branch and bound tree |
reopt | reoptimization data structure |
lp | current LP data |
eventqueue | event queue |
eventfilter | event filter for global (not variable dependent) events |
heur | heuristic that found the solution (or NULL if it's from the tree) |
printreason | Should all reasons of violations be printed? |
completely | Should all violations be checked? |
checkintegrality | Has integrality to be checked? |
checklprows | Do constraints represented by rows in the current LP have to be checked? |
stored | stores whether given solution was good enough to keep |
Definition at line 1578 of file primal.c.
References SCIP_Primal::currentsol, FALSE, NULL, primalLinkCurrentSol(), SCIP_CALL, SCIP_OKAY, and SCIPprimalTrySol().
Referenced by SCIPtryCurrentSol().
SCIP_RETCODE SCIPprimalSolCreated | ( | SCIP_PRIMAL * | primal, |
SCIP_SET * | set, | ||
SCIP_SOL * | sol | ||
) |
inserts solution into the global array of all existing primal solutions
primal | primal data |
set | global SCIP settings |
sol | primal CIP solution |
Definition at line 1613 of file primal.c.
References ensureExistingsolsSize(), SCIP_Primal::existingsols, SCIP_Primal::nexistingsols, NULL, SCIP_CALL, SCIP_OKAY, SCIPsolGetPrimalIndex(), and SCIPsolSetPrimalIndex().
Referenced by SCIPsolCopy(), SCIPsolCreate(), SCIPsolCreateOriginal(), SCIPsolCreatePartial(), and SCIPsolCreateUnknown().
void SCIPprimalSolFreed | ( | SCIP_PRIMAL * | primal, |
SCIP_SOL * | sol | ||
) |
removes solution from the global array of all existing primal solutions
primal | primal data |
sol | primal CIP solution |
Definition at line 1635 of file primal.c.
References SCIP_Primal::existingsols, SCIP_Primal::nexistingsols, NULL, SCIPsolGetPrimalIndex(), and SCIPsolSetPrimalIndex().
Referenced by SCIPsolFree().
void SCIPprimalUpdateVarObj | ( | SCIP_PRIMAL * | primal, |
SCIP_VAR * | var, | ||
SCIP_Real | oldobj, | ||
SCIP_Real | newobj | ||
) |
updates all existing primal solutions after a change in a variable's objective value
primal | primal data |
var | problem variable |
oldobj | old objective value |
newobj | new objective value |
Definition at line 1665 of file primal.c.
References SCIP_Primal::existingsols, SCIP_Primal::nexistingsols, NULL, SCIPsolIsOriginal(), and SCIPsolUpdateVarObj().
Referenced by SCIPeventProcess().
SCIP_RETCODE SCIPprimalRetransformSolutions | ( | SCIP_PRIMAL * | primal, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | origprob, | ||
SCIP_PROB * | transprob | ||
) |
retransforms all existing solutions to original problem space
primal | primal data |
set | global SCIP settings |
stat | problem statistics data |
origprob | original problem |
transprob | transformed problem |
Definition at line 1684 of file primal.c.
References SCIP_Primal::nsols, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_SOLORIGIN_ZERO, SCIPsolGetOrigin(), SCIPsolRetransform(), and SCIP_Primal::sols.
Referenced by initPresolve().
SCIP_RETCODE SCIPprimalTransformSol | ( | SCIP_PRIMAL * | primal, |
SCIP_SOL * | sol, | ||
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_MESSAGEHDLR * | messagehdlr, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | origprob, | ||
SCIP_PROB * | transprob, | ||
SCIP_TREE * | tree, | ||
SCIP_REOPT * | reopt, | ||
SCIP_LP * | lp, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_EVENTFILTER * | eventfilter, | ||
SCIP_Real * | solvals, | ||
SCIP_Bool * | solvalset, | ||
int | solvalssize, | ||
SCIP_Bool * | added | ||
) |
tries to transform original solution to the transformed problem space
primal | primal data |
sol | primal solution |
blkmem | block memory |
set | global SCIP settings |
messagehdlr | message handler |
stat | problem statistics data |
origprob | original problem |
transprob | transformed problem after presolve |
tree | branch and bound tree |
reopt | reoptimization data structure |
lp | current LP data |
eventqueue | event queue |
eventfilter | event filter for global (not variable dependent) events |
solvals | array for internal use to store solution values, or NULL; if the method is called multiple times in a row, an array with size >= number of active variables should be given for performance reasons |
solvalset | array for internal use to store which solution values were set, or NULL; if the method is called multiple times in a row, an array with size >= number of active variables should be given for performance reasons |
solvalssize | size of solvals and solvalset arrays, should be >= number of active variables |
added | pointer to store whether the solution was added |
Definition at line 1709 of file primal.c.
References BMSclearMemoryArray, FALSE, NULL, SCIP_Prob::nvars, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_MULTAGGR, SCIPprimalTrySolFree(), SCIPsetAllocBufferArray, SCIPsetDebugMsg, SCIPsetFreeBufferArray, SCIPsetIsEQ(), SCIPsetIsInfinity(), SCIPsolCreate(), SCIPsolGetHeur(), SCIPsolGetOrigObj(), SCIPsolGetVal(), SCIPsolIsOriginal(), SCIPsolSetVal(), SCIPvarGetName(), SCIPvarGetProbindex(), SCIPvarGetProbvarSum(), SCIPvarGetStatus(), SCIPvarIsActive(), TRUE, and SCIP_Prob::vars.
Referenced by primalAddSol(), and transformSols().