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

Download Complexity Classes for Optimization Problems - TUM kugele/files/  Approximation algorithms and errors Classes Outlook Complexity Classes for Optimization Problems Stefan Kugele Technical University of Munich

Post on 28-May-2018

212 views

Category:

Documents

0 download

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?

Recommended

View more >