LP/CP Programming Contest 2015

Report | Photos 


  1. Games
  2. Fix Queens
  3. Logistics
  4. Packing
  5. Pizza

About The Contest

The LP/CP programming contest will be run from 7:45PM to 9:45PM (Ireland time) on September 2 (Wednesday) during ICLP/CP 2015, which will be held in Cork, Ireland. This programming contest combines the ideas of the Prolog programming contest, the ASP model & solve contest, and the Minizinc model & solve contest.

The LP/CP programming contest consists of two tracks: one on-site track and one online track. For both tracks, each team can consist of up to three participants, and each team may only use a single LP/CP system. For the on-site track, each team can use at most TWO computers. For the online track, there is no limit to the number of computers that can be used.

One of the following systems can be used: Ciao-Prolog, Clingo, ECLiPSe, GNU-Prolog, Minizinc, Picat, SICStus-Prolog, SWI-Prolog, XSB, and Yap. If a team wants to use any other system, the team must contact the organizers in advance, offer assistance in installing and testing the system, and provide solutions for the sample problems.

Each team is given 2 hours to solve 5 programming problems. Each team must submit solutions as programs in their chosen language via Easychair at:


Each program is submitted as a "paper", in which the title has the form Track:TeamName:SystemName:FileName (e.g., onsite:swiftasp:clingo:prog1), the authors are the team members, and the abstract contains the program. No attachments are allowed. A team may resubmit their program by updating the submission's information or submitting new versions as a separate "paper". For each problem, only the final submission will be counted. For the on-site track, submission on a USB stick is also acceptable if there is no Internet or Easychair access. In this case, the program must be saved in the USB stick with the designated name.

For each problem, a submitted program must have the main name as specified by the problem description, and the extension name must correctly indicate the used language. For ASP the extension name is “asp”; for Minizinc the extension is "mzn"; for Prolog the extension name is “pl”; and for Picat the extension name is “pi”.

For each problem, a set of instances is used to test submitted programs. A smaller set of the test instances and their sample outputs will be made available online during the competition. Input files have the extension name "dzn" for Minizinc and the extension name “pl” for all other systems. A program-run is started by a command that consists of the system’s executable name, the program file, and an instance file. Examples:

clingo prog1.asp instance1.pl

minizinc prog1.mzn instance1.dzn

picat prog1.pi instance1.pl

swipl -g "main,halt" prog1.pl instance1.pl

eclipse -e main -f prog1.pl -f instance1.pl

All outputs must be sent to the console in the format specified by the problem description. Programs are run on test instances during the competition. If a program fails to give a correct answer or fails to solve an instance in 60 seconds, the team may be notified by email and can submit another program.

There will be prizes for the winners of both the on-site and online tracks. There are separate rankings for the on-site and online tracks. The teams are ranked by the number of correctly solved problems. If necessary, the submission times and the run times of the solutions are used to break ties.

Sample Problems and Solutions

Problem Clingo Minizinc Prolog (ECLiPSe) Prolog (SICStus) Prolog (SWI) Picat
Blocked N-Queens bq.asp bq.mzn bq.ecl bq.pl bq.pl bq.pi
Meeting Point meeting.asp meeting.mzn meeting.ecl meeting.pl meeting.pl meeting.pi


Q1: Do I have to register for the competition in advance?

No, you do not have to register in advance. Nevertheless, you may want to test your Easychair account by submitting an empty solution in advance, so that you can save some time when submitting real solutions.

Q2: Can I use a Prolog system that does not support constraints?

Yes, most of the instances are easy to solve, even with simple backtracking.