File tree Expand file tree Collapse file tree 3 files changed +17
-4
lines changed Expand file tree Collapse file tree 3 files changed +17
-4
lines changed Original file line number Diff line number Diff line change 22
33## Unreleased
44### Added
5+ - Added transformed option to getVarDict, updated test
56- Added categorical data example
67- Added printProblem to print problem to stdout
78- Added stage checks to presolve, freereoptsolve, freetransform
Original file line number Diff line number Diff line change @@ -3458,17 +3458,22 @@ cdef class Model:
34583458 """
34593459 return SCIPgetNContVars(self ._scip)
34603460
3461- def getVarDict (self ):
3461+ def getVarDict (self , transformed = False ):
34623462 """
34633463 Gets dictionary with variables names as keys and current variable values as items.
34643464
3465+ Parameters
3466+ ----------
3467+ transformed : bool, optional
3468+ Get transformed variables instead of original (Default value = False)
3469+
34653470 Returns
34663471 -------
34673472 dict of str to float
34683473
34693474 """
34703475 var_dict = {}
3471- for var in self .getVars():
3476+ for var in self .getVars(transformed = transformed ):
34723477 var_dict[var.name] = self .getVal(var)
34733478 return var_dict
34743479
Original file line number Diff line number Diff line change @@ -244,14 +244,21 @@ def test_getVarsDict():
244244 x = {}
245245 for i in range (5 ):
246246 x [i ] = model .addVar (lb = - i , ub = i , vtype = "C" )
247- for i in range (10 , 15 ):
247+ for i in range (5 , 10 ):
248248 x [i ] = model .addVar (lb = - i , ub = i , vtype = "I" )
249- for i in range (20 , 25 ):
249+ for i in range (10 , 15 ):
250250 x [i ] = model .addVar (vtype = "B" )
251+
252+ model .addConsIndicator (x [0 ] <= 4 , x [10 ])
251253
254+ model .setPresolve (0 )
252255 model .hideOutput ()
253256 model .optimize ()
254257 var_dict = model .getVarDict ()
258+ var_dict_transformed = model .getVarDict (transformed = True )
259+ assert len (var_dict ) == model .getNVars (transformed = False )
260+ assert len (var_dict_transformed ) == model .getNVars (transformed = True )
261+
255262 for v in x .values ():
256263 assert v .name in var_dict
257264 assert model .getVal (v ) == var_dict [v .name ]
You can’t perform that action at this time.
0 commit comments