Skip to content

Commit 10671fc

Browse files
Add verbosity argument to writeParams and writeProblems (#844)
* Fix overambitious locale * Update CHANGELOG * Remove forgotten print * Add verbose option for writeParams/Problem * Update CHANGELOG * Update src/pyscipopt/scip.pxi Co-authored-by: Mohammed Ghannam <[email protected]> * Grammar --------- Co-authored-by: Mohammed Ghannam <[email protected]> Co-authored-by: Mohammed Ghannam <[email protected]>
1 parent 001f423 commit 10671fc

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
## Unreleased
44
### Added
5+
- Added verbose option for writeProblem and writeParams
56
- Expanded locale test
67
- Added methods for creating expression constraints without adding to problem
78
- Added methods for creating/adding/appending disjunction constraints

src/pyscipopt/scip.pxi

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1329,7 +1329,6 @@ cdef class Model:
13291329

13301330
# turn the constant value into an Expr instance for further processing
13311331
if not isinstance(expr, Expr):
1332-
print(expr)
13331332
assert(_is_number(expr)), "given coefficients are neither Expr or number but %s" % expr.__class__.__name__
13341333
expr = Expr() + expr
13351334

@@ -1455,29 +1454,33 @@ cdef class Model:
14551454
if not onlyroot:
14561455
self.setIntParam("propagating/maxrounds", 0)
14571456

1458-
def writeProblem(self, filename='model.cip', trans=False, genericnames=False):
1457+
def writeProblem(self, filename='model.cip', trans=False, genericnames=False, verbose=True):
14591458
"""Write current model/problem to a file.
14601459
14611460
:param filename: the name of the file to be used (Default value = 'model.cip'). Should have an extension corresponding to one of the readable file formats, described in https://www.scipopt.org/doc/html/group__FILEREADERS.php.
14621461
:param trans: indicates whether the transformed problem is written to file (Default value = False)
14631462
:param genericnames: indicates whether the problem should be written with generic variable and constraint names (Default value = False)
1464-
1463+
:param verbose: indicates whether a success message should be printed
14651464
"""
14661465
user_locale = locale.getlocale(category=locale.LC_NUMERIC)
14671466
locale.setlocale(locale.LC_NUMERIC, "C")
14681467

14691468
str_absfile = abspath(filename)
14701469
absfile = str_conversion(str_absfile)
14711470
fn, ext = splitext(absfile)
1471+
14721472
if len(ext) == 0:
14731473
ext = str_conversion('.cip')
14741474
fn = fn + ext
14751475
ext = ext[1:]
1476+
14761477
if trans:
14771478
PY_SCIP_CALL(SCIPwriteTransProblem(self._scip, fn, ext, genericnames))
14781479
else:
14791480
PY_SCIP_CALL(SCIPwriteOrigProblem(self._scip, fn, ext, genericnames))
1480-
print('wrote problem to file ' + str_absfile)
1481+
1482+
if verbose:
1483+
print('wrote problem to file ' + str_absfile)
14811484

14821485
locale.setlocale(locale.LC_NUMERIC,user_locale)
14831486

@@ -5261,21 +5264,23 @@ cdef class Model:
52615264

52625265
locale.setlocale(locale.LC_NUMERIC, user_locale)
52635266

5264-
def writeParams(self, filename='param.set', comments = True, onlychanged = True):
5267+
def writeParams(self, filename='param.set', comments=True, onlychanged=True, verbose=True):
52655268
"""Write parameter settings to an external file.
52665269
52675270
:param filename: file to be written (Default value = 'param.set')
52685271
:param comments: write parameter descriptions as comments? (Default value = True)
52695272
:param onlychanged: write only modified parameters (Default value = True)
5270-
5273+
:param verbose: indicates whether a success message should be printed
52715274
"""
52725275
user_locale = locale.getlocale(category=locale.LC_NUMERIC)
52735276
locale.setlocale(locale.LC_NUMERIC, "C")
52745277

52755278
str_absfile = abspath(filename)
52765279
absfile = str_conversion(str_absfile)
52775280
PY_SCIP_CALL(SCIPwriteParams(self._scip, absfile, comments, onlychanged))
5278-
print('wrote parameter settings to file ' + str_absfile)
5281+
5282+
if verbose:
5283+
print('wrote parameter settings to file ' + str_absfile)
52795284

52805285
locale.setlocale(locale.LC_NUMERIC,user_locale)
52815286

0 commit comments

Comments
 (0)