Carlos, It appears that with such strict constraints on power factor it is no longer able to keep the voltages within limits. Notice when you run the case you sent with the PF set to 0.9, there are both upper and lower voltages limits binding.
-- Ray Zimmerman Senior Research Associate 211 Warren Hall, Cornell University, Ithaca, NY 14853 phone: (607) 255-9645 On Mar 17, 2011, at 12:35 PM, Carlos Gonzalez Almeida wrote: > Dear Prof. Zimmerman > > In the case provided in manual(t_auction_case), when I do runmarket (with the > attached offers and bids) with power factors between 0.5 to 0.9 there is no > problem but with the PF greater then 0.9 it doesn't work. If it is possible > could you please see it what is the reason? Please see the attached file > > Best Wishes > > C. Gonzalez Almeida > > > On Thu, Mar 17, 2011 at 10:47, Carlos Gonzalez Almeida > <[email protected]> wrote: > 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: (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: (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 > > <pf_constraint_eg1.m>
