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

Reply via email to