100 likes | 182 Views
What I am doing?. Working on a specialized solver for ST and new nonconvex problems. What are the options? Traditional : like PATH (next slide) Novel method : Reformulate the problem as convex QP (for linearized friction) or convex SQP (for quadratic friction). PATH-like solver (1).
E N D
What I am doing? • Working on a specialized solver for ST and new nonconvex problems. • What are the options? • Traditional : like PATH (next slide) • Novel method : Reformulate the problem as convex QP (for linearized friction) or convex SQP (for quadratic friction)
PATH-like solver (1) • Newton method with FB function • Need “crash” procedure : to quickly “guess” Newton’s initial point (very important). I think we may be able to exploit physical interpretations to have a better crash procedure
PATH-like solver (2) • Need a good sparse solver for KKT condition every Newton step. Essentially, just a good sparse solver for Ax=b. • It looks simple but actually very complicated: • A could be large ( in the thousands of columns) • Taking inverse(A) is out of question (numerical, inverse(A) may not be sparse anymore, etc..) • So we will have to solve by factorize • (Next slides)
PATH-like solver (3) • Solve Ax=b by factorization • A = L*U : Good for even non PSD A. <- Can try this to solve ST • A = L*D*U: Same but numerically better. Can have rank-revealing (i.e approximate rank(A) so we can avoid degeneracy pivot: <- This is what Todd mentioned in his email) • A = L*L’ or L*D*L’ (Cholesky factorization) : A must be PD or Positive Indefinite.
Cholesky factorization • A = L*L’ or L*D*L’ • This is the one I spent most of my time on. It should be able to solve our “iterative” approaches if we reformulate as convex QP. • I’ve been working on a convex QP solver. • There are two main factors in QP solver: • Interior point method or Barrier method • Factorization
Convex QP solver • Right now I use OOQP (Steve Wright, Wisc) which use primal-dual interior point algorithm of Mehrotra-Gondzio method. • For factorization: HSL MA57, in process of adding: • MA77: one of the best factorization code • CHOLMOD: 2nd best, free and opensource • SuperLU: opensource and can run in parallel • LUSOL: The one in PATH.
Convex QP solver • Hope you get the big picture • What can we contribute? • Normally, 90% of computation lies on factorization • Every step have to factorize (huge) A. • We can exploit physical interpretation to factorize A incrementally. So each step, we only need to update a small portion of A and still get a good estimate of A factorization. • We can have a parallel solver for ST and nonconvex problem.
What next for me? • QP solver • Setup ST and nonconvex methods and experiment QP solver with it.
What else? • Prof Steve Wright has been very helpful • I tried my modified QP solver on a problem with square matrix of 100.000 columns and it solves in about 1 minute.
Default QP formulation min f(x) = c_0 + c^T x + 1/2 x^T Q x subject to A x = b, d <= Cx <= f l <= x <= u.