add printing to the clustering problem

This commit is contained in:
Laurent Perron
2019-05-11 14:02:41 +02:00
parent 75d36e55b8
commit ce9aebd5f7

View File

@@ -101,7 +101,7 @@ def main():
# Redundant constraints on total sum of neighborss.
model.Add(sum(obj_vars) == num_groups * group_size * (group_size - 1) // 2)
# Minimize weighted sum of arcs. Because this s
# Minimize weighted sum of arcs.
model.Minimize(
sum(obj_vars[i] * obj_coeffs[i] for i in range(len(obj_vars))))
@@ -113,6 +113,24 @@ def main():
status = solver.Solve(model)
print(solver.ResponseStats())
visited = set()
for g in range(num_groups):
for n in range(num_nodes):
if not n in visited:
visited.add(n)
output = str(n)
for o in range(n + 1, num_nodes):
if solver.BooleanValue(neighbors[n, o]):
visited.add(o)
output += ' ' + str(o)
print('Group', g, ':', output)
break
if __name__ == '__main__':
main()