From e61aaeded3af86acc78b084e8b7b39b49919f399 Mon Sep 17 00:00:00 2001 From: ntnt Date: Sat, 31 Jan 2026 13:30:38 +0800 Subject: [PATCH] fix readme --- p1/README.md | 31 ++++++++++-------- .../combined_decision.png | Bin .../decision_recommendation.png | Bin .../pareto_combined_range.csv | 0 .../pareto_combined_range.png | Bin .../pareto_front_data.csv | 0 .../pareto_knee_analysis.png | Bin .../pareto_optimization.py | 2 +- 8 files changed, 18 insertions(+), 15 deletions(-) rename combined_decision.png => p1/combined_decision.png (100%) rename decision_recommendation.png => p1/decision_recommendation.png (100%) rename pareto_combined_range.csv => p1/pareto_combined_range.csv (100%) rename pareto_combined_range.png => p1/pareto_combined_range.png (100%) rename pareto_front_data.csv => p1/pareto_front_data.csv (100%) rename pareto_knee_analysis.png => p1/pareto_knee_analysis.png (100%) rename pareto_optimization.py => p1/pareto_optimization.py (99%) diff --git a/p1/README.md b/p1/README.md index 52ccccf..175b394 100644 --- a/p1/README.md +++ b/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 @@
5) Pareto 前沿与“膝点”(组合方案 101–186 年) -> 说明:`pareto_optimization.py` 当前将图片/CSV 输出到上一级目录(`../`),因此这里用相对路径引用。 +> 说明:`pareto_optimization.py` 与其输出(图片/CSV)均在本目录中。 -#### `../pareto_combined_range.png` +#### `pareto_combined_range.png` -![pareto_combined_range](../pareto_combined_range.png) +![pareto_combined_range](pareto_combined_range.png) -#### `../combined_decision.png` +#### `combined_decision.png` -![combined_decision](../combined_decision.png) +![combined_decision](combined_decision.png)
@@ -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 年)推荐膝点(示例输出)**: diff --git a/combined_decision.png b/p1/combined_decision.png similarity index 100% rename from combined_decision.png rename to p1/combined_decision.png diff --git a/decision_recommendation.png b/p1/decision_recommendation.png similarity index 100% rename from decision_recommendation.png rename to p1/decision_recommendation.png diff --git a/pareto_combined_range.csv b/p1/pareto_combined_range.csv similarity index 100% rename from pareto_combined_range.csv rename to p1/pareto_combined_range.csv diff --git a/pareto_combined_range.png b/p1/pareto_combined_range.png similarity index 100% rename from pareto_combined_range.png rename to p1/pareto_combined_range.png diff --git a/pareto_front_data.csv b/p1/pareto_front_data.csv similarity index 100% rename from pareto_front_data.csv rename to p1/pareto_front_data.csv diff --git a/pareto_knee_analysis.png b/p1/pareto_knee_analysis.png similarity index 100% rename from pareto_knee_analysis.png rename to p1/pareto_knee_analysis.png diff --git a/pareto_optimization.py b/p1/pareto_optimization.py similarity index 99% rename from pareto_optimization.py rename to p1/pareto_optimization.py index 8aa1de9..dc99ed2 100644 --- a/pareto_optimization.py +++ b/p1/pareto_optimization.py @@ -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 前沿与膝点分析图