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 <[email protected]> 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 : [email protected]
>
>
> On Thu, May 15, 2014 at 7:01 AM, Gamze Dogan <[email protected]> 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.
>
>