Den 2015-10-20 skrev Ian Kelly <ian.g.ke...@gmail.com>: >> >> Anyone into CSP willing to offer me a hint? > > I assume that your variables are the individuals and the domains of > those variables are the rooms. Based on the python-constraint docs, > your constraint could look something like this: > > from collections import Counter > > ROOM_SIZE = { > 'A': 3, > 'B': 3, > 'C': 4, > 'D': 4, > 'E': 5, > } > > def room_size_constraint(*v): > counter = Counter(v.values()) > return all(count <= ROOM_SIZE[room] > for room, count in counter.items()) > > problem.addConstraint(room_size_constraint)
Bingo! Just what I needed but didn't know where to look for. Now I 'only' have to read https://docs.python.org/dev/library/collections.html#counter-objects to understand what's really going on in the code :-) Then I will try less benign examples. /Martin -- https://mail.python.org/mailman/listinfo/python-list