As I've said before, I think the problem is that you have unrealistic 
expectations about the ability to operate a power system with strictly 
specified power factors on all generators. It is not reasonable to expect that 
an OPF with a constant power factor constraint on the generators will be 
feasible over any significant range of power factors.

-- 
Ray Zimmerman
Senior Research Associate
211 Warren Hall, Cornell University, Ithaca, NY 14853
phone: (607) 255-9645



On Mar 17, 2011, at 2:43 PM, Carlos Gonzalez Almeida wrote:

> Thank you. In your idea what changes should be carried out to do runmarket, 
> for the case pf set to 0.97 for example?
> 
> Best Regards
> Carlos
> 
> On Thu, Mar 17, 2011 at 19:35, Ray Zimmerman <[email protected]> wrote:
> 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>
> 
> 
> 
> 
> Best Wishes
> 
> C. Gonzalez Almeida

Reply via email to