When the OPF does not converge successfully, the values contained in the 
solution are meaningless.

    Ray


> On Feb 4, 2016, at 9:30 AM, Mirish Thakur <[email protected]> wrote:
> 
> Dear Prof.Ray,
> 
> 
> 
> I have observed result struct of load2disp whre I found some surprising  
> results on the buses where renewable generator and load both are  available. 
> I kept renewable generation flexible in model so that it should obey the line 
> flow limits. I have used zero cost for renewable energy as per my study 
> requirement. I obsereved that there is negative dispatch of renewable energy 
> and dispatchable  load is greater than actual connected load. Please find 
> herewith attched Excel file of result of two number of such buses, bus No. 96 
> and 164. Where  bus no 96 has both renewable generator with 67.97 MW and 
> connected load is 113.57+J 20.33. These are some results when solution is not 
> converged successfully. In some cases I got perfect convergence. I really 
> don't understand why this happens. I really do appreciate your help. Thank 
> you for your time.
> 
> 
> 
> Thanks and regards
> 
> Mirish Thakur.
> 
> 
> On Wed, Dec 2, 2015 at 6:19 PM, Mirish Thakur <[email protected] 
> <mailto:[email protected]>> wrote:
> Dear Prof. Ray,
> 
> Thanks a lot for clarifying my doubts. Actually I forgot to see that loads 
> are modeled as negative generator, instead I was focusing on energy prices 
> only. And in second one I didn't elaborate properly but I was thinking in the 
> same way. Thank you very much for your time.
> 
> Regards
> Mirish Thakur
> 
> On Wed, Dec 2, 2015 at 6:02 PM, Ray Zimmerman <[email protected] 
> <mailto:[email protected]>> wrote:
> 1) It looks like you are setting up gencost correctly. The negative objective 
> function value results from the fact that the curtailable loads are being 
> modeled as negative generation, with negative costs (positive benefits). So 
> rather than simply minimizing generating cost, the OPF is now minimizing the 
> negative of the net benefits (i.e. maximizing the net benefits). The 
> objective function value is then the negative of the net benefits, so we 
> expect it to be a large negative number.
> 
> 2) Yes. But to be precise, these curtailments and redispatches are not given 
> directly by res.gen(:, PG), but by the deviation of res.gen(:, PG) from the 
> corresponding nominal value, i.e. res.gen(:, PMAX) for renewables, res.gen(:, 
> PMIN) for dispatchable loads, and the original dispatch reference point for 
> conventional generators.
> 
>     Ray
> 
> 
> 
>> On Dec 1, 2015, at 8:19 PM, Mirish Thakur <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> Dear Prof. Ray Zimmerman,
>> 
>> 
>> 
>> Thank you very much for your help. I have implemented your suggestion of 
>> relaxing constraints over conventional power plants and got successful 
>> convergence on both model.  While doing so  in 2# model I kept minimum value 
>> of generation Pmin=0, and instead of using single slack generator output to 
>> supply system losses I increased all conventional generators output by 2% 
>> means Pmax=(Original Pmax)*1.02. So that losses will be contributed by all 
>> generators. But I want to clarify some doubts.
>> 
>> 
>> 
>> 1) My Objective Function Value = -243875269.94 $/hr is highly negative after 
>> convergence, that I don’t understand why it’s highly negative. After 
>> mpc=load2disp(mycase) I checked mpc.gencost matrix. In my case conventional 
>> generators variable cost function is linear e.g.  [2  0  0  3  0  10.91  0] 
>> and renewable generators and cross border generators cost is zero e.g. [2  0 
>>  0  3  0  0  0] and for dispatchable loads I set linear cost function [2  0  
>> 0  3  0  5000  0]. Am I using correct values in mpc.gencost matrix? Or I 
>> have to use  for conventional power plants =  [2  0  0  3  0  0  0] and for 
>> both renewables and dispatchable loads= [2  0  0  3  0  5000  0] ? Both 
>> approach gives negative objective function value.
>> 
>> 
>> 
>> 2) When I perform successfully res=runopf(mpc) all curtailments on renewable 
>> / loads / redispatch of conventional power plants  will be seen in 
>> res.gen(:,2) column (second column of res.gen matrix) right? Thank you very 
>> much for your time.
>> 
>> 
>> Regards
>> Mirish Thakur
>> 
>> On Mon, Nov 30, 2015 at 5:54 PM, Ray Zimmerman <[email protected] 
>> <mailto:[email protected]>> wrote:
>> Hi Mirish,
>> 
>> There is no way to see the load or renewable curtailment until you get a 
>> converging OPF. It is possible that you will also have to redispatch the 
>> conventional generators in order to get a feasible solution. I would suggest 
>> that you combine your option #2 with curtailable loads, relax the active 
>> power dispatch constraints on the conventional generators (to their normal 
>> limits) and assign piecewise linear costs to those generators with negative 
>> or zero marginal cost up to Pg and large positive marginal cost above Pg. 
>> This will attempt to minimize deviations from the original dispatch pattern, 
>> hopefully moving only those generators necessary to relieve the line 
>> overloads.
>> 
>>     Ray
>> 
>>> On Nov 29, 2015, at 7:31 PM, Mirish Thakur <[email protected] 
>>> <mailto:[email protected]>> wrote:
>>> 
>>> Hello friends,
>>> 
>>> 
>>> 
>>> I’m working on (1000 bus system) reactive power dispatch problem. I have 
>>> modeled grid into matpower case file and I’m getting the results of runpf. 
>>> But when I use ACOPF it fails to converge.
>>> I have modeled grid into two methods
>>> 1) I used all renewable energy sources generation, pump storage power plant 
>>> and cross border energy transfer as negative load. And all conventional 
>>> power plants as generators.  Dispatch of conventional generators is equal 
>>> to residual load so demand is equal to generation. Further I have increased 
>>> limits of slack generator to supply system losses and kept rest of 
>>> generators dispatch constant by Pmax=Pmin=Pg. Also RATE_A limits should be 
>>> unchanged. (Necessary condition for project).
>>> 
>>> 2) In other way all renewable energy sources generation, pump storage power 
>>> plant and cross border energy transfer are modeled as generators and put 
>>> next to all conventional power plants. And in gencost matrix I used zero 
>>> variable cost for renewable generation. Slack generator and rest of the 
>>> conditions are set as it is in first approach.
>>> 
>>> 
>>> 
>>> My question is in both modeling I got runpf successfully converged but I’m 
>>> not getting convergence for ACOPF. So, I checked branch limits on some 
>>> branches which I found overloaded by analyzing results of res= runpf 
>>> (mymodel).  To avoid such overloading I want to change distribution pattern 
>>> of load which might be cause of overloading of branches. I tried load2disp 
>>> function to get curtailment on load but every time I got failure in 
>>> convergence in runopf. I went through below mentioned discussions-
>>> 
>>> https://www.mail-archive.com/matpower-l%40cornell.edu/msg04423.html 
>>> <https://www.mail-archive.com/matpower-l%40cornell.edu/msg04423.html>
>>> https://www.mail-archive.com/matpower-l%40cornell.edu/msg00790.html 
>>> <https://www.mail-archive.com/matpower-l%40cornell.edu/msg00790.html>
>>> https://www.mail-archive.com/matpower-l%40cornell.edu/msg01203.html 
>>> <https://www.mail-archive.com/matpower-l%40cornell.edu/msg01203.html>
>>> Is there any way to see curtailment on load or negative generation 
>>> (renewable generation/ cross border transfer of energy) so that I can 
>>> redistribute that load /negative generation on other bus bars so that I can 
>>> avoid overloading of branches and get successful convergence?  Many thanks.
>>>  Regards
>>> Mirish Thakur
>>> 
>>> KIT University
>> 
>> 
> 
> 
> 
> <res.xlsx>

Reply via email to