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: <%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

Reply via email to