Inria / Raweb 2004
Project-Team: MODBIO

Search in Activity Report, year 2004:


Project-Team : modbio

Section: Scientific Foundations

Combinatorial optimization and integer programming

Combinatorial optimization is a lively field of applied mathematics, combining techniques from combinatorics, linear programming, and the theory of algorithms, to solve optimization problems over discrete structures [31]. A combinatorial optimization problem can be defined as follows: we are given a ground set N and consider a finite collection of subsets, say Im1 ${{S_1,S_2,\#8943 ,S_m}}$. For each subset Sk there is an objective function value, f(Sk), typically a linear function over the elements in Sk. The task is to find the subset Sk that minimizes f(Sk). Typically, the feasible subsets are represented by inclusion or exclusion of members such that they satisfy certain conditions. Well known examples of combinatorial optimization problems are assignment, covering, cutting stock, knapsack, matching, packing, partitioning, routing, sequencing, scheduling (jobs), shortest path, spanning tree, and traveling salesman problems.

This then becomes a special class of integer programs (IP) whose decision variables are binary valued: xi = 1 if the i-th element is in the optimal solution; otherwise, xi = 0. In this case, feasible subsets have to be expressed by linear constraints. IP formulations are not always easy, and often there is more than one formulation, some better than others. Many good formulations have exponential size.