Skip to content

Commit 6068ed5

Browse files
committed
Consistency
1 parent ea28e5e commit 6068ed5

2 files changed

Lines changed: 20 additions & 5 deletions

File tree

src/pyscipopt/recipes/getLocalConss.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,21 @@ def getLocalConss(model: Model, node = None) -> list[Constraint]:
3030

3131
return [model.getConss(), added_conss]
3232

33-
def getNAddedConss(model: Model) -> int:
33+
def getNLocalConss(model: Model, node = None) -> list[int]:
3434
"""
3535
Returns the number of local constraints of a node.
36+
37+
Parameters
38+
----------
39+
model : Model
40+
The model from which to retrieve the number of local constraints.
41+
node : Node, optional
42+
The node from which to retrieve the number of local constraints. If not provided, the current node is used.
43+
44+
Returns
45+
-------
46+
list[int]
47+
A list of the number of local constraints. First entry is the number of global constraints, second entry is the number of all the added constraints.
3648
"""
37-
return len(getLocalConss(model)[1])
49+
local_conss = getLocalConss(model, node)
50+
return [len(local_conss[0]), len(local_conss[1])]

tests/test_recipe_getLocalConss.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,24 @@
44

55
def localconss(model, event):
66
local_conss = getLocalConss(model)
7-
assert len(local_conss[1]) == getNAddedConss(model)
7+
assert len(local_conss[1]) == getNLocalConss(model)[1]
8+
assert len(local_conss[0]) == len(model.getConss())
9+
assert local_conss[0] == model.getConss()
810

911
vars = model.getVars()
1012
if model.getCurrentNode().getNumber() == 1:
1113
pass
1214

1315
elif model.getCurrentNode().getNumber() == 2:
1416
model.data["local_cons1"] = model.addCons(vars[0] + vars[1] <= 1, name="c1", local=True)
15-
assert getNAddedConss(model) == 1
17+
assert getNLocalConss(model)[1] == 1
1618
assert getLocalConss(model)[1][0] == model.data["local_cons1"]
1719

1820
elif model.getCurrentNode().getNumber() == 4:
1921
local_conss = getLocalConss(model)
2022
model.data["local_cons2"] = model.addCons(vars[1] + vars[2] <= 1, name="c2", local=True)
2123
model.data["local_cons3"] = model.addCons(vars[2] + vars[3] <= 1, name="c3", local=True)
22-
assert getNAddedConss(model) == 3
24+
assert getNLocalConss(model)[1] == 3
2325
assert getLocalConss(model)[1][0] == model.data["local_cons1"]
2426
assert getLocalConss(model)[1][1] == model.data["local_cons2"]
2527
assert getLocalConss(model)[1][2] == model.data["local_cons3"]

0 commit comments

Comments
 (0)