Rule-Based Optimized Service Restoration (RBOSR)
Introduction
The service restoration aims at reconfiguring the electrical network after the occurrence of faults, in which the protection system coordinates the tripping of circuit breakers upstream and downstream of the fault location.
Distribution networks are managed with radial scheme; therefore, the nodes downstream of the faulted zone become de-energized and they have to be re-powered from an alternative source.
The algorithm present in this repository considers, among the de-energized nodes, the one with highest priority as target for the restoration and identify which is the most suitable primary substation to energize it, by closing the normally open bus-tie unit.
The restoration schemes from each substation toward the target node are evaluated with a state estimation approach (which also allows to check the voltage, thermal and radiality constraints); the restoration having the lowest summation of total power losses and utilization of the most consumed electrical lines (weighted with parameters u1
, u2
, u3
and u4
) is implemented.
Once the selected tie unit successfully closes, the process repeats untill all the de-energized loads are restored or the constraints are violated. The algorithm is able to manages multiple/cascade faults in active distribution grids (with Distributed Energy Resources).
Contents
This repository contains the following material:
- Python code
RBO_Service_Restoration_offline.py
of rule-based optimization algorithm for service restoration (RBOSR). - Python code
DSSE_Functions_FLISR.py
that includes the distribution system state estimator functions. - Excel file
Networkdata_MV_FLISR_use_case_1.xlsx
that includes all the necessary grid data to run the service restoration process. - PDF file
Networkdata_MV_FLISR_use_case.pdf
that summarizes the relevant grid data. - Backup file
RBOSR_Database.backup
of the PostgreSQL database.
Usage
Instructions to use the service restoration algorithm:
- The two Python codes and the excel file must be located in the same folder.
- Configure the excel sheet, providing information about grid topology, loads, switches and fault location (set the tripped circuit breakers).
- If changed, set the excel file name in the RBOSR Python code (in line 1726).
- Set the weighting factors
u1
,u2
,u3
andu4
according to the desired restoration target in the RBOSR Python code (in line 1714). Additional information are found in the paper "Rule-Based Optimization Algorithm for Service Restoration of Active Distribution Grids", authors: A. Dognini, A. Sadu, A. Angioni, F. Ponci, A. Monti, currently under revision. - Set the information about the PostgreSQL database in the RBOSR Python code (in line 1679).
Considerations about the PostgreSQL database:
The algorithm has been tested using the PostgreSQL database developed with the software "pgAdmin3".
Download the software from this page
and follow the installation instructions.
Connect to server as described in the documentation
and restore the RBOSR_Database.backup
file, to recreate the implemented database.
Considerations about the RBOSR Python code:
- It generates an Excel sheets (line 1703) with information about the elapsed computation time.
- The code has been developed with Python 3.6
- It needs, among others, the installation of the following libraries:
pandas
networkx
psycopg2
Run the following command to install the required dependencies:
pip install -r requirements.txt
Documentation
Documentation about the distribution system state estimator can be found in the following website: https://git.rwth-aachen.de/acs/public/automation/rbosr
Publications
For additional information, refer to the following articles:
-
A. Dognini, A. Sadu, A. Angioni, F. Ponci, A. Monti, "Rule-Based Optimization Algorithm for Service Restoration of Active Distribution Grids" (currently under revision)
-
C. Muscas, S. Sulis, A. Angioni, F. Ponci, and A. Monti,
Impact of Different Uncertainty Sources on a Three-Phase State Estimator for Distribution Networks
, IEEE Transactions on Instrumentation and Measurement, vol. 63, no. 9, pp. 2200-2209, Sep. 2014. -
A. Angioni, A. Kulmala, D. D. Giustina, M. Mirz, A. Mutanen, A. Ded,F. Ponci, L. Shengye, G. Massa, S. Repo, and A. Monti,
Design and implementation of a substation automation unit
, IEEE Transactions on Power Delivery, vol. 32, no. 2, pp. 1133-1142, April 2017. -
P. Jamborsalamati, A. Sadu, F. Ponci, A. Monti and M. J. Hossain,
Improvement of supply restoration in multi-spare-feeder active distribution grids using IEC 61850
, 2017 IEEE Innovative Smart Grid Technologies - Asia (ISGT-Asia), pp. 1-5, Dec 2017.
Copyright
2019, Institute for Automation of Complex Power Systems, EONERC
License
This project is released under the terms of the GPL version 3.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
For other licensing options please consult Prof. Antonello Monti.
Contact
- Alberto Dognini adognini@eonerc.rwth-aachen.de
- Abhinav Sadu asadu@eonerc.rwth-aachen.de
Institute for Automation of Complex Power Systems (ACS) EON Energy Research Center (EONERC) RWTH University Aachen, Germany