Skip to content

INFORMSJoC/2023.0223

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

INFORMS Journal on Computing Logo

Layout Optimization for a Large-Scale Grid-Connected Solar Power Plant

This archive is distributed in association with the INFORMS Journal on Computing under the MIT License.

The software and data in this repository are a snapshot of data and results that were used in the research reported on in the paper Layout Optimization for a Large-Scale Grid-Connected Solar Power Plant by Chong Wang, Qinghua Wu, Kai Pan, and Zuo-Jun Max Shen.

Cite

To cite the contents of this repository, please cite both the paper and this repo, using their respective DOIs.

https://doi.org/10.1287/ijoc.2023.0223

https://doi.org/10.1287/ijoc.2023.0223.cd

Below is the BibTex for citing this snapshot of the repository.

@misc{Wang2024,
  author =        {Wang, Chong AND Wu, Qinghua AND Pan, Kai AND Shen, Zuo-Jun Max},
  publisher =     {INFORMS Journal on Computing},
  title =         {Layout optimization for a large-scale grid-connected solar power plant},
  year =          {2024},
  doi =           {10.1287/ijoc.2023.0223.cd},
  url =           {https://github.com/INFORMSJoC/2023.0223},
  note =          {Available for download at \url{https://github.com/INFORMSJoC/2023.0223}},
}

Description

The goal of this repository is to share data and results related to the Integrated Location and Routing (ILR) problem within a large-scale solar power plant, solved using our exact solution approach.

Data

The instances are originally collected from the Hubei Branch of the State Grid Corporation of China. All sensitive or confidential information has been appropriately desensitized.

Each instance (denoted by "district_<span>$a$-<span>$b$") represents a grid-connected solar power plant with a set of photovoltaic arrays (PVAs) continuously placed in a PV farm. Here, $a$ is the number of districts, and $b$ is an index representing different layout shapes. Each district in these plants has 109 slots of PVAs, one of which is removed to install an inverter.

Please see the data directory to view the data and detailed descriptions.

Results

The results present the optimal solutions for all instances, solved using our exact solution approach.

Please see the results directory to view the optimal solutions and detailed descriptions.

Building

We develop exact algorithms to solve the ILR problem through a decomposition framework, which yields a variant of Benders decomposition and guarantees an optimal solution. Additionally, we implement an exact branch-and-cut scheme to solve each subproblem within the decomposition framework, integrating cutting planes and separation algorithms to enhance solution precision.

Prerequisites

  • Python 3.8 or higher
  • Required Libraries: Gurobi, NumPy

Structure

The source code is available in the src directory and includes the following components:

  • data.py: Defines the Data class, which manages the problem data.
  • solution.py: Contains the ResultMaster, ResultWorker, and Solution classes, which represent the solutions generated during the algorithm's iterations.
  • subproblem_solver.py: Provides the DistrictSolver class for solving subproblems within individual districts.
  • utils.py: Contains global utility functions used to iteratively solve the ILR problem using the decomposition algorithm.
  • main.py: Houses the main execution logic to invoke the appropriate functions and run the algorithm.

Run

Execute the program as follows:

python main.py <file_path_1> <file_path_2>

Arguments:

  • <file_path_1>: Specifies the file path for the instance to be solved (available in the data/instances directory).
  • <file_path_2>(optional) : Specifies the file path to save the solution generated by the algorithm (refer to the results directory).

Support

For support in using the data and code, submit an issue.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages