fix readme
31
p1/README.md
@@ -23,7 +23,7 @@
|
||||
纯火箭方案(10 发射场 * 每日 1 发)排布与能量-工期曲线;并做发射频率敏感性分析。
|
||||
- **`combined_scenario.py`**
|
||||
混合方案(电梯优先 + 火箭补齐),输出组合方案能量-工期曲线,并生成 **100–300 年**区间三方案同图对比。
|
||||
- **`../pareto_optimization.py`**(新增)
|
||||
- **`pareto_optimization.py`**(新增)
|
||||
**Pareto 前沿 + “膝点(knee point)”**分析:在**组合方案可行区间(约 101–186 年)**内,寻找“时间–能量”双目标权衡的拐点,并输出推荐决策点与图表/CSV。
|
||||
- **`launch_capacity_analysis.py`**
|
||||
(可选)对历史火箭年发射量做 Logistic / Gompertz / Richards 拟合与预测,生成 `launch_capacity_*.png` 与 `launch_capacity_results.csv`。
|
||||
@@ -40,8 +40,8 @@
|
||||
| `combined_scenario_analysis.png` | 混合方案:总能量/电梯能量/火箭能量随工期变化 + 电梯占比 + 需要启用的火箭站点数 |
|
||||
| `scenario_comparison.png` | elevator-only / rocket-only / combined 的完工时间与能量柱状对比 |
|
||||
| **`three_scenarios_comparison.png`** | **100–300 年区间**:纯火箭、纯电梯、混合方案的“年份-能量”折线同图对比 |
|
||||
| **`../pareto_combined_range.png`** | **组合方案(101–186 年)Pareto 前沿 + 膝点检测**(多方法对比、边际收益、构成变化) |
|
||||
| **`../combined_decision.png`** | 组合方案(101–186 年)推荐拐点的“决策图”(更适合直接放报告) |
|
||||
| **`pareto_combined_range.png`** | **组合方案(101–186 年)Pareto 前沿 + 膝点检测**(多方法对比、边际收益、构成变化) |
|
||||
| **`combined_decision.png`** | 组合方案(101–186 年)推荐拐点的“决策图”(更适合直接放报告) |
|
||||
| `launch_capacity_analysis.png` `launch_capacity_physical.png` `launch_capacity_predictions.png` | (可选)火箭发射能力上限/趋势拟合与预测 |
|
||||
|
||||
#### 数据文件(如存在)
|
||||
@@ -132,15 +132,15 @@
|
||||
<details>
|
||||
<summary><strong>5) Pareto 前沿与“膝点”(组合方案 101–186 年)</strong></summary>
|
||||
|
||||
> 说明:`pareto_optimization.py` 当前将图片/CSV 输出到上一级目录(`../`),因此这里用相对路径引用。
|
||||
> 说明:`pareto_optimization.py` 与其输出(图片/CSV)均在本目录中。
|
||||
|
||||
#### `../pareto_combined_range.png`
|
||||
#### `pareto_combined_range.png`
|
||||
|
||||

|
||||

|
||||
|
||||
#### `../combined_decision.png`
|
||||
#### `combined_decision.png`
|
||||
|
||||

|
||||

|
||||
|
||||
</details>
|
||||
|
||||
@@ -295,17 +295,20 @@ Rocket Only (219 years): Total energy: 50609 PJ
|
||||
> 这个分析回答“在可行区间内,选择多少年最划算”的决策问题:既不想太慢、也不想能耗太高。
|
||||
> 我们把目标写成双目标:**最小化完工时间 \(T\)** 与 **最小化总能量 \(E\)**,并在 \(T\in[101, 186]\) 年上寻找“边际收益开始明显递减”的拐点(knee point)。
|
||||
|
||||
从本目录运行:
|
||||
在本目录运行:
|
||||
|
||||
```bash
|
||||
python ../pareto_optimization.py
|
||||
python pareto_optimization.py
|
||||
```
|
||||
|
||||
会生成(输出在上一级目录 `../`):
|
||||
会生成:
|
||||
|
||||
- `../pareto_combined_range.png`
|
||||
- `../combined_decision.png`
|
||||
- `../pareto_combined_range.csv`(组合区间的 Pareto 数据)
|
||||
- `pareto_combined_range.png`
|
||||
- `combined_decision.png`
|
||||
- `pareto_combined_range.csv`(组合区间的 Pareto 数据)
|
||||
- `pareto_knee_analysis.png`(完整 100–300 年范围的膝点分析)
|
||||
- `decision_recommendation.png`(完整范围的决策建议图)
|
||||
- `pareto_front_data.csv`(完整范围数据)
|
||||
|
||||
**组合区间(101–186 年)推荐膝点(示例输出)**:
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 175 KiB After Width: | Height: | Size: 175 KiB |
|
Before Width: | Height: | Size: 132 KiB After Width: | Height: | Size: 132 KiB |
|
Before Width: | Height: | Size: 324 KiB After Width: | Height: | Size: 324 KiB |
|
Before Width: | Height: | Size: 276 KiB After Width: | Height: | Size: 276 KiB |
@@ -364,7 +364,7 @@ def analyze_knee_points(df: pd.DataFrame) -> Dict:
|
||||
def plot_pareto_analysis(
|
||||
df: pd.DataFrame,
|
||||
knee_analysis: Dict,
|
||||
save_path: str = '/Volumes/Files/code/mm/20260130_b/pareto_knee_analysis.png'
|
||||
save_path: str = '/Volumes/Files/code/mm/20260130_b/p1/pareto_knee_analysis.png'
|
||||
):
|
||||
"""
|
||||
绘制 Pareto 前沿与膝点分析图
|
||||