Enumeration of Circuits and Minimal Forbidden Sets Frederik Stork - - PowerPoint PPT Presentation

enumeration of circuits and minimal forbidden sets
SMART_READER_LITE
LIVE PREVIEW

Enumeration of Circuits and Minimal Forbidden Sets Frederik Stork - - PowerPoint PPT Presentation

Enumeration of Circuits and Minimal Forbidden Sets Frederik Stork ILOG GmbH, Germany Marc Uetz Universiteit Maastricht, Netherlands Independence Systems Given ground set V , | V | = n , then I 2 V is independence system if W U I


slide-1
SLIDE 1

Enumeration of Circuits and Minimal Forbidden Sets

Frederik Stork ILOG GmbH, Germany Marc Uetz Universiteit Maastricht, Netherlands

slide-2
SLIDE 2

Independence Systems

Given ground set V , |V | = n, then I ⊆ 2V is independence system if W ⊆ U ∈ I ⇒ W ∈ I Bases B: B ∈ I ⊆-maximal Circuits C: C ∈ I ⊆-minimal Example. I = forests in a graph: bases = spanning trees circuits = simple cycles

✛ ✚ ✘ ✙

Given membership oracle for I, we want to enumerate all circuits of I.

slide-3
SLIDE 3

Complexity of Enumeration Problems

Given V , and an implicit, say poly(n) description of C ⊆ 2V .

  • Total polynomial time: Enumeration of C in time poly(n, |C|)
  • Incremental polynomial time: Given X ⊆ C, either compute

U ∈ C \ X or decide X = C in time poly(n, |X|)

[Valiant’79, Johnson, Yannakakis, Papadimitriou’88]

slide-4
SLIDE 4

Maximal Independent Set Enumeration is Hard

  • Theorem. Unless P=NP, no algorithm exists that enumerates the bases B of

any independence system I in total polynomial time.

[Lawler, Lenstra, Rinnooy Kan ’80]

  • Proof. Reduction from Satisfiability.
slide-5
SLIDE 5
  • Likewise. . .
  • Theorem. Unless P=NP, no algorithm exists that enumerates the circuits C of

any independence system I in total polynomial time.

  • Proof. Given I, suppose A is such an algorithm. Define ID by

W ∈ ID :⇔ V \ W ∈ I . U

  • max. indep. for ID ⇔ V \ U
  • min. cover for I.

Then A enumerates

  • max. indep. sets of any ID
  • Question. Particular independence systems?
slide-6
SLIDE 6

Motivation: Resource Constrained Scheduling

i, j jobs ∈ V := {1, ..., n} ≺ partial order on V (precedence constraints) bk availability of resource k akj resource k as required by job j V (t) bk Resource constraints:

j∈V (t) akj ≤ bk

for all k and t

slide-7
SLIDE 7

Circuits = Minimal Forbidden Sets

trivial: F = {i, j} with i ≺ j,

  • r

non-trivial:

  • F anti-chain for poset (V, ≺)
  • j∈F akj > bk

for some k

  • F ⊆–minimal

Required for:

  • policies in stochastic scheduling
  • cutting planes for IP formulations
  • · · ·
slide-8
SLIDE 8

Independence System Hypergraph

  • nodes V = jobs
  • hyperedges C = min. forb. sets

jobs U ⊆ V feasible ⇔ U independent set in (V, C) Problem: List of all (non-trivial) minimal forbidden sets C required But: The (non-trivial) minimal forbidden sets C not given explicitly

slide-9
SLIDE 9

Given Explicitly: Linear System Ax ≤ b Ax ≤ b Ax ≤ b

i j i ≺ j           a11 · · · a1n a21 · · · a2n . . . . . . ak1 · · · akn · · · 1 1 · · ·               x1 x2 . . . xn     ≤           b1 b2 . . . bk 1 . . . 1           jobs U ⊆ V feasible ⇔ Ax(U) ≤ b Minimally infeasible vectors x ∈ {0, 1}n = minimal forbidden sets F

slide-10
SLIDE 10

The Enumeration Problem

Assume A ≥ 0, b ≥ 0, integral.

★ ✧ ✥ ✦

Input: Linear inequality system Ax ≤ b Output: All circuits: minimal infeasible {0, 1}–vectors x

slide-11
SLIDE 11

Poly-Time Enumeration is Hard

  • Theorem. Unless P=NP, no total poly-time algorithm exists for the enumeration

problem.

  • Proof. Take graph G = (V, E), decision prob-

lem ∃ indep. set ≥ t? Define i j k {i, j} {k, j}       · · · 1 1 1 1 · · · 1 1 1 1 1           x1 x2 . . . xn     ≤       1 1 . . . 1 t − 1       Assume total poly-time algorithm A, with p(n, |C|). Let A run for p(n, |E|) + 1 time.

  • 1. A outputs min. infeas. x with

≥ t one’s → G ‘Yes’

  • 2. A terminates w/o min. infeas.

x with ≥ t one’s → G ‘No’

  • 3. A outputs no min. infeas. x

with ≥ t one’s, and doesn’t terminate → G ‘Yes’ . . . hence A decides NP-hard In- dep.Set

slide-12
SLIDE 12

Poly-Time Enumeration for the Dual is easier

The ‘Dual’:

★ ✧ ✥ ✦

Input: Linear inequality system Ax ≤ b Output: All maximal feasible {0, 1}–vectors x

  • Theorem. There is an incremental (quasi-)poly-time algorithm [order to(log t)]

[Boros, Elbassoni, Gurvich, Khachiyan, Makino ’02]

Proof idea. # min. infeas. x ≤ nm # max. feas. x, so generate both sets, solved by reduction to (generalized) hypergraph dualization [Fredman & Khachiyan ’96]

  • Note. Such an algorithm is not likely to exist to for min. infeasible x for Ax ≤ b.
slide-13
SLIDE 13

The Counting Problem

★ ✧ ✥ ✦

Input: Linear inequality system Ax ≤ b Output: # of min. infeasible {0, 1}–vectors x

slide-14
SLIDE 14

Counting is Hard

  • Theorem. The counting problem is #P-complete.

Proof. (#P-hardness) Given a poset (V, ≺). Consider MaxAC: Compute maximum cardinality anti-chain

  • MaxAC is #P-complete

[Provan & Ball ’83]

  • max. cardinality t in poly(n)

[Max-Flow reduction]

i j k i ≺ j k ≺ j       · · · 1 1 1 1 · · · 1 1 1 1 1           x1 x2 . . . xn     ≤       1 1 . . . 1 t − 1       Then: # of min. infeasible {0, 1}–vectors x = | ≺ | + # of MaxAC’s

slide-15
SLIDE 15

Implementation of Enumeration Algorithm

  • 3

2 1 1 1 1

 

x1 x2 x3 x4

   ≤

  • 3

1

  • . C = {{1,2},{1,3},{1,4},{2,3,4}}

3 3 4 4 4 4 4 4 ∅ 1 2 2 3 3 4 4

T(2V ) T(C) C = leaves of tree T(C) (several heuristics to fathom the tree)

slide-16
SLIDE 16

Empirical: Comparison to Divide & Conquer

  • 1. for any row k of Ax ≤ b, compute Ck (incr. poly time)
  • 2. store only ⊆–minimal sets of Ck

[Lawler, Lensta, Rinnooy Kan ’80, Bartusch ’84]

∅ CPU (sec.)

  • max. CPU (sec.)

Divide & Conquer 2.19 102.0 Computation of T(C) 0.01 0.2

480 scheduling instances with 30 jobs and 4 resources

slide-17
SLIDE 17

Analysis: Special cases

Scheduling application with one resource type i j k i ≺ j k ≺ j       · · · 1 1 1 1 · · · a1 ≥ · · · ≥ an           x1 x2 . . . xn     ≤       1 1 . . . 1 b       Task: Enumerate all min. infeas. x ∈ {0, 1}n Theorem. Our enumeration algorithm can be imple- mented to do this in incremental polynomial time.

slide-18
SLIDE 18

Analysis [contd.]

Proof idea.

∅ 1 2 3 3 4 4

T(C) 1) Any infeas. set in T(C) is

  • min. infeasible.

2) At any node, poly(n) test decides if infeasible descendant exists (max. weight anti-chain!) 3) put all together. . .

slide-19
SLIDE 19

Discussion

  • Surprising: minimal infeasible x harder than maximal feasible x for Ax ≤ b
  • Related: (generalized) dualization of hypergraphs

[e.g., Endre Boros et. al.]

  • Open: ∃ Poly-time enumeration algorithm for general scheduling problem?
slide-20
SLIDE 20

Complexity of Counting Problems

Given V and an implicit description of C ⊆ 2V , |C| = c.

  • Membership in #P: c can be determined by counting the

accepting computations of a nondet. poly-time Turing machine

  • #P-hardness:

Computation of c yields a solution for any problem in #P (typically: parsimonious reduction)

  • #P-complete problems: Counting hamiltonian cycles or perfect

matchings in a bipartite graph