SlideShare uma empresa Scribd logo
1 de 124
Reoptimization Techniques for Solving Hard Problems 
Jhoirene B Clemente 
Algorithms and Complexity Laboratory 
Department of Computer Science 
University of the Philippines Diliman 
Candidacy Exam 
July 30, 2014
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
2 Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Traveller’s Dilemma
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
3 Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Traveller’s Dilemma 
Conditions
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
4 Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Traveller’s Dilemma: 
As a Graph Problem
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
5 Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Traveller’s Dilemma: 
As a Graph Problem
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
6 Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Traveller’s Dilemma: 
As a Graph Problem
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
7 Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Traveller’s Dilemma: 
As a Graph Problem
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
8 Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Hamiltonian Cycle 
Definition (Hamiltonian Cycle) 
A Hamiltonian cycle is a cycle in a graph passing through all the 
vertices once.
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
9 Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Tour Cost: Hamiltonian Cycle Cost
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
10 Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Tour Cost: Hamiltonian Cycle Cost
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
11 Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Tour Cost: Hamiltonian Cycle Cost
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
12 Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Tour Cost: Hamiltonian Cycle Cost
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
13 Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Tour Cost: Hamiltonian Cycle Cost
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
14 Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Tour Cost: Hamiltonian Cycle Cost
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
15 Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Tour Cost: Hamiltonian Cycle Cost
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
16 Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Traveling Salesman Problem (TSP) 
Definition 
INPUT: Edge weighted Graph G = (V,E) 
OUTPUT: Minimum cost Hamiltonian Cycle.
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
17 Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Traveling Salesman Problem (TSP) 
Definition 
INPUT: Edge weighted Graph G = (V,E) 
OUTPUT: Minimum cost Hamiltonian Cycle.
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
18 Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Optimization Problems 
[Papadimitriou and Steiglitz, 1998] 
Definition (Instance of an 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, a 
mapping 
c : F ! R 
The problem is to find an f 2 F for which 
c(f )  c(y) 8 y 2 F 
Such a point f is called a globally optimal solution to the given 
instance, or, when no confusion can arise, simply an optimal 
solution.
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
18 Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Optimization Problems 
[Papadimitriou and Steiglitz, 1998] 
Definition (Instance of an 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, a 
mapping 
c : F ! R 
The problem is to find an f 2 F for which 
c(f )  c(y) 8 y 2 F 
Such a point f is called a globally optimal solution to the given 
instance, or, when no confusion can arise, simply an optimal 
solution. 
Definition (Optimization Problem) 
An optimization problem is a set of instances of an optimization 
problem.
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
19 Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Optimization Problems 
[Papadimitriou and Steiglitz, 1998] 
Two categories 
1. with continuous variables 
2. with discrete variables, which we call combinatorial
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
20 Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Combinatorial Optimization Problem 
[Papadimitriou and Steiglitz, 1998] 
Definition (Combinatorial Optimization Problem ) 
An optimization problem  consists of 
 = (D,R, cost, goal) 
1. D: A set of all valid input instances. 
Input instance I 2 D 
2. R: A set of all feasible solution. 
Each I 2 D has a set of feasible solutions, R(I ). 
3. cost: Objective function that assigns a non-negative 
rational number to each pair (I , SOL) 
cost(I , SOL), 
where I 2 D and SOL 2 R(I ). 
4. goal 2 {min, max}.
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
21 Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Traveller’s Dilemma: 
As a Graph Problem
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
22 Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Traveller’s Dilemma: 
As a Graph Problem
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
25 Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Growth of N!
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
26 Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Intractable Problems 
TSP is Intractable!
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
26 Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Intractable Problems 
TSP is Intractable! 
TSP is NP-hard!
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
26 Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Intractable Problems 
TSP is Intractable! 
TSP is NP-hard! 
Unless P=NP, we cannot obtain an efficient algorithm solving the 
problem.
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
26 Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Intractable Problems 
TSP is Intractable! 
TSP is NP-hard! 
Unless P=NP, we cannot obtain an efficient algorithm solving the 
problem.
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
27 Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
NP-hard Problems 
Problem A is NP-hard if all problems in NP are polynomial-time 
reducible to it. 
NP-hard problems are at least as hard as the hardest 
problems in NP.
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
28 Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Complexity Classes
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
28 Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Complexity Classes
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
28 Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Complexity Classes 
I P is the class of decision 
problems solvable in 
polynomial time by a Turing 
machine (TM). 
I NP is the class of decision 
problems verifiable in 
polynomial time by a Turing 
Machine. 
I A decision problem is 
NP-complete if (1) it is in 
NP, and (2) any problem in 
NP can be reduced to it 
(under some notion of 
reduction). The class of 
NP-complete problems is 
sometimes called NPC.
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
29 Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Examples of NP-hard Problems 
[Garey and Johnson, 1979] 
1. Satisfiability problem 
2. Clique Problem 
3. Independent set problem 
4. Vertex Cover Problem 
5. Traveling salesman problem 
6. Median String Problem 
7. and many more
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
30 Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Approaches in Solving NP-hard Problems 
Design technique have a well specified structure that even 
provides a framework for possible implementations 
Concepts formulate ideas and rough frameworks about how to 
attack hard algorithmic problems .
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
30 Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Approaches in Solving NP-hard Problems 
Design technique have a well specified structure that even 
provides a framework for possible implementations 
I Dynamic Programming 
I Branch and Bound 
I Greedy Schema 
I Genetic Algorithm 
I Simulated Annealing, Tabu Search 
I Local search 
I . . . 
Concepts formulate ideas and rough frameworks about how to 
attack hard algorithmic problems . 
I Approximation Algorithms 
I Parameterized Algorithms 
I Randomized Algorithms 
I . . .
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
31 Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Approaches in Solving NP-hard Problems 
I Exact algorithm always obtain the optimal solution 
I Approximation algorithm settle for good enough solutions. 
Goodness of solution is guaranteed and measured using 
approximation ratio. 
I Heuristic algorithms produce solutions, which are not 
guaranteed to be close to the optimum. The performance of 
heuristics is often evaluated empirically.
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
32 Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Approaches in Solving NP-hard Problems 
I Exact algorithm always obtain the optimal solution 
I Approximation algorithm settle for good enough solutions. 
Goodness of solution is guaranteed and measured using 
approximation ratio. 
I Heuristic algorithms produce solutions, which are not 
guaranteed to be close to the optimum. The performance of 
heuristics is often evaluated empirically.
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
33 Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Triangle inequality 
Edge weighted graph with cost function c satisfies triangle 
inequality if for all u, v, and w 2 V 
c(u, w)  c(u, v) + c(v, w) 
.
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
34 Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Triangle inequality 
c(u, w)  c(u, v) + c(v, w)
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
35 Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Solving Traveller’s Dilemma 
INPUT: Edge weighted graph 
1. Compute a Minimum Spanning Tree for G 
2. Select a vertex r 2 V(G) to be the root vertex 
3. Let L be the list of vertices visited in a preorder walk 
OUTPUT: Hamiltonian Cycle that visits 
A preorder tree walk recursively visits every vertex in the 
tree, listing a vertex when it is first encountered , before 
any of its children are visited.
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
36 Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Computing the Minimum Spanning Tree
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
37 Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Computing the Minimum Spanning Tree
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
38 Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Computing the Minimum Spanning Tree
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
39 Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Computing the Minimum Spanning Tree
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
40 Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Computing the Minimum Spanning Tree
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
41 Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Computing the Minimum Spanning Tree
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
42 Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Computing the Minimum Spanning Tree
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
43 Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Computing the Minimum Spanning Tree
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
44 Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Computing the Minimum Spanning Tree
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
45 Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Computing the Minimum Spanning Tree
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
46 Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Computing the Minimum Spanning Tree
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
47 Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Preorder
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
48 Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Preorder
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
49 Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Preorder
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
50 Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Preorder
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
51 Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Preorder
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
52 Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Preorder
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
53 Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Preorder
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
54 Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Hamiltonian Cycle from the Preorder Walk
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
55 Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Hamiltonian Cycle from the Preorder Walk 
4 + 4 + 10 + 15 + 10 + 16 = 59
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
56 Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Total tour cost vs. the optimal cost 
Let H denote an optimal Hamiltonian tour in G. Let T be the 
minimum spanning tree of G. 
c(T)  c(H) 
Let W be the full length cost of the preorder walk. 
c(W) = 2c(T) 
Let H be the output Hamiltonian Cycle from the algorithm 
c(W)  c(H) 
Then 
c(H)  2c(H)
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
56 Hard Problems 
Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Total tour cost vs. the optimal cost 
Let H denote an optimal Hamiltonian tour in G. Let T be the 
minimum spanning tree of G. 
c(T)  c(H) 
Let W be the full length cost of the preorder walk. 
c(W) = 2c(T) 
Let H be the output Hamiltonian Cycle from the algorithm 
c(W)  c(H) 
Then 
c(H)  2c(H) 
Approximation ratio () is 2
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
57 Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Approximation Algorithms 
Definition (Approximation Algorithm 
[Williamson and Shmoy, 2010] ) 
An -approximation algorithm for an optimization problem is a 
polynomial-time algorithm that for all instances of the problem 
produces a solution whose value is within a factor of  of the 
value of an optimal solution. 
Given a problem instance I with an optimal solution Opt(I ), i.e. 
the cost function cost(Opt(I )) is minimum/maximum.
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
57 Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Approximation Algorithms 
Definition (Approximation Algorithm 
[Williamson and Shmoy, 2010] ) 
An -approximation algorithm for an optimization problem is a 
polynomial-time algorithm that for all instances of the problem 
produces a solution whose value is within a factor of  of the 
value of an optimal solution. 
Given a problem instance I with an optimal solution Opt(I ), i.e. 
the cost function cost(Opt(I )) is minimum/maximum. 
I An algorithm for a minimization problem is called 
-approximative algorithm for some   1, if the algorithm 
obtains a maximum cost of  · cost(Opt(I )), for any input 
instance I .
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
57 Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Approximation Algorithms 
Definition (Approximation Algorithm 
[Williamson and Shmoy, 2010] ) 
An -approximation algorithm for an optimization problem is a 
polynomial-time algorithm that for all instances of the problem 
produces a solution whose value is within a factor of  of the 
value of an optimal solution. 
Given a problem instance I with an optimal solution Opt(I ), i.e. 
the cost function cost(Opt(I )) is minimum/maximum. 
I An algorithm for a minimization problem is called 
-approximative algorithm for some   1, if the algorithm 
obtains a maximum cost of  · cost(Opt(I )), for any input 
instance I . 
I An algorithm for a maximization problem is called 
-approximative algorithm, for some   1, if the algorithm 
obtains a minimum cost of  · cost(Opt(I )), for any input 
instance I .
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
58 Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Approximation Ratio 
I Minimization,   1 
cost(Opt(I ))  cost(SOL)   cost(Opt(I )) 
I Maximization,   1 
 cost(Opt(I ))  cost(SOL)  cost(Opt(I ))
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
59 Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Approximation Ratio 
I Additive Approximation Algorithms: 
SOL  OPT + c 
I Constant Approximation Algorithms: 
SOL  c · OPT 
I Logarithmic Approximation Algorithms: 
SOL = O(log n) · OPT 
I Polynomial Approximation Algorithms: 
SOL = O(nc) · OPT, 
where c  1
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
60 Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Approximable Problems [Vazirani, 2001] 
Definition (APX) 
I An abbreviation for “Approximable, is the set of NP 
optimization problems that allow polynomial-time 
approximation algorithms with approximation ratio bounded 
by a constant.
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
60 Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Approximable Problems [Vazirani, 2001] 
Definition (APX) 
I An abbreviation for “Approximable, is the set of NP 
optimization problems that allow polynomial-time 
approximation algorithms with approximation ratio bounded 
by a constant. 
I Problems in this class have efficient algorithms that can find 
an answer within some fixed percentage of the optimal 
answer.
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
61 Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Polynomial-time Approximation Schemes 
Definition (PTAS [Aaronson et al., 2008]) 
The subclass of NPO problems that admit an approximation 
scheme in the following sense. 
For any   0, there is a polynomial-time algorithm that is 
guaranteed to find a solution whose cost is within a 1 +  factor 
of the optimum cost. Contains FPTAS, and is contained in APX.
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
61 Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Polynomial-time Approximation Schemes 
Definition (PTAS [Aaronson et al., 2008]) 
The subclass of NPO problems that admit an approximation 
scheme in the following sense. 
For any   0, there is a polynomial-time algorithm that is 
guaranteed to find a solution whose cost is within a 1 +  factor 
of the optimum cost. Contains FPTAS, and is contained in APX. 
Definition (FPTAS [Aaronson et al., 2008] ) 
The subclass of NPO problems that admit an approximation 
scheme in the following sense. 
For any   0, there is an algorithm that is guaranteed to find a 
solution whose cost is within a 1 +  factor of the optimum cost. 
Furthermore, the running time of the algorithm is polynomial in n 
(the size of the problem) and in 1/.
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
62 Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Approximation Ratio of well known Hard 
Problems 
1. FPTAS: Bin Packing Problem 
2. PTAS: Makespan Scheduling Problem 
3. APX: 
3.1 Min Steiner Tree Problem (1.55 Approximable) [Robins,2005] 
3.2 Min Metric TSP (3/2 Approximable) [Christofides,1977] 
3.3 Max SAT (0.77 Approximable) [Asano,1997] 
3.4 Vertex Cover (2 Approximable) [Vazirani,2001] 
4. MAX SNP 
4.1 Independent Set Problem 
4.2 Clique Problem 
4.3 Travelling Salesman Problem
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
63 Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Complexity Classes [Ausiello et al., 2011] 
FPTAS ( PTAS ( APX ( NPO
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
64 Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Inapproximable Problems 
Many problems have polynomial-time approximation schemes. 
However, there exists a class of problems that is not so easy 
[Williamson and Shmoy, 2010]. This class is called MAX SNP. 
Theorem 
For any MAXSNP-hard problem, there does not exist a 
polynomial-time approximation scheme, unless P = NP 
[Williamson and Shmoy, 2010].
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
64 Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Inapproximable Problems 
Many problems have polynomial-time approximation schemes. 
However, there exists a class of problems that is not so easy 
[Williamson and Shmoy, 2010]. This class is called MAX SNP. 
Theorem 
For any MAXSNP-hard problem, there does not exist a 
polynomial-time approximation scheme, unless P = NP 
[Williamson and Shmoy, 2010].
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
64 Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Inapproximable Problems 
Many problems have polynomial-time approximation schemes. 
However, there exists a class of problems that is not so easy 
[Williamson and Shmoy, 2010]. This class is called MAX SNP. 
Theorem 
For any MAXSNP-hard problem, there does not exist a 
polynomial-time approximation scheme, unless P = NP 
[Williamson and Shmoy, 2010]. 
Theorem 
If P6= NP, then for any constant   1, there is no 
polynomial-time approximation algorithm with approximation 
ratio  for the general travelling salesman problem.
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
65 Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Traveller’s Dilemma: with additional informa-tion
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
66 Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Traveller’s Dilemma: with additional informa-tion
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
67 Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Traveller’s Dilemma: with additional informa-tion
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
68 Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Traveller’s Dilemma: Nearest Insert 
[Ausiello et al., 2009]
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
69 Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Traveller’s Dilemma: Nearest Insert 
[Ausiello et al., 2009]
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
70 Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Traveller’s Dilemma: Nearest Insert 
[Ausiello et al., 2009]
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
71 Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Traveller’s Dilemma: Nearest Insert 
[Ausiello et al., 2009] 
10 + 12 + 6 + 4 + 5 + 11 = 48
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
72 Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Comparison
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
72 Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Comparison 
10+12+6+4+5+11 = 48
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
72 Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Comparison 
10+12+6+4+5+11 = 48 
4+4+10+15+10+16 = 59
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
73 Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Approximation Ratio 
Definition (Metric TSP with additional info) 
INPUT: In,H 
n , In+1 
OUTPUT: Hn+1
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
73 Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Approximation Ratio 
Definition (Metric TSP with additional info) 
INPUT: In,H 
n , In+1 
OUTPUT: Hn+1 
Theorem 
There is a 3/4 Approximation algorithm for solving Metric TSP.
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
74 Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
3/2- Approximation Algorithm 
[Ausiello et al., 2009] 
Definition (Metric TSP with additional info) 
INPUT: In,H 
n , In+1 
OUTPUT: Hn+1 
Algorithm: Output the best solution between (H1,H2), where 
H1 =Nearest Insert(In,H 
n , In+1) 
H2 = 32 
-Approximation Algorithm(In+1)
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
74 Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
3/2- Approximation Algorithm 
[Ausiello et al., 2009] 
Definition (Metric TSP with additional info) 
INPUT: In,H 
n , In+1 
OUTPUT: Hn+1 
Algorithm: Output the best solution between (H1,H2), where 
H1 =Nearest Insert(In,H 
n , In+1) 
H2 = 32 
-Approximation Algorithm(In+1) 
Proof. 
n+1) + 2d(v, n + 1) Triangle Inequality ) 
c(H1)  c(H 
c(H1)  c(H 
n+1) + 2max(d(i, n + 1), d(j, n + 1))) 
c(H2)  3/2c(H 
n+1) − max(d(i, n + 1), d(j, n + 1))) 
min(c(H1), c(H2))  (1/3)c(H1) + (2/3)c(H2)  4/3c(H 
n+1)
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
75 Approximation 
Algorithms 
Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Reoptimization [Ausiello et al., 2009] 
The concept of reoptimization can in many cases help 
to improve the approximability of hard optimization 
problems by lowering constant approximation ratios or 
even constructing a PTAS for problems which are 
APX-hard in their classical non reoptimization variant.
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
76 Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Reoptimization 
Don’t start from scratch when confronted with a 
problem, but try to make good use of prior knowledge 
about similar problem instances whenever they are 
available.
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
76 Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Reoptimization 
Don’t start from scratch when confronted with a 
problem, but try to make good use of prior knowledge 
about similar problem instances whenever they are 
available. 
Definition (Reoptimization 
[Hans-joachim Böckenhauer, 2008] ) 
Given a problem instance and an optimal solution for it, we are to 
efficiently obtain an optimal solution for a locally modified 
instance of the problem.
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
76 Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Reoptimization 
Don’t start from scratch when confronted with a 
problem, but try to make good use of prior knowledge 
about similar problem instances whenever they are 
available. 
Definition (Reoptimization 
[Hans-joachim Böckenhauer, 2008] ) 
Given a problem instance and an optimal solution for it, we are to 
efficiently obtain an optimal solution for a locally modified 
instance of the problem. 
Definition (Postoptimality Analysis 
[Hoesel and Wagelmans, 1999]) 
Postoptimality analysis deals with the related question of how 
much an instance may be altered without changing the set of 
optimal solutions.
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
77 Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Reoptimization: Minimum Spanning Tree 
Example
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
78 Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Reoptimization: Minimum Spanning Tree 
Example
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
79 Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Reoptimization: Minimum Spanning Tree 
Example
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
80 Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Reoptimization: Minimum Spanning Tree 
Example
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
81 Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Reoptimization 
Definition (Reoptimization [Zych, 2012]) 
Let  = (D,R, cost, goal) be an optimization problem and 
M D × D be a binary relation (the modification). The 
corresponding reoptimization problem 
RM() = (DRM(),RRM(), costRM(), goalRM()) 
consists of 
1. a set of feasible instances defined as 
DRM() = {(I , I 0, SOL) : (I , I 0) 2M and SOL 2 R(I )}; 
we refer to I as the original instance and to I 0 as the 
modified instance 
2. a feasibility relation defined as 
RRM()((I , I 0, SOL)) = R(I 0)
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
82 Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Hardness of Reoptimization 
I NP hardness of a problem implies that the solution to a 
locally modified problem cannot be found in 
polynomial-time, given the solution of the original problem. 
I Reoptimization of a Hard Problem is still NP-hard! 
[Hans-joachim Böckenhauer, 2008]. 
Proof. 
Let  be NP-hard. 
Let RM() be the reoptimization variant of  
To prove that RM() is NP-hard, we need to show that we can 
reduce  to RM().
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
82 Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Hardness of Reoptimization 
I NP hardness of a problem implies that the solution to a 
locally modified problem cannot be found in 
polynomial-time, given the solution of the original problem. 
I Reoptimization of a Hard Problem is still NP-hard! 
[Hans-joachim Böckenhauer, 2008]. 
Proof. 
Let  be NP-hard. 
Let RM() be the reoptimization variant of  
To prove that RM() is NP-hard, we need to show that we can 
reduce  to RM(). 
I But it is an advantage to know a solution of a problem 
instance, as compared to not knowing it.
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
83 Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Reoptimization 
1. Reoptimization can help in providing efficient algorithms to 
problems involved in dynamic systems 
2. Reoptimization can help in providing a better solution or an 
efficient algorithm for computationally hard problems
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
83 Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Reoptimization 
1. Reoptimization can help in providing efficient algorithms to 
problems involved in dynamic systems 
I Shortest Path Problem [Pallottino and Scutella, 2003] 
[Nardelli et al., 2003] 
I Dynamic Minimum Spanning Tree [Thorup, 2000] with edge 
weights [Ribeiro and Toso, 2007] [Cattaneo et al., 2010] 
I Vehicle Routing Problem [Secomandi and Margot, 2009] 
I Facility Location Problem [Shachnai et al., 2012] 
2. Reoptimization can help in providing a better solution or an 
efficient algorithm for computationally hard problems 
I Traveling salesman problem [Královic and Mömke, 2007] 
[Hans-joachim Böckenhauer, 2008] [Ausiello et al., 2011] 
I Steiner tree problem [Hromkovic, 2009] 
[Zych and Bilò, 2011][Bilo and Zych, 2012] 
[Böckenhauer et al., 2012] 
I Shortest common superstring [Bilo,2011] [Popov, 2013] 
I Hereditary problems on Graphs [Boria et al., 2012a] 
I Scheduling Problem [Boria et al., 2012b] 
I Pattern Matching [Yue and Tang, 2008] [?]
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
85 Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Self-reducible Problems 
Definition (Self-reducibility [Zych, 2012]) 
We will say that a problem  is self-reducible if there is a 
polynomial-time algorithm, , satisfying the following conditions. 
1. Given an instance I and an atom  of a solution to I ,  
outputs an instance I. We require that the size of I is 
smaller than the size of I , i.e. |I|  |I |. Let R(I |) 
represent the set of feasible solutions to I containing the 
atom . We require that every solution SOL of I, i.e., 
SOL 2 R(I), has a corresponding SOL [ {} 2 R(I |) 
and that this correspondence is one-to-one. 
2. For any set H 2 R(I) it holds that the 
cost(I ,H [ {}) = cost(I , ) + cost(I,H).
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
86 Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Self-reducible Problems [Zych, 2012] 
An 
atom, as used in this context, constitutes a solution for a specific 
problem instance. 
For example, in a maximum independent set problem, atoms are 
the vertices of the graph which constitutes the solution.
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
87 Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Self-reducible Problems [Zych, 2012] 
Example 
Weighted Maximum Independent Set is self-reducible G = (V,E) 
SOL 2 R(G) () (SOL  
V(G)) and SOL is independent in G 
Atoms(G) = V(G) 
Let  be the self-reduction function 
Gv = (G, v)
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
87 Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Self-reducible Problems [Zych, 2012] 
Example 
Weighted Maximum Independent Set is self-reducible G = (V,E) 
SOL 2 R(G) () (SOL  
V(G)) and SOL is independent in G 
Atoms(G) = V(G) 
Let  be the self-reduction function 
Gv = (G, v)
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
87 Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Self-reducible Problems [Zych, 2012] 
Example 
Weighted Maximum Independent Set is self-reducible G = (V,E) 
SOL 2 R(G) () (SOL  
V(G)) and SOL is independent in G 
Atoms(G) = V(G) 
Let  be the self-reduction function 
Gv = (G, v) 
(1) SOL = SOL [ {v}. 
(2) cost(G, SOL) = cost(Gv, SOLv) + c(v)
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
88 Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Self-reducible Problems [Zych, 2012] 
Definition (Self-reducible problems) 
Set of combinatorial problems which admits the self-reducibility 
property (e.g., Max SAT, Min Steiner Tree) 
Classified different types of modifications 
1. Progressing Subtractive 
2. Progressing Additive 
3. Regressing Subtractive 
4. Regressing Additive 
Table: Summary of approximation ratio from [Zych, 2012]
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
89 Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Types of Modifications [Zych, 2012]
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
90 Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Types of Modifications [Zych, 2012]
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
91 Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Types of Modifications [Zych, 2012]
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
92 Reoptimization 
Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
Types of Modifications [Zych, 2012] 
Table: Summary of approximation ratio from [Zych, 2012]
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
Reoptimization 
93 Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
References 
Aaronson, S., Kuperberg, G., and Granade, C. (2008). 
The complexity zoo.
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
Reoptimization 
94 Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
References (cont.) 
Bilo, D. and Zych, A. (2012). 
New Advances in Reoptimizing the Minimum Steiner Tree 
Problem. 
Lecture Notes in Computer Science, Mathematical Foundations 
of Computer Science, 7464:184–197. 
Böckenhauer, H.-J., Freiermuth, K., Hromkovic, J., Mömke, T., 
Sprock, A., and Steffen, B. (2012). 
Steiner tree reoptimization in graphs with sharpened triangle 
inequality. 
Journal of Discrete Algorithms, 11:73–86. 
Boria, N., Monnot, J., and Paschos, V. (2012a). 
Reoptimization of maximum weight induced hereditary subgraph 
problems. 
Theoretical Computer Science, pages 1–12.
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
Reoptimization 
95 Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
References (cont.) 
Boria, N., Monnot, J., Paschos, V. T., Bilò, D., Widmayer, P., 
and Zych, A. (2012b). 
Reoptimization of the Maximum Weighted Pk-Free Subgraph 
Problem under Vertex Insertion. 
5426:76–87. 
Cattaneo, G., Faruolo, P., Petrillo, U. F., and Italiano, G. 
(2010). 
Maintaining dynamic minimum spanning trees: An experimental 
study. 
Discrete Applied Mathematics, 158(5):404–425. 
Garey, M. R. and Johnson, D. S. (1979). 
Computers and Intractability: A Guide to the Theory of 
NP-Completeness.
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
Reoptimization 
96 Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
References (cont.) 
Hans-joachim Böckenhauer, J. H. T. M. P. W. (2008). 
On the hardness of reoptimization. 
In Proc. of the 34th International Conference on Current Trends 
in Theory and Practice of Computer Science (SOFSEM 2008), 
LNCS, 4910. 
Hoesel, S. V. and Wagelmans, A. (1999). 
On the complexity of postoptimality analysis of 01 programs. 
Discrete Applied Mathematics, (98). 
Hromkovic, J. (2009). 
Algorithmic adventures: from knowledge to magic. 
Královic, R. and Mömke, T. (2007). 
Approximation Hardness of the Traveling Salesman 
Reoptimization Problem. 
MEMICS 2007, 293.
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
Reoptimization 
97 Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
References (cont.) 
Nardelli, E., Proietti, G., and Widmayer, P. (2003). 
Swapping a Failing Edge of a Single Source Shortest Paths Tree 
Is Good and Fast. 
Algorithmica, pages 56–74. 
Pallottino, S. and Scutella, M. (2003). 
A new algorithm for reoptimizing shortest paths when the arc 
costs change. 
Operations Research Letters. 
Papadimitriou, C. and Steiglitz, K. (1998). 
Combinatorial optimization: algorithms and complexity. 
Popov, V. (2013). 
On Reoptimization of the Shortest Common Superstring 
Problem. 
Applied Mathematical Sciences, 7(24):1195–1197.
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
Reoptimization 
98 Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
References (cont.) 
Ribeiro, C. and Toso, R. (2007). 
Experimental analysis of algorithms for updating minimum 
spanning trees on graphs subject to changes on edge weights. 
Experimental Algorithms. 
Secomandi, N. and Margot, F. (2009). 
Reoptimization Approaches for the Vehicle-Routing Problem 
with Stochastic Demands. 
Shachnai, H., Tamir, G., and Tamir, T. (2012). 
A Theory and Algorithms for Combinatorial Reoptimization. 
Lecture Notes in Computer Science, 7256(1574):618–630. 
Thorup, M. (2000). 
Dynamic Graph Algorithms with Applications. 
Proceedings of the 7th Scandinavian Workshop on Algorithm 
Theory, pages 1–9.
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
Reoptimization 
99 Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
References (cont.) 
Vazirani, V. V. (2001). 
Approximation Algorithms, volume 94. 
Williamson, D. and Shmoy, D. (2010). 
The Design of Approximation Algorithms. 
Yue, F. and Tang, J. (2008). 
A new approach for tree alignment based on local 
re-optimization. 
In International Conference on BioMedical Engineering and 
Informatics, BMEI 2008. 
Zych, A. (2012). 
Reoptimization of NP-hard Problems. 
PhD thesis, ETH Zurich.
103 
Reoptimization 
Techniques for Solving 
Hard Problems 
Jhoirene B Clemente 
Introduction 
Optimization Problems 
Hard Problems 
Approximation 
Algorithms 
Reoptimization 
100 Other Results on 
Reoptimization 
Heredity Problems 
References 
Algorithms and Complexity 
References (cont.) 
Zych, A. and Bilò, D. (2011). 
New reoptimization techniques applied to Steiner tree problem. 
Electronic Notes in Discrete Mathematics.

Mais conteúdo relacionado

Mais procurados

Integer Linear Programming
Integer Linear ProgrammingInteger Linear Programming
Integer Linear ProgrammingSukhpalRamanand
 
dynamic programming complete by Mumtaz Ali (03154103173)
dynamic programming complete by Mumtaz Ali (03154103173)dynamic programming complete by Mumtaz Ali (03154103173)
dynamic programming complete by Mumtaz Ali (03154103173)Mumtaz Ali
 
Dynamic programming - fundamentals review
Dynamic programming - fundamentals reviewDynamic programming - fundamentals review
Dynamic programming - fundamentals reviewElifTech
 
Integer programming branch and bound
Integer programming   branch and boundInteger programming   branch and bound
Integer programming branch and boundAlejandro Angulo
 
unit-4-dynamic programming
unit-4-dynamic programmingunit-4-dynamic programming
unit-4-dynamic programminghodcsencet
 
352735336 rsh-qam11-tif-11-doc
352735336 rsh-qam11-tif-11-doc352735336 rsh-qam11-tif-11-doc
352735336 rsh-qam11-tif-11-docFiras Husseini
 
Gomory's cutting plane method
Gomory's cutting plane methodGomory's cutting plane method
Gomory's cutting plane methodRajesh Piryani
 
test pre
test pretest pre
test prefarazch
 
Introduction to dynamic programming
Introduction to dynamic programmingIntroduction to dynamic programming
Introduction to dynamic programmingAmisha Narsingani
 
Dynamic programming
Dynamic programmingDynamic programming
Dynamic programmingGopi Saiteja
 
Bba 3274 qm week 10 integer programming
Bba 3274 qm week 10 integer programmingBba 3274 qm week 10 integer programming
Bba 3274 qm week 10 integer programmingStephen Ong
 
Skiena algorithm 2007 lecture16 introduction to dynamic programming
Skiena algorithm 2007 lecture16 introduction to dynamic programmingSkiena algorithm 2007 lecture16 introduction to dynamic programming
Skiena algorithm 2007 lecture16 introduction to dynamic programmingzukun
 
Duality in Linear Programming Problem
Duality in Linear Programming ProblemDuality in Linear Programming Problem
Duality in Linear Programming ProblemRAVI PRASAD K.J.
 
Dynamic programming
Dynamic programmingDynamic programming
Dynamic programmingJay Nagar
 
Numerical analysis m1 l3slides
Numerical analysis  m1 l3slidesNumerical analysis  m1 l3slides
Numerical analysis m1 l3slidesSHAMJITH KM
 

Mais procurados (20)

Integer Linear Programming
Integer Linear ProgrammingInteger Linear Programming
Integer Linear Programming
 
Integer programming
Integer programmingInteger programming
Integer programming
 
dynamic programming complete by Mumtaz Ali (03154103173)
dynamic programming complete by Mumtaz Ali (03154103173)dynamic programming complete by Mumtaz Ali (03154103173)
dynamic programming complete by Mumtaz Ali (03154103173)
 
Dynamic programming - fundamentals review
Dynamic programming - fundamentals reviewDynamic programming - fundamentals review
Dynamic programming - fundamentals review
 
Integer programming branch and bound
Integer programming   branch and boundInteger programming   branch and bound
Integer programming branch and bound
 
unit-4-dynamic programming
unit-4-dynamic programmingunit-4-dynamic programming
unit-4-dynamic programming
 
Dynamic programming
Dynamic programmingDynamic programming
Dynamic programming
 
352735336 rsh-qam11-tif-11-doc
352735336 rsh-qam11-tif-11-doc352735336 rsh-qam11-tif-11-doc
352735336 rsh-qam11-tif-11-doc
 
Gomory's cutting plane method
Gomory's cutting plane methodGomory's cutting plane method
Gomory's cutting plane method
 
test pre
test pretest pre
test pre
 
Introduction to dynamic programming
Introduction to dynamic programmingIntroduction to dynamic programming
Introduction to dynamic programming
 
Dynamic programming
Dynamic programmingDynamic programming
Dynamic programming
 
Dynamic programming Basics
Dynamic programming BasicsDynamic programming Basics
Dynamic programming Basics
 
Bba 3274 qm week 10 integer programming
Bba 3274 qm week 10 integer programmingBba 3274 qm week 10 integer programming
Bba 3274 qm week 10 integer programming
 
Skiena algorithm 2007 lecture16 introduction to dynamic programming
Skiena algorithm 2007 lecture16 introduction to dynamic programmingSkiena algorithm 2007 lecture16 introduction to dynamic programming
Skiena algorithm 2007 lecture16 introduction to dynamic programming
 
Optimization tutorial
Optimization tutorialOptimization tutorial
Optimization tutorial
 
Duality in Linear Programming Problem
Duality in Linear Programming ProblemDuality in Linear Programming Problem
Duality in Linear Programming Problem
 
Dynamic programming
Dynamic programmingDynamic programming
Dynamic programming
 
Ca notes
Ca notesCa notes
Ca notes
 
Numerical analysis m1 l3slides
Numerical analysis  m1 l3slidesNumerical analysis  m1 l3slides
Numerical analysis m1 l3slides
 

Semelhante a Reoptimization techniques for solving hard problems

Semelhante a Reoptimization techniques for solving hard problems (9)

Introduction to Approximation Algorithms
Introduction to Approximation AlgorithmsIntroduction to Approximation Algorithms
Introduction to Approximation Algorithms
 
LP linear programming (summary) (5s)
LP linear programming (summary) (5s)LP linear programming (summary) (5s)
LP linear programming (summary) (5s)
 
DeepLearn2022 1. Goals & AlgorithmDesign.pdf
DeepLearn2022 1. Goals & AlgorithmDesign.pdfDeepLearn2022 1. Goals & AlgorithmDesign.pdf
DeepLearn2022 1. Goals & AlgorithmDesign.pdf
 
Mb0048 operations research
Mb0048 operations researchMb0048 operations research
Mb0048 operations research
 
Introduction to optimization Problems
Introduction to optimization ProblemsIntroduction to optimization Problems
Introduction to optimization Problems
 
Algorithmic research
Algorithmic researchAlgorithmic research
Algorithmic research
 
Analysis of Algorithm
Analysis of AlgorithmAnalysis of Algorithm
Analysis of Algorithm
 
Introduction to Optimization revised.ppt
Introduction to Optimization revised.pptIntroduction to Optimization revised.ppt
Introduction to Optimization revised.ppt
 
talk1
talk1talk1
talk1
 

Último

CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun serviceanilsa9823
 
The history of music videos a level presentation
The history of music videos a level presentationThe history of music videos a level presentation
The history of music videos a level presentationamedia6
 
CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service 🧵
CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service  🧵CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service  🧵
CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service 🧵anilsa9823
 
Stark Industries Marketing Plan (1).pptx
Stark Industries Marketing Plan (1).pptxStark Industries Marketing Plan (1).pptx
Stark Industries Marketing Plan (1).pptxjeswinjees
 
Kurla Call Girls Pooja Nehwal📞 9892124323 ✅ Vashi Call Service Available Nea...
Kurla Call Girls Pooja Nehwal📞 9892124323 ✅  Vashi Call Service Available Nea...Kurla Call Girls Pooja Nehwal📞 9892124323 ✅  Vashi Call Service Available Nea...
Kurla Call Girls Pooja Nehwal📞 9892124323 ✅ Vashi Call Service Available Nea...Pooja Nehwal
 
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...kumaririma588
 
Nepali Escort Girl Gomti Nagar \ 9548273370 Indian Call Girls Service Lucknow...
Nepali Escort Girl Gomti Nagar \ 9548273370 Indian Call Girls Service Lucknow...Nepali Escort Girl Gomti Nagar \ 9548273370 Indian Call Girls Service Lucknow...
Nepali Escort Girl Gomti Nagar \ 9548273370 Indian Call Girls Service Lucknow...nagunakhan
 
VIP Call Girls Service Bhagyanagar Hyderabad Call +91-8250192130
VIP Call Girls Service Bhagyanagar Hyderabad Call +91-8250192130VIP Call Girls Service Bhagyanagar Hyderabad Call +91-8250192130
VIP Call Girls Service Bhagyanagar Hyderabad Call +91-8250192130Suhani Kapoor
 
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdfThe_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdfAmirYakdi
 
SD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptxSD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptxjanettecruzeiro1
 
Best VIP Call Girls Noida Sector 47 Call Me: 8448380779
Best VIP Call Girls Noida Sector 47 Call Me: 8448380779Best VIP Call Girls Noida Sector 47 Call Me: 8448380779
Best VIP Call Girls Noida Sector 47 Call Me: 8448380779Delhi Call girls
 
Punjabi Housewife Call Girls Service Gomti Nagar \ 9548273370 Indian Call Gir...
Punjabi Housewife Call Girls Service Gomti Nagar \ 9548273370 Indian Call Gir...Punjabi Housewife Call Girls Service Gomti Nagar \ 9548273370 Indian Call Gir...
Punjabi Housewife Call Girls Service Gomti Nagar \ 9548273370 Indian Call Gir...nagunakhan
 
Booking open Available Pune Call Girls Nanded City 6297143586 Call Hot India...
Booking open Available Pune Call Girls Nanded City  6297143586 Call Hot India...Booking open Available Pune Call Girls Nanded City  6297143586 Call Hot India...
Booking open Available Pune Call Girls Nanded City 6297143586 Call Hot India...Call Girls in Nagpur High Profile
 
Dubai Call Girls Pro Domain O525547819 Call Girls Dubai Doux
Dubai Call Girls Pro Domain O525547819 Call Girls Dubai DouxDubai Call Girls Pro Domain O525547819 Call Girls Dubai Doux
Dubai Call Girls Pro Domain O525547819 Call Girls Dubai Douxkojalkojal131
 
VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...
VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...
VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...Suhani Kapoor
 
Call Girls in Kalkaji Delhi 8264348440 call girls ❤️
Call Girls in Kalkaji Delhi 8264348440 call girls ❤️Call Girls in Kalkaji Delhi 8264348440 call girls ❤️
Call Girls in Kalkaji Delhi 8264348440 call girls ❤️soniya singh
 
VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130
VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130
VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130Suhani Kapoor
 
Design Inspiration for College by Slidesgo.pptx
Design Inspiration for College by Slidesgo.pptxDesign Inspiration for College by Slidesgo.pptx
Design Inspiration for College by Slidesgo.pptxTusharBahuguna2
 

Último (20)

CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
 
The history of music videos a level presentation
The history of music videos a level presentationThe history of music videos a level presentation
The history of music videos a level presentation
 
CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service 🧵
CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service  🧵CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service  🧵
CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service 🧵
 
Stark Industries Marketing Plan (1).pptx
Stark Industries Marketing Plan (1).pptxStark Industries Marketing Plan (1).pptx
Stark Industries Marketing Plan (1).pptx
 
Kurla Call Girls Pooja Nehwal📞 9892124323 ✅ Vashi Call Service Available Nea...
Kurla Call Girls Pooja Nehwal📞 9892124323 ✅  Vashi Call Service Available Nea...Kurla Call Girls Pooja Nehwal📞 9892124323 ✅  Vashi Call Service Available Nea...
Kurla Call Girls Pooja Nehwal📞 9892124323 ✅ Vashi Call Service Available Nea...
 
young call girls in Vivek Vihar🔝 9953056974 🔝 Delhi escort Service
young call girls in Vivek Vihar🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Vivek Vihar🔝 9953056974 🔝 Delhi escort Service
young call girls in Vivek Vihar🔝 9953056974 🔝 Delhi escort Service
 
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
 
Nepali Escort Girl Gomti Nagar \ 9548273370 Indian Call Girls Service Lucknow...
Nepali Escort Girl Gomti Nagar \ 9548273370 Indian Call Girls Service Lucknow...Nepali Escort Girl Gomti Nagar \ 9548273370 Indian Call Girls Service Lucknow...
Nepali Escort Girl Gomti Nagar \ 9548273370 Indian Call Girls Service Lucknow...
 
VIP Call Girls Service Bhagyanagar Hyderabad Call +91-8250192130
VIP Call Girls Service Bhagyanagar Hyderabad Call +91-8250192130VIP Call Girls Service Bhagyanagar Hyderabad Call +91-8250192130
VIP Call Girls Service Bhagyanagar Hyderabad Call +91-8250192130
 
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdfThe_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
 
SD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptxSD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptx
 
Best VIP Call Girls Noida Sector 47 Call Me: 8448380779
Best VIP Call Girls Noida Sector 47 Call Me: 8448380779Best VIP Call Girls Noida Sector 47 Call Me: 8448380779
Best VIP Call Girls Noida Sector 47 Call Me: 8448380779
 
Punjabi Housewife Call Girls Service Gomti Nagar \ 9548273370 Indian Call Gir...
Punjabi Housewife Call Girls Service Gomti Nagar \ 9548273370 Indian Call Gir...Punjabi Housewife Call Girls Service Gomti Nagar \ 9548273370 Indian Call Gir...
Punjabi Housewife Call Girls Service Gomti Nagar \ 9548273370 Indian Call Gir...
 
Booking open Available Pune Call Girls Nanded City 6297143586 Call Hot India...
Booking open Available Pune Call Girls Nanded City  6297143586 Call Hot India...Booking open Available Pune Call Girls Nanded City  6297143586 Call Hot India...
Booking open Available Pune Call Girls Nanded City 6297143586 Call Hot India...
 
Dubai Call Girls Pro Domain O525547819 Call Girls Dubai Doux
Dubai Call Girls Pro Domain O525547819 Call Girls Dubai DouxDubai Call Girls Pro Domain O525547819 Call Girls Dubai Doux
Dubai Call Girls Pro Domain O525547819 Call Girls Dubai Doux
 
VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...
VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...
VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...
 
Call Girls in Kalkaji Delhi 8264348440 call girls ❤️
Call Girls in Kalkaji Delhi 8264348440 call girls ❤️Call Girls in Kalkaji Delhi 8264348440 call girls ❤️
Call Girls in Kalkaji Delhi 8264348440 call girls ❤️
 
VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130
VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130
VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130
 
Design Inspiration for College by Slidesgo.pptx
Design Inspiration for College by Slidesgo.pptxDesign Inspiration for College by Slidesgo.pptx
Design Inspiration for College by Slidesgo.pptx
 
escort service sasti (*~Call Girls in Prasad Nagar Metro❤️9953056974
escort service sasti (*~Call Girls in Prasad Nagar Metro❤️9953056974escort service sasti (*~Call Girls in Prasad Nagar Metro❤️9953056974
escort service sasti (*~Call Girls in Prasad Nagar Metro❤️9953056974
 

Reoptimization techniques for solving hard problems

  • 1. Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Algorithms and Complexity Laboratory Department of Computer Science University of the Philippines Diliman Candidacy Exam July 30, 2014
  • 2. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente 2 Introduction Optimization Problems Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Traveller’s Dilemma
  • 3. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente 3 Introduction Optimization Problems Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Traveller’s Dilemma Conditions
  • 4. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente 4 Introduction Optimization Problems Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Traveller’s Dilemma: As a Graph Problem
  • 5. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente 5 Introduction Optimization Problems Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Traveller’s Dilemma: As a Graph Problem
  • 6. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente 6 Introduction Optimization Problems Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Traveller’s Dilemma: As a Graph Problem
  • 7. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente 7 Introduction Optimization Problems Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Traveller’s Dilemma: As a Graph Problem
  • 8. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente 8 Introduction Optimization Problems Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Hamiltonian Cycle Definition (Hamiltonian Cycle) A Hamiltonian cycle is a cycle in a graph passing through all the vertices once.
  • 9. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente 9 Introduction Optimization Problems Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Tour Cost: Hamiltonian Cycle Cost
  • 10. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente 10 Introduction Optimization Problems Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Tour Cost: Hamiltonian Cycle Cost
  • 11. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente 11 Introduction Optimization Problems Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Tour Cost: Hamiltonian Cycle Cost
  • 12. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente 12 Introduction Optimization Problems Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Tour Cost: Hamiltonian Cycle Cost
  • 13. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente 13 Introduction Optimization Problems Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Tour Cost: Hamiltonian Cycle Cost
  • 14. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente 14 Introduction Optimization Problems Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Tour Cost: Hamiltonian Cycle Cost
  • 15. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente 15 Introduction Optimization Problems Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Tour Cost: Hamiltonian Cycle Cost
  • 16. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente 16 Introduction Optimization Problems Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Traveling Salesman Problem (TSP) Definition INPUT: Edge weighted Graph G = (V,E) OUTPUT: Minimum cost Hamiltonian Cycle.
  • 17. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente 17 Introduction Optimization Problems Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Traveling Salesman Problem (TSP) Definition INPUT: Edge weighted Graph G = (V,E) OUTPUT: Minimum cost Hamiltonian Cycle.
  • 18. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction 18 Optimization Problems Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Optimization Problems [Papadimitriou and Steiglitz, 1998] Definition (Instance of an 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, a mapping c : F ! R The problem is to find an f 2 F for which c(f ) c(y) 8 y 2 F Such a point f is called a globally optimal solution to the given instance, or, when no confusion can arise, simply an optimal solution.
  • 19. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction 18 Optimization Problems Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Optimization Problems [Papadimitriou and Steiglitz, 1998] Definition (Instance of an 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, a mapping c : F ! R The problem is to find an f 2 F for which c(f ) c(y) 8 y 2 F Such a point f is called a globally optimal solution to the given instance, or, when no confusion can arise, simply an optimal solution. Definition (Optimization Problem) An optimization problem is a set of instances of an optimization problem.
  • 20. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction 19 Optimization Problems Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Optimization Problems [Papadimitriou and Steiglitz, 1998] Two categories 1. with continuous variables 2. with discrete variables, which we call combinatorial
  • 21. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction 20 Optimization Problems Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Combinatorial Optimization Problem [Papadimitriou and Steiglitz, 1998] Definition (Combinatorial Optimization Problem ) An optimization problem consists of = (D,R, cost, goal) 1. D: A set of all valid input instances. Input instance I 2 D 2. R: A set of all feasible solution. Each I 2 D has a set of feasible solutions, R(I ). 3. cost: Objective function that assigns a non-negative rational number to each pair (I , SOL) cost(I , SOL), where I 2 D and SOL 2 R(I ). 4. goal 2 {min, max}.
  • 22. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction 21 Optimization Problems Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Traveller’s Dilemma: As a Graph Problem
  • 23. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction 22 Optimization Problems Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Traveller’s Dilemma: As a Graph Problem
  • 24.
  • 25.
  • 26. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction 25 Optimization Problems Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Growth of N!
  • 27. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems 26 Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Intractable Problems TSP is Intractable!
  • 28. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems 26 Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Intractable Problems TSP is Intractable! TSP is NP-hard!
  • 29. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems 26 Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Intractable Problems TSP is Intractable! TSP is NP-hard! Unless P=NP, we cannot obtain an efficient algorithm solving the problem.
  • 30. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems 26 Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Intractable Problems TSP is Intractable! TSP is NP-hard! Unless P=NP, we cannot obtain an efficient algorithm solving the problem.
  • 31. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems 27 Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity NP-hard Problems Problem A is NP-hard if all problems in NP are polynomial-time reducible to it. NP-hard problems are at least as hard as the hardest problems in NP.
  • 32. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems 28 Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Complexity Classes
  • 33. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems 28 Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Complexity Classes
  • 34. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems 28 Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Complexity Classes I P is the class of decision problems solvable in polynomial time by a Turing machine (TM). I NP is the class of decision problems verifiable in polynomial time by a Turing Machine. I A decision problem is NP-complete if (1) it is in NP, and (2) any problem in NP can be reduced to it (under some notion of reduction). The class of NP-complete problems is sometimes called NPC.
  • 35. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems 29 Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Examples of NP-hard Problems [Garey and Johnson, 1979] 1. Satisfiability problem 2. Clique Problem 3. Independent set problem 4. Vertex Cover Problem 5. Traveling salesman problem 6. Median String Problem 7. and many more
  • 36. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems 30 Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Approaches in Solving NP-hard Problems Design technique have a well specified structure that even provides a framework for possible implementations Concepts formulate ideas and rough frameworks about how to attack hard algorithmic problems .
  • 37. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems 30 Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Approaches in Solving NP-hard Problems Design technique have a well specified structure that even provides a framework for possible implementations I Dynamic Programming I Branch and Bound I Greedy Schema I Genetic Algorithm I Simulated Annealing, Tabu Search I Local search I . . . Concepts formulate ideas and rough frameworks about how to attack hard algorithmic problems . I Approximation Algorithms I Parameterized Algorithms I Randomized Algorithms I . . .
  • 38. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems 31 Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Approaches in Solving NP-hard Problems I Exact algorithm always obtain the optimal solution I Approximation algorithm settle for good enough solutions. Goodness of solution is guaranteed and measured using approximation ratio. I Heuristic algorithms produce solutions, which are not guaranteed to be close to the optimum. The performance of heuristics is often evaluated empirically.
  • 39. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems 32 Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Approaches in Solving NP-hard Problems I Exact algorithm always obtain the optimal solution I Approximation algorithm settle for good enough solutions. Goodness of solution is guaranteed and measured using approximation ratio. I Heuristic algorithms produce solutions, which are not guaranteed to be close to the optimum. The performance of heuristics is often evaluated empirically.
  • 40. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems 33 Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Triangle inequality Edge weighted graph with cost function c satisfies triangle inequality if for all u, v, and w 2 V c(u, w) c(u, v) + c(v, w) .
  • 41. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems 34 Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Triangle inequality c(u, w) c(u, v) + c(v, w)
  • 42. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems 35 Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Solving Traveller’s Dilemma INPUT: Edge weighted graph 1. Compute a Minimum Spanning Tree for G 2. Select a vertex r 2 V(G) to be the root vertex 3. Let L be the list of vertices visited in a preorder walk OUTPUT: Hamiltonian Cycle that visits A preorder tree walk recursively visits every vertex in the tree, listing a vertex when it is first encountered , before any of its children are visited.
  • 43. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems 36 Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Computing the Minimum Spanning Tree
  • 44. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems 37 Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Computing the Minimum Spanning Tree
  • 45. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems 38 Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Computing the Minimum Spanning Tree
  • 46. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems 39 Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Computing the Minimum Spanning Tree
  • 47. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems 40 Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Computing the Minimum Spanning Tree
  • 48. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems 41 Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Computing the Minimum Spanning Tree
  • 49. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems 42 Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Computing the Minimum Spanning Tree
  • 50. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems 43 Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Computing the Minimum Spanning Tree
  • 51. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems 44 Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Computing the Minimum Spanning Tree
  • 52. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems 45 Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Computing the Minimum Spanning Tree
  • 53. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems 46 Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Computing the Minimum Spanning Tree
  • 54. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems 47 Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Preorder
  • 55. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems 48 Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Preorder
  • 56. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems 49 Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Preorder
  • 57. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems 50 Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Preorder
  • 58. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems 51 Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Preorder
  • 59. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems 52 Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Preorder
  • 60. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems 53 Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Preorder
  • 61. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems 54 Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Hamiltonian Cycle from the Preorder Walk
  • 62. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems 55 Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Hamiltonian Cycle from the Preorder Walk 4 + 4 + 10 + 15 + 10 + 16 = 59
  • 63. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems 56 Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Total tour cost vs. the optimal cost Let H denote an optimal Hamiltonian tour in G. Let T be the minimum spanning tree of G. c(T) c(H) Let W be the full length cost of the preorder walk. c(W) = 2c(T) Let H be the output Hamiltonian Cycle from the algorithm c(W) c(H) Then c(H) 2c(H)
  • 64. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems 56 Hard Problems Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Total tour cost vs. the optimal cost Let H denote an optimal Hamiltonian tour in G. Let T be the minimum spanning tree of G. c(T) c(H) Let W be the full length cost of the preorder walk. c(W) = 2c(T) Let H be the output Hamiltonian Cycle from the algorithm c(W) c(H) Then c(H) 2c(H) Approximation ratio () is 2
  • 65. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems 57 Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Approximation Algorithms Definition (Approximation Algorithm [Williamson and Shmoy, 2010] ) An -approximation algorithm for an optimization problem is a polynomial-time algorithm that for all instances of the problem produces a solution whose value is within a factor of of the value of an optimal solution. Given a problem instance I with an optimal solution Opt(I ), i.e. the cost function cost(Opt(I )) is minimum/maximum.
  • 66. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems 57 Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Approximation Algorithms Definition (Approximation Algorithm [Williamson and Shmoy, 2010] ) An -approximation algorithm for an optimization problem is a polynomial-time algorithm that for all instances of the problem produces a solution whose value is within a factor of of the value of an optimal solution. Given a problem instance I with an optimal solution Opt(I ), i.e. the cost function cost(Opt(I )) is minimum/maximum. I An algorithm for a minimization problem is called -approximative algorithm for some 1, if the algorithm obtains a maximum cost of · cost(Opt(I )), for any input instance I .
  • 67. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems 57 Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Approximation Algorithms Definition (Approximation Algorithm [Williamson and Shmoy, 2010] ) An -approximation algorithm for an optimization problem is a polynomial-time algorithm that for all instances of the problem produces a solution whose value is within a factor of of the value of an optimal solution. Given a problem instance I with an optimal solution Opt(I ), i.e. the cost function cost(Opt(I )) is minimum/maximum. I An algorithm for a minimization problem is called -approximative algorithm for some 1, if the algorithm obtains a maximum cost of · cost(Opt(I )), for any input instance I . I An algorithm for a maximization problem is called -approximative algorithm, for some 1, if the algorithm obtains a minimum cost of · cost(Opt(I )), for any input instance I .
  • 68. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems 58 Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Approximation Ratio I Minimization, 1 cost(Opt(I )) cost(SOL) cost(Opt(I )) I Maximization, 1 cost(Opt(I )) cost(SOL) cost(Opt(I ))
  • 69. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems 59 Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Approximation Ratio I Additive Approximation Algorithms: SOL OPT + c I Constant Approximation Algorithms: SOL c · OPT I Logarithmic Approximation Algorithms: SOL = O(log n) · OPT I Polynomial Approximation Algorithms: SOL = O(nc) · OPT, where c 1
  • 70. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems 60 Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Approximable Problems [Vazirani, 2001] Definition (APX) I An abbreviation for “Approximable, is the set of NP optimization problems that allow polynomial-time approximation algorithms with approximation ratio bounded by a constant.
  • 71. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems 60 Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Approximable Problems [Vazirani, 2001] Definition (APX) I An abbreviation for “Approximable, is the set of NP optimization problems that allow polynomial-time approximation algorithms with approximation ratio bounded by a constant. I Problems in this class have efficient algorithms that can find an answer within some fixed percentage of the optimal answer.
  • 72. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems 61 Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Polynomial-time Approximation Schemes Definition (PTAS [Aaronson et al., 2008]) The subclass of NPO problems that admit an approximation scheme in the following sense. For any 0, there is a polynomial-time algorithm that is guaranteed to find a solution whose cost is within a 1 + factor of the optimum cost. Contains FPTAS, and is contained in APX.
  • 73. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems 61 Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Polynomial-time Approximation Schemes Definition (PTAS [Aaronson et al., 2008]) The subclass of NPO problems that admit an approximation scheme in the following sense. For any 0, there is a polynomial-time algorithm that is guaranteed to find a solution whose cost is within a 1 + factor of the optimum cost. Contains FPTAS, and is contained in APX. Definition (FPTAS [Aaronson et al., 2008] ) The subclass of NPO problems that admit an approximation scheme in the following sense. For any 0, there is an algorithm that is guaranteed to find a solution whose cost is within a 1 + factor of the optimum cost. Furthermore, the running time of the algorithm is polynomial in n (the size of the problem) and in 1/.
  • 74. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems 62 Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Approximation Ratio of well known Hard Problems 1. FPTAS: Bin Packing Problem 2. PTAS: Makespan Scheduling Problem 3. APX: 3.1 Min Steiner Tree Problem (1.55 Approximable) [Robins,2005] 3.2 Min Metric TSP (3/2 Approximable) [Christofides,1977] 3.3 Max SAT (0.77 Approximable) [Asano,1997] 3.4 Vertex Cover (2 Approximable) [Vazirani,2001] 4. MAX SNP 4.1 Independent Set Problem 4.2 Clique Problem 4.3 Travelling Salesman Problem
  • 75. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems 63 Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Complexity Classes [Ausiello et al., 2011] FPTAS ( PTAS ( APX ( NPO
  • 76. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems 64 Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Inapproximable Problems Many problems have polynomial-time approximation schemes. However, there exists a class of problems that is not so easy [Williamson and Shmoy, 2010]. This class is called MAX SNP. Theorem For any MAXSNP-hard problem, there does not exist a polynomial-time approximation scheme, unless P = NP [Williamson and Shmoy, 2010].
  • 77. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems 64 Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Inapproximable Problems Many problems have polynomial-time approximation schemes. However, there exists a class of problems that is not so easy [Williamson and Shmoy, 2010]. This class is called MAX SNP. Theorem For any MAXSNP-hard problem, there does not exist a polynomial-time approximation scheme, unless P = NP [Williamson and Shmoy, 2010].
  • 78. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems 64 Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Inapproximable Problems Many problems have polynomial-time approximation schemes. However, there exists a class of problems that is not so easy [Williamson and Shmoy, 2010]. This class is called MAX SNP. Theorem For any MAXSNP-hard problem, there does not exist a polynomial-time approximation scheme, unless P = NP [Williamson and Shmoy, 2010]. Theorem If P6= NP, then for any constant 1, there is no polynomial-time approximation algorithm with approximation ratio for the general travelling salesman problem.
  • 79. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems 65 Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Traveller’s Dilemma: with additional informa-tion
  • 80. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems 66 Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Traveller’s Dilemma: with additional informa-tion
  • 81. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems 67 Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Traveller’s Dilemma: with additional informa-tion
  • 82. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems 68 Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Traveller’s Dilemma: Nearest Insert [Ausiello et al., 2009]
  • 83. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems 69 Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Traveller’s Dilemma: Nearest Insert [Ausiello et al., 2009]
  • 84. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems 70 Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Traveller’s Dilemma: Nearest Insert [Ausiello et al., 2009]
  • 85. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems 71 Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Traveller’s Dilemma: Nearest Insert [Ausiello et al., 2009] 10 + 12 + 6 + 4 + 5 + 11 = 48
  • 86. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems 72 Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Comparison
  • 87. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems 72 Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Comparison 10+12+6+4+5+11 = 48
  • 88. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems 72 Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Comparison 10+12+6+4+5+11 = 48 4+4+10+15+10+16 = 59
  • 89. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems 73 Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Approximation Ratio Definition (Metric TSP with additional info) INPUT: In,H n , In+1 OUTPUT: Hn+1
  • 90. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems 73 Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Approximation Ratio Definition (Metric TSP with additional info) INPUT: In,H n , In+1 OUTPUT: Hn+1 Theorem There is a 3/4 Approximation algorithm for solving Metric TSP.
  • 91. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems 74 Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity 3/2- Approximation Algorithm [Ausiello et al., 2009] Definition (Metric TSP with additional info) INPUT: In,H n , In+1 OUTPUT: Hn+1 Algorithm: Output the best solution between (H1,H2), where H1 =Nearest Insert(In,H n , In+1) H2 = 32 -Approximation Algorithm(In+1)
  • 92. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems 74 Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity 3/2- Approximation Algorithm [Ausiello et al., 2009] Definition (Metric TSP with additional info) INPUT: In,H n , In+1 OUTPUT: Hn+1 Algorithm: Output the best solution between (H1,H2), where H1 =Nearest Insert(In,H n , In+1) H2 = 32 -Approximation Algorithm(In+1) Proof. n+1) + 2d(v, n + 1) Triangle Inequality ) c(H1) c(H c(H1) c(H n+1) + 2max(d(i, n + 1), d(j, n + 1))) c(H2) 3/2c(H n+1) − max(d(i, n + 1), d(j, n + 1))) min(c(H1), c(H2)) (1/3)c(H1) + (2/3)c(H2) 4/3c(H n+1)
  • 93. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems 75 Approximation Algorithms Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Reoptimization [Ausiello et al., 2009] The concept of reoptimization can in many cases help to improve the approximability of hard optimization problems by lowering constant approximation ratios or even constructing a PTAS for problems which are APX-hard in their classical non reoptimization variant.
  • 94. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems Approximation Algorithms 76 Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Reoptimization Don’t start from scratch when confronted with a problem, but try to make good use of prior knowledge about similar problem instances whenever they are available.
  • 95. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems Approximation Algorithms 76 Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Reoptimization Don’t start from scratch when confronted with a problem, but try to make good use of prior knowledge about similar problem instances whenever they are available. Definition (Reoptimization [Hans-joachim Böckenhauer, 2008] ) Given a problem instance and an optimal solution for it, we are to efficiently obtain an optimal solution for a locally modified instance of the problem.
  • 96. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems Approximation Algorithms 76 Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Reoptimization Don’t start from scratch when confronted with a problem, but try to make good use of prior knowledge about similar problem instances whenever they are available. Definition (Reoptimization [Hans-joachim Böckenhauer, 2008] ) Given a problem instance and an optimal solution for it, we are to efficiently obtain an optimal solution for a locally modified instance of the problem. Definition (Postoptimality Analysis [Hoesel and Wagelmans, 1999]) Postoptimality analysis deals with the related question of how much an instance may be altered without changing the set of optimal solutions.
  • 97. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems Approximation Algorithms 77 Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Reoptimization: Minimum Spanning Tree Example
  • 98. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems Approximation Algorithms 78 Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Reoptimization: Minimum Spanning Tree Example
  • 99. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems Approximation Algorithms 79 Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Reoptimization: Minimum Spanning Tree Example
  • 100. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems Approximation Algorithms 80 Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Reoptimization: Minimum Spanning Tree Example
  • 101. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems Approximation Algorithms 81 Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Reoptimization Definition (Reoptimization [Zych, 2012]) Let = (D,R, cost, goal) be an optimization problem and M D × D be a binary relation (the modification). The corresponding reoptimization problem RM() = (DRM(),RRM(), costRM(), goalRM()) consists of 1. a set of feasible instances defined as DRM() = {(I , I 0, SOL) : (I , I 0) 2M and SOL 2 R(I )}; we refer to I as the original instance and to I 0 as the modified instance 2. a feasibility relation defined as RRM()((I , I 0, SOL)) = R(I 0)
  • 102. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems Approximation Algorithms 82 Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Hardness of Reoptimization I NP hardness of a problem implies that the solution to a locally modified problem cannot be found in polynomial-time, given the solution of the original problem. I Reoptimization of a Hard Problem is still NP-hard! [Hans-joachim Böckenhauer, 2008]. Proof. Let be NP-hard. Let RM() be the reoptimization variant of To prove that RM() is NP-hard, we need to show that we can reduce to RM().
  • 103. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems Approximation Algorithms 82 Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Hardness of Reoptimization I NP hardness of a problem implies that the solution to a locally modified problem cannot be found in polynomial-time, given the solution of the original problem. I Reoptimization of a Hard Problem is still NP-hard! [Hans-joachim Böckenhauer, 2008]. Proof. Let be NP-hard. Let RM() be the reoptimization variant of To prove that RM() is NP-hard, we need to show that we can reduce to RM(). I But it is an advantage to know a solution of a problem instance, as compared to not knowing it.
  • 104. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems Approximation Algorithms 83 Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Reoptimization 1. Reoptimization can help in providing efficient algorithms to problems involved in dynamic systems 2. Reoptimization can help in providing a better solution or an efficient algorithm for computationally hard problems
  • 105. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems Approximation Algorithms 83 Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Reoptimization 1. Reoptimization can help in providing efficient algorithms to problems involved in dynamic systems I Shortest Path Problem [Pallottino and Scutella, 2003] [Nardelli et al., 2003] I Dynamic Minimum Spanning Tree [Thorup, 2000] with edge weights [Ribeiro and Toso, 2007] [Cattaneo et al., 2010] I Vehicle Routing Problem [Secomandi and Margot, 2009] I Facility Location Problem [Shachnai et al., 2012] 2. Reoptimization can help in providing a better solution or an efficient algorithm for computationally hard problems I Traveling salesman problem [Královic and Mömke, 2007] [Hans-joachim Böckenhauer, 2008] [Ausiello et al., 2011] I Steiner tree problem [Hromkovic, 2009] [Zych and Bilò, 2011][Bilo and Zych, 2012] [Böckenhauer et al., 2012] I Shortest common superstring [Bilo,2011] [Popov, 2013] I Hereditary problems on Graphs [Boria et al., 2012a] I Scheduling Problem [Boria et al., 2012b] I Pattern Matching [Yue and Tang, 2008] [?]
  • 106.
  • 107. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems Approximation Algorithms 85 Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Self-reducible Problems Definition (Self-reducibility [Zych, 2012]) We will say that a problem is self-reducible if there is a polynomial-time algorithm, , satisfying the following conditions. 1. Given an instance I and an atom of a solution to I , outputs an instance I. We require that the size of I is smaller than the size of I , i.e. |I| |I |. Let R(I |) represent the set of feasible solutions to I containing the atom . We require that every solution SOL of I, i.e., SOL 2 R(I), has a corresponding SOL [ {} 2 R(I |) and that this correspondence is one-to-one. 2. For any set H 2 R(I) it holds that the cost(I ,H [ {}) = cost(I , ) + cost(I,H).
  • 108. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems Approximation Algorithms 86 Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Self-reducible Problems [Zych, 2012] An atom, as used in this context, constitutes a solution for a specific problem instance. For example, in a maximum independent set problem, atoms are the vertices of the graph which constitutes the solution.
  • 109. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems Approximation Algorithms 87 Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Self-reducible Problems [Zych, 2012] Example Weighted Maximum Independent Set is self-reducible G = (V,E) SOL 2 R(G) () (SOL V(G)) and SOL is independent in G Atoms(G) = V(G) Let be the self-reduction function Gv = (G, v)
  • 110. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems Approximation Algorithms 87 Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Self-reducible Problems [Zych, 2012] Example Weighted Maximum Independent Set is self-reducible G = (V,E) SOL 2 R(G) () (SOL V(G)) and SOL is independent in G Atoms(G) = V(G) Let be the self-reduction function Gv = (G, v)
  • 111. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems Approximation Algorithms 87 Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Self-reducible Problems [Zych, 2012] Example Weighted Maximum Independent Set is self-reducible G = (V,E) SOL 2 R(G) () (SOL V(G)) and SOL is independent in G Atoms(G) = V(G) Let be the self-reduction function Gv = (G, v) (1) SOL = SOL [ {v}. (2) cost(G, SOL) = cost(Gv, SOLv) + c(v)
  • 112. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems Approximation Algorithms 88 Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Self-reducible Problems [Zych, 2012] Definition (Self-reducible problems) Set of combinatorial problems which admits the self-reducibility property (e.g., Max SAT, Min Steiner Tree) Classified different types of modifications 1. Progressing Subtractive 2. Progressing Additive 3. Regressing Subtractive 4. Regressing Additive Table: Summary of approximation ratio from [Zych, 2012]
  • 113. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems Approximation Algorithms 89 Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Types of Modifications [Zych, 2012]
  • 114. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems Approximation Algorithms 90 Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Types of Modifications [Zych, 2012]
  • 115. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems Approximation Algorithms 91 Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Types of Modifications [Zych, 2012]
  • 116. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems Approximation Algorithms 92 Reoptimization Other Results on Reoptimization Heredity Problems References Algorithms and Complexity Types of Modifications [Zych, 2012] Table: Summary of approximation ratio from [Zych, 2012]
  • 117. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems Approximation Algorithms Reoptimization 93 Other Results on Reoptimization Heredity Problems References Algorithms and Complexity References Aaronson, S., Kuperberg, G., and Granade, C. (2008). The complexity zoo.
  • 118. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems Approximation Algorithms Reoptimization 94 Other Results on Reoptimization Heredity Problems References Algorithms and Complexity References (cont.) Bilo, D. and Zych, A. (2012). New Advances in Reoptimizing the Minimum Steiner Tree Problem. Lecture Notes in Computer Science, Mathematical Foundations of Computer Science, 7464:184–197. Böckenhauer, H.-J., Freiermuth, K., Hromkovic, J., Mömke, T., Sprock, A., and Steffen, B. (2012). Steiner tree reoptimization in graphs with sharpened triangle inequality. Journal of Discrete Algorithms, 11:73–86. Boria, N., Monnot, J., and Paschos, V. (2012a). Reoptimization of maximum weight induced hereditary subgraph problems. Theoretical Computer Science, pages 1–12.
  • 119. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems Approximation Algorithms Reoptimization 95 Other Results on Reoptimization Heredity Problems References Algorithms and Complexity References (cont.) Boria, N., Monnot, J., Paschos, V. T., Bilò, D., Widmayer, P., and Zych, A. (2012b). Reoptimization of the Maximum Weighted Pk-Free Subgraph Problem under Vertex Insertion. 5426:76–87. Cattaneo, G., Faruolo, P., Petrillo, U. F., and Italiano, G. (2010). Maintaining dynamic minimum spanning trees: An experimental study. Discrete Applied Mathematics, 158(5):404–425. Garey, M. R. and Johnson, D. S. (1979). Computers and Intractability: A Guide to the Theory of NP-Completeness.
  • 120. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems Approximation Algorithms Reoptimization 96 Other Results on Reoptimization Heredity Problems References Algorithms and Complexity References (cont.) Hans-joachim Böckenhauer, J. H. T. M. P. W. (2008). On the hardness of reoptimization. In Proc. of the 34th International Conference on Current Trends in Theory and Practice of Computer Science (SOFSEM 2008), LNCS, 4910. Hoesel, S. V. and Wagelmans, A. (1999). On the complexity of postoptimality analysis of 01 programs. Discrete Applied Mathematics, (98). Hromkovic, J. (2009). Algorithmic adventures: from knowledge to magic. Královic, R. and Mömke, T. (2007). Approximation Hardness of the Traveling Salesman Reoptimization Problem. MEMICS 2007, 293.
  • 121. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems Approximation Algorithms Reoptimization 97 Other Results on Reoptimization Heredity Problems References Algorithms and Complexity References (cont.) Nardelli, E., Proietti, G., and Widmayer, P. (2003). Swapping a Failing Edge of a Single Source Shortest Paths Tree Is Good and Fast. Algorithmica, pages 56–74. Pallottino, S. and Scutella, M. (2003). A new algorithm for reoptimizing shortest paths when the arc costs change. Operations Research Letters. Papadimitriou, C. and Steiglitz, K. (1998). Combinatorial optimization: algorithms and complexity. Popov, V. (2013). On Reoptimization of the Shortest Common Superstring Problem. Applied Mathematical Sciences, 7(24):1195–1197.
  • 122. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems Approximation Algorithms Reoptimization 98 Other Results on Reoptimization Heredity Problems References Algorithms and Complexity References (cont.) Ribeiro, C. and Toso, R. (2007). Experimental analysis of algorithms for updating minimum spanning trees on graphs subject to changes on edge weights. Experimental Algorithms. Secomandi, N. and Margot, F. (2009). Reoptimization Approaches for the Vehicle-Routing Problem with Stochastic Demands. Shachnai, H., Tamir, G., and Tamir, T. (2012). A Theory and Algorithms for Combinatorial Reoptimization. Lecture Notes in Computer Science, 7256(1574):618–630. Thorup, M. (2000). Dynamic Graph Algorithms with Applications. Proceedings of the 7th Scandinavian Workshop on Algorithm Theory, pages 1–9.
  • 123. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems Approximation Algorithms Reoptimization 99 Other Results on Reoptimization Heredity Problems References Algorithms and Complexity References (cont.) Vazirani, V. V. (2001). Approximation Algorithms, volume 94. Williamson, D. and Shmoy, D. (2010). The Design of Approximation Algorithms. Yue, F. and Tang, J. (2008). A new approach for tree alignment based on local re-optimization. In International Conference on BioMedical Engineering and Informatics, BMEI 2008. Zych, A. (2012). Reoptimization of NP-hard Problems. PhD thesis, ETH Zurich.
  • 124. 103 Reoptimization Techniques for Solving Hard Problems Jhoirene B Clemente Introduction Optimization Problems Hard Problems Approximation Algorithms Reoptimization 100 Other Results on Reoptimization Heredity Problems References Algorithms and Complexity References (cont.) Zych, A. and Bilò, D. (2011). New reoptimization techniques applied to Steiner tree problem. Electronic Notes in Discrete Mathematics.