Essentially correct … I will add a few more comments … 1. If the OPF still solves successfully (success = 1), then you can ignore the warning. If not, you should probably leave one generator’s active power output essentially unconstrained (like a slack bus) to allow for non-empty feasible space.
2. When using a non-zero PMIN value, you can use MATPOWER’s runuopf() function to include a simple heuristic that shuts down generators if that would improve the objective function. Ray On May 15, 2014, at 10:18 AM, Göktürk Poyrazoğlu <goktu...@buffalo.edu> wrote: > Hi Ms. Dogan, > > I will try to give some simple answers to your questions, yet if you need > more information, please don't hesitate to write back. > > For your first question, what you got as a message is not actually an error > message but kind of a warning. > The solution method of an OPF problem adopted in MATPOWER needs to get the > inverse of the matrix. This warning you got states that matrix is close to > singular (singular matrix is non-invertible) so that computationally you > cannot trust the inverse of a matrix, which is closed to singular. > I may suggest you to increase the interval you used for reactive power > generation. You may increase the value in 4th column of mpc.gen matrix and > decrease the value in 5th column of mpc.gen. This change will increase the > reactive power generation interval. > If that doesn't work, the reason of singularity might be the values you used > for Pmax and Pmin. You may want to change and try again. > > For your second question, the value you got (7,....e-06) can be treated as > zero. Exact zero in optimization problem is computationally difficult. > Generally, the solvers use a small epsilon value as a stopping criterion. In > other words, every number less than epsilon is actually zero. > Yet if I couldn't convince you, or if you want to have exact zero in the > generation, then I suggest you to use GEN_STATUS column(8th column) at > mpc.gen matrix to take the generator out of service. This will lead MATPOWER > not take that generator into account, so it will give you exact zero in the > generation. > For the second part of your question, if you want a generator to generate at > least 5MW, then change the value of PMIN (10th column) in mpc.gen matrix to > 5. But this constraint will force this generator to generate at least 5MW. As > far as I know, there is no way to tell MATPOWER; I want the status of a > generator to be OFF if the generation is less than 5MW and ON if the > generation is more than 5MW. I cannot help you on that. > > I hope those information are helpful. > Regards, > > > > > > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > Gokturk Poyrazoglu > Teaching Assistant | Student Assistant > Department of Electrical Engineering / The State University of New York at > Buffalo > 230V Davis Hall, Buffalo, NY 14260 > Phone : (716) 239 - 8095 > E-mail : goktu...@buffalo.edu > > > On Thu, May 15, 2014 at 7:01 AM, Gamze Dogan <gamgam...@hotmail.com> wrote: > Hi, I am new at using Matpower and I have two questions: > > 1. I tried to launch an OPF but I wanted it to only vary the reactive power > of the generators to get to a solution, thus I put Pmax, Pmin and Pg to the > same values. Apparently I cannot do that because I get the following error > message: > > > In mips at 422 > In mipsopf_solver at 145 > In opf_execute at 106 > In opf at 225 > In runopf at 96 > In MAIN at 190 > Warning: Matrix is close to singular or badly scaled. > Results may be inaccurate. RCOND = 2.164066e-019. > > > Do you know how to help me? > > > 2. I put a generator to 0 production and then I launch my OPF, the results > gave me for that generator a production of 7,00441667255350e-06 > My question is, how can I ask my OPF not to start a generator for a > production that low? Let's say that I want my OPF to start a generator for at > least a production of 5MW? > > Thank you for your help, > > Regards, > > G.D. > >