For some reason, I think these are relatively numerically difficult cases for 
the plain vanilla interior point solvers implemented in MIPS and PDIPM, so they 
are able to solve some and not others. I’m not sure what to suggest, though you 
may get some clues by looking at the solution for a case that does solve. 
Looking at near-binding constraints and multipliers on binding constraints may 
give some insight.

In my experience, Knitro and Ipopt are often more robust for these difficult 
cases than MIPS or PDIPM. If you have access to a 32-bit Matlab, MINOPF may be 
even more robust.

   Ray

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

On Jul 20, 2014, at 5:07 AM, HEGGIE Alastair <[email protected]> wrote:

> Thanks Ray,
> 
> I didn't know there was a load2disp function.  That will be useful.
> 
> I have been able to get my original dispatchable load case to solve using 
> PDIPM. Comparing the results of this to the results using MIPS as you 
> suggested I find that we get less load shed in the MIPS solution (by about 
> 100 MW)
> 
> I expect that a major reason for the difference is the cost matrices, in 
> particular my peicewise linear costs reward the solver more for dispatching 
> the first 50% of a load. To verify this I tried solving my dispatchable load 
> case with PDIPM using your cost matrix but it did not converge. Likewise I 
> tried solving your mpc2 using MIPS(and step control) but with my original 
> cost matrix but to no avail.
> 
> I'm not sure how to interpret these results. 
> 
> All the best,
> Alastair
> 
> 
> From: [email protected] 
> <[email protected]> on behalf of Ray Zimmerman 
> <[email protected]>
> Sent: 18 July 2014 16:44
> To: MATPOWER discussion forum
> Subject: Re: Optimal load shedding in Nigerian model
>  
> I tried (unsuccessfully) to solve your dispatchable load case with several 
> different solvers, so I think it might be infeasible, but I’m not sure. I 
> didn’t have the time to try to figure it out.
> 
> However, I was able to convert your original loads to dispatchable loads 
> using the load2disp() function and then I was able to solve it with MIPS, but 
> only after turning on the step-control mechanism.
> 
> mpc = loadcase('Workingmodel1');              
> mpc.gen(59,21) = 0;   % expand to full number of columns
> mpc.gencost = ones(59, 1) * [2 0 0 2 10 0];  % all gens have $10/MW costs
> mpc2 = load2disp(mpc);
> mpopt = mpoption('out.bus', 0, 'out.branch', 0, 'out.lim.all', 0);
> mpopt = mpoption(mpopt, 'opf.ac.solver', 'MIPS', 'mips.step_control', 1);
> r = runopf(mpc2, mpopt)
> 
> Hope this helps,
> 
>     Ray
> 
> -- 
> Ray Zimmerman
> Senior Research Associate
> B30 Warren Hall, Cornell University, Ithaca, NY 14853  USA
> phone: (607) 255-9645
> 
> On Jul 17, 2014, at 5:12 AM, HEGGIE Alastair <[email protected]> wrote:
> 
>> 
>> Dear Professor Zimmerman and list subscribers,
>> 
>> ​I am attempting to use MATPOWER to analyse optimal load shedding in a model 
>> of the Nigerian power system. Would anyone be able to help me understand why 
>> my optimal load shedding is not working? I have spend a lot of time trying 
>> to get this to work myself but I am not sure what else to do. I would be 
>> very grateful for any assistance. Please do ignore if this is not an 
>> appropriate question for this list.
>> 
>> The attached model, Workingmodel1.m is the case file automatically converted 
>> from a PSSE .raw file.
>> 
>> For each load buss in the following form:
>> 
>> BUS I BUS TYPE        PD        QD        GS        BS        BUS AREA       
>>  VM        VA        BASE KV        ZONE        VMAX        VMIN
>> 13004 1
>> 155.548  75.335
>> 0.000   0.000
>>  1 0.9586100
>> -3.6472000 330.00
>> 15
>> 1.10 0.90;
>> 
>> I have set PD and QD to zero:
>> 
>> 13004 1
>> 0 0
>> 0 0
>> 1 0.95861
>> -3.6472 330
>> 15
>> 1.1 0.90;
>> 
>> I have then added a corresponding generator with PMAX and QMAX = 0 and PMIN 
>> and QMIN equal to the negative real and reactive demand at the bus. 
>> Following advice in another thread I set PG = PMIN and QG = QMIN. I am not 
>> sure what MBASE should be so I set this to zero.
>> 
>> GEN BUS PG
>> QG QMAX
>> QMIN VG
>> MBASE GEN STATUS
>> PMAX PMIN
>> 13004 -155.548
>> -75.335 0
>> -75.335 1
>> 0 1
>> 0 -155.548
>> ;
>> 
>> I have given each dispatchable load a peicewise linear cost with a kink in 
>> the gradient at half the real power output so that the costs have the 
>> following form:
>> 
>> MODEL STARTUP
>> SHUTDOWN NCOST
>> COST
>> 1 0
>> 0 3
>> 0 0
>> -77.774 -750000
>> -155.548 -1000000
>> 
>> It was suggested in another thread that zero cost generators might confuse 
>> some solvers so I gave each generator a small positive cost of the following 
>> form
>> 
>> MODEL STARTUP
>> SHUTDOWN NCOST
>> COST
>> 2 1
>> 0 6
>> 0 0
>> 0 0
>> 1 1
>> 
>> The resulting model is attached at Workingmodel1_loadshedding.m.  This model 
>> reports a numerical failure when I try to run the opf.
>> 
>> I am not sure whether there is something wrong with my base model or whether 
>> my dispatchable load conversion is in error. I have tried working with some 
>> of the simpler cases provided with MATPOWER (see for example the attached 
>> case9h.m and case14b.m ) and have not been able to get load shedding working 
>> with these either.
>> 
>> Thank you for any assistance,
>> 
>> Alastair Heggie
>> -- 
>> The University of Edinburgh is a charitable body, registered in
>> Scotland, with registration number SC005336.
>> 
>> 
>> <case9h.m><case14b.m><Workingmodel1.m><Workingmodel1_loadshedding.m>
> 
> The University of Edinburgh is a charitable body, registered in
> Scotland, with registration number SC005336.

Reply via email to