Thank you very much for your guidance. I solved the problem. Best Regards
Carlos On Wed, Mar 16, 2011 at 23:28, Ray Zimmerman <[email protected]> wrote: > No, it doesn't make sense to have bids without dispatchable loads. What > would the bids correspond to if there are no dispatchable resources on the > demand side of the market? > > Again, to me, specifying the power factor for everything doesn't make > sense. But if you insist, then you'll have to do what I said before, create > an A matrix with constant power factor constraints for the actual generators > only, not including the dispatchable loads (which already have their own > constant power factor constraints created automatically by MATPOWER). > > -- > Ray Zimmerman > Senior Research Associate > 211 Warren Hall, Cornell University, Ithaca, NY 14853 > phone: (607) 255-9645 > > > > On Mar 16, 2011, at 12:25 PM, Carlos Gonzalez Almeida wrote: > > Yes. without converting loads to dispatchable loads is it possible to > insert bids? if yes how? > > my problem is this, with only offers I can do runmarket but with both > offers and bids I cannot do runmarket with specified PF. How can I do this? > > On Wed, Mar 16, 2011 at 17:21, Ray Zimmerman <[email protected]> wrote: > >> It doesn't matter what the power factor is, you cannot give two >> conflicting power factor constraints for a dispatchable load. There is one >> that is created automatically by MATPOWER from the Q/P ratio of the load ( >> QMIN/PMIN) and the other you are adding explicitly. If the one you >> specify explicitly is different from the one automatically created by >> MATPOWER, then you have made the problem infeasible and it will not work. If >> they are the same then you have added redundant constraints that could >> potentially cause numerical issues. >> >> So, for loads, set the power factor directly by setting the P and Q in the >> bus matrix (or gen matrix if you are not using load2disp) and do not add >> explicit power factor constraints via the *A* matrix. >> >> -- >> Ray Zimmerman >> Senior Research Associate >> 211 Warren Hall, Cornell University, Ithaca, NY 14853 >> phone: <%28607%29%20255-9645>(607) 255-9645 >> >> >> >> On Mar 16, 2011, at 12:00 PM, Carlos Gonzalez Almeida wrote: >> >> Thank you very much for your help. >> >> for any power factor(0.85,0.95,0.9, ....) I have this problem. The value >> of PF is not important for me. The important thing is that I cannot do >> runmarket with the specified power factor as I want. >> >> Best Regards >> >> Carlos >> >> On Wed, Mar 16, 2011 at 16:51, Ray Zimmerman <[email protected]> wrote: >> >>> The problem here is that you've made the problem infeasible by adding >>> conflicting constraints. Remember, dispatchable loads are implemented as >>> generators (with PMAX = 0 and PMIN < 0). Each dispatchable load already has >>> a constant power factor constraint, included automatically by MATPOWER, that >>> keeps the Q/P ratio equal to the original ratio. This ratio is not zero for >>> the loads in case9, but you have added another constraint to these >>> "generators" trying to force the power factor to equal 1 (Q/P ratio = 0) and >>> these constraints conflict. You need to modify *A*, *l* and *u*, to only >>> include rows for the original generators, not the dispatchable loads. Check >>> out the isload function to help you find which are the real gens. >>> >>> I still question why forcing the power factor to equal 1 for all >>> generators except the reference gen is so important to you. Are any real >>> power systems ever operated under such constraints? >>> >>> -- >>> Ray Zimmerman >>> Senior Research Associate >>> 211 Warren Hall, Cornell University, Ithaca, NY 14853 >>> phone: <%28607%29%20255-9645> <%28607%29%20255-9645>(607) 255-9645 >>> >>> >>> >>> On Mar 16, 2011, at 7:04 AM, Carlos Gonzalez Almeida wrote: >>> >>> Dear Prof. Zimmerman >>> >>> I want to do runmarket with following offers and bids also with PF=1 for >>> generators and the following error is occurred. >>> Could you please help me? >>> >>> *define_constants; >>> mpc0= loadcase('case9'); >>> mpc = load2disp(mpc0); >>> offers.P.qty = [200; 150; 180]; >>> offers.P.prc = [30; 40; 50]; >>> bids.P.qty = [70; 70; 70]; >>> bids.P.prc = [100; 90; 80]; >>> mkt.OPF = 'AC'; >>> nb = size(mpc.bus, 1); >>> ng = size(mpc.gen, 1); >>> pf = 1; >>> QPratio = sqrt(1/pf^2 -1); >>> mpc.A = sparse([1:ng 1:ng]', [2*nb+(1:ng) 2*nb+ng+(1:ng)]', >>> [QPratio*ones(ng,1); -ones(ng,1)], ng, 2*nb+2*ng); >>> mpc.A = mpc.A(2:end, :); >>> mpc.l = zeros(ng-1, 1); >>> mpc.u = mpc.l; >>> [r, co, cb] = runmarket(mpc, offers, bids, mkt);* >>> >>> Results >>> >>> *Warning: Matrix is singular to working precision. >>> > In mips at 422 >>> In mipsopf_solver at 145 >>> In opf_execute at 106 >>> In opf at 225 >>> In uopf at 154 >>> In smartmkt at 90 >>> In runmarket at 141 >>> Warning: Matrix is singular to working precision. >>> > In mips at 422 >>> In mipsopf_solver at 145 >>> In opf_execute at 106 >>> In opf at 225 >>> In uopf at 154 >>> In smartmkt at 90 >>> In runmarket at 141 >>> >>> SMARTMARKET: non-convergent UOPF??? Error using ==> mtimes >>> Inner matrix dimensions must agree. >>> >>> Error in ==> smartmkt at 170 >>> price = mkt.lim.P.max_offer * ones(ng, 1); >>> >>> Error in ==> runmarket at 141 >>> [co, cb, r, dispatch, success] = smartmkt(mpc, offers, bids, mkt, mpopt); >>> * >>> >>> Best Wishes >>> >>> Carlos >>> >>> >>> >> >> >> Best Wishes >> >> C. Gonzalez Almeida >> >> >> > > > Best Wishes > > C. Gonzalez Almeida > > > Best Wishes C. Gonzalez Almeida
