2. Course Information
•Theory
•Day: Monday—Wednesday
•Time: 3-3:35 PM
•Evaluation:
• Quiz + Attendance (At least 75%) + Assignment : 20% of the total
marks
• Mid Sem Exam: 30% of the total marks
• End Sem Exam: 50% of the total marks
3. Combinatorial Optimization (CO)
• Objective
• To learn how to model problems using mathematical programs.
• To learn how to formulate and solve the traditional problems in combinatorial
optimization using combinatorial algorithm.
• To learn the concept of linear programming and matching algorithms.
4. Course Outcome
• Students will be able to
• Identify and classify combinatorial optimization problems with real-world
problems
• Identify, classify and implement algorithm to solve combinatorial optimization
problems
• Model problems using linear programming.
• Understand the inherent complexity of problems: Polynomial time, NP-
completeness.
5. Application of CO
• Algorithm Theory
• Operations Research
• Artificial Intelligence
• Computational Complexity
• Auction Theory
• Software Engineering
• Machine Learning
• Theoretical Computer Science
• …………….
6. • What do we optimize?
* A cost function: It help us to define which solution is better
(Solution A or Solution B etc)
• How to find the solution having the best cost?
By designing an optimization algorithm.
• Can we decompose the problem into some smaller problems?
By defining optimal sub-structure property
• How shall we search among alternatives?
By using complexity: run time, space required
7. Optimization Problem
• An instance of an optimization problem is a pair (F, c), where F is any
set, the domain of feasible points; c is the cost function s.t.
c : F → R
The point is to find a point f F s.t.
c(f) ≤ c(y) for all y F
Such a point f is called globally optimal solution.
8. Optimization Problems
• Categorized into two types
• Those with continuous variables: looking for a set of real numbers
• Those with discrete variables: looking for an object from a finite, or possibly
countably infinite set, typically an integer set, permutation or graphs.
Optimization Problems with Discrete Variables
are called Combinatorial Optimization Problems
9. Example 1: Minimum spanning problem
Given a graph G=(V,E), w: E → Z+
An instance of MST problem is
F = {all spanning trees (V, E’) with V = {1, 2, ……, n}}
c: (V, E’) → σ𝒆 𝑬′ 𝒘(𝒆)
Here spanning tree means connected and acyclic graph.
10. Example 2 : Travelling Salesman Problem
We are given an integer n > 0 and the distance between every pair of n
cities in the form of an n x n matrix [di,j], where di,j Z+ . A tour is a
close path that visits every city exactly once. The problem is to find a
tour with minimum total length.
F= {all cyclic permutations π on n cities}
C(π) → σ𝒋 𝒏 𝒅i,j
Here city j is visited after visiting city i
11. Global Optima
• It is the extrema (minimum or maximum) of the objective function for
the entire input space
• Given an instance (F, c) of an optimization problem, a feasible solution
f is called globally optimal with respect to F if
c(f) ≤ c(g) for all g F
12. Local optimization
• A local optima is the extrema (minimum or maximum) of
the objective function for a given region of the input
space.
• Given an instance (F, c) of an optimization problem and a
neighborhood N, a feasible solution f is called locally optimal with
respect to N if
c(f) ≤ c(g) for all g N(f)
Here N(f) is defined as a set of points that are close in some
sense to the point f.