Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman...

70
Introduction to Operations Research CERMICS, ENPC Axel Parmentier September 26, 2018

Transcript of Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman...

Page 1: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Introduction to Operations Research

CERMICS,ENPC

Axel Parmentier

September 26, 2018

Page 2: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Traveling salesman problem

10

5

4

11

12

1

10

4

7

13

6

65

8

2

3

2

10 10

31

47

9

8

5

5

10

7

???????

Mister Supersales must plan his tour

A. Parmentier, ENPC September 26, 2018 2 / 59

Page 3: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Traveling salesman problem

10

5

4

11

12

1

10

4

7

13

6

65

8

2

3

2

10 10

31

47

9

8

5

5

10

7

Mister supersale has planned his tour

A. Parmentier, ENPC September 26, 2018 3 / 59

Page 4: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Traveling salesman problem

Is there an optimal solution?

Yes: finite set of solution

Can we enumerate all the solutions?

With 25 cities, we have 24! = 24× 23× 22× · · · × 2× 1 possibilities, thatis, around 6.204× 1025 possibilities.

Using paper and pencil, testing 1 possibility per second, requires around1.976× 1016 years.

Testing 1 million possibilities per second with a computer, requires 19billion years.

A. Parmentier, ENPC September 26, 2018 4 / 59

Page 5: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Traveling salesman problem

Is there an optimal solution?

Yes: finite set of solution

Can we enumerate all the solutions?

With 25 cities, we have 24! = 24× 23× 22× · · · × 2× 1 possibilities, thatis, around 6.204× 1025 possibilities.

Using paper and pencil, testing 1 possibility per second, requires around1.976× 1016 years.

Testing 1 million possibilities per second with a computer, requires 19billion years.

A. Parmentier, ENPC September 26, 2018 4 / 59

Page 6: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Traveling salesman problem

Is there an optimal solution?

Yes: finite set of solution

Can we enumerate all the solutions?

With 25 cities, we have 24! = 24× 23× 22× · · · × 2× 1 possibilities, thatis, around 6.204× 1025 possibilities.

Using paper and pencil, testing 1 possibility per second, requires around1.976× 1016 years.

Testing 1 million possibilities per second with a computer, requires 19billion years.

A. Parmentier, ENPC September 26, 2018 4 / 59

Page 7: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Part

1. What is Operations Research

2. Syllabus

3. Graphs

4. Complexity

A. Parmentier, ENPC September 26, 2018 5 / 59

Page 8: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Operations Research

The traveling salesman problem is one of the most famous OperationsResearch problem.

Operations Research (OR):mathematical discipline that deals with the optimal allocation of resources(typically in firms).

Why this name? What was it invented for?

A. Parmentier, ENPC September 26, 2018 6 / 59

Page 9: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Operations Research

The traveling salesman problem is one of the most famous OperationsResearch problem.

Operations Research (OR):mathematical discipline that deals with the optimal allocation of resources(typically in firms).

Why this name? What was it invented for?

A. Parmentier, ENPC September 26, 2018 6 / 59

Page 10: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

And for those who search fundings for their start-up

Data mining is descriptive analytics:

I My data contains A and B

Machine Learning is predictive analytics:

I if A happens, then B will happen

Operations Research is prescriptive analytics:

I if I want B to happen, then I must do A

As such, OR is a key tool of artificial intelligence

More prosaically, Big Data have multiplied the fields of applications ofOR, and there are too few experts today

A. Parmentier, ENPC September 26, 2018 7 / 59

Page 11: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Examples of Operations Research problems

• Find the best tour10

5

4

11

12

1

10

4

7

13

6

65

8

2

3

2

10 10

31

47

9

8

5

5

10

7

• Plan the best timetable

• Find the most resilient network

• Fill a container optimally

• Locate facilities/warehouses optimally

• Schedule jobs on machinesDebut Fin

A

B

C

D

E

F

0

0

080

7080

30

30

30

50

40

A. Parmentier, ENPC September 26, 2018 8 / 59

Page 12: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

The founding fathers

Monge, Blackett, Dantzig.

A. Parmentier, ENPC September 26, 2018 9 / 59

Page 13: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Fast growth since the fifties

I academia (maths, computer science),

I industry (supply chain, transport, telecommunications , etc.)

Two keywords : Modeling et Optimization.

A. Parmentier, ENPC September 26, 2018 10 / 59

Page 14: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Performances on the traveling salesman problem

1954 Dantzig, Fulkerson, Johnson 49 cities1971 Held, Karp 64 cities1975 Camerini, Fratta, Maffioli 67 cities1977 Grotschel 120 cities1980 Crowder, Padberg 318 cities1987 Padberg, Rinaldi 532 cities1987 Grotschel, Holland 666 cities1987 Padberg, Rinaldi 2′392 cities1994 Applegate, Bixby, Chvatal, Cook 7′397 cities1998 Applegate, Bixby, Chvatal, Cook 13′509 cities2001 Applegate, Bixby, Chvatal, Cook 15′112 cities2004 Applegate, Bixby, Chvatal, Cook, Helsgaun 24′978 cities

And it is not a question of computer performances. Initial algorithms ontoday’s computers would not deal with 100 cities.

A. Parmentier, ENPC September 26, 2018 11 / 59

Page 15: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Part

1. What is Operations Research

2. Syllabus

3. Graphs

4. Complexity

A. Parmentier, ENPC September 26, 2018 12 / 59

Page 16: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Syllabus: tools

L1, sep. 26 Graphs and complexity

L2, oct. 3 Shortest paths and dynamic programming

L3, oct. 10 Network flows

L4, oct. 17 Bipartite graphs and Linear Programming

L5, oct. 24 Mixed Integer Linear Programming

L6, nov. 14 Heuristics e− z

kBT

L7, nov. 28 Exercises + Introduction to Implementation (Julia)

A. Parmentier, ENPC September 26, 2018 13 / 59

Page 17: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Groups

3 groups.

A. Parmentier, ENPC September 26, 2018 14 / 59

Page 18: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Syllabus: Applications

L8 dec 5 Project (self-learning)

L9 dec 12 Facility location and bin-packing + Industrial presentation(Frederic Gardi – Localsolver) 1h

L10 dec 19 Network design + Industrial presentation (Thibault Corneloup –Air France)

L11 jan 9 Routing + Intervention 1h (Mathieu Sanchez)

L12 jan 16 Scheduling (self-learning)

L13 jan 23 Exam

A. Parmentier, ENPC September 26, 2018 15 / 59

Page 19: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Evaluation

I Multiple choice tests (mandatory) on Educnet

I Project

I Final Exam

Note =2

5·Project +

3

5·Exam

No re-sit exam if more than 1 unjustified absence or more than 1 undonemultiple choice test

A. Parmentier, ENPC September 26, 2018 16 / 59

Page 20: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Resources

Frederic Meunier’s monograph

New monograph (progressively updated on Educnet):

I Please indicate me the typos: [email protected]

I up to two bonus points for those who identify

Three previous exams

A. Parmentier, ENPC September 26, 2018 17 / 59

Page 21: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Hackathon

A. Parmentier, ENPC September 26, 2018 18 / 59

Page 22: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Project

The problem of the miniproject will be the same as the one of theHackathonAgenda :

L7, nov. 28 Introduction to Implementation (Julia)

nov. 29 Hackathon (voluntary) + subject available on Educnet

L8, dec. 5 “Seance en autonomie” on the project

jan. 16 End of the project

A. Parmentier, ENPC September 26, 2018 19 / 59

Page 23: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Part

1. What is Operations Research

2. Syllabus

3. Graphs3.1 Modeling3.2 Undirected graphs3.3 Optimization

4. Complexity

A. Parmentier, ENPC September 26, 2018 20 / 59

Page 24: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

In the textbook

Complexity: Chapter 2

Graphs: Chapter 3

A. Parmentier, ENPC September 26, 2018 21 / 59

Page 25: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Modeling

Model =

A mathematical transcription of reality that enables to apply math-ematical theory and tools, and translate their results into predictionand decisions in the real world.

Two kinds of models

I Epistemology: model to understand a complicated phenomenon

I Praxeology: model to decide

Operations Research: models to find a good/the best decision in a huge setof potential ones

A. Parmentier, ENPC September 26, 2018 22 / 59

Page 26: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Graphs

Graph : G = (V ,E )V : set of sommetsE : set of edges = unordered pairs of vertices

v1

v2

v3

v4

v5

v6

v1v2

v1v2

v3v3

v5v6

v3v4

v2v5

degree deg(v) of a vertex v : number of incident edges.

A. Parmentier, ENPC September 26, 2018 23 / 59

Page 27: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Simple graphs, complete graphs, bipartite graphs

Simple graph: at most one edge between two vertices

Complete graph: simple graph where every pair of vertices is an edge

Graphe biparti: vertices partitioned into two subsets such that there is noedge between two vertices of the same subset

A. Parmentier, ENPC September 26, 2018 24 / 59

Page 28: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Complete graphs, bipartite graphs

Kn: complete graph with n vertices

Km,n: bipartite complete graph with m and n vertices

How many edges in Kn? And in Km,n?

A. Parmentier, ENPC September 26, 2018 25 / 59

Page 29: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Paths

Path : sequence of the form

v0, e1, v1, . . . , ek , vk

vi ∈ V , ej ∈ E with ej = vj−1vj .

Simple path: crosses at most once an edge.

Elementary path: crosses at most once a vertex

Connected graph: a path between any pair of vertices

A. Parmentier, ENPC September 26, 2018 26 / 59

Page 30: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Cycles

Cycle : path such that v0 = vk and all the other vertices are contained atmost once

Eulerian path/cycle: simple path/cycle containing all the edges

Hamiltonian path/cycle: elementary path/cycle containing all the vertices

A. Parmentier, ENPC September 26, 2018 27 / 59

Page 31: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Hamiltonian cycle

A. Parmentier, ENPC September 26, 2018 28 / 59

Page 32: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Hamilton (1805–1865) invented the “Icosian Game”, which was not acommercial success.

A. Parmentier, ENPC September 26, 2018 29 / 59

Page 33: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Icosian game

Find a Hamiltonian cycle

A. Parmentier, ENPC September 26, 2018 30 / 59

Page 34: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Icosian game

Find a Hamiltonian cycle

A. Parmentier, ENPC September 26, 2018 30 / 59

Page 35: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Modeling with cycles

Give examples of real-life problems whose solutions are Hamiltonian /Eulerian cycles.

I Traveling salesman

I Post office

A. Parmentier, ENPC September 26, 2018 31 / 59

Page 36: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Modeling with cycles

Give examples of real-life problems whose solutions are Hamiltonian /Eulerian cycles.

I Traveling salesman

I Post office

A. Parmentier, ENPC September 26, 2018 31 / 59

Page 37: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Konigsberg bridges (1736) – Euler (1707–1783)

Is it possible to gothrough all thebridge ofKonigsbergwithout crossingtwice the samebridge?

A graph is Eulerian ⇔ has at most two vertices of odd degree.

What is the minimum number of bridges crossed?

8

A. Parmentier, ENPC September 26, 2018 32 / 59

Page 38: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Konigsberg bridges (1736) – Euler (1707–1783)

Is it possible to gothrough all thebridge ofKonigsbergwithout crossingtwice the samebridge?

A graph is Eulerian ⇔ has at most two vertices of odd degree.

What is the minimum number of bridges crossed?

8

A. Parmentier, ENPC September 26, 2018 32 / 59

Page 39: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Konigsberg bridges (1736) – Euler (1707–1783)

Is it possible to gothrough all thebridge ofKonigsbergwithout crossingtwice the samebridge?

A graph is Eulerian ⇔ has at most two vertices of odd degree.

What is the minimum number of bridges crossed?

8

A. Parmentier, ENPC September 26, 2018 32 / 59

Page 40: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Graphs : coloring

Coloring : c : V → N (N= colors).

Proper coloring : for any neighbor u, v , we have c(u) 6= c(v).

Chromatic number χ(G ): minimum numbers of colors in a proper coloring

A. Parmentier, ENPC September 26, 2018 33 / 59

Page 41: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Modeling with colorings

A set F of formations must be given to employees of a firm. Each em-ployee i must follow a subset Fi of formations. The firm wants to findthe minimum number of formation slots it must schedule so that eachemployee can attend to its formations. Model this problem as a coloringproblem.

A. Parmentier, ENPC September 26, 2018 34 / 59

Page 42: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Optimization

Min f (x)s.c. x ∈ X .

f : criteria / objective.“ s.t. ” = “subject to”X : set of feasible solutions“ x ∈ X ” : constraints of the Optimization program.

Among the feasible solutions, we seek an optimal solution x∗, i.e., a feasiblesolution that minimizes the criteria.

A. Parmentier, ENPC September 26, 2018 35 / 59

Page 43: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Minimization: on the importance of lower bounds

OPT = Min f (x)s.c. x ∈ X .

Always ask if there is a simple and good quality lower bound to OPT.

Enables to evaluate the quality of a solution → identify when to stopsearching, and possibly to the optimality of the solution

A. Parmentier, ENPC September 26, 2018 36 / 59

Page 44: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Coloration

b

vb

b

b

b

v

r

r

r

n

j

j

Graphe colore avec cinq couleurs: r, b, j, v, n.

Can we color this graph with fewer than five colors?

A. Parmentier, ENPC September 26, 2018 37 / 59

Page 45: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Coloring and complete subgraph: an inequality

cardinal of a complete subgraph ≤ number of colors in a proper coloring.

We denote by ω(G ) the maximum cardinality of a complete subgraph of G .

ω(G ) ≤ χ(G ).

A. Parmentier, ENPC September 26, 2018 38 / 59

Page 46: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Matchings and covers

Set of edges two by two disjoint: matching

Set of vertices S such that each edge contains a vertex in S : cover

: couverture par les sommets du graphe

Give example of problems modeled by matching / covers.

A. Parmentier, ENPC September 26, 2018 39 / 59

Page 47: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Matching and covering: an inequality

τ(G ): minimum cardinality of a coverν(G ): maximum cardinality of a matching

Prove that

ν(G ) ≤ τ(G ).

Let M be a matching Ca vertex cover. Then

|M| ≤ |C |.

A. Parmentier, ENPC September 26, 2018 40 / 59

Page 48: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Matching and covering: an inequality

τ(G ): minimum cardinality of a coverν(G ): maximum cardinality of a matching

Prove that

ν(G ) ≤ τ(G ).

Let M be a matching Ca vertex cover. Then

|M| ≤ |C |.

A. Parmentier, ENPC September 26, 2018 40 / 59

Page 49: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Part

1. What is Operations Research

2. Syllabus

3. Graphs

4. Complexity

A. Parmentier, ENPC September 26, 2018 41 / 59

Page 50: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Problem

Problem:

I Input

I Question / task

A. Parmentier, ENPC September 26, 2018 42 / 59

Page 51: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Example of problems

Eulerian path problemInput. A graph GQuestion. Is there an Eulerian path in G?

Maximum weight matchingInput. A graph G = (V ,E ), a weight function w : E → Q+.Output. A maximum weight matching in G .

A. Parmentier, ENPC September 26, 2018 43 / 59

Page 52: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Types of problems

Decision problem: answer by yes or no to a question.

Optimization problem: find the optimum of a function (under someconstraints)

A. Parmentier, ENPC September 26, 2018 44 / 59

Page 53: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Algorithm

Algorithm: a sequence of elementary operations that can be implementedon a computer.

Given a problem P and an algorithm A solving it, we can ask how efficientit is.

I Complexity theory

A. Parmentier, ENPC September 26, 2018 45 / 59

Page 54: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Complexity function

Time complexity f (n) of an algorithm: number of elementary operationthat must be realized if the input is of size n.

Example:

1. Sorting n integers?

2. Testing if an Eulerian cycles exists?

1. O(n log(n))

2. O(m + n)

“Clean” definition of algorithm, size of the input, and time complexity.

I requires to formalize what is an algorithm on a computer

I See textbook for more details

I Informal understanding sufficient for this lecture

A. Parmentier, ENPC September 26, 2018 46 / 59

Page 55: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Complexity function

Time complexity f (n) of an algorithm: number of elementary operationthat must be realized if the input is of size n.

Example:

1. Sorting n integers?

2. Testing if an Eulerian cycles exists?

1. O(n log(n))

2. O(m + n)

“Clean” definition of algorithm, size of the input, and time complexity.

I requires to formalize what is an algorithm on a computer

I See textbook for more details

I Informal understanding sufficient for this lecture

A. Parmentier, ENPC September 26, 2018 46 / 59

Page 56: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Complexity function

Time complexity f (n) of an algorithm: number of elementary operationthat must be realized if the input is of size n.

Example:

1. Sorting n integers?

2. Testing if an Eulerian cycles exists?

1. O(n log(n))

2. O(m + n)

“Clean” definition of algorithm, size of the input, and time complexity.

I requires to formalize what is an algorithm on a computer

I See textbook for more details

I Informal understanding sufficient for this lecture

A. Parmentier, ENPC September 26, 2018 46 / 59

Page 57: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Polynomial vs exponential algorithm

Polynomial algorithm: time complexity in = O(na) with a fixed.

Otherwise, exponential algorithm.

Size nTime complexity 10 20 50 60

n 0, 01 µs 0, 02 µs 0, 05 µs 0, 06 µsn2 0, 1 µs 0, 4 µs 2, 5 µs 3, 6 µsn3 1 µs 8 µs 125 µs 216 µsn5 0, 1 ms 3, 2 ms 312, 5 ms 777, 6 ms2n ∼ 1 µs ∼ 1 ms ∼ 13 jours ∼ 36.5 years

Table: Comparison of different time complexity functions on a computer executing1 billion operations per second.

A. Parmentier, ENPC September 26, 2018 47 / 59

Page 58: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

A question of computer speed?

Let A be an algorithm solving a problem P in 2n operations. We have acomputer that solved P with A in 1 hour for instances of size up ton = 438.

With a computer 1000 times faster, instances of up to which size wan wesolve in 1 hour?

448

A. Parmentier, ENPC September 26, 2018 48 / 59

Page 59: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

A question of computer speed?

Let A be an algorithm solving a problem P in 2n operations. We have acomputer that solved P with A in 1 hour for instances of size up ton = 438.

With a computer 1000 times faster, instances of up to which size wan wesolve in 1 hour?448

A. Parmentier, ENPC September 26, 2018 48 / 59

Page 60: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

A question of computer speed?

Size of the largest instance that we can solved in 1 hourComplexity Present day Computer Computer

function computer 100 × faster 1000 × fastern N1 100N1 1000N1

n2 N2 10N2 31.6N2

n3 N3 4.64N3 10N3

n5 N4 2.5N4 3.98N4

2n N5 N5 + 6.64 N5 + 9.973n N6 N6 + 4.19 N6 + 6.29

Table: Comparison of different complexity functions

A. Parmentier, ENPC September 26, 2018 49 / 59

Page 61: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Complexity classes

A decision problem is polynomial or in P if there exists a polynomialalgorithm that solves it.

A decision problem is non-deterministically polynomial or in NP if, if theanswer is yes, there exists a certificate and a polynomial algorithm thatenables to check that the solution is yes.

A. Parmentier, ENPC September 26, 2018 50 / 59

Page 62: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Example of problem in NP

Hamiltonian cycleInput. A graph G = (V ,E )Question. Does G have a Hamiltonian cycle

Show that the Hamiltonian cycle problem is in NP (Give a certifi-cate)

For F ⊆ E , we can test in polynomial if F is a Hamiltonian cycle. F is acertificate.The Hamiltonian cycle problem is in NP .

A. Parmentier, ENPC September 26, 2018 51 / 59

Page 63: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Class NP

Proposition

P ⊆ NP .

Proof.

If the answer is yes, the input is a certificate.

A. Parmentier, ENPC September 26, 2018 52 / 59

Page 64: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

NP -complete problem

A problem P is NP -complete if

I P is in NP

I P is at least as difficult as any problem in NP .

If there exists a polynomial algorithm solving an NP -complete problem,

then there is a polynomial algorithm solving any problem in NP .

Theorem (Cook, 1970)

There exists NP -complete problems.

What does “at least as difficult” mean

A. Parmentier, ENPC September 26, 2018 53 / 59

Page 65: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Example of NP -complete problem

Hamiltonian cycleInput. A graph G = (V ,E )Question. Does G have a Hamiltonian cycle

A. Parmentier, ENPC September 26, 2018 54 / 59

Page 66: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Polynomial reduction

A polynomial reduction of a decision problem P ′ to a problem P is afunction f that transforms an instances x ′ of P ′ into an instance x of Psuch that

I size(x ′) = O(size

(P(f (x ′))

))where P is a polynomial

I the answer of P ′ for x ′ is yes if and only if the answer of P for f (x ′) isyes.

How to prove that a problem P is NP -complete?

I Prove that P is in NP

I Prove that an NP -complete problem P ′ reduces to (a polynomialnumber of instances of) P

A. Parmentier, ENPC September 26, 2018 55 / 59

Page 67: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

NP -hard problem

A problem is NP -hard if

I P is at least as difficult as any problem in NP .

Only decision problems can be NP -complete. Optimization and decisions

problems can be NP -hard.

How to prove that a problem P is NP -hard?

I Prove that an NP -complete problem P ′ reduces to P

A. Parmentier, ENPC September 26, 2018 56 / 59

Page 68: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Complexity classes

P

NP-complets

NP

NP-difficiles

A. Parmentier, ENPC September 26, 2018 57 / 59

Page 69: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

1 million $ question

P?= NP

funded by the Clay institute

A. Parmentier, ENPC September 26, 2018 58 / 59

Page 70: Introduction to Operations Research · 2018. 9. 26. · Operations Research Thetraveling salesman problemis one of the most famous Operations Research problem. Operations Research(OR):

Exercise

1. Prove that the problem of existence of a Hamiltonian path is NP-complete, knowing that the problem of existence of a Hamiltoniancycle is NP -complete

2. Prove that the problem of existence of a Hamiltonian cycle is NP-complete, knowing that the problem of existence of a Hamiltonianpath is NP -complete

A. Parmentier, ENPC September 26, 2018 59 / 59