8 | metabolic engineering strategies I Flashcards
What is the motivation behind coupling product formation to growth?
- force cell to produce desired compound as by-product of growth
- β ensures production is evolutionarily stable.
What is strong coupling in metabolic engineering?
KO strategy: product formation strongly coupled to growth (biomass production)
ensure any growth-supporting flux dist also produces product > threshold.
What is weak coupling?
Product is only formed at the optimal growth flux, not necessarily under all conditions.
What is the exhaustive KO strategy covered in lecture 8 on metabolic engineering?
- Try all possible subsets of knock-outs from the list of genes.
- Evaluate product yield or other objectives, solution = maximum of all maxima
Write the LP for an exhaustive knock out enumeration.
For every subset π β πΏ:
max π£πβππππππ
s.t.
ππ£ =0
βπ β π, π£π= 0,
βπ, π β π,π£ππππ β€ π£π β€ π£ππππ₯
π£πππ β₯ πΌπ§β
If we want sufficient high product yield to be at some level of biomass yield:
where π§β is the optimal growth.
What additional constraint ensures viability in exhaustive knock-out tests?
vbio β₯ Ξ± Β· z, where z is wild-type biomass flux
What are the limitations of exhaustive knock-out search?
- Combinatorial explosion: infeasible for large gene lists
- Cannot scale to full genome-wide searches
What is a bi-level optimization problem?
- One optimization problem (outer) depends on the solution of another (inner)
- I.e two nested optimizations
- The outer objective uses the result of the inner optimization
Why do bi-level problems appear in metabolic engineering?
- The outer problem wants to maximize product formation (engineer)
- The inner problem responds by optimizing its own growth (cell)
- The engineering strategy must account for the internal optimization
In OptKnock, what are the outer and inner problems?
- Outer: maximize vtarget (e.g. product formation) by choosing KOs
- Inner: maximize vbio (growth) given knock-outs
How are knock-outs encoded in OptKnock?
- Binary variable yi β {0, 1}
- yi = 1 β reaction is active
- yi = 0 β reaction is knocked out β vi = 0
- Use bounds: yi * vimin β€ vi β€ yi * vimax
What does the inner problem in a bi-level formulation depend on?
- The outer decision variables (e.g. knock-outs y)
- These change the feasible region for the inner problem
- The inner LP is parameterized by y
What makes OptKnock a mixed-integer bi-level program?
- Outer layer includes binary variables yi
- Inner problem is a linear program over flux variables v
- The feasible set for v depends on y
What is OptKnock?
- A bi-level MILP to find knock-outs that couple growth and production
- Automates the search for knock-out designs
How is the number of knock-outs restricted in OptKnock?
Add a constraint for K, the max allowed deletions: β(1βyi) β€ K
What is the full program for OptKnock (Burgard et al. (2003) Biotech. & Bioeng.)
max over y: vchemical
st:
max vbio
st:
N v = 0
for all i β€ 1 β€ m, yi Β· vimin β€ vi β€ yi Β· vimax
yi β {0, 1}
βi=1m(1βyi) β€ K
What does the inner problem in OptKnock represent?
The cellβs behavior: maximize biomass production given knock-outs
What does the outer problem in OptKnock represent?
The engineerβs goal: maximize product formation by choosing which knock-outs to apply
What assumptions does OptKnock make about the cell?
- The cell optimizes growth
- Product formation is only induced indirectly via knock-outs
Why are bi-level problems difficult to solve?
- The inner problem changes with each outer decision
- You canβt just solve them separately
- to nesting, discrete nature of int vars β problem non-convex, combinatorial
What does βcombinatorialβ mean in the context of bi-level optimization?
- refers to having to choose among many discrete combinations, eg KO sets
- Each combination may lead to a different inner solution
- possible combinations can grow very large - βcombinatorial explosionβ
- Can make problem hard to solve efficiently
Why canβt bi-level problems be solved directly?
Inner LP depends on outer variables β standard MILP solvers unable to handle it directly.
How can bi-level problems be solved in OptKnock?
Two approaches:
* By replacing the inner LP with its dual problem
* Apply Karush-Kuhn-Tucker (KKT) conditions (optimality) to connect primal, dual
What are the KKT conditions used to solve bi-level problems?
(not so relevant ! )
- Stationarity
- Primal feasibility
- Dual feasibility
- Complementary slackness
What is complementary slackness?
For each constraint:
* If itβs active, dual variable may be positive
* If itβs inactive, dual variable is zero
What are mixed-integer linear programs (MILPs)?
LPs with some variables required to be integers (e.g. binary knock-out indicators)
What is LP duality?
- Every LP has a dual problem
- The dual variables represent the shadow prices of the constraints
What is a shadow price in LP duality?
Each constraint in the primal has a shadow price.
* = The value of a dual variable corresponding to a primal constraint
* = how much objective function would improve if that constraint relaxed by 1 unit
* AKA marginal value of a resource
If you have n variables and m constraints in an LP, how many constraints will you have in its dual?
- m variables
- n constraints
What is the optimality property in LP duality?
Let π₯ be a feasible solution to a primal LP, and π be a feasible solution to the dual LP.
If πππ₯ = πππ then π₯ and π are optimal solutions to the primal and dual LPs, respectively.
What is the strong duality property in LP duality?
- If primal has finite optimal solution, then so does its dual, and these values are equal.
- ie maxπ₯ πππ₯ = minπ πππ
That means: - Solve the primal β get a value; Solve the dual β get a value. β
Both values are equal
This only holds if: - The primal or dual has a feasible solution (satisfies all constraints)
- The problem is bounded (no infinite solutions)
How do you convert a primal LP into its dual (without Lagrangian)?
- Each constraint in the primal becomes a variable in the dual
- Each variable in the primal becomes a constraint in the dual
- The primal objective coefficients become RHS values in the dual constraints
- The primal constraint matrix A is transposed in the dual
In LP duality, what happens to β₯ constraints in the primal?
- They become β€ constraints in the dual
- Their corresponding dual variables must be β₯ 0
What is the dual of this primal LP?
min cT x
s.t. Aineq x β₯ bineq
x β₯ 0
Aeq x = beq
max bineqT y1 + beqT y2
s.t. AineqT y1 + AeqT
y2 β€ c
y1 β₯ 0
Why is LP duality useful in OptKnock?
- Allows removing inner LP, replacing with constraints involving dual variables
- Converts the bi-level problem to a single-level MILP
What are two approaches to flattening bi-level optimization problems?
- LP duality: replace the inner LP with its dual and enforce strong duality
- KKT conditions: use stationarity, feasibility, and complementary slackness via the Lagrangian
Do LP duality and KKT methods give the same solution for bi-level LPs?
- Yes, they both produce the same optimal result
- They enforce optimality of the inner problem in different ways
Do LP duality and KKT produce the same flattened single-level program?
No, the formulations differ
* LP duality leads to a more compact and structured MILP
* KKT-based reformulations are often larger and more complex
What does it mean to βnot use the Lagrangian approachβ for duality?
- You should derive the dual using the standard LP rulebook, not calculus or KKT
- Donβt introduce Lagrange multipliers
- Just work structurally from constraint-to-variable transformation
For a primal minimization problem:
min cTx
s.t.
A x β₯ b
x β₯ 0
What would be the key steps to formulate the dual?
Follow the standard duality principles in optimization.
- Identify Primal Components:
- Assign Dual Variables:
- Formulate Dual Objective:
- Formulate Dual Constraints:
For a primal minimization problem:
min cTx
s.t.
A x β₯ b
x β₯ 0
What is the dual?
maxπ 4π
s.t
π = 0
Perplexity explanation:
Original (primal) problem:
Minimize y
st
y β₯ 0,
x + y β₯ 4.
1. Identify Primal Components:
Variables:
yβ₯0,
x (unrestricted).
Objective: Minimize y
Constraints: One explicit constraint
x+yβ₯4.
Assign Dual Variables:
Each primal constraint becomes a dual variable. Here, the constraint
x+yβ₯4 corresponds to a dual variable
Ξ»β₯0.
Formulate Dual Objective:
The dual objective is derived from the right-hand side of the primal constraint multiplied by Ξ»:
4Ξ».
Formulate Dual Constraints:
For each primal variable, create a dual constraint based on its sign:
For x (unrestricted): The coefficient of x in the primal constraint (1) forms an equality constraint in the dual: Ξ»=0.
For y (non-negative): The coefficient of y in the primal constraint (1) forms an inequality constraint: Ξ»β€1.
Combine Constraints:
The dual constraints are Ξ»=0, Ξ»β€1, and Ξ»β₯0.
Dual Problem:
Maximize 4Ξ»
subject to
Ξ»=0,
Ξ»β₯0,
Ξ»β€1.
Interpretation:
The only feasible solution for the dual is Ξ»=0, yielding an optimal value of 0 This matches the primal optimal value y=0 (achieved when xβ₯4), demonstrating strong duality.
Summary:
The dual LP is trivial in this case because the unrestricted variable x forces
Ξ»=0. This ensures the primal and dual optimal values align, satisfying the duality theorems in linear programming.
What is the simplified OptKnock reformulation/approximation from the exercise, often used computationally, which:
- Turns the bilevel OptKnock problem into a single-level MILP
- Focuses on minimizing the number of knockouts
- Adds a small constant Ξ΅ to soften knockouts
?
min β yi
s.t.
N v = 0
vbio β₯ Ξ± Β· z*
vtarget β₯ Ξ² Β· wtarget
v β₯ 0
β i:
β(1 β yi) Β· Ξ΅ β€ vi
βvi β€ (1 β yi) Β· vimax + yi Β· Ξ΅
y β {0,1}