2026-01-02 01:24:02 +08:00
|
|
|
|
# 海上风电场集电系统设计工具
|
2025-12-31 19:21:25 +08:00
|
|
|
|
|
2026-01-02 01:24:02 +08:00
|
|
|
|
一个用于设计和优化海上风电场集电系统的Python工具,支持多种布局算法和电缆优化方案。
|
2025-12-31 19:21:25 +08:00
|
|
|
|
|
2026-01-02 01:24:02 +08:00
|
|
|
|
## 功能特性
|
2025-12-31 19:21:25 +08:00
|
|
|
|
|
2026-01-02 01:24:02 +08:00
|
|
|
|
- 🌊 多种风机布局生成(随机分布、规则网格)
|
|
|
|
|
|
- 🔌 多种集电系统设计算法:
|
|
|
|
|
|
- 最小生成树(MST)算法
|
|
|
|
|
|
- K-means聚类算法
|
|
|
|
|
|
- 容量扫描算法(Capacitated Sweep)
|
|
|
|
|
|
- 旋转优化算法(Rotational Sweep)
|
|
|
|
|
|
- 📊 多方案对比分析和可视化
|
|
|
|
|
|
- 📋 自动导出DXF图纸和Excel报告
|
|
|
|
|
|
- 🔧 智能电缆规格选择和成本优化
|
2025-12-31 19:21:25 +08:00
|
|
|
|
|
2026-01-02 01:24:02 +08:00
|
|
|
|
## 安装依赖
|
2025-12-31 19:21:25 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-01-02 01:24:02 +08:00
|
|
|
|
pip install numpy pandas matplotlib scikit-learn scipy networkx
|
2025-12-31 19:21:25 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 使用方法
|
|
|
|
|
|
|
2026-01-02 01:24:02 +08:00
|
|
|
|
### 基本用法
|
2025-12-31 19:21:25 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
python main.py
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2026-01-02 01:24:02 +08:00
|
|
|
|
### 指定数据文件
|
2025-12-31 19:21:25 +08:00
|
|
|
|
|
2026-01-02 01:24:02 +08:00
|
|
|
|
```bash
|
|
|
|
|
|
python main.py --excel wind_farm_coordinates.xlsx
|
|
|
|
|
|
```
|
2025-12-31 19:21:25 +08:00
|
|
|
|
|
2026-01-02 01:24:02 +08:00
|
|
|
|
### 覆盖默认簇数
|
2025-12-31 19:21:25 +08:00
|
|
|
|
|
2026-01-02 01:24:02 +08:00
|
|
|
|
```bash
|
|
|
|
|
|
python main.py --clusters 20
|
|
|
|
|
|
```
|
2025-12-31 19:21:25 +08:00
|
|
|
|
|
2026-01-02 01:24:02 +08:00
|
|
|
|
## 算法说明
|
|
|
|
|
|
|
|
|
|
|
|
### 1. MST Method(最小生成树)
|
|
|
|
|
|
- 使用最小生成树连接所有风机到海上变电站
|
|
|
|
|
|
- 简单高效,适合初步设计
|
|
|
|
|
|
|
|
|
|
|
|
### 2. K-means Clustering
|
|
|
|
|
|
- 将风机分组到多个回路中
|
|
|
|
|
|
- 平衡每回路的功率分配
|
|
|
|
|
|
|
|
|
|
|
|
### 3. Capacitated Sweep(容量扫描)
|
|
|
|
|
|
- 考虑电缆容量约束的智能分组
|
|
|
|
|
|
- 支持多种电缆规格自动选择
|
|
|
|
|
|
|
|
|
|
|
|
### 4. Rotational Sweep(旋转优化)
|
|
|
|
|
|
- 在容量扫描基础上进行旋转优化
|
|
|
|
|
|
- 进一步降低总成本和损耗
|
|
|
|
|
|
|
|
|
|
|
|
## 输出文件
|
|
|
|
|
|
|
|
|
|
|
|
1. **可视化图片**:`wind_farm_design_comparison.png`
|
|
|
|
|
|
- 不同算法的设计方案对比图
|
|
|
|
|
|
|
|
|
|
|
|
2. **CAD图纸**:`wind_farm_design.dxf`
|
|
|
|
|
|
- 可导入CAD软件的详细设计图纸
|
|
|
|
|
|
|
|
|
|
|
|
3. **数据报告**:`wind_farm_design.xlsx`
|
|
|
|
|
|
- 包含所有方案的详细技术参数和成本分析
|
2025-12-31 19:21:25 +08:00
|
|
|
|
|
|
|
|
|
|
## 关键参数说明
|
|
|
|
|
|
|
|
|
|
|
|
可以在 `main.py` 中调整以下核心常量以适配不同项目:
|
|
|
|
|
|
|
|
|
|
|
|
```python
|
|
|
|
|
|
VOLTAGE_LEVEL = 66000 # 集电系统电压 (V)
|
|
|
|
|
|
POWER_FACTOR = 0.95 # 功率因数
|
|
|
|
|
|
cost_multiplier = 5.0 # 海缆相对于陆缆的成本倍数
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2026-01-02 01:24:02 +08:00
|
|
|
|
## 电缆规格配置
|
|
|
|
|
|
|
|
|
|
|
|
项目支持多种电缆规格,可在 `generate_template.py` 中配置:
|
|
|
|
|
|
|
|
|
|
|
|
| 截面积(mm²) | 容量(MW) | 电阻(Ω/km) | 成本(元/m) |
|
|
|
|
|
|
|-------------|----------|------------|------------|
|
|
|
|
|
|
| 35 | 150 | 0.524 | 80 |
|
|
|
|
|
|
| 70 | 215 | 0.268 | 120 |
|
|
|
|
|
|
| 95 | 260 | 0.193 | 150 |
|
|
|
|
|
|
| 120 | 295 | 0.153 | 180 |
|
|
|
|
|
|
| 150 | 330 | 0.124 | 220 |
|
|
|
|
|
|
| 185 | 370 | 0.0991 | 270 |
|
|
|
|
|
|
| 240 | 425 | 0.0754 | 350 |
|
|
|
|
|
|
| 300 | 500 | 0.0601 | 450 |
|
|
|
|
|
|
| 400 | 580 | 0.0470 | 600 |
|
|
|
|
|
|
|
2025-12-31 19:21:25 +08:00
|
|
|
|
## 输出示例
|
|
|
|
|
|
|
|
|
|
|
|
```text
|
2026-01-02 01:24:02 +08:00
|
|
|
|
===== 开始比较电缆方案 =====
|
2025-12-31 19:21:25 +08:00
|
|
|
|
|
2026-01-02 01:24:02 +08:00
|
|
|
|
--- All Cables (Base) ---
|
|
|
|
|
|
[Base] Cost: ¥12,456,789.12 | Loss: 234.56 kW
|
|
|
|
|
|
[Rotational] Cost: ¥12,234,567.89 | Loss: 223.45 kW
|
2025-12-31 19:21:25 +08:00
|
|
|
|
|
2026-01-02 01:24:02 +08:00
|
|
|
|
--- High Current (Base) ---
|
|
|
|
|
|
[Base] Cost: ¥11,987,654.32 | Loss: 245.67 kW
|
|
|
|
|
|
[Rotational] Cost: ¥11,876,543.21 | Loss: 234.56 kW
|
|
|
|
|
|
|
|
|
|
|
|
推荐方案: High Current (Rotational) (默认)
|
2025-12-31 19:21:25 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 许可证
|
|
|
|
|
|
|
|
|
|
|
|
本项目仅供学习和研究使用。
|