Lec02 feasibility problems

16

Click here to load reader

Transcript of Lec02 feasibility problems

Page 1: Lec02 feasibility problems

Lecture 2: Feasibility Problems

Wai-Shing Luk (陆伟成)

Fudan University

2012年 8月 11日

W.-S. Luk (Fudan Univ.) Lecture 2: Feasibility Problems 2012年 8月 11日 1 / 6

Page 2: Lec02 feasibility problems

Feasibility Problems

Feasible Flow Problem:

Find a flow x such that:

c− ≤ x ≤ c+ (element-wise)

AT · x = b, b(V ) = 0

Can be solved efficiently using:

Painted network algorithm

Minty’s algorithm

If no feasible solution, return

a “negative cut”.

Feasible Potential Problem:

Find a potential u such that:

d− ≤ y ≤ d+ (element-wise)

A · u = y

Can be solved efficiently using:

Bellman-Ford algorithm

If no feasible solution, return

a “negative cycle”.

W.-S. Luk (Fudan Univ.) Lecture 2: Feasibility Problems 2012年 8月 11日 2 / 6

Page 3: Lec02 feasibility problems

Examples

Genome-scale reaction network

[?] (primal)

A: Stoichiometric matrix

S

x : reactions between

metabolites/proteins

c− ≤ x ≤ c+: constraints

on reaction rates

Timing constraints

(co-domain)

AT : incident matrix of

timing constraint graph

u: arrival time of clock

y : clock skew

d− ≤ y ≤ d+: setup- and

hold-time constraints

W.-S. Luk (Fudan Univ.) Lecture 2: Feasibility Problems 2012年 8月 11日 3 / 6

Page 4: Lec02 feasibility problems

Feasibility Flow Problem

Theorem

The problem has a feasible solution if and only if b(S) ≤ c+(Q) for all

cuts Q = [S ,S ′] where c+(Q) = upper capacity [?, p. 56].

Proof.

(if part) Let q = A · k be a cut vector (oriented) of Q. Then

c− ≤ x ≤ c+

=> qT x ≤ c+(Q)

=> (A · k)T x ≤ c+(Q)

=> kTAT x ≤ c+(Q)

=> kTb ≤ c+(Q)

=> b(S) ≤ c+(Q)W.-S. Luk (Fudan Univ.) Lecture 2: Feasibility Problems 2012年 8月 11日 4 / 6

Page 5: Lec02 feasibility problems

Feasibility Flow Problem

Theorem

The problem has a feasible solution if and only if b(S) ≤ c+(Q) for all

cuts Q = [S ,S ′] where c+(Q) = upper capacity [?, p. 56].

Proof.

(if part) Let q = A · k be a cut vector (oriented) of Q. Then

c− ≤ x ≤ c+

=> qT x ≤ c+(Q)

=> (A · k)T x ≤ c+(Q)

=> kTAT x ≤ c+(Q)

=> kTb ≤ c+(Q)

=> b(S) ≤ c+(Q)W.-S. Luk (Fudan Univ.) Lecture 2: Feasibility Problems 2012年 8月 11日 4 / 6

Page 6: Lec02 feasibility problems

Feasibility Flow Problem

Theorem

The problem has a feasible solution if and only if b(S) ≤ c+(Q) for all

cuts Q = [S ,S ′] where c+(Q) = upper capacity [?, p. 56].

Proof.

(if part) Let q = A · k be a cut vector (oriented) of Q. Then

c− ≤ x ≤ c+

=> qT x ≤ c+(Q)

=> (A · k)T x ≤ c+(Q)

=> kTAT x ≤ c+(Q)

=> kTb ≤ c+(Q)

=> b(S) ≤ c+(Q)W.-S. Luk (Fudan Univ.) Lecture 2: Feasibility Problems 2012年 8月 11日 4 / 6

Page 7: Lec02 feasibility problems

Feasibility Flow Problem

Theorem

The problem has a feasible solution if and only if b(S) ≤ c+(Q) for all

cuts Q = [S ,S ′] where c+(Q) = upper capacity [?, p. 56].

Proof.

(if part) Let q = A · k be a cut vector (oriented) of Q. Then

c− ≤ x ≤ c+

=> qT x ≤ c+(Q)

=> (A · k)T x ≤ c+(Q)

=> kTAT x ≤ c+(Q)

=> kTb ≤ c+(Q)

=> b(S) ≤ c+(Q)W.-S. Luk (Fudan Univ.) Lecture 2: Feasibility Problems 2012年 8月 11日 4 / 6

Page 8: Lec02 feasibility problems

Feasibility Flow Problem

Theorem

The problem has a feasible solution if and only if b(S) ≤ c+(Q) for all

cuts Q = [S ,S ′] where c+(Q) = upper capacity [?, p. 56].

Proof.

(if part) Let q = A · k be a cut vector (oriented) of Q. Then

c− ≤ x ≤ c+

=> qT x ≤ c+(Q)

=> (A · k)T x ≤ c+(Q)

=> kTAT x ≤ c+(Q)

=> kTb ≤ c+(Q)

=> b(S) ≤ c+(Q)W.-S. Luk (Fudan Univ.) Lecture 2: Feasibility Problems 2012年 8月 11日 4 / 6

Page 9: Lec02 feasibility problems

Feasibility Flow Problem

Theorem

The problem has a feasible solution if and only if b(S) ≤ c+(Q) for all

cuts Q = [S ,S ′] where c+(Q) = upper capacity [?, p. 56].

Proof.

(if part) Let q = A · k be a cut vector (oriented) of Q. Then

c− ≤ x ≤ c+

=> qT x ≤ c+(Q)

=> (A · k)T x ≤ c+(Q)

=> kTAT x ≤ c+(Q)

=> kTb ≤ c+(Q)

=> b(S) ≤ c+(Q)W.-S. Luk (Fudan Univ.) Lecture 2: Feasibility Problems 2012年 8月 11日 4 / 6

Page 10: Lec02 feasibility problems

Feasibility Potential Problem

Theorem

The problem has a feasible solution if and only if d+(P) ≥ 0 for all cycles

P where d+(P) = upper span [?, p. ??].

Proof.

(if part) Let τ be a path indicator vector (oriented) of P. Then

d− ≤ y ≤ d+

=> τT y ≤ d+(P)

=> τT (A · u) ≤ d+(P)

=> (AT τ)Tu ≤ d+(P)

=> (∂P)Tu ≤ d+(P)

=> 0 ≤ d+(P)W.-S. Luk (Fudan Univ.) Lecture 2: Feasibility Problems 2012年 8月 11日 5 / 6

Page 11: Lec02 feasibility problems

Feasibility Potential Problem

Theorem

The problem has a feasible solution if and only if d+(P) ≥ 0 for all cycles

P where d+(P) = upper span [?, p. ??].

Proof.

(if part) Let τ be a path indicator vector (oriented) of P. Then

d− ≤ y ≤ d+

=> τT y ≤ d+(P)

=> τT (A · u) ≤ d+(P)

=> (AT τ)Tu ≤ d+(P)

=> (∂P)Tu ≤ d+(P)

=> 0 ≤ d+(P)W.-S. Luk (Fudan Univ.) Lecture 2: Feasibility Problems 2012年 8月 11日 5 / 6

Page 12: Lec02 feasibility problems

Feasibility Potential Problem

Theorem

The problem has a feasible solution if and only if d+(P) ≥ 0 for all cycles

P where d+(P) = upper span [?, p. ??].

Proof.

(if part) Let τ be a path indicator vector (oriented) of P. Then

d− ≤ y ≤ d+

=> τT y ≤ d+(P)

=> τT (A · u) ≤ d+(P)

=> (AT τ)Tu ≤ d+(P)

=> (∂P)Tu ≤ d+(P)

=> 0 ≤ d+(P)W.-S. Luk (Fudan Univ.) Lecture 2: Feasibility Problems 2012年 8月 11日 5 / 6

Page 13: Lec02 feasibility problems

Feasibility Potential Problem

Theorem

The problem has a feasible solution if and only if d+(P) ≥ 0 for all cycles

P where d+(P) = upper span [?, p. ??].

Proof.

(if part) Let τ be a path indicator vector (oriented) of P. Then

d− ≤ y ≤ d+

=> τT y ≤ d+(P)

=> τT (A · u) ≤ d+(P)

=> (AT τ)Tu ≤ d+(P)

=> (∂P)Tu ≤ d+(P)

=> 0 ≤ d+(P)W.-S. Luk (Fudan Univ.) Lecture 2: Feasibility Problems 2012年 8月 11日 5 / 6

Page 14: Lec02 feasibility problems

Feasibility Potential Problem

Theorem

The problem has a feasible solution if and only if d+(P) ≥ 0 for all cycles

P where d+(P) = upper span [?, p. ??].

Proof.

(if part) Let τ be a path indicator vector (oriented) of P. Then

d− ≤ y ≤ d+

=> τT y ≤ d+(P)

=> τT (A · u) ≤ d+(P)

=> (AT τ)Tu ≤ d+(P)

=> (∂P)Tu ≤ d+(P)

=> 0 ≤ d+(P)W.-S. Luk (Fudan Univ.) Lecture 2: Feasibility Problems 2012年 8月 11日 5 / 6

Page 15: Lec02 feasibility problems

Feasibility Potential Problem

Theorem

The problem has a feasible solution if and only if d+(P) ≥ 0 for all cycles

P where d+(P) = upper span [?, p. ??].

Proof.

(if part) Let τ be a path indicator vector (oriented) of P. Then

d− ≤ y ≤ d+

=> τT y ≤ d+(P)

=> τT (A · u) ≤ d+(P)

=> (AT τ)Tu ≤ d+(P)

=> (∂P)Tu ≤ d+(P)

=> 0 ≤ d+(P)W.-S. Luk (Fudan Univ.) Lecture 2: Feasibility Problems 2012年 8月 11日 5 / 6

Page 16: Lec02 feasibility problems

Remarks

The only-if part of the proof is constructive. It can be done by

constructing an algorithm to obtain the feasible solution.

d+ could be infinity or zero, etc.

By adding reverse edges for every edges, the feasible potential

problem can reduce to an elementary one:

Find a potential u such that

y ′ ≤ d , (element-wise)

A′u = y ′

where A′ is the incident matrix of the modified network.

W.-S. Luk (Fudan Univ.) Lecture 2: Feasibility Problems 2012年 8月 11日 6 / 6