Information

Deadline No deadline
Submission limit No limitation

Sign in

Assignment 5 — Eternity

0. Assignment Instructions

Before starting with your Java implementation, read the assignment instructions and grading rules on the course web page: https://user.it.uu.se/~pierref/courses/COCP/assignments/assignment5/assignment5.pdf .


Eternity

Solve the Eternity II problem.

Your task is to finish the implementation in Eternity.java:

  1. Implement the filling of the table containing all the pieces and their rotations (TODO 1). You can check that your table is correctly constructed by running the test testTableContent from EternityTest.java.

  2. Implement the constraints of the model (TODO 2):

    • place all the pieces
    • allow only valid pieces
    • place the gray sides on the edges of the board
  3. Continue the implementation of the search. Currently, it uses the and combinator to branch on some of the variables from the problem. You need to continue its implementation in order to be sure that it branches on all of them (TODO 3).

Check that your implementation passes all the tests from EternityTest.java.


Before submitting, remember to fetch the latest changes from upstream (the MiniCP GitHub repository).

Note that the original tests of the MiniCP GitHub repository will be run.