This is a benchmark problem which was introduced in 1995 by Brailsford, S., Hubbard, P., Smith, B., Williams, H.: Organizing a social event – a difficult problem of combinatorial optimization. Computers Ops Res 23 (1996) 845–856. The problem is to organize a party at a yachting club over multiple time periods. Some of the boats in the club are designated as host boats, their owners stay on their boats during the whole party and expect visitors from other boats. For safety reasons, each host boat has a guest capacity, which may not be exceeded. The teams coming from the non-host boats stay together, and move in each time period, never visiting a host boat twice. The idea is for each host team to meet new people in each time period. In order to improve interaction between teams even further, two guest teams may only meet once, i.e. if they have been assigned to the same host boat in some time period, they may not meet again in another time period, even at another host boat. In the original problem, the party was scheduled for six time periods (of 30 minutes duration), improved results allow us to extend the party to ten time periods.
When this problem was presented initially, it was a show-case application for constraint programming, as earlier attempts to solve the problem with Integer Programming had failed, while the constraint solution was obtained in 26 minutes. Later improvements reduced the execution times significantly, but also found solutions with Integer Programming. The best current results were reported for a constraint-based local search method in Van Hentenryck, P., Michel, L.: Constraint-Based Local Search. MIT Press, Boston (2005)
To learn more
My short note in the 2009 CPAIOR conference Progress on the Progressive Party Problem presents some current results for ECLiPSe. More details and some model variants are used in chapter 10 of my ECLiPSe ELearning course.