MTL770: Combinatorial Optimization 2nd Semester, 2024-2025
Lecture 1 — 03/01/2025
Lecturer: Prof Minati De Scribe: Team 1
Team Members
• Keshav Rai (2022MT61968)
• Vatsal Sejpal (2022MT11926)
• Siddharth Saini (2022MT11283)
1 Optimization Problems
An optimization problem is defined as a pair (F, C), where:
• F : The feasible region, the set of all possible solutions that satisfy the problem’s constraints.
• C: The cost function, a mapping C : F → R that assigns a numerical value to each feasible
solution.
The goal is to find f ∈ F that either minimizes or maximizes C(f ), which is called the optimal
solution.
1.1 Types of Optimization Problems
1. Combinatorial Optimization:
• F is finite or countably infinite.
• Examples: Traveling Salesman Problem (TSP), Minimum Spanning Tree (MST), Match-
ing Problems.
2. Continuous Optimization:
• F is a subset of a continuous space, such as Rn .
• Techniques like calculus and convex analysis are used.
1.2 Relations Between Optimization Problems
Optimization problems are interconnected in many ways, and understanding these relationships is
crucial in solving them effectively:
1
• Linear Programming (LP):
– LP involves linear cost functions and linear constraints. The feasible region is a polyhe-
dron.
– LP forms the basis for many combinatorial optimization problems since it provides a
relaxation that can be solved efficiently using algorithms like the simplex method or
interior-point methods.
• Integer Linear Programming (ILP):
– ILP is a variant of LP where the variables are restricted to integer values.
– ILP is NP-complete, unlike LP, which is solvable in polynomial time. Many combina-
torial problems, like the Traveling Salesman Problem, are modeled as ILPs.
• Flow Problems:
– Flow problems, such as maximum flow or minimum cost flow, are LP problems where
the constraints represent flow conservation in a graph.
– These problems are foundational for network optimization and are solvable efficiently
using combinatorial algorithms.
• Matching Problems:
– Matching problems, particularly in bipartite graphs, can often be reduced to LP or flow
problems.
– Algorithms like the Hungarian method for maximum weight matching rely on LP relax-
ations.
• Nonlinear Programming (NLP):
– NLP generalizes LP to allow nonlinear cost functions or constraints.
– Convex NLP is particularly well-studied since it guarantees global optimality under
certain conditions, while non-convex NLP often requires heuristics or local search.
1.3 Linear Programming as a Combinatorial Optimization Problem
Linear programming (LP) problems are defined as:
max cT x subject to Ax = b, x ≥ 0,
where x ∈ Rn is the decision variable, A ∈ Rm×n is a constraint matrix, b ∈ Rm is a vector of
constraints, and c ∈ Rn is the cost vector.
Although F (the feasible region) is continuous, LP is combinatorial because:
• The optimal solution lies at the vertices of the polytope formed by the constraints.
• These vertices are the intersection points of hyperplanes, which are countable.
The simplex algorithm exploits this property by navigating these vertices to find the optimal solu-
tion.
2
1.4 Examples of Optimization Problems
1. Traveling Salesman Problem (TSP):
• Definition: The Traveling Salesman Problem (TSP) is defined on a set of n cities,
where the goal is to find the shortest possible route that visits each city exactly once
and returns to the starting city. The problem is often represented as a complete weighted
graph G = (V, E), where V is the set of n vertices (representing cities) and E is the set
of edges (representing paths between cities) with associated weights (distances or costs).
• F : The set of all possible cyclic permutations π of the n cities.
• C: The total distance of the tour, calculated as:
n
X
C(π) = dπ(i),π(i+1) ,
i=1
where dπ(i),π(i+1) represents the distance between the cities π(i) and π(i + 1), and π(n +
1) = π(1) ensures the tour is closed.
2. Minimum Spanning Tree (MST):
• Definition: The Minimum Spanning Tree (MST) problem is defined on a connected,
undirected graph G = (V, E) with n vertices and m edges. Each edge e ∈ E has a
non-negative weight w(e) representing the cost of including the edge in the tree. The
goal is to find a spanning tree T ⊆ E that connects all vertices in V with the minimum
total edge weight.
• F : The set of all spanning trees T of the graph G.
• C: The total weight of the edges in the spanning tree, calculated as:
X
C(T ) = w(e),
e∈T
where w(e) is the weight of edge e.
3. Matching Problem:
• Definition: The Matching Problem is defined on an undirected graph G = (V, E),
where V is the set of vertices and E is the set of edges. A matching M ⊆ E is a
set of edges such that no two edges in M share a common vertex. The goal is to find
a matching with certain properties, such as maximizing the total weight or finding a
perfect matching (where every vertex is incident to exactly one edge in the matching).
• F : The set of all matchings M in the graph G.
• C: The total weight of the edges in the matching, calculated as:
X
C(M ) = w(e),
e∈M
where w(e) is the weight of edge e.
3
1.5 Convex Functions and Optimization
Convex Function: A function f : Rn → R is convex if:
f (λx + (1 − λ)y) ≤ λf (x) + (1 − λ)f (y), ∀x, y ∈ Rn , λ ∈ [0, 1].
This means that the line segment between any two points on the graph of f lies above or on the
graph.
Convex Optimization: Optimization problems involving convex functions and convex feasible
regions. These problems are significant because:
• Any local minimum is also a global minimum.
• Efficient algorithms, such as interior-point methods, are available for solving them.
References
[1] C. H. Papadimitriou and K. Steiglitz, Combinatorial Optimization: Algorithms and Complexity,
2nd ed., Mineola, NY: Dover Publications, 1998.