BT8118 – Adv. Topics in Systems Biology Prof. Eivind Almaas Dept. of Biotechnology, NTNU
More than simplex… Simplex algorithm is powerful and often among the fastest available However: it is not useful for non-linear programming it is not fastest for very large problems Remember: Simplex method ONLY selects among Basic Feasible Solutions Basic variables are non-zero, Non-basic variables are all zero Alternative: Interior Point Methods
Interior point methods Idea: 1. Follow interior path towards optimum from starting point 2. AVOID the boundary 3. Many possible approaches exist to follow an “interior” path
Interior point methods: Central path Linear program: Barrier function or auxiliary objective functions: Slack variable Q: What happens when μ is zero?
Barrier function Q: Draw this function … Answer: is strictly concave Example: f(x) = x + log(5-x)
Barrier function and central path Maximum of is defined as Central path defined as:
Interior point algorithm Start with large value for μ Find approximate value for Reduce value for μ and repeat 2. Note: Resulting optimal point is the analytic center of all optimal solutions!
MatLab examples Solve using (A) simplex and (B) interior point algorithms Example 1: Example 2: Q: What is analytic center of optimal solutions? (x1,x2) = (1.5,2)
Interior point method, and equational form LP Linear program: Barrier function or auxiliary objective functions: Q: Explain why this barrier function?
Sensitivity analysis, part II Shadow price: Reduced cost: PhPP defined using Shadow Prices
Complementary slackness (D) The complementary slackness condition is: Or equivalently, with xs and ys as explicit slack variables
Complementary slackness: Interpretation Optimality can only be achieved when the condition of complementary slackness holds. Consequently: conditions for optimality simply consists of Primal feasibility Dual feasibility Complementary slackness These conditions valid for optimality not only in LP, but also in non-linear programming! (the Karush-Kuhn-Tucker conditions)
Complementary slackness Proof
Geometrical Interpretation Linear program: Primal Feasibility: Dual Feasibility: Complementary slackness:
Geometrical Interpretation… Introduce dual slack variables: New optimality conditions: Primal feasibility: ……….. Dual feasibility: …………. Complementary slackness:
Geometrical Interpretation… We may re-write the dual feasibility condition in matrix form: Note: The vectors in front of dual variables correspond to normal vectors of primal constraints! Each dual variable corresponds to one constraint Non-binding primal constraint corresponding dual variable zero. The optimality conditions optimal solution at basic feasible solutions where pos. lin. comb. of normals may generate c.
Sensitivity analysis
Quick summary of course
FBA idea Most used (and only currently realistic) method for modeling genome-scale metabolism Based on: List of all possible reactions Mass conservation Steady-state Optimization of a cellular objective
Experiment: E. coli growth on glycerol Study adaptive growth of E. coli on glycerol: 60-day experiment Three independent populations: E1 & E2 @ T=30C; E3 @ T=37C Initially sub-optimal performance glycerol R.U. Ibarra, J.S. Edwards & B.O. Palsson, Nature 420, 186 (2002)
Principles of metabolic reconstruction Thiele & Palsson, Nature Protcols, 5:95 (2010)
Linear programming Basic feasible solutions == vertices in solution space Simplex algorithm is method to move between basic feasible solutions We use slack variables and auxiliary linear program to obtain equational form and starting point for the simplex algorithm.
Simplex algorithm
Hit-and-run method Algorithm: Find random starting point in null space (red) Pick random direction Move in random direction until boundary is hit. Specular reflection from boundary After k reflections, randomize direction Store coordinates every time distance d is traversed since last sample point. Why not Monte Carlo sampling? …
Flux Variability Analysis
Minimization of Metabolic Adjustment (MoMA)
Bilevel optimization Engineering Biology
Duality theorem of LP
Assessment of sensitivity of objective function Phenotype Phase-Plane (PhPP) Analysis Central tool for PhPP: Assessment of sensitivity of objective function What is response of objective function Z to Changes in internal fluxes? reduced costs Changes in the bounds vector? shadow price
Interior point methods Idea: 1. Follow interior path towards optimum from starting point 2. AVOID the boundary 3. Many possible approaches exist to follow an “interior” path
Complementary slackness: Interpretation Optimality can only be achieved when the condition of complementary slackness holds. Consequently: conditions for optimality simply consists of Primal feasibility Dual feasibility Complementary slackness These conditions valid for optimality not only in LP, but also in non-linear programming! (the Karush-Kuhn-Tucker conditions)