Unless P=NP, we cannot obtain a polynomial-time algorithm solving hard combinatorial problems. One practical approach in solving this kind of problem is to relax the condition of always finding the optimal solution for an instance and settle for “good enough” solutions. The kind of algorithms which are guaranteed to obtain a solution with a certain quality are called approximative algorithms. However, not all hard problems are approximable, i.e., we can obtain a polynomial-time algorithm that can guarantee the goodness of the solution for a problem.
In this lecture, we will present the concept of reoptimization. In this approach, given an instance I of some problem Π, an optimal solution OPT for Π in I, and a modified instance I' resulting from a local perturbation of I, we wish to use OPT in order to solve Π in I'. With this additional information, reoptimization may help to improve the approximability of the problem or the running time of the solution to it. In fact, we can obtain a polynomial-time approximation scheme (PTAS) for a reoptimization variant of a problem given that the unmodified problem is approximable.
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.