I have following model:
NAME scip
OBJSENSE
MIN
ROWS
N Obj
G THISROW
L THATROW
L LASTROW
COLUMNS
COLONE Obj 1 THATROW 0.24
COLTWO THISROW 78.26 Obj 3
COLTHREE Obj 6.24 LASTROW -1
COLTHREE THATROW 11.31
COLFOUR THISROW 2.9 Obj 0.1
RHS
RHS THISROW 92.3 THATROW 14.8
RHS LASTROW -0.1
BOUNDS
LO Bound COLONE 0.6
PL Bound COLONE
PL Bound COLTWO
PL Bound COLTHREE
LO Bound COLFOUR 18
UP Bound COLFOUR 31.5
ENDATA
And I execute following statements in scip:
SCIP> set presolving emphasis off
SCIP> set propagating maxrounds 0
SCIP> set propagating maxroundsroot 0
SCIP> read model.mps
SCIP> optimize
SCIP> display dualsolution
This gives:
THISROW 0.0383337592639918
LASTROW 6.24*
These values are correct, however 6.24 should be -6.24 Is that the meaning of the * behind it? And if so, how can I get that information via the API because currently API call SCIPgetDualSolVal returns 6.24 There is also the argument boundconstraint which is true for LASTROW and false for THISROW. Is that the * and is that an indication of the sign? If not what does boundconstraint mean and how can I get the sign?
Then I also have a question about SCIPgetVarRedcost. It also returns non zero values for basic variables. Something I do not want. Is there a way via the API to know if a variable is basic or non basic in the final solution?
Thank you