I would also mention, for those who are interested, that version 5.1 of MATPOWER includes a wrapper function mplinsolve() <http://www.pserc.cornell.edu//matpower/docs/ref/matpower5.1/mplinsolve.html> that allows you to choose between different linear solvers for computing the Newton update step in the MIPS interior-point OPF algorithm. Currently this includes only Matlab’s built-in \ operator or the optional PARDISO.
If I remember correctly, for the Newton-Raphson power flow, I stuck with using Matlab’s \ operator directly rather than mplinsolve() <http://www.pserc.cornell.edu//matpower/docs/ref/matpower5.1/mplinsolve.html>, because even for the largest systems I tried, there was little or no advantage to PARDISO, and the extra overhead was noticeable on small systems. Ray > On Oct 19, 2015, at 1:05 AM, Shruti Rao <[email protected]> wrote: > > Thank you Dr. Abhyankar for the guidance. I appreciate your time and effort. > > Shruti > > On Sun, Oct 18, 2015 at 10:02 PM, Abhyankar, Shrirang G. <[email protected] > <mailto:[email protected]>> wrote: > Shruti, > MATPOWER does use “\” operator for the linear solves. However note that, > internally, MATLAB does perform some sort of matrix reordering to reduce the > fill-ins in the factored matrix. For instance, UMFPACK uses an approximate > minimum degree reordering scheme by default. > > Shri > > From: Shruti Rao <[email protected] <mailto:[email protected]>> > Reply-To: MATPOWER discussion forum <[email protected] > <mailto:[email protected]>> > Date: Sunday, October 18, 2015 at 8:31 PM > To: MATPOWER discussion forum <[email protected] > <mailto:[email protected]>> > Subject: Re: Question about sparsity-based implementation in MATPower > > Thank you Dr. Abhyakar, > > My main aim was to confirm that MATPower uses the inbuilt "\" to solve the > matrix equations and not Tinney or some other form of reordering and then LU > factorization followed by forward,backward substitutions. From your response > I assume that it is true that MATpower uses "\" right? > > Thank you for your response. > > > > On Sun, Oct 18, 2015 at 6:27 PM, Abhyankar, Shrirang G. <[email protected] > <mailto:[email protected]>> wrote: > Hi Shruti, > The direct linear solver used by MATLAB depends on the symmetry of the > Jacobian matrix. For MATPOWER test cases that have symmetric Jacobians (due > to inactive taps), a Cholesky factorization is used (LL^T = A). For cases > that lead to non-symmetric Jacobian, MATLAB uses UMFPACK for performing the > linear solve. > > Shri > > From: Shruti Rao <[email protected] <mailto:[email protected]>> > Reply-To: MATPOWER discussion forum <[email protected] > <mailto:[email protected]>> > Date: Sunday, October 18, 2015 at 5:37 PM > To: MATPOWER discussion forum <[email protected] > <mailto:[email protected]>> > Subject: Question about sparsity-based implementation in MATPower > > Greetings MATPower community, > > I had a question about the way sparsity-based techniques are used in the > Newton-Raphson solver of the power flow algorithm in MATPower. > > I ran the code step-by-step and from my understanding, the way the sparsity > of the Jacobian matrix is exploited is that it is created as a MATLAB > "sparse" matrix wherein only the non-zeros are stored with the respective > matrix positions and then the MATLAB operator "\" is invoked while > calculating dx = -(J \ F); where J is the Jacobian and F is the vector of > mismatches. > > MATLAB "\" by default exploits the sparsity of the matrix by using a LU > solver. The kind of solver "\" uses actually depends on the matrix structure > if it is diagonal/tridiagonal/banded and so on (Flowchart obtained from > Mathworks website attached in the email). I assume based on the typical > structure of the Jacobian that an LU solver is most likely to be chosen. > > Is my understanding correct or am I missing something out? Thank you for your > time and effort. > > > -- > Best Regards, > Shruti Dwarkanath Rao > > Graduate Research Assistant > School of Electrical, Computer and Energy Engineering > Arizona State University > Tempe, AZ, 85281 > 650 996 0116 <tel:650%20996%200116> > > > -- > Best Regards, > Shruti Dwarkanath Rao > > Graduate Research Assistant > School of Electrical, Computer and Energy Engineering > Arizona State University > Tempe, AZ, 85281 > 650 996 0116 <tel:650%20996%200116> > > > -- > Best Regards, > Shruti Dwarkanath Rao > > Graduate Research Assistant > School of Electrical, Computer and Energy Engineering > Arizona State University > Tempe, AZ, 85281 > 650 996 0116
