DM826 - Modeling and Solving Constrained Optimization Problems
Obligatory Assignment 2, Spring 2012 [pdf format]

Deadline: 15th March 2012 at noon.



This assignment is a continuation of Assignment 1. It assumes the problem definition as reached in Task 3 of Assignment 1 (hence it includes all elements defined at Task 1, Task 2 and Task 3 and it considers the optimization of the worst preference in the assignment (fairness criterion).

The assignment consists of the following tasks.

  1. Implement a branching rule that branches on the opening of a team.
  2. Implement a model that uses set variables.
  3. If you finished the two previous tasks you can consider the following free tasks:

Use Table 1 as a skeleton for your comparisons and make sure that you report and comment your conclusions. You should use instances that allow to see differences. You can create challenging instances with the help of Table 2. For example, for the year 2012 a challenging instance can be the constraint satisfaction problem that asks to find a feasible solution that does not assign any student to their sixth preference.

You have to deliver a written report and a script file models.py containing your implementation. Restrict your written report to max 3 pages.


Table 1: Data for the comparisons.


Table 2: Results from a minmax approach followed by weighted sum or lexicographic (leximin) optimization.

Practicalities

(This section has remained the same as in Assignment 1. In the data it has been added the year 2012.)

This assignment is to be carried out in GECODE. All scripts mentioned below can be found at http://www.imada.sdu.dk/~marco/DM826/Resources/. Download and uncompress the archive dm826-ass1.tgz

Tips: print the data to understand how things are organized; use the solution checker in main.py to cross check your implementation.