dPDOP - Solver

d-place dicourse ordering problem solver

For all questions concerning the software, please contact Ernst Althaus.
You can download this paper for a description of the problem.
The copyright of this software belongs partly to the Max-Planck-Society.
We provide our (rudamentary) implementations of our 2PDOP and 3PDOP solvers. To compile the source file, you need an installation of the LEDA-Library and the SCIL-Software package (which requires some further libraries).
We also provide executables for different systems. For every system, we have executables for 2PDOP and 3PDOP based on the commercial CPLEX solver and based on SCIP, which is not officially released yet and will be free for all academic purposes. If you need an executable for another system, please send me an email.
Both programs have one parameter with the file containing the instance. The file format is described below.
Sources 3PDOP 2PDOP
CPLEX SCIP-SoPlex
Linux x86 3PDOP 2PDOP 3PDOP 2PDOP
SunOS Sparc 3PDOP 2PDOP 3PDOP 2PDOP
Windows 3PDOP 2PDOP

The file format

First of all: all empty lines or lines starting with a white-space or a '#' are ignored.
Notice that the numbering is done in C++-style, i.e. we start with the number 0.
Other than that, the file of an dPDOP-Instnace has to looks as follows:

(int: number i of discourses)

(string: discourse 0)
(string: discourse 1)
...
(string: discourse i-1)

(The Cost Function)

The cost function for 3PDOP-Instances is encoded as follows:
for every value $c_I(u_i, u_j)$ of the initial cost function, we add a line
-1 (int: i) (int: j) (double: c_I(u_i, u_j))
and for every value $c_T(u_i, u_j, u_k)$ of the transition cost function, we add a line of the format
(int: i) (int: j) (int: k) (double c(u_i, u_j, u_k))

The cost function for 2PDOP-Instances is encodes similary.
For exaples, look at the 3-PDOP-example and the 2-PDOP-example