I am sorry for asking many questions. Considering active and reactive offer and bid quantities, how can I set Qmin=Qmax=0? Is it possible?
Are these two sentences are equal: QMIN = QMAX = 0 && doing runmarket without reactive offers and bids? I didn't understand exactly in which either I have to set QMIN = QMAX = 0 or offer and bid quantities for reactive power must be zero. Best Regards On Tue, Feb 21, 2012 at 19:55, Ray Zimmerman <[email protected]> wrote: > If you add a power factor constraint instead of setting QMIN = QMAX = 0, > then you should make sure that the corresponding QMIN and QMAX values and > reactive offer and bid quantities correspond to the available reactive > range specified by PMIN, PMAX and the power factor constraint. > > -- > Ray Zimmerman > Senior Research Associate > 419A Warren Hall, Cornell University, Ithaca, NY 14853 > phone: (607) 255-9645 > > > > > On Feb 21, 2012, at 1:49 PM, Dailan Xu wrote: > > Dear Prof. Zimmerman, > > Thank you so much. Can I constrain power factor, i.e set to, for example, > 0.9? I want to compare the results with and without considering reactive > power as optimization variable. > > Best Regards > > Dailan > > > On Tue, Feb 21, 2012 at 19:28, Ray Zimmerman <[email protected]> wrote: > >> If you want to no reactive power control (i.e. generators produce no >> reactive power), then the offer and bid quantities for reactive power must >> be zero. >> >> -- >> Ray Zimmerman >> Senior Research Associate >> 419A Warren Hall, Cornell University, Ithaca, NY 14853 >> phone: (607) 255-9645 >> >> >> >> >> On Feb 21, 2012, at 12:07 PM, Dailan Xu wrote: >> >> Dear Dr. Zimmerman, >> >> According to replies to one of the posts: You have written that in the >> case of without reactive power control I can set Qmax=Qmin. In my case that >> I have reactive and active offers and bids, how can I do this? I also want >> to compare the results with and without reactive power control. >> >> Best Regards >> >> D. Xu >> >> >> >> On Tue, Feb 21, 2012 at 16:40, Dailan Xu <[email protected]> wrote: >> >>> Dear Prof. Zimmerman, >>> >>> Thank you very much for your helpful comments. >>> >>> Best Regards >>> >>> Dailan >>> >>> >>> >>> On Tue, Feb 21, 2012 at 14:42, Ray Zimmerman <[email protected]> wrote: >>> >>>> Each dispatchable load has a fixed power factor (fixed Q/P ratio) that >>>> is determined by PMIN and either QMIN (negative) or QMAX (positive). Only >>>> one of QMIN and QMAX can be non-zero (in your data they are both non-zero). >>>> Let's suppose that for dispatchable load *k* that QMIN is the non-zero >>>> one. In this case, gen(k,QG) will always be negative and equal to gen(k,PG) >>>> * gen(k,QMIN)/gen(k,PMIN). This means that this unit always absorbs both >>>> real and reactive power, so it can have non-zero bids to buy both, but the >>>> offers to sell must be zero quantity (since PMAX and QMAX are both zero). >>>> So you must make sure that the bid quantities have the same ratio ... that >>>> is ... sum(bid.Q.qty(k,:)/sum(bid.P.qty(k,:)) must >>>> equal gen(k,QMIN)/gen(k,PMIN). >>>> >>>> -- >>>> Ray Zimmerman >>>> Senior Research Associate >>>> 419A Warren Hall, Cornell University, Ithaca, NY 14853 >>>> phone: (607) 255-9645 >>>> >>>> >>>> >>>> >>>> On Feb 20, 2012, at 4:38 PM, Dailan Xu wrote: >>>> >>>> Dear Dr. Zimmerman, >>>> >>>> I am so sorry I disturbed you again. >>>> >>>> When I set Qmax=0 , * *I get the following error #1 and all the Q/P >>>> ratios are constant and consistent with the offers and bids and when I set >>>> it to non-zero I get error #2. >>>> >>>> If you see the case study in 15 buses I have both generators and >>>> dispatchable loads i.e. buses {6 9 14 28 30 38 40 45 47 54 56 62 64 81 84}. >>>> >>>> If it is possible for you please see the files. >>>> >>>> Error #1: >>>> ??? Error using ==> off2case at 174 >>>> Qmax <= 0, reactive offer not allowed for gen 20 >>>> >>>> Error in ==> smartmkt at 74 >>>> [gen, genoffer] = off2case(mpc.gen, mpc.gencost, offers, bids, mkt.lim); >>>> >>>> Error in ==> runmarket at 141 >>>> [co, cb, r, dispatch, success] = smartmkt(mpc, offers, bids, mkt, >>>> mpopt); >>>> >>>> Error #2: >>>> >>>> ??? Error using ==> makeAvl at 73 >>>> makeAvl: either Qmin or Qmax must be equal to zero for each >>>> dispatchable load. >>>> >>>> Error in ==> opf_setup at 168 >>>> [Avl, lvl, uvl] = makeAvl(baseMVA, gen); >>>> >>>> Error in ==> opf at 219 >>>> om = opf_setup(mpc, mpopt); >>>> >>>> Error in ==> uopf at 128 >>>> [results, success] = opf(mpc, mpopt); >>>> >>>> Error in ==> smartmkt at 90 >>>> [r, success] = uopf(mpc2, mpopt); >>>> >>>> Error in ==> runmarket at 141 >>>> [co, cb, r, dispatch, success] = smartmkt(mpc, offers, bids, mkt, >>>> mpopt); >>>> >>>> Best Regards >>>> >>>> Dailan >>>> >>>> >>>> >>>> On Mon, Feb 20, 2012 at 22:10, Ray Zimmerman <[email protected]> wrote: >>>> >>>>> The error implies that there is a load that has a non-zero Q bid >>>>> quantity and a non-zero Q offer quantity. One of them must be zero. I.e. A >>>>> load is either always absorbing reactive power or always supplying it >>>>> (remember constant Q/P ratio). >>>>> >>>>> Ray >>>>> >>>>> On Feb 20, 2012, at 4:06 PM, Dailan Xu wrote: >>>>> >>>>> Dear Dr. Zimmerman, >>>>> >>>>> I have done all of your recommendation. But I get the following error. >>>>> I have attached the files that I have changed. >>>>> >>>>> ?? Error using ==> makeAvl at 73 >>>>> makeAvl: either Qmin or Qmax must be equal to zero for each >>>>> dispatchable load. >>>>> >>>>> Error in ==> opf_setup at 168 >>>>> [Avl, lvl, uvl] = makeAvl(baseMVA, gen); >>>>> >>>>> Error in ==> opf at 219 >>>>> om = opf_setup(mpc, mpopt); >>>>> >>>>> Error in ==> uopf at 128 >>>>> [results, success] = opf(mpc, mpopt); >>>>> >>>>> Error in ==> smartmkt at 90 >>>>> [r, success] = uopf(mpc2, mpopt); >>>>> >>>>> Error in ==> runmarket at 141 >>>>> [co, cb, r, dispatch, success] = smartmkt(mpc, offers, bids, mkt, >>>>> mpopt); >>>>> >>>>> Best Regards >>>>> >>>>> Dailan >>>>> >>>>> >>>>> >>>>> On Mon, Feb 20, 2012 at 21:53, Ray Zimmerman <[email protected]> wrote: >>>>> >>>>>> For the generators the reactive offer and bid quantities should be >>>>>> consistent with the QMAX and QMIN (if negative) parameters for the >>>>>> generator. For dispatchable loads, the ratio of P and Q is always >>>>>> constant >>>>>> (defined by PMIN and QMIN or QMAX, whichever is non-zero). The P and Q >>>>>> bid >>>>>> quantities must be consistent with (ratio must be the same) this ratio. >>>>>> >>>>>> -- >>>>>> Ray Zimmerman >>>>>> Senior Research Associate >>>>>> 419A Warren Hall, Cornell University, Ithaca, NY 14853 >>>>>> phone: (607) 255-9645 >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> On Feb 20, 2012, at 3:44 PM, Dailan Xu wrote: >>>>>> >>>>>> Dear Dr. zimmerman, >>>>>> >>>>>> Thank you so much. In my case, if you look at the file, I have 15 >>>>>> Generators and 29 dispatcahble loads in which 15 genarators are in the >>>>>> same >>>>>> place with dispatchable loads. I don't know how can I adjust Qmax and >>>>>> Qmin >>>>>> as one of them should be zero. After setting I got the following errors: >>>>>> >>>>>> ??? Error using ==> off2case at 174 >>>>>> Qmax <= 0, reactive offer not allowed for gen 17 >>>>>> >>>>>> Error in ==> smartmkt at 74 >>>>>> [gen, genoffer] = off2case(mpc.gen, mpc.gencost, offers, bids, >>>>>> mkt.lim); >>>>>> >>>>>> Error in ==> runmarket at 141 >>>>>> [co, cb, r, dispatch, success] = smartmkt(mpc, offers, bids, mkt, >>>>>> mpopt); >>>>>> >>>>>> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >>>>>> After changing Qmax I got these errors >>>>>> >>>>>> ??? Error using ==> makeAvl at 73 >>>>>> makeAvl: either Qmin or Qmax must be equal to zero for each >>>>>> dispatchable load. >>>>>> >>>>>> Error in ==> opf_setup at 168 >>>>>> [Avl, lvl, uvl] = makeAvl(baseMVA, gen); >>>>>> >>>>>> Error in ==> opf at 219 >>>>>> om = opf_setup(mpc, mpopt); >>>>>> >>>>>> Error in ==> uopf at 128 >>>>>> [results, success] = opf(mpc, mpopt); >>>>>> >>>>>> Error in ==> smartmkt at 90 >>>>>> [r, success] = uopf(mpc2, mpopt); >>>>>> >>>>>> Error in ==> runmarket at 141 >>>>>> [co, cb, r, dispatch, success] = smartmkt(mpc, offers, bids, mkt, >>>>>> mpopt); >>>>>> >>>>>> Best Regards >>>>>> >>>>>> D. Xu >>>>>> >>>>>> >>>>>> >>>>>> On Mon, Feb 20, 2012 at 21:13, Ray Zimmerman <[email protected]>wrote: >>>>>> >>>>>>> It's been a while since I looked at this code, but it appears that >>>>>>> there is a requirement that reactive bids and offers must have >>>>>>> *ng*rows, where >>>>>>> *ng* is equal to the total number of generators and dispatchable >>>>>>> loads together. >>>>>>> >>>>>>> -- >>>>>>> Ray Zimmerman >>>>>>> Senior Research Associate >>>>>>> 419A Warren Hall, Cornell University, Ithaca, NY 14853 >>>>>>> phone: (607) 255-9645 >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Feb 20, 2012, at 1:28 PM, Dailan Xu wrote: >>>>>>> >>>>>>> By adding reactive offers I get the following error, as I have >>>>>>> attached the files. >>>>>>> >>>>>>> Error using - >>>>>>> Matrix dimensions must agree. >>>>>>> >>>>>>> Error in auction (line 185) >>>>>>> clip = o.on .* (offers.prc - co.prc); >>>>>>> >>>>>>> Error in smartmkt (line 156) >>>>>>> [co.Q, cb.Q] = auction(Qoffer, Qbid, mkt.auction_type, >>>>>>> mkt.lim.Q, gtee_prc); >>>>>>> >>>>>>> Error in runmarket (line 141) >>>>>>> [co, cb, r, dispatch, success] = smartmkt(mpc, offers, bids, mkt, >>>>>>> mpopt); >>>>>>> >>>>>>> Error in ANM_3 (line 75) >>>>>>> [r,co,cb] = runmarket(mpc,offers,bids,mkt,mpoption); >>>>>>> >>>>>>> Best Regards >>>>>>> >>>>>>> Dailan >>>>>>> >>>>>>> >>>>>>> >>>>>>> ---------- Forwarded message ---------- >>>>>>> From: Dailan Xu <[email protected]> >>>>>>> Date: Mon, Feb 20, 2012 at 18:29 >>>>>>> Subject: Re: Reactive offers and bids >>>>>>> To: Ray Zimmerman <[email protected]> >>>>>>> >>>>>>> >>>>>>> Please look at this files. It is the simplified version of that I >>>>>>> sent you. I think the problem is this MATPOWER cannot solve reactive >>>>>>> bids >>>>>>> with more than 1 block per bid.Please help me. >>>>>>> >>>>>>> Reference to non-existent field 'Q'. >>>>>>> >>>>>>> Error in smartmkt (line 139) >>>>>>> nQo = size(offers.Q.qty, 2); >>>>>>> >>>>>>> Error in runmarket (line 141) >>>>>>> [co, cb, r, dispatch, success] = smartmkt(mpc, offers, bids, mkt, >>>>>>> mpopt); >>>>>>> >>>>>>> >>>>>>> Best Regards >>>>>>> >>>>>>> Dailan >>>>>>> >>>>>>> >>>>>>> On Mon, Feb 20, 2012 at 18:01, Dailan Xu <[email protected]>wrote: >>>>>>> >>>>>>>> Please don't write as a function. Please select all and push F9 and >>>>>>>> will get the error. When I run it for only active offers and bids >>>>>>>> there is >>>>>>>> no problem while by adding the reactive bids this problem is occurred. >>>>>>>> Best Regards >>>>>>>> >>>>>>>> D. Xu >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Mon, Feb 20, 2012 at 17:54, Ray Zimmerman <[email protected]>wrote: >>>>>>>> >>>>>>>>> I cannot reproduce your error. Here is what I get ... >>>>>>>>> >>>>>>>>> >> ANM_1 >>>>>>>>> >>>>>>>>> ans = >>>>>>>>> >>>>>>>>> 44 21 >>>>>>>>> >>>>>>>>> >>>>>>>>> ans = >>>>>>>>> >>>>>>>>> 44 8 >>>>>>>>> >>>>>>>>> >>>>>>>>> ans = >>>>>>>>> >>>>>>>>> 29 2 >>>>>>>>> >>>>>>>>> >>>>>>>>> ans = >>>>>>>>> >>>>>>>>> 29 2 >>>>>>>>> >>>>>>>>> >>>>>>>>> ans = >>>>>>>>> >>>>>>>>> 44 2 >>>>>>>>> >>>>>>>>> >>>>>>>>> ans = >>>>>>>>> >>>>>>>>> 44 2 >>>>>>>>> >>>>>>>>> >>>>>>>>> SMARTMARKET: non-convergent UOPFError using * >>>>>>>>> Inner matrix dimensions must agree. >>>>>>>>> >>>>>>>>> Error in smartmkt (line 174) >>>>>>>>> price = mkt.lim.P.max_offer * ones(ng, 1); >>>>>>>>> >>>>>>>>> Error in runmarket (line 141) >>>>>>>>> [co, cb, r, dispatch, success] = smartmkt(mpc, offers, bids, mkt, >>>>>>>>> mpopt); >>>>>>>>> >>>>>>>>> Error in ANM_1 (line 260) >>>>>>>>> [r, co, cb, f, dispatch, success, et] = >>>>>>>>> runmarket(mpc,offers,bids,mkt,mpoption); >>>>>>>>> >>>>>>>>> 174 price = mkt.lim.P.max_offer * ones(ng, 1); >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Ray Zimmerman >>>>>>>>> Senior Research Associate >>>>>>>>> 419A Warren Hall, Cornell University, Ithaca, NY 14853 >>>>>>>>> phone: (607) 255-9645 >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Feb 20, 2012, at 10:48 AM, Dailan Xu wrote: >>>>>>>>> >>>>>>>>> Dear Dr. Zimmerman, >>>>>>>>> >>>>>>>>> I want to do runmarket with active and reactive offers and bids. I >>>>>>>>> receive the following message: >>>>>>>>> >>>>>>>>> How can I solve the problem? I have attached the case files. >>>>>>>>> By the way, I do not want to distribute my case file because of >>>>>>>>> this reason I only sent to your email. >>>>>>>>> >>>>>>>>> Reference to non-existent field 'Q'. >>>>>>>>> >>>>>>>>> Error in smartmkt (line 139) >>>>>>>>> nQo = size(offers.Q.qty, 2); >>>>>>>>> >>>>>>>>> Error in runmarket (line 141) >>>>>>>>> [co, cb, r, dispatch, success] = smartmkt(mpc, offers, bids, mkt, >>>>>>>>> mpopt); >>>>>>>>> >>>>>>>>> Best Regards >>>>>>>>> >>>>>>>>> Dailan >>>>>>>>> >>>>>>>>> >>>>>>>>> <ANM_1.m><case84_newdispatch6_7.m> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> >>>>>>> <case84_newdispatch6_3.m><ANM_3.m> >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>> <case84_newdispatch6_8.m><ANM_3.m> >>>>> >>>>> >>>>> >>>> <case84_newdispatch6_8.m><ANM_3.m> >>>> >>>> >>>> >>> >> >> > >
