Revue sur les fonctions duales réalisables · DualFeasibleFunction(DFF) f : [0,1] →[0,1]...

31
Revue sur les fonctions duales réalisables Cédric Joncour Groupe de Travail RO 28 janvier 2009

Transcript of Revue sur les fonctions duales réalisables · DualFeasibleFunction(DFF) f : [0,1] →[0,1]...

Page 1: Revue sur les fonctions duales réalisables · DualFeasibleFunction(DFF) f : [0,1] →[0,1] estunefonctiondualréalisable(DFF)si ∀S, X x∈S x ≤1⇒ X x∈S f(x) ≤1 Exemple

Revue sur les fonctions duales réalisables

Cédric Joncour

Groupe de Travail RO

28 janvier 2009

Page 2: Revue sur les fonctions duales réalisables · DualFeasibleFunction(DFF) f : [0,1] →[0,1] estunefonctiondualréalisable(DFF)si ∀S, X x∈S x ≤1⇒ X x∈S f(x) ≤1 Exemple

Plan de l’exposé

1 Rappels et définitions

2 Exemple

3 OPP

Page 3: Revue sur les fonctions duales réalisables · DualFeasibleFunction(DFF) f : [0,1] →[0,1] estunefonctiondualréalisable(DFF)si ∀S, X x∈S x ≤1⇒ X x∈S f(x) ≤1 Exemple

Rappels et définitions Exemple OPP

Motivation

Items

1 4

2 5

3 6

voli = 4 ∀i

volbin = 25

∑i

voli = 24

⇒∑

ivoli ≤ volbin

Packing in a container

3

21

4

Cédric Joncour O Revue des DFF O 3 / 24

Page 4: Revue sur les fonctions duales réalisables · DualFeasibleFunction(DFF) f : [0,1] →[0,1] estunefonctiondualréalisable(DFF)si ∀S, X x∈S x ≤1⇒ X x∈S f(x) ≤1 Exemple

Rappels et définitions Exemple OPP

Motivation

Items

1 4

2 5

3 6

voli = 4 ∀i

volbin = 25

∑i

voli = 24

⇒∑

ivoli ≤ volbin

Packing in a container

3

21

4

Cédric Joncour O Revue des DFF O 3 / 24

Page 5: Revue sur les fonctions duales réalisables · DualFeasibleFunction(DFF) f : [0,1] →[0,1] estunefonctiondualréalisable(DFF)si ∀S, X x∈S x ≤1⇒ X x∈S f(x) ≤1 Exemple

Rappels et définitions Exemple OPP

Motivation

Items

1 4

2 5

3 6

voli = 4 ∀i

volbin = 25

∑i

voli = 24

⇒∑

ivoli ≤ volbin

Packing in a container

3

21

4

Cédric Joncour O Revue des DFF O 3 / 24

Page 6: Revue sur les fonctions duales réalisables · DualFeasibleFunction(DFF) f : [0,1] →[0,1] estunefonctiondualréalisable(DFF)si ∀S, X x∈S x ≤1⇒ X x∈S f(x) ≤1 Exemple

Rappels et définitions Exemple OPP

Motivation

Items

1 4

2 5

3 6

voli = 4 ∀i

volbin = 25

∑i

voli = 24

⇒∑

ivoli ≤ volbin

Packing in a container

3

21

4

Cédric Joncour O Revue des DFF O 3 / 24

Page 7: Revue sur les fonctions duales réalisables · DualFeasibleFunction(DFF) f : [0,1] →[0,1] estunefonctiondualréalisable(DFF)si ∀S, X x∈S x ≤1⇒ X x∈S f(x) ≤1 Exemple

Rappels et définitions Exemple OPP

Rappel : bin packing

Borne inférieur valide :

LB =

∑i wi

W

Arrondi :LB =

⌈∑i wi

W

Cédric Joncour O Revue des DFF O 4 / 24

Page 8: Revue sur les fonctions duales réalisables · DualFeasibleFunction(DFF) f : [0,1] →[0,1] estunefonctiondualréalisable(DFF)si ∀S, X x∈S x ≤1⇒ X x∈S f(x) ≤1 Exemple

Rappels et définitions Exemple OPP

Exemple

wi :

1

6

2

5

3

4

4

4

5

2

12 3 4

5

W = 7

∑i

wi = 21

⇒ LB = 3

Cédric Joncour O Revue des DFF O 5 / 24

Page 9: Revue sur les fonctions duales réalisables · DualFeasibleFunction(DFF) f : [0,1] →[0,1] estunefonctiondualréalisable(DFF)si ∀S, X x∈S x ≤1⇒ X x∈S f(x) ≤1 Exemple

Rappels et définitions Exemple OPP

Exemple

wi :

1

6

2

5

3

4

4

4

5

2

12 3 4

5 W = 7

∑i

wi = 21

⇒ LB = 3

Cédric Joncour O Revue des DFF O 5 / 24

Page 10: Revue sur les fonctions duales réalisables · DualFeasibleFunction(DFF) f : [0,1] →[0,1] estunefonctiondualréalisable(DFF)si ∀S, X x∈S x ≤1⇒ X x∈S f(x) ≤1 Exemple

Rappels et définitions Exemple OPP

Exemple

wi :

1

6

2

5

3

4

4

4

5

2

12 3 4

5 W = 7∑i

wi = 21

⇒ LB = 3

Cédric Joncour O Revue des DFF O 5 / 24

Page 11: Revue sur les fonctions duales réalisables · DualFeasibleFunction(DFF) f : [0,1] →[0,1] estunefonctiondualréalisable(DFF)si ∀S, X x∈S x ≤1⇒ X x∈S f(x) ≤1 Exemple

Rappels et définitions Exemple OPP

DéfinitionDual Feasible Function (DFF)f : [0, 1]→ [0, 1] est une fonction dual réalisable (DFF) si∀S,

∑x∈S

x ≤ 1⇒∑x∈S

f (x) ≤ 1

Exemple

f ε0 : [0, 1] → [0, 1] avec ε ∈ [0, 12 ]

x 7→

1, si x > 1− ε,x si ε ≤ x ≤ 1− ε,0, si x < ε.

Cédric Joncour O Revue des DFF O 6 / 24

Page 12: Revue sur les fonctions duales réalisables · DualFeasibleFunction(DFF) f : [0,1] →[0,1] estunefonctiondualréalisable(DFF)si ∀S, X x∈S x ≤1⇒ X x∈S f(x) ≤1 Exemple

Rappels et définitions Exemple OPP

DéfinitionDiscrete Dual Feasible Function (DFF)f : [0,C ]→ [0,C ′] est une fonction discrète dual réalisable sif est une fonction discrète tel que∀S,

∑x∈S

x ≤ C ⇒∑x∈S

f (x) ≤ f (C) = C ′

Exemple

f k0 : [0,C ] → [0,C ′] avec k ∈ [0, C

2 ]

x 7→

C , si x > C − k ,x si k ≤ x ≤ C − k ,0, si x < k .

Cédric Joncour O Revue des DFF O 7 / 24

Page 13: Revue sur les fonctions duales réalisables · DualFeasibleFunction(DFF) f : [0,1] →[0,1] estunefonctiondualréalisable(DFF)si ∀S, X x∈S x ≤1⇒ X x∈S f(x) ≤1 Exemple

Rappels et définitions Exemple OPP

Conséquence

Borne inférieur valide :

LB =

∑i f (wi)

f (W )

Arrondi :LB =

⌈∑i f (wi)

f (W )

Cédric Joncour O Revue des DFF O 8 / 24

Page 14: Revue sur les fonctions duales réalisables · DualFeasibleFunction(DFF) f : [0,1] →[0,1] estunefonctiondualréalisable(DFF)si ∀S, X x∈S x ≤1⇒ X x∈S f(x) ≤1 Exemple

Rappels et définitions Exemple OPP

Exemple : pour k = W2

x

f (x)

f k0

W2

W

W

f k0 : [0,W ] → [0,W ]

x 7→

W , si x > W

2 ,W2 si x = W

2 ,

0, si x < W2 .

Cédric Joncour O Revue des DFF O 9 / 24

Page 15: Revue sur les fonctions duales réalisables · DualFeasibleFunction(DFF) f : [0,1] →[0,1] estunefonctiondualréalisable(DFF)si ∀S, X x∈S x ≤1⇒ X x∈S f(x) ≤1 Exemple

Rappels et définitions Exemple OPP

Exemple : pour k = W2

wi :

1

6

2

5

3

4

4

4

5

2

f (wi) :

1

7

2

7

3

7

4

7

5

0

W = 7

∑i

f (wi) = 28

⇒ LB = 4

Cédric Joncour O Revue des DFF O 10 / 24

Page 16: Revue sur les fonctions duales réalisables · DualFeasibleFunction(DFF) f : [0,1] →[0,1] estunefonctiondualréalisable(DFF)si ∀S, X x∈S x ≤1⇒ X x∈S f(x) ≤1 Exemple

Rappels et définitions Exemple OPP

Exemple : pour k = W2

wi :

1

6

2

5

3

4

4

4

5

2

f (wi) :

1

7

2

7

3

7

4

7

5

0

W = 7

∑i

f (wi) = 28

⇒ LB = 4

Cédric Joncour O Revue des DFF O 10 / 24

Page 17: Revue sur les fonctions duales réalisables · DualFeasibleFunction(DFF) f : [0,1] →[0,1] estunefonctiondualréalisable(DFF)si ∀S, X x∈S x ≤1⇒ X x∈S f(x) ≤1 Exemple

Rappels et définitions Exemple OPP

Exemple : pour k = W2

wi :

1

6

2

5

3

4

4

4

5

2

f (wi) :

1

7

2

7

3

7

4

7

5

0

W = 7∑i

f (wi) = 28

⇒ LB = 4

Cédric Joncour O Revue des DFF O 10 / 24

Page 18: Revue sur les fonctions duales réalisables · DualFeasibleFunction(DFF) f : [0,1] →[0,1] estunefonctiondualréalisable(DFF)si ∀S, X x∈S x ≤1⇒ X x∈S f(x) ≤1 Exemple

Rappels et définitions Exemple OPP

Propriétés

DéfinitionUne fonction f est super-additive ssi∀x , y , f (x + y) ≥ f (x) + f (y)

PropositionSi une fonction f est croissante, super-additive avec f (0) = 0,alors f est une DFF

Cédric Joncour O Revue des DFF O 11 / 24

Page 19: Revue sur les fonctions duales réalisables · DualFeasibleFunction(DFF) f : [0,1] →[0,1] estunefonctiondualréalisable(DFF)si ∀S, X x∈S x ≤1⇒ X x∈S f(x) ≤1 Exemple

Rappels et définitions Exemple OPP

DominanceDéfinitionf � f ′ si ∀ci ≤ C , f (ci )

f (C)≤ f ′(ci )

f ′(C).

f ≺ f ′ si f � f ′ et ∃cj ≤ C , f (ci )f (C)

< f ′(ci )f ′(C)

.

DéfinitionUne DFF f est maximale (MDFF) s’il n’existe de DFF f ′ telque f � f ′

PropositionUne fonction f est une MDFF si

f est croissante, f est super-additive et f (0) = 0,∀x ∈ [0,C ], f (x) + f (C − X ) = f (C)

Cédric Joncour O Revue des DFF O 12 / 24

Page 20: Revue sur les fonctions duales réalisables · DualFeasibleFunction(DFF) f : [0,1] →[0,1] estunefonctiondualréalisable(DFF)si ∀S, X x∈S x ≤1⇒ X x∈S f(x) ≤1 Exemple

Rappels et définitions Exemple OPP

Exemple

x

f (x)

f k0

k C − kC

C

f k0 : [0,C ] → [0,C ]

x 7→

C , si x > C − k,x si k ≤ x ≤ C − k,0, si x < k.

Cédric Joncour O Revue des DFF O 13 / 24

Page 21: Revue sur les fonctions duales réalisables · DualFeasibleFunction(DFF) f : [0,1] →[0,1] estunefonctiondualréalisable(DFF)si ∀S, X x∈S x ≤1⇒ X x∈S f(x) ≤1 Exemple

Rappels et définitions Exemple OPP

Exemple

x

f (x)

f kFS,1

Ck+1

kCk+1

C

kC

C

f kFS,1 : [0,C ] → [0, kC ]

x 7→

xk, si x(k+1)

C ∈ N,

⌊x(k + 1)C

⌋C , sinon.

Cédric Joncour O Revue des DFF O 14 / 24

Page 22: Revue sur les fonctions duales réalisables · DualFeasibleFunction(DFF) f : [0,1] →[0,1] estunefonctiondualréalisable(DFF)si ∀S, X x∈S x ≤1⇒ X x∈S f(x) ≤1 Exemple

Rappels et définitions Exemple OPP

Exemple

x

f (x)

f kFS,2

k C2

CC − k

bCk c

1

f kFS,2 : [0,C ] → [0,

⌊Ck

⌋]

x 7→

Ck

⌋−⌊

C−xk

⌋, si x > C

2 ,

1, si k ≤ x ≤ C2 ,

0, si x < k.

Cédric Joncour O Revue des DFF O 15 / 24

Page 23: Revue sur les fonctions duales réalisables · DualFeasibleFunction(DFF) f : [0,1] →[0,1] estunefonctiondualréalisable(DFF)si ∀S, X x∈S x ≤1⇒ X x∈S f(x) ≤1 Exemple

Rappels et définitions Exemple OPP

Exemple

x

f (x)

f kCCM,1

k C2

C − kC

2bCk c

2

f kCCM,1 : [0,C ] → [0, 2

⌊Ck

⌋]

x 7→

2(bC

k c − bC−x

k c), si x > C

2 ,

bCk c, si x = C

2 ,

b xk c, si x < C

2 .

Cédric Joncour O Revue des DFF O 16 / 24

Page 24: Revue sur les fonctions duales réalisables · DualFeasibleFunction(DFF) f : [0,1] →[0,1] estunefonctiondualréalisable(DFF)si ∀S, X x∈S x ≤1⇒ X x∈S f(x) ≤1 Exemple

Rappels et définitions Exemple OPP

Exemple

x

f (x)

f kVDB,1

CCk

(k−1)Ck

k − 1

1

f kVDB,1 : [0,C ] → [k − 1]

x 7→{

kxC − 1, si kx

C ∈ N∗,

bkxC c, sinon.

Cédric Joncour O Revue des DFF O 17 / 24

Page 25: Revue sur les fonctions duales réalisables · DualFeasibleFunction(DFF) f : [0,1] →[0,1] estunefonctiondualréalisable(DFF)si ∀S, X x∈S x ≤1⇒ X x∈S f(x) ≤1 Exemple

Rappels et définitions Exemple OPP

Exemple

x

f (x)

f kVDB,2

k (k−1)Ck

C

2k − 2

2

f kVDB,2 : [0,C ] → [2k − 2]

x 7→

2k − 2, si C − Ck ≤ x ≤ C ,

2bkxC c, si C

2 < x < C − Ck ,

k − 1, si x = C2 ,

2dkxC e − 2, si C

k < x < C2 ,

0, si 0 ≤ x ≤ Ck .

Cédric Joncour O Revue des DFF O 18 / 24

Page 26: Revue sur les fonctions duales réalisables · DualFeasibleFunction(DFF) f : [0,1] →[0,1] estunefonctiondualréalisable(DFF)si ∀S, X x∈S x ≤1⇒ X x∈S f(x) ≤1 Exemple

Rappels et définitions Exemple OPP

Problème de placement

QuestionLes DFF sont-elles utilisables pour le problème de placement2D ?

Cédric Joncour O Revue des DFF O 19 / 24

Page 27: Revue sur les fonctions duales réalisables · DualFeasibleFunction(DFF) f : [0,1] →[0,1] estunefonctiondualréalisable(DFF)si ∀S, X x∈S x ≤1⇒ X x∈S f(x) ≤1 Exemple

Rappels et définitions Exemple OPP

RappelContainer Interval graphs G1 and G2

Propriétés de Gi (1 ≤ i ≤ 2)

1 Gi est un graphe d’intervalle,

2 α(Gi ,w) ≤W ;

3⋂

i E (Gi) = ∅.

Cédric Joncour O Revue des DFF O 20 / 24

Page 28: Revue sur les fonctions duales réalisables · DualFeasibleFunction(DFF) f : [0,1] →[0,1] estunefonctiondualréalisable(DFF)si ∀S, X x∈S x ≤1⇒ X x∈S f(x) ≤1 Exemple

Rappels et définitions Exemple OPP

Problème de placement

QuestionComment les utiliser ?

Résoudre un KNPmax

∑i

piδi∑i

f (wi)g(hi)δi ≤ f (W )g(H)

δi ∈ {0, 1}

Cédric Joncour O Revue des DFF O 21 / 24

Page 29: Revue sur les fonctions duales réalisables · DualFeasibleFunction(DFF) f : [0,1] →[0,1] estunefonctiondualréalisable(DFF)si ∀S, X x∈S x ≤1⇒ X x∈S f(x) ≤1 Exemple

Rappels et définitions Exemple OPP

Problème de placement

QuestionQuand les utiliser ?

Avant les procédures de testsPour déterminer des bornes supérieuresPour vérifier la non-réalisabilité d’un placement

Durant les procédures de tests

Cédric Joncour O Revue des DFF O 22 / 24

Page 30: Revue sur les fonctions duales réalisables · DualFeasibleFunction(DFF) f : [0,1] →[0,1] estunefonctiondualréalisable(DFF)si ∀S, X x∈S x ≤1⇒ X x∈S f(x) ≤1 Exemple

Rappels et définitions Exemple OPP

Résultat des tests

Benchmark 01/16 01/16 01/16 FS FS FSOKP nodes OPP calls time OKP nodes OPP calls time

gcut1 69 18 0 33 0 0gcut2 2873 169 0 519 51 0gcut3 16503 564 0 2234 235 4gcut4 310308 61380 36 72159 18316 195gcut5 92 45 0 52 13 0gcut6 1348 78 0 278 22 0gcut7 8471 207 0 852 124 2gcut8 313847 14685 21 55485 9037 255gcut9 75 10 0 12 2 0gcut10 1176 88 0 335 31 0gcut11 29446 1426 1 1616 212 8gcut12 102310 3096 5 8178 593 109gcut13 - - - - - -cgcut1 44 11 0 14 1 0cgcut2 933 881 108 - - -cgcut3 2061 1408 1 356 102 0okp1 12341 1667 3 3244 661 10okp2 - - 1503 23626 7310 20okp3 58161 9931 30 8233 816 5okp4 26088 4637 132 1458 15 2okp5 - - - 5733 643 11

Cédric Joncour O Revue des DFF O 23 / 24

Page 31: Revue sur les fonctions duales réalisables · DualFeasibleFunction(DFF) f : [0,1] →[0,1] estunefonctiondualréalisable(DFF)si ∀S, X x∈S x ≤1⇒ X x∈S f(x) ≤1 Exemple

Rappels et définitions Exemple OPP

DéfinitionData-dependent Dual Feasible Function (DDFF)Soit I = {1, . . . , n} tel que ci ≤ CUne fonction f : [0,C ]→ [0,C ′] est une DDFF sif est une fonction discrète tel que∀I ′ ⊂ I ,

∑i∈I′

ci ≤ C ⇒∑i∈I′

f (ci) ≤ f (C) = C ′

Exemple

f kDDFF : [0,C ] → [0,KP(C , J)] avec J = {i ∈ I : 1

2C ≥ ci ≥ k}

x 7→

KP(C , J)− KP(C − x , J), si x > C

2 ,

1, si C2 ≥ x ≥ k,

0, sinon.

Cédric Joncour O Revue des DFF O 24 / 24