Including power losses for Unit Commitment

조회 수: 10 (최근 30일)
Micah Mungal
Micah Mungal 2018년 6월 15일
댓글: Lars Abrahamsson 2020년 5월 9일
I have been able to formulate the problem for the Unit Commitment problem using the optimproblem approach with the help from a similar example on the MATLAB page. So far I have ensured that the total power generated meets the load demand and that power generated by any unit is within limits. I have also included the minimum up and down time constraint. I now have to include the power loss with the equality constraint. That is the total power generated must meet the load demand plus losses.
The method I use to find this power loss uses a B coefficient matrix, which determines the power loss as follows:
P_loss = [P_1 P_2] * [B_11 B_12; * [P_1;
B_21 B_22] P_2]
That is for a system with two generating units, the power loss is given as P * B * P'.
Now for my particular case, I have linearized the cost function for each generator and therefore,
P_1 = P_1min + P_11 + P_12 + + P_1N
Where N is the number of segments used to linearized the curve. But the same concept applies with respect to the calculation: P * B * P' except that B is now larger and follows a different configuration of the values. Now P in my code is a optimization variable 'power'. Without actually coding anything, I attempted to determine P * B * P' from the command line and ran into an error. Firstly I did B * P', and since P' is the transpose of the 'power' variable, it returned an optimization variable. Next when I tried to premultiply P to this optimization variable, I got an error telling me that one of the variables need to be numeric. A quick search of this error revealed that I cannot have any quadratic terms apparently as is indicated would happen here:
P_loss = [P_1 P_2]*[B_11 B_12; * [P_1;
B_21 B_22] P_2]
= [P_1 P_2]*[B_11*P_1 + B_12*P_2;
B_21*P_1 + B_22*P_2]
= P_1(B_11*P_1 + B_12*P_2) + P_2(B_21*P_1 + B_22*P_2)
My initial approach involves creating some optimization expression in terms of P and B which correspond to the power loss and just including it in the load demand constraint. That is based on my code:
powerprob.Constraints.isDemandMet = sum(power,2) >= Load - sum((minPowConst.*isOn),2) + P_loss;
(sum((minPowConst.*isOn),2)) can be ignored for now. This is the subtraction of the P_min values due to linearization.
I have attached my working code which includes everything except the inclusion of any power losses. I would greatly appreciate some guidance in this matter.
  댓글 수: 2
Khaldon Qaid
Khaldon Qaid 2020년 4월 30일
편집: Khaldon Qaid 2020년 4월 30일
Hi
I try to run the code but its not working, its give this error.
[Error using optim.internal.problemdef.ProblemImpl/solveImpl
The value of 'x0' is invalid. Initial point must be a nonempty struct.
Error in optim.problemdef.OptimizationProblem/solve
Error in UC (line 308)
[sol,TotalCost,exitflag,output] = solve(powerprob,options);]
Can you please share the corrct code?
Thank you
Lars Abrahamsson
Lars Abrahamsson 2020년 5월 9일
Could this be related to different versions of Matlab?

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

Help CenterFile Exchange에서 Linear Programming and Mixed-Integer Linear Programming에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by