# complexity classes for optimization problems - tum kugele/files/ approximation algorithms and...

Post on 28-May-2018

212 views

Category:

## Documents

Embed Size (px)

TRANSCRIPT

• IntroductionApproximation algorithms and errors

ClassesOutlook

Complexity Classes for Optimization Problems

Stefan Kugele

Technical University of Munich

Joint Bavarian Swiss International School 2004, Binntal

Stefan Kugele Complexity Classes for Optimization Problems

• IntroductionApproximation algorithms and errors

ClassesOutlook

A famous cartoonWhy using approximation?Two basic principlesOptimization problem

Famous cartoon by Garey & Johnson, 1979

"I cant find an efficient algorithm. I guess Im just to dumb"

Stefan Kugele Complexity Classes for Optimization Problems

• IntroductionApproximation algorithms and errors

ClassesOutlook

A famous cartoonWhy using approximation?Two basic principlesOptimization problem

Famous cartoon by Garey & Johnson, 1979

"I cant find an efficient algorithm, because no such algorithm ispossible!"

Stefan Kugele Complexity Classes for Optimization Problems

• IntroductionApproximation algorithms and errors

ClassesOutlook

A famous cartoonWhy using approximation?Two basic principlesOptimization problem

Famous cartoon by Garey & Johnson, 1979

"I cant find an efficient algorithm, but neither can all these famouspeople."

Stefan Kugele Complexity Classes for Optimization Problems

• IntroductionApproximation algorithms and errors

ClassesOutlook

A famous cartoonWhy using approximation?Two basic principlesOptimization problem

Why using approximation?

QuestionWhy using approximation?

AnswerWe are not able to solve NP-complete problems efficiently,that is, there is no known way to solve them in polynomialtime unless P = NP.Why not looking for an approximate solution?

Stefan Kugele Complexity Classes for Optimization Problems

• IntroductionApproximation algorithms and errors

ClassesOutlook

A famous cartoonWhy using approximation?Two basic principlesOptimization problem

Why using approximation?

QuestionWhy using approximation?

AnswerWe are not able to solve NP-complete problems efficiently,that is, there is no known way to solve them in polynomialtime unless P = NP.Why not looking for an approximate solution?

Stefan Kugele Complexity Classes for Optimization Problems

• IntroductionApproximation algorithms and errors

ClassesOutlook

A famous cartoonWhy using approximation?Two basic principlesOptimization problem

Why using approximation?

QuestionWhy using approximation?

AnswerWe are not able to solve NP-complete problems efficiently,that is, there is no known way to solve them in polynomialtime unless P = NP.Why not looking for an approximate solution?

Stefan Kugele Complexity Classes for Optimization Problems

• IntroductionApproximation algorithms and errors

ClassesOutlook

A famous cartoonWhy using approximation?Two basic principlesOptimization problem

Two basic principles

Two basic principles

Algorithm designSequential algorithmsGreedy approachLocal searchLinear programming (LP)Dynamic programming (DP)Randomized algoritms

Complexity classes

Thats what we are dealing with today

Stefan Kugele Complexity Classes for Optimization Problems

• IntroductionApproximation algorithms and errors

ClassesOutlook

A famous cartoonWhy using approximation?Two basic principlesOptimization problem

Two basic principles

Two basic principles

Algorithm designSequential algorithmsGreedy approachLocal searchLinear programming (LP)Dynamic programming (DP)Randomized algoritms

Complexity classes

Thats what we are dealing with today

Stefan Kugele Complexity Classes for Optimization Problems

• IntroductionApproximation algorithms and errors

ClassesOutlook

A famous cartoonWhy using approximation?Two basic principlesOptimization problem

Two basic principles

Two basic principles

Algorithm designSequential algorithmsGreedy approachLocal searchLinear programming (LP)Dynamic programming (DP)Randomized algoritms

Complexity classes

Thats what we are dealing with today

Stefan Kugele Complexity Classes for Optimization Problems

• IntroductionApproximation algorithms and errors

ClassesOutlook

A famous cartoonWhy using approximation?Two basic principlesOptimization problem

Two basic principles

Two basic principles

Algorithm designSequential algorithmsGreedy approachLocal searchLinear programming (LP)Dynamic programming (DP)Randomized algoritms

Complexity classes

Thats what we are dealing with today

Stefan Kugele Complexity Classes for Optimization Problems

• IntroductionApproximation algorithms and errors

ClassesOutlook

A famous cartoonWhy using approximation?Two basic principlesOptimization problem

Two basic principles

Two basic principles

Algorithm designSequential algorithmsGreedy approachLocal searchLinear programming (LP)Dynamic programming (DP)Randomized algoritms

Complexity classes

Thats what we are dealing with today

Stefan Kugele Complexity Classes for Optimization Problems

• IntroductionApproximation algorithms and errors

ClassesOutlook

A famous cartoonWhy using approximation?Two basic principlesOptimization problem

Two basic principles

Two basic principles

Algorithm designSequential algorithmsGreedy approachLocal searchLinear programming (LP)Dynamic programming (DP)Randomized algoritms

Complexity classes

Thats what we are dealing with today

Stefan Kugele Complexity Classes for Optimization Problems

• IntroductionApproximation algorithms and errors

ClassesOutlook

A famous cartoonWhy using approximation?Two basic principlesOptimization problem

Two basic principles

Two basic principles

Algorithm designSequential algorithmsGreedy approachLocal searchLinear programming (LP)Dynamic programming (DP)Randomized algoritms

Complexity classes

Thats what we are dealing with today

Stefan Kugele Complexity Classes for Optimization Problems

• IntroductionApproximation algorithms and errors

ClassesOutlook

A famous cartoonWhy using approximation?Two basic principlesOptimization problem

Two basic principles

Two basic principles

Algorithm designSequential algorithmsGreedy approachLocal searchLinear programming (LP)Dynamic programming (DP)Randomized algoritms

Complexity classes

Thats what we are dealing with today

Stefan Kugele Complexity Classes for Optimization Problems

• IntroductionApproximation algorithms and errors

ClassesOutlook

A famous cartoonWhy using approximation?Two basic principlesOptimization problem

Two basic principles

Two basic principles

Algorithm designSequential algorithmsGreedy approachLocal searchLinear programming (LP)Dynamic programming (DP)Randomized algoritms

Complexity classes

Thats what we are dealing with today

Stefan Kugele Complexity Classes for Optimization Problems

• IntroductionApproximation algorithms and errors

ClassesOutlook

A famous cartoonWhy using approximation?Two basic principlesOptimization problem

Two basic principles

Two basic principles

Algorithm designSequential algorithmsGreedy approachLocal searchLinear programming (LP)Dynamic programming (DP)Randomized algoritms

Complexity classes

Thats what we are dealing with today

Stefan Kugele Complexity Classes for Optimization Problems

• IntroductionApproximation algorithms and errors

ClassesOutlook

A famous cartoonWhy using approximation?Two basic principlesOptimization problem

Definition

DefinitionOptimization Problem

O = (I , SOL, m, type)

I the instance setSOL(i) the set of feasible solutions for instance i (SOL(i) for

i I )m(i , s) the meassure of solution s with respect to instance i

(positive integer for i I ) and s SOL(i)type {min, max}

opt(i) = typesSOL(i)

m(i , s)

Stefan Kugele Complexity Classes for Optimization Problems

• IntroductionApproximation algorithms and errors

ClassesOutlook

A famous cartoonWhy using approximation?Two basic principlesOptimization problem

An tight example

Example

Given is a knapsack with capacity C and a set of itemsS = {1, 2, . . . , n}, where item i has weight wi and value vi .

ProblemThe problem is to find a subset T S that maximizes the value of

iT vi given that

iT wi C ; that is all the items fit in theknapsack with capacity C .

All set T S :

iT w(i) C are feasible solutions.iT vi is the quality of the solution T with respect to

instance i .

Stefan Kugele Complexity Classes for Optimization Problems

• IntroductionApproximation algorithms and errors

ClassesOutlook

A famous cartoonWhy using approximation?Two basic principlesOptimization problem

An tight example

Example

Given is a knapsack with capacity C and a set of itemsS = {1, 2, . . . , n}, where item i has weight wi and value vi .

ProblemThe problem is to find a subset T S that maximizes the value of

iT vi given that

iT wi C ; that is all the items fit in theknapsack with capacity C .

All set T S :

iT w(i) C are feasible solutions.iT vi is the quality of the solution T with respect to

instance i .

Stefan Kugele Complexity Classes for Optimization Problems

• IntroductionApproximation algorithms and errors

ClassesOutlook

A famous cartoonWhy using approximation?