Ok, I found the reason: Some of my cost curves are non-convex. If I change the 
curves to be perfectly linear, the two values match.

But this does leave another question for me: In the case of non-convex cost 
curves, what does the objective function value "result.f" represent? Why is 
there a difference to the totcost() value?

Thanks for your help.
________________________________________
Von: [email protected] 
[[email protected]]" im Auftrag von "Eser  
Patrick [[email protected]]
Gesendet: Freitag, 15. August 2014 11:45
An: [email protected]
Betreff: Cost vs. Objective function discrepancy

Dear MATPOWER community,

I am experiencing a strange phenomenon when looking at the results of a 
MATPOWER case I'm running.

I have a system of around 200 buses and 300 generators, and when I solve the 
system using IPOPT, I receive the following results:

>> result.f

ans =

   6.9125e+05

>> sum(totcost(result.gencost, result.gen(:, PG)))

ans =

   6.1887e+05

So effectively, my objective function value is 691250 $/h, whereas my total 
generator cost is just 618870 $/h. Where could this discrepancy come from? If I 
"manually" calculate the production cost of all dispatched generators at their 
respective power levels, I receive the exact value from the totcost() function. 
Are some further shadow costs in the objective function value (result.f)?

I have to mention, that the case does converge (result.success = 1) and that I 
do NOT have any dispatchable loads in the system.

I'd be thankful for any hints on where to look for the problem. I can't see it 
at the moment.

Thanks,
Best Regards,

Patrick



Reply via email to