Hi Dr. Zimmerman and MATPOWER Group,

In the runpf code, there is a section checking infeasibility:


%% first check for INFEASIBILITY (all remaining gens violating)
                infeas = union(mx', mn')';  %% transposes handle fact that
                    %% union of scalars is a row vector
                remaining = find( gen(:, GEN_STATUS) > 0 & ...
                                ( bus(gen(:, GEN_BUS), BUS_TYPE) == PV | ...
                                  bus(gen(:, GEN_BUS), BUS_TYPE) == REF ));
                if length(infeas) == length(remaining) && all(infeas == 
remaining)
                    if mpopt.verbose
                        fprintf('All %d remaining gens exceed their Q limits : 
INFEASIBLE PROBLEM\n', length(infeas));
                    end
                    success = 0;
                    break;
                end


Can you explain what you are doing here?


Thank you very much!

Justin Zhang

Reply via email to