Combinatorial Optimization

Objectives

(i) Comprehension of the main concepts from graphs, polyhedra; and matroids

(ii) Development of algorithm designing skills;

(iii) Improving modeling skills;

(iv) Improving mathematical maturity;

General characterization

Code

10809

Credits

6.0

Responsible teacher

Manuel Valdemar Cabral Vieira

Hours

Weekly - 4

Total - 56

Teaching language

Português

Prerequisites

Students are supposed to have knowledge in Linear Programming, and some skills in algorithms.

Bibliography

L.A. Wolsey, Integer Programming, Wiley, 1998.

D.B. West, Introduction to Graph Theory, Prentice Hall, 2001

A. Schrijver, Combinatorial Optimization: Polyhedra and Efficiency. Algorithms and Combinatorics, Springer, 2003

A. Schrijver, A Course in Combinatorial Optimization, 2013

B. Korte, J. Vygen, Combinatorial Optimization: Theory and Algorithms, Springer, 2008

Teaching method

In this course classes are theoretical-practical.

Lectures consist of expose of theoretical concepts and carry up some proffs, using the framework and the projector, and resolution of exercises and problems.

Part of the study is done independently by the student, individually and in groups, using bibliographic brackets, and the support of the teacher in the classroom, and in pre-established schedules reserved for the students'''''''''''''''' attendence.

Evaluation method

Rules of evaluation

The student may be evaluated by two tests  and by a written work and will be approved if  the two tests  and the written work  sum up at least 10.

The student may also be approved by a final exam if the exam''''s grade is at least 10. The grade will be the one attained in the exam (rounded) and any grade in any test will be discarded.

Any grade improvement may be done in the final exam and will be subject to the same demands as the exam.

An additional project and/or oral exam is required for grades above 17.

Subject matter

1. Graphs
 
2. Modeling with binary variables

3. Integer programming

4. Trees

5. Shortest paths

6. Matchings

7. Flows
 
8. Matroids

9. Computational complexity

10. Approximation algorithms

Programs

Programs where the course is taught: