Skip to content

Commit 446f853

Browse files
committed
[CP-SAT] fix diffn cut; more tests
1 parent 9a77900 commit 446f853

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

Diff for: ortools/sat/diffn_cuts.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -335,8 +335,8 @@ CutGenerator CreateNoOverlap2dEnergyCutGenerator(
335335
rectangles.reserve(num_rectangles);
336336
for (const auto& component :
337337
helper->connected_components().AsVectorOfSpan()) {
338-
rectangles.clear();
339338
for (const int rect : component) {
339+
rectangles.clear();
340340
if (helper->IsAbsent(rect)) continue;
341341
// We do not consider rectangles controlled by 2 different unassigned
342342
// enforcement literals.

Diff for: ortools/sat/python/cp_model_test.py

+6
Original file line numberDiff line numberDiff line change
@@ -1940,6 +1940,7 @@ def test_small_series(self) -> None:
19401940
model = cp_model.CpModel()
19411941
x = model.new_bool_var("foo")
19421942
y = model.new_bool_var("bar")
1943+
z = model.new_bool_var("baz")
19431944

19441945
s1 = pd.Series([x, y], index=[1, 2])
19451946
self.assertEqual(str(s1.sum()), "(foo + bar)")
@@ -1951,6 +1952,11 @@ def test_small_series(self) -> None:
19511952
s4 = pd.Series([1], index=[1])
19521953
self.assertIs(s3.dot(s4), x)
19531954

1955+
s5 = pd.Series([x, y, z], index=[1, 2, 3])
1956+
self.assertEqual(str(s5.sum()), "(foo + bar + baz)")
1957+
s6 = pd.Series([1, -2, 1], index=[1, 2, 3])
1958+
self.assertEqual(str(s5.dot(s6)), "(foo + (-2 * bar) + baz)")
1959+
19541960
def test_issue4376_sat_model(self) -> None:
19551961
letters: str = "BCFLMRT"
19561962

0 commit comments

Comments
 (0)