Programming Exercise
CPLEX Tutorial
Framework/Instances
Programming Exercise / ILOG CPLEX Tutorial
Andreas M. Chwatal
Algorithms and Data Structures Group
Institute of Computer Graphics and Algorithms
Vienna University of Technology
VU Fortgeschrittene Algorithmen und Datenstrukturen
Mai 2009
1
Programming Exercise
CPLEX Tutorial
Framework/Instances
Recall the
k
node minimum spanning tree (
k
MST) problem from the
todays lecture:
Given:
(undirected) graph
G
= (
V
,
E
,
w
)
nonnegative weighting function
w
(
e
)
∈
R
Goal:
Find a minimum weight tree, spanning exactly
k
nodes.
Programming Exercise:
develop a branchandbound and a
branchandcut algorithm for this problem
2
Programming Exercise
CPLEX Tutorial
Framework/Instances
Your Task (1)
Carefully read this tutorial
Formulate the
k
MST
problem as integer linear program (ILP),
based on a
1
single commodity flow formulation
(SCF)
2
cycle elimination formulation
(CE),
or, alternatively a
formulation based on directed connection cuts
(DC)
Implement the corresponding algorithms, using ILOG CPLEX:
1
a branchandbound algorithm for the SCF formulation
2
a branchandcut algorithm based on CE/DC using a dynamic
cutseparation procedure
3
Programming Exercise
CPLEX Tutorial
Framework/Instances
Your Task (2)
For the implementation you should use a
C++ framework
(which
you can find on the webpage of the course)
Furthermore you can find
testinstances
(to described later on),
which should be used for the evaluation and analysis of the
algorithms
Compute the results for each instance for (at least)
k
=
1
5

V

and
k
=
1
2

V

with both algorithms
4
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Programming Exercise
CPLEX Tutorial
Framework/Instances
Your Task (3)
Create a short
document
(preferably in LaTeX) of
no more than
three pages
containing:
1
Problem description, used variables
2
SCF and CE/DC formulation
3
Short description of implementation, in particular the cutgeneration
4
Result table, including
1
objective function value
2
running time
3
number of branchandbound nodes
4
node in which optimum has been found
5
For B&C: number of separated cuts
5
Programming Exercise
CPLEX Tutorial
Framework/Instances
Organization
You can work on the exercise alone, or in groups of two
You have to work on instituteservers (due to CPLEX licence):
Servername:
behemoth.ads.tuwien.ac.at
If you do not have an account yet, you get one after the lecture, or
write an email to me.
Send the document per email to me/us one day
prior
to the (oral)
exam
Make sure, that a correctly working version of your program is
available on an instituteserver at the time of your exam
6
Programming Exercise
CPLEX Tutorial
Framework/Instances
What is CPLEX?
CPLEX: Simplex method and C programming language
Commercial
optimization
software package
High performance
integer (linear) programming
linear programming
quadratic programming
http://www.ilog.com/products/cplex/
7
Programming Exercise
CPLEX Tutorial
Framework/Instances
Concert Framework
Interface to CPLEX solver (C, C++, C#, Java)
Enables to implement: branchandbound, branchandcut, column
generation, ...
This is the end of the preview.
Sign up
to
access the rest of the document.
 Spring '97
 RAVINDRAN
 Linear Programming, CPLEX

Click to edit the document details