110 likes | 142 Views
This project proposal aims to enhance the Interior Point Method by introducing preconditioning techniques to improve numerical properties and convergence. By leveraging matrix factorization and iterative inverse development, the system will be validated using MATLAB and transitioned to C++ for efficiency. Additionally, the project seeks to apply the technique to distributed command and control optimization problems while exploring iterative solutions and advanced formulas like the Sherman-Morrison-Woodbury Formula. Testing will involve various optimization problems, including the classic AFIRO case.
E N D
Improving Performance of The Interior Point Methodby Preconditioning Project Proposal by: Ken Ryals For: AMSC 663-664 Fall 2007-Spring 2008
Background The IPM method solves a sequence of constrained optimization problems such that the sequence of solutions approaches the true solution from within the “valid” region. As the constraints are “relaxed” and the problem re-solved, the numerical properties of the problem often become more “interesting”. μ0
Application Why is the IPM method of interest? • It applies to a wide range of problem types: • Linear Constrained Optimization • Semidefinite Problems • Second Order Cone Problems • Once in the “good region” of a solution to the set of problems in the solution path (of µ ‘s): • Convergence properties are great (“quadratic”). • It keeps the iterates in the “valid” region. Specific Research Problem: • Optimization of Distributed Command and Control
Optimization Problem The linear optimization problem can be formulated follows: inf{ cTx | Ax = b}. The search direction is implicitly defined by the system: Δx + πΔz = r A Δx = 0 ATΔy + Δz = 0. For this, the Reduced Equation is: A π ATΔy = −Ar (= b) • From Δy we can get Δx = r − π( −ATΔy ). Note: The Nesterov-Todd direction corresponds to π = D⊗D, where: π z = x. i.e., Dis the metric geometric mean of Xand Z−1D = X½(X½ZX½)−½X½ x is the unknown y is the “dual” of x z is the “slack”
The Problem From these three equations, the Reduced Equations for Δy are: A π ATΔy = −Ar (= b) The optimization problem is “reduced” to solving a system of linear equations to generate the next solution estimate. Ifπcannot be evaluated with sufficient accuracy, solving these equations becomes pointless due to error propagation. Aside: Numerically, evaluating ‘r − πΔz’ can also be a challenge. Namely, if the iterates converge, then Δx (= r − πΔz) approaches zero, but r does not; hence the accuracy in Δx can suffer from problems, too.
Example: A Poorly-Conditioned Problem Consider a simple problem: Let’s change A1,1 to make it ill-conditioned: Constraint Matrix
Observations • The AD2ATcondition exhibits an interesting dip around iteration 4-5, when the solution enters the region of the answer. • How can we exploit whatever caused the dip? • The standard approach is to use factorization to improve numerical performance. • The Cholesky factorization is: UTU = AπAT • Factoring a matrix into two components often trades one matrix with a condition of “M” for two matrices with conditions of ≈“√M”. • My conjecture is that AAT andD2 interacted to lessen the impact of the ill conditioning in A ⇒Can we precondition with AATsomehow?
Conjecture - Math We are solving: A π ATΔy = −Ar A is not square, so it isn’t invertible; but AAT is… What if we pre-multiplied by it? (AAT)-1 A π ATΔy = − (AAT)-1 Ar Note: Conceptually, we have: = Since, thislookslike a similarity transform, it might have “nice” properties… − (AAT)-1 b − (AAT)-1 Ar (AT)-1π ATΔy (AAT)-1 A π ATΔy
Conjecture - Numbers Revisit the ill-conditioned simple problem, Condition of A π AT (π is D2) = 4.2e+014 Condition of (AAT) = 4.0e+014 Condition of (AAT)-1 A D2 AT = 63.053 (which is a little less than 1014) How much would it cost? AAT is m by m (m = # constraints) neither AAT or(AAT)-1 is likely to be sparse… Let’s try it anyway… (If it behaves nicely, it might be worth figuring out how to do it efficiently)
Experiment - Results It does work ☺ • The condition number stays low (<1000) instead of hovering in the 1014 range. It costs more ☹ • Need inverse of AATonce. • (AAT)-1 gets used every iteration. The inverse is needed later, rather than early in the process; thus, it could be iteratively developed during the iteration process… Solution enters region of “Newton” convergence
Project Proposal • Develop a system to for preconditioned IPM. • Create Matlab version to define structure of system. • Permits validation against SeDuMi and SPDT3 • Use C++ transition from Matlab to pure C++. • Create MEX modules from C++ code to use in Matlab • Apply the technique to the Distributed C2 problem • Modify the system to develop (A*AT)-1 iteratively or to solve the system of equations iteratively • Can we use something like the Sherman-Morrison-Woodbury Formula? (A - ZVT )-1 = A-1 + A-1Z(I - VTA-1Z)-1VTA-1 • Can the system can be solved using the Preconditioned Conjugate Gradient Method? • Time permitting, “parallel-ize” the system • Inverse generation branch, and • Iteration branch using current version of Inverse. Testing: Many test optimization problems can be found online “AFIRO” is a good start (used in AMSC 607 – Advanced Numerical Optimization)