Matt: I have proof-of-concept code that implements line switching with
disjunctive constraints. Email me separately.
Carlos.
Matt Roveto wrote:
Hello,
I hope you are all well. I am trying to implement a transmission
switching DCOPF model to MATPOWER for use in a research project
according to the formulation provided in E. B. Fisher, R. P. O’Neill,
and M. C. Ferris, “Optimal transmission switching,” IEEE Trans. Power
Syst. vol 23, no. 3, August 2008. To be concise, the main difference
from the standard DCOPF and the model implementing transmission
switching is the flow constraints on the lines given by
B_k(\theta_n - \theta_m) - P_{nk} = 0
is split into two separate inequality constraints
B_k(\theta_n - \theta_m) - P_{nk} + (1 - z_k)M >= 0
B_k(\theta_n - \theta_m) - P_{nk} - (1 - z_k)M <= 0
with an additional constraint on the integer variable z_k to limit the
number of open lines in the network, namely
\sum_k (1 - z_k) <= j
In this formulation, z_k is an integer value that takes on either 1 or
0 for a closed or open line, M is a large number greater than or equal
to B_k(\theta_n - \theta_m), and j is the total number of lines that
can be opened. My problem is that I do not know what to do in order to
add these new constraints or modify the usual constraints. I
understand there is a section in the user manual on how to add
constraints, but it is my understanding from reading through past
threads that it is not possible to simply add integer constraints in
this manner. I believe I would need to change the solver to 'MIPS' or
'IPOPT', but I am still unsure how to incorporate the new constraints.
Any help would be greatly appreciated, and sorry I do not have much to
go on right now. Thank you.
Best,
Matt