Lec02 feasibility problems
Click here to load reader
-
Upload
danny-luk -
Category
Technology
-
view
195 -
download
3
Transcript of 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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