The OPF problem is a continuous optimization problem for a single snapshot in time. Unfortunately, adding startup and shutdown costs turns it into a mixed integer problem, where the startup and shutdown costs depend on the changes in on/off status of the generators from one period to the next. So it is not just a simple matter of adding something to the existing cost function.
-- Ray Zimmerman Senior Research Associate B30 Warren Hall, Cornell University, Ithaca, NY 14853 phone: (607) 255-9645 On May 21, 2014, at 10:18 AM, Gamze Dogan <[email protected]> wrote: > Thank you for your answers, I have just a small question left, in the > Matpower4.1 manual when detailing the Generator Cost Data it is said that > startup and shutdown costs are not used by any Matpower function. > > Thus, I want to add this in the code but I could not find the function that > decides which unit to increase for the OPF resolution so that I can add it > has to take the startup costs into account when starting a new production. > > Thank you for your help, > > Gamze Dogan > > ________________________________ >> From: [email protected] >> Subject: Re: OPF problem >> Date: Fri, 16 May 2014 16:34:42 -0400 >> To: [email protected] >> >> 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]<mailto:[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]<mailto:[email protected]> >> >> >> On Thu, May 15, 2014 at 7:01 AM, Gamze Dogan >> <[email protected]<mailto:[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. >> >> >>
