Thank you for your suggestion Prof Ray. Actually I am still learning about the mechanism of uopf() and I dont really understand what binding Pmin limits means. In the attached files, if the cases with and without shunt generators have the same limits of voltage magnitude, the case with shunt generators will have less cost using runuopf() and it seems that the shunt with -8Mvar Qg will be shut down to avoid voltage magnitude violation. I dont know if this is the correct result. And thank you for your invitation, but I am a newbie at optimization. I really doubt if I could help in creating a convenient and integrated interface like runpf() and runopf() to implement mixed integer programming using other solvers. There is still quite a lot for me to learn.
"MATPOWER discussion forum" <r...@cornell.edu>; 2020??9??9??(??????) ????9:57 "MATPOWER-L"<matpowe...@list.cornell.edu>; Re: optimal power flow with unit commitment using mixed integer programming Unfortunately, I do not believe runuopf() will work for this problem, since it uses heuristics to de-commit units one at a time based only on binding Pmin limits, not on binding reactive power limits, which is what you would need. I suppose you could modify uopf() to look at both, but in the end you still have a very crude and inefficient heuristic for dealing with the binary decisions, with no guarantees on the final optimality gap. The proper way to solve this problem would be to create an interface in MP-Opt-Model for a mixed-integer nonlinear programming solver. Knitro has these capabilities, but they have not (yet) been implemented in MP-Opt-Model??s Knitro interface. We have nlps_knitro(), but we need a minlps_knitro(). There is also a suggestion in the issue tracker to include an interface for Bonmin which also handles MINLP problems. Both would be very welcome and useful additions. Any chance you have time to work on this? I??d be happy to lend my support. Ray