From 5cc8c5bd9a277a53ac3243ace64116efe02418ea Mon Sep 17 00:00:00 2001 From: ntnt Date: Tue, 3 Feb 2026 01:09:09 +0800 Subject: [PATCH] p2: fig --- p1/richards_curve_2010.py | 320 ++-- p1/sensitivity_analysis.py | 1706 ++++++++++----------- p2/completion_time_distribution.png | Bin 100533 -> 74361 bytes p2/completion_time_distribution_paper.pdf | Bin 0 -> 18748 bytes p2/completion_time_distribution_paper.png | Bin 0 -> 72750 bytes p2/energy_distribution_paper.pdf | Bin 0 -> 20092 bytes p2/energy_distribution_paper.png | Bin 0 -> 71917 bytes p2/plot_completion_time_paper.py | 89 ++ p2/plot_energy_distribution_paper.py | 85 + 9 files changed, 1187 insertions(+), 1013 deletions(-) create mode 100644 p2/completion_time_distribution_paper.pdf create mode 100644 p2/completion_time_distribution_paper.png create mode 100644 p2/energy_distribution_paper.pdf create mode 100644 p2/energy_distribution_paper.png create mode 100644 p2/plot_completion_time_paper.py create mode 100644 p2/plot_energy_distribution_paper.py diff --git a/p1/richards_curve_2010.py b/p1/richards_curve_2010.py index c2b649d..4e2e0b4 100644 --- a/p1/richards_curve_2010.py +++ b/p1/richards_curve_2010.py @@ -1,160 +1,160 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -""" -Richards S-Curve Fit for 2010-2025 Data with K=4298 - -Fits Richards model to 2010-2025 launch data with carrying capacity -constrained to K=4298 (close to physical limit of 3650). -""" - -import pandas as pd -import numpy as np -from scipy.optimize import curve_fit -import matplotlib -matplotlib.use('Agg') -import matplotlib.pyplot as plt -import warnings -warnings.filterwarnings('ignore') - -plt.rcParams['font.sans-serif'] = ['Arial Unicode MS', 'SimHei', 'DejaVu Sans'] -plt.rcParams['axes.unicode_minus'] = False - - -def richards(t, K, r, t0, v): - """Richards curve (generalized logistic model)""" - exp_term = np.exp(-r * (t - t0)) - exp_term = np.clip(exp_term, 1e-10, 1e10) - return K / np.power(1 + exp_term, 1/v) - - -def richards_fixed_K(t, r, t0, v): - """Richards curve with fixed K=4298""" - K = 4298 - exp_term = np.exp(-r * (t - t0)) - exp_term = np.clip(exp_term, 1e-10, 1e10) - return K / np.power(1 + exp_term, 1/v) - - -def load_data(filepath="rocket_launch_counts.csv"): - """Load rocket launch data""" - df = pd.read_csv(filepath) - df = df.rename(columns={"YDate": "year", "Total": "launches"}) - df["year"] = pd.to_numeric(df["year"], errors="coerce") - df["launches"] = pd.to_numeric(df["launches"], errors="coerce") - df = df.dropna(subset=["year", "launches"]) - df = df[(df["year"] >= 1957) & (df["year"] <= 2025)] - df = df.astype({"year": int, "launches": int}) - df = df.sort_values("year").reset_index(drop=True) - return df - - -def main(): - print("=" * 60) - print("Richards S-Curve Fit (2010-2025 Data, K=4298)") - print("=" * 60) - - # Load data - df = load_data() - - # Filter 2010-2025 - start_year = 2010 - end_year = 2025 - data = df[(df["year"] >= start_year) & (df["year"] <= end_year)].copy() - years = data["year"].values - launches = data["launches"].values - - print(f"Data range: {start_year} - {end_year}") - print(f"Data points: {len(data)}") - print(f"\nHistorical data:") - for y, l in zip(years, launches): - print(f" {y}: {l} launches") - - # Fit with fixed K=4298 - K_fixed = 4298 - t = (years - start_year).astype(float) - - p0 = [0.2, 20.0, 2.0] # r, t0, v - bounds = ([0.01, 5, 0.5], [1.0, 100, 10.0]) - - try: - popt, pcov = curve_fit(richards_fixed_K, t, launches, p0=p0, bounds=bounds, maxfev=100000) - r, t0, v = popt - - # Calculate R² - y_pred = richards_fixed_K(t, *popt) - ss_res = np.sum((launches - y_pred) ** 2) - ss_tot = np.sum((launches - np.mean(launches)) ** 2) - r_squared = 1 - (ss_res / ss_tot) - - print(f"\nFitted Parameters (K fixed at {K_fixed}):") - print(f" K (carrying capacity) = {K_fixed} launches/year (FIXED)") - print(f" r (growth rate) = {r:.4f}") - print(f" t0 (inflection point) = {start_year + t0:.1f}") - print(f" v (shape parameter) = {v:.3f}") - print(f" R² = {r_squared:.4f}") - - except Exception as e: - print(f"Fitting error: {e}") - return - - # Physical limit - physical_max = 3650 - print(f"\nPhysical limit: {physical_max} (10 sites × 365 days)") - print(f"K / Physical limit = {K_fixed/physical_max:.2f}x") - - # ========== Create Visualization ========== - # 缩小图片尺寸(比例不变),使字体相对更大 - fig, ax = plt.subplots(figsize=(8, 4.67)) - - # 中低饱和度配色 - color_data = '#5D6D7E' # 灰蓝色 - 数据点 - color_curve = '#52796F' # 暗绿色 - S曲线 - color_target = '#7B9EA8' # 灰蓝绿色 - 2050标记 - - # Historical data points - ax.scatter(years, launches, color=color_data, s=80, alpha=0.85, - label='Historical Data (2010-2025)', zorder=4, edgecolor='white', linewidth=1) - - # Generate smooth S-curve - years_smooth = np.linspace(start_year, 2055, 500) - t_smooth = years_smooth - start_year - pred_smooth = richards(t_smooth, K_fixed, r, t0, v) - - # S-curve prediction - ax.plot(years_smooth, pred_smooth, color=color_curve, lw=2.5, - label=f'Richards Model (K={K_fixed}, R²={r_squared:.3f})', zorder=2) - - # K=4298 saturation line - ax.axhline(K_fixed, color=color_curve, ls=':', lw=1.5, alpha=0.6, - label=f'K = {K_fixed}') - - # Mark 2050 line only - ax.axvline(2050, color=color_target, ls=':', lw=1.5, alpha=0.7) - ax.text(2050.5, K_fixed*0.83, '2050\n(Target)', fontsize=9, color=color_target) - - # Only show 2050 prediction point - t_2050 = 2050 - start_year - pred_2050 = richards(t_2050, K_fixed, r, t0, v) - ax.scatter([2050], [pred_2050], color=color_target, s=60, marker='D', zorder=4) - ax.annotate(f'{pred_2050:.0f}', xy=(2050, pred_2050), - xytext=(2050.5, pred_2050+180), - fontsize=9, color=color_target, fontweight='bold') - - # Formatting - ax.set_xlabel('Year', fontsize=11) - ax.set_ylabel('Annual Launches', fontsize=11) - ax.legend(loc='upper left', fontsize=9) - ax.grid(True, alpha=0.25) - ax.set_xlim(2010, 2055) - ax.set_ylim(0, K_fixed * 1.15) - - plt.tight_layout() - plt.savefig('richards_curve_2010_K4298.png', dpi=150, bbox_inches='tight') - plt.close() - - print("\nPlot saved: richards_curve_2010_K4298.png") - print("=" * 60) - - -if __name__ == "__main__": - main() +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +Richards S-Curve Fit for 2010-2025 Data with K=4298 + +Fits Richards model to 2010-2025 launch data with carrying capacity +constrained to K=4298 (close to physical limit of 3650). +""" + +import pandas as pd +import numpy as np +from scipy.optimize import curve_fit +import matplotlib +matplotlib.use('Agg') +import matplotlib.pyplot as plt +import warnings +warnings.filterwarnings('ignore') + +plt.rcParams['font.sans-serif'] = ['Arial Unicode MS', 'SimHei', 'DejaVu Sans'] +plt.rcParams['axes.unicode_minus'] = False + + +def richards(t, K, r, t0, v): + """Richards curve (generalized logistic model)""" + exp_term = np.exp(-r * (t - t0)) + exp_term = np.clip(exp_term, 1e-10, 1e10) + return K / np.power(1 + exp_term, 1/v) + + +def richards_fixed_K(t, r, t0, v): + """Richards curve with fixed K=4298""" + K = 4298 + exp_term = np.exp(-r * (t - t0)) + exp_term = np.clip(exp_term, 1e-10, 1e10) + return K / np.power(1 + exp_term, 1/v) + + +def load_data(filepath="rocket_launch_counts.csv"): + """Load rocket launch data""" + df = pd.read_csv(filepath) + df = df.rename(columns={"YDate": "year", "Total": "launches"}) + df["year"] = pd.to_numeric(df["year"], errors="coerce") + df["launches"] = pd.to_numeric(df["launches"], errors="coerce") + df = df.dropna(subset=["year", "launches"]) + df = df[(df["year"] >= 1957) & (df["year"] <= 2025)] + df = df.astype({"year": int, "launches": int}) + df = df.sort_values("year").reset_index(drop=True) + return df + + +def main(): + print("=" * 60) + print("Richards S-Curve Fit (2010-2025 Data, K=4298)") + print("=" * 60) + + # Load data + df = load_data() + + # Filter 2010-2025 + start_year = 2010 + end_year = 2025 + data = df[(df["year"] >= start_year) & (df["year"] <= end_year)].copy() + years = data["year"].values + launches = data["launches"].values + + print(f"Data range: {start_year} - {end_year}") + print(f"Data points: {len(data)}") + print(f"\nHistorical data:") + for y, l in zip(years, launches): + print(f" {y}: {l} launches") + + # Fit with fixed K=4298 + K_fixed = 4298 + t = (years - start_year).astype(float) + + p0 = [0.2, 20.0, 2.0] # r, t0, v + bounds = ([0.01, 5, 0.5], [1.0, 100, 10.0]) + + try: + popt, pcov = curve_fit(richards_fixed_K, t, launches, p0=p0, bounds=bounds, maxfev=100000) + r, t0, v = popt + + # Calculate R² + y_pred = richards_fixed_K(t, *popt) + ss_res = np.sum((launches - y_pred) ** 2) + ss_tot = np.sum((launches - np.mean(launches)) ** 2) + r_squared = 1 - (ss_res / ss_tot) + + print(f"\nFitted Parameters (K fixed at {K_fixed}):") + print(f" K (carrying capacity) = {K_fixed} launches/year (FIXED)") + print(f" r (growth rate) = {r:.4f}") + print(f" t0 (inflection point) = {start_year + t0:.1f}") + print(f" v (shape parameter) = {v:.3f}") + print(f" R² = {r_squared:.4f}") + + except Exception as e: + print(f"Fitting error: {e}") + return + + # Physical limit + physical_max = 3650 + print(f"\nPhysical limit: {physical_max} (10 sites × 365 days)") + print(f"K / Physical limit = {K_fixed/physical_max:.2f}x") + + # ========== Create Visualization ========== + # 缩小图片尺寸(比例不变),使字体相对更大 + fig, ax = plt.subplots(figsize=(8, 4.67)) + + # 中低饱和度配色 + color_data = '#5D6D7E' # 灰蓝色 - 数据点 + color_curve = '#52796F' # 暗绿色 - S曲线 + color_target = '#7B9EA8' # 灰蓝绿色 - 2050标记 + + # Historical data points + ax.scatter(years, launches, color=color_data, s=80, alpha=0.85, + label='Historical Data (2010-2025)', zorder=4, edgecolor='white', linewidth=1) + + # Generate smooth S-curve + years_smooth = np.linspace(start_year, 2055, 500) + t_smooth = years_smooth - start_year + pred_smooth = richards(t_smooth, K_fixed, r, t0, v) + + # S-curve prediction + ax.plot(years_smooth, pred_smooth, color=color_curve, lw=2.5, + label=f'Richards Model (K={K_fixed}, R²={r_squared:.3f})', zorder=2) + + # K=4298 saturation line + ax.axhline(K_fixed, color=color_curve, ls=':', lw=1.5, alpha=0.6, + label=f'K = {K_fixed}') + + # Mark 2050 line only + ax.axvline(2050, color=color_target, ls=':', lw=1.5, alpha=0.7) + ax.text(2050.5, K_fixed*0.83, '2050\n(Target)', fontsize=9, color=color_target) + + # Only show 2050 prediction point + t_2050 = 2050 - start_year + pred_2050 = richards(t_2050, K_fixed, r, t0, v) + ax.scatter([2050], [pred_2050], color=color_target, s=60, marker='D', zorder=4) + ax.annotate(f'{pred_2050:.0f}', xy=(2050, pred_2050), + xytext=(2050.5, pred_2050+180), + fontsize=9, color=color_target, fontweight='bold') + + # Formatting + ax.set_xlabel('Year', fontsize=11) + ax.set_ylabel('Annual Launches', fontsize=11) + ax.legend(loc='upper left', fontsize=9) + ax.grid(True, alpha=0.25) + ax.set_xlim(2010, 2055) + ax.set_ylim(0, K_fixed * 1.15) + + plt.tight_layout() + plt.savefig('richards_curve_2010_K4298.png', dpi=150, bbox_inches='tight') + plt.close() + + print("\nPlot saved: richards_curve_2010_K4298.png") + print("=" * 60) + + +if __name__ == "__main__": + main() diff --git a/p1/sensitivity_analysis.py b/p1/sensitivity_analysis.py index 9e72063..d9b5052 100644 --- a/p1/sensitivity_analysis.py +++ b/p1/sensitivity_analysis.py @@ -1,853 +1,853 @@ -""" -Task 1 Sensitivity Analysis for Moon Colony Logistics - -This module performs comprehensive sensitivity analysis on key model parameters: -1. Rocket payload capacity (100-150 tons, as specified in problem) -2. Elevator capacity (±20%) -3. Launch frequency (0.5-2 launches/day) -4. Engine technology (Isp variations) -5. Structural coefficient α - -Author: MCM 2026 Team -""" - -import numpy as np -import matplotlib -matplotlib.use('Agg') -import matplotlib.pyplot as plt -from matplotlib import rcParams -import pandas as pd -from typing import Dict, List, Tuple, Optional -from dataclasses import dataclass -import warnings -warnings.filterwarnings('ignore') - -# Font settings -rcParams['font.sans-serif'] = ['Arial Unicode MS', 'DejaVu Sans', 'SimHei'] -rcParams['axes.unicode_minus'] = False - -# ============== Physical Constants ============== -G0 = 9.81 # m/s² -OMEGA_EARTH = 7.27e-5 # rad/s -R_EARTH = 6.371e6 # m - -# Baseline Mission parameters -TOTAL_PAYLOAD = 100e6 # 100 million metric tons - -# Baseline Space Elevator parameters -BASELINE_NUM_ELEVATORS = 3 -BASELINE_ELEVATOR_CAPACITY_PER_YEAR = 179000 # metric tons per elevator per year -BASELINE_ELEVATOR_SPECIFIC_ENERGY = 157.2e9 # J per metric ton - -# Baseline Rocket parameters -BASELINE_PAYLOAD_PER_LAUNCH = 125 # metric tons (range: 100-150) -BASELINE_ISP = 363 # seconds (LOX/CH4) -BASELINE_SPECIFIC_FUEL_ENERGY = 11.9e6 # J/kg -BASELINE_ALPHA = 0.10 # structural coefficient -BASELINE_NUM_STAGES = 3 -BASELINE_DELTA_V = 13300 # m/s - -# Baseline Launch frequency -BASELINE_LAUNCHES_PER_DAY = 1 # per site - - -# ============== Launch Sites ============== -@dataclass -class LaunchSite: - name: str - short_name: str - latitude: float - - @property - def abs_latitude(self) -> float: - return abs(self.latitude) - - def delta_v_loss(self, omega=OMEGA_EARTH, r=R_EARTH) -> float: - v_equator = omega * r - v_site = omega * r * np.cos(np.radians(self.abs_latitude)) - return v_equator - v_site - - -LAUNCH_SITES = [ - LaunchSite("Kourou", "Kourou", 5.2), - LaunchSite("SDSC", "SDSC", 13.7), - LaunchSite("Texas", "Texas", 26.0), - LaunchSite("Florida", "Florida", 28.5), - LaunchSite("California", "California", 34.7), - LaunchSite("Virginia", "Virginia", 37.8), - LaunchSite("Taiyuan", "Taiyuan", 38.8), - LaunchSite("Mahia", "Mahia", 39.3), - LaunchSite("Baikonur", "Baikonur", 45.6), - LaunchSite("Alaska", "Alaska", 57.4), -] -LAUNCH_SITES = sorted(LAUNCH_SITES, key=lambda x: x.abs_latitude) -NUM_SITES = len(LAUNCH_SITES) - - -# ============== Core Calculation Functions ============== - -def fuel_ratio_multistage(delta_v: float, isp: float, alpha: float, num_stages: int) -> float: - """Calculate multi-stage rocket fuel/payload ratio""" - ve = isp * G0 - delta_v_per_stage = delta_v / num_stages - R_stage = np.exp(delta_v_per_stage / ve) - - denominator = 1 - alpha * (R_stage - 1) - if denominator <= 0: - return np.inf - - k_stage = (R_stage - 1) / denominator - - total_fuel_ratio = 0 - remaining_ratio = 1.0 - - for _ in range(num_stages): - fuel_this_stage = remaining_ratio * k_stage - total_fuel_ratio += fuel_this_stage - remaining_ratio *= (1 + k_stage * (1 + alpha)) - - return total_fuel_ratio - - -def calculate_scenario( - completion_years: float, - payload_per_launch: float = BASELINE_PAYLOAD_PER_LAUNCH, - elevator_capacity: float = BASELINE_NUM_ELEVATORS * BASELINE_ELEVATOR_CAPACITY_PER_YEAR, - launches_per_day: float = BASELINE_LAUNCHES_PER_DAY, - isp: float = BASELINE_ISP, - alpha: float = BASELINE_ALPHA, - num_stages: int = BASELINE_NUM_STAGES, - delta_v_base: float = BASELINE_DELTA_V, - specific_fuel_energy: float = BASELINE_SPECIFIC_FUEL_ENERGY, -) -> Optional[Dict]: - """Calculate scenario for given parameters""" - - # Space elevator transport - elevator_payload = min(elevator_capacity * completion_years, TOTAL_PAYLOAD) - elevator_energy = elevator_payload * BASELINE_ELEVATOR_SPECIFIC_ENERGY - - # Remaining payload for rockets - remaining_payload = TOTAL_PAYLOAD - elevator_payload - - if remaining_payload <= 0: - return { - 'years': completion_years, - 'elevator_payload': elevator_payload, - 'rocket_payload': 0, - 'total_energy_PJ': elevator_energy / 1e15, - 'rocket_launches': 0, - 'elevator_fraction': 1.0, - 'feasible': True, - } - - # Rocket launches needed - rocket_launches_needed = int(np.ceil(remaining_payload / payload_per_launch)) - - # Check feasibility - days_available = completion_years * 365 - max_launches_per_site = int(days_available * launches_per_day) - total_rocket_capacity = NUM_SITES * max_launches_per_site * payload_per_launch - - if remaining_payload > total_rocket_capacity: - return { - 'years': completion_years, - 'feasible': False, - 'shortage': remaining_payload - total_rocket_capacity, - } - - # Calculate rocket energy (low-latitude priority) - rocket_energy = 0 - remaining_launches = rocket_launches_needed - - for site in LAUNCH_SITES: - if remaining_launches <= 0: - break - allocated = min(remaining_launches, max_launches_per_site) - - # Calculate fuel ratio for this site - total_dv = delta_v_base + site.delta_v_loss() - k = fuel_ratio_multistage(total_dv, isp, alpha, num_stages) - fuel_per_ton = k * 1000 # kg fuel per metric ton payload - energy_per_ton = fuel_per_ton * specific_fuel_energy - - rocket_energy += energy_per_ton * payload_per_launch * allocated - remaining_launches -= allocated - - total_energy = elevator_energy + rocket_energy - - return { - 'years': completion_years, - 'elevator_payload': elevator_payload, - 'rocket_payload': remaining_payload, - 'total_energy_PJ': total_energy / 1e15, - 'rocket_launches': rocket_launches_needed, - 'elevator_fraction': elevator_payload / TOTAL_PAYLOAD, - 'feasible': True, - } - - -def find_minimum_timeline( - payload_per_launch: float = BASELINE_PAYLOAD_PER_LAUNCH, - elevator_capacity: float = BASELINE_NUM_ELEVATORS * BASELINE_ELEVATOR_CAPACITY_PER_YEAR, - launches_per_day: float = BASELINE_LAUNCHES_PER_DAY, - **kwargs -) -> float: - """Find minimum feasible timeline""" - for years in np.linspace(50, 300, 500): - result = calculate_scenario( - years, payload_per_launch, elevator_capacity, launches_per_day, **kwargs - ) - if result and result.get('feasible', False): - return years - return 300 # fallback - - -def generate_tradeoff_curve( - year_min: float = None, - year_max: float = 250, - num_points: int = 200, - **kwargs -) -> pd.DataFrame: - """Generate trade-off curve for given parameters""" - - if year_min is None: - year_min = find_minimum_timeline(**kwargs) - - years_range = np.linspace(year_min, year_max, num_points) - - results = [] - for years in years_range: - scenario = calculate_scenario(years, **kwargs) - if scenario and scenario.get('feasible', False): - results.append({ - 'years': years, - 'energy_PJ': scenario['total_energy_PJ'], - 'elevator_fraction': scenario['elevator_fraction'], - 'rocket_launches': scenario.get('rocket_launches', 0), - }) - - return pd.DataFrame(results) - - -def find_optimal_point(df: pd.DataFrame, lambda_cost: float) -> Dict: - """Find optimal point for given λ""" - if df.empty: - return {'years': np.nan, 'energy_PJ': np.nan} - - total_cost = df['energy_PJ'].values + lambda_cost * df['years'].values - opt_idx = np.argmin(total_cost) - - return { - 'years': df['years'].iloc[opt_idx], - 'energy_PJ': df['energy_PJ'].iloc[opt_idx], - 'elevator_fraction': df['elevator_fraction'].iloc[opt_idx], - } - - -# ============== Sensitivity Analysis Functions ============== - -def sensitivity_payload_capacity(): - """Analyze sensitivity to rocket payload capacity (100-150 tons)""" - print("\n[1] Analyzing Rocket Payload Capacity Sensitivity (100-150 tons)...") - - payload_range = np.linspace(100, 150, 11) - results = [] - - for payload in payload_range: - elevator_cap = BASELINE_NUM_ELEVATORS * BASELINE_ELEVATOR_CAPACITY_PER_YEAR - t_min = find_minimum_timeline(payload_per_launch=payload, elevator_capacity=elevator_cap) - t_elev = TOTAL_PAYLOAD / elevator_cap - - df = generate_tradeoff_curve( - year_min=t_min, year_max=250, - payload_per_launch=payload, elevator_capacity=elevator_cap - ) - - if not df.empty: - opt_504 = find_optimal_point(df, 504) - energy_at_139 = df[df['years'] >= 139]['energy_PJ'].iloc[0] if any(df['years'] >= 139) else np.nan - - results.append({ - 'payload_tons': payload, - 'min_timeline': t_min, - 'elevator_only_timeline': t_elev, - 'optimal_T_lambda504': opt_504['years'], - 'optimal_E_lambda504': opt_504['energy_PJ'], - 'energy_at_139y': energy_at_139, - }) - - return pd.DataFrame(results) - - -def sensitivity_elevator_capacity(): - """Analyze sensitivity to elevator capacity (±20%)""" - print("\n[2] Analyzing Elevator Capacity Sensitivity (±20%)...") - - baseline_cap = BASELINE_NUM_ELEVATORS * BASELINE_ELEVATOR_CAPACITY_PER_YEAR - capacity_factors = np.linspace(0.8, 1.2, 9) - results = [] - - for factor in capacity_factors: - elevator_cap = baseline_cap * factor - t_min = find_minimum_timeline(elevator_capacity=elevator_cap) - t_elev = TOTAL_PAYLOAD / elevator_cap - - df = generate_tradeoff_curve( - year_min=t_min, year_max=300, - elevator_capacity=elevator_cap - ) - - if not df.empty: - # Find critical λ - lambda_crit = None - for lam in np.linspace(300, 700, 200): - opt = find_optimal_point(df, lam) - if opt['years'] < t_elev - 5: - lambda_crit = lam - break - - opt_504 = find_optimal_point(df, 504) - - results.append({ - 'capacity_factor': factor, - 'capacity_tons_per_year': elevator_cap, - 'min_timeline': t_min, - 'elevator_only_timeline': t_elev, - 'critical_lambda': lambda_crit, - 'optimal_T_lambda504': opt_504['years'], - 'optimal_E_lambda504': opt_504['energy_PJ'], - }) - - return pd.DataFrame(results) - - -def sensitivity_launch_frequency(): - """Analyze sensitivity to launch frequency""" - print("\n[3] Analyzing Launch Frequency Sensitivity (0.5-2 launches/day)...") - - frequency_range = np.linspace(0.5, 2.0, 7) - results = [] - - for freq in frequency_range: - elevator_cap = BASELINE_NUM_ELEVATORS * BASELINE_ELEVATOR_CAPACITY_PER_YEAR - t_min = find_minimum_timeline(launches_per_day=freq, elevator_capacity=elevator_cap) - t_elev = TOTAL_PAYLOAD / elevator_cap - - df = generate_tradeoff_curve( - year_min=t_min, year_max=250, - launches_per_day=freq, elevator_capacity=elevator_cap - ) - - if not df.empty: - opt_504 = find_optimal_point(df, 504) - - results.append({ - 'launches_per_day': freq, - 'min_timeline': t_min, - 'elevator_only_timeline': t_elev, - 'optimal_T_lambda504': opt_504['years'], - 'optimal_E_lambda504': opt_504['energy_PJ'], - 'rocket_capacity_tons_per_year': freq * 365 * NUM_SITES * BASELINE_PAYLOAD_PER_LAUNCH, - }) - - return pd.DataFrame(results) - - -def sensitivity_engine_technology(): - """Analyze sensitivity to engine technology (Isp)""" - print("\n[4] Analyzing Engine Technology Sensitivity (Isp)...") - - engines = [ - ('Solid', 280, 5.0e6), - ('LOX/Kerosene', 350, 10.3e6), - ('LOX/Methane', 363, 11.9e6), - ('LOX/Hydrogen', 450, 15.5e6), - ] - - results = [] - - for name, isp, specific_energy in engines: - elevator_cap = BASELINE_NUM_ELEVATORS * BASELINE_ELEVATOR_CAPACITY_PER_YEAR - t_min = find_minimum_timeline( - isp=isp, specific_fuel_energy=specific_energy, elevator_capacity=elevator_cap - ) - - df = generate_tradeoff_curve( - year_min=t_min, year_max=250, - isp=isp, specific_fuel_energy=specific_energy, elevator_capacity=elevator_cap - ) - - if not df.empty: - opt_504 = find_optimal_point(df, 504) - - # Calculate fuel ratio at equator - k = fuel_ratio_multistage(BASELINE_DELTA_V, isp, BASELINE_ALPHA, BASELINE_NUM_STAGES) - - results.append({ - 'engine_type': name, - 'isp_seconds': isp, - 'specific_energy_MJ_kg': specific_energy / 1e6, - 'fuel_ratio': k, - 'min_timeline': t_min, - 'optimal_T_lambda504': opt_504['years'], - 'optimal_E_lambda504': opt_504['energy_PJ'], - }) - - return pd.DataFrame(results) - - -def sensitivity_structural_coefficient(): - """Analyze sensitivity to structural coefficient α""" - print("\n[5] Analyzing Structural Coefficient Sensitivity (α)...") - - alpha_range = np.linspace(0.06, 0.14, 9) - results = [] - - for alpha in alpha_range: - elevator_cap = BASELINE_NUM_ELEVATORS * BASELINE_ELEVATOR_CAPACITY_PER_YEAR - t_min = find_minimum_timeline(alpha=alpha, elevator_capacity=elevator_cap) - - df = generate_tradeoff_curve( - year_min=t_min, year_max=250, - alpha=alpha, elevator_capacity=elevator_cap - ) - - if not df.empty: - opt_504 = find_optimal_point(df, 504) - k = fuel_ratio_multistage(BASELINE_DELTA_V, BASELINE_ISP, alpha, BASELINE_NUM_STAGES) - - results.append({ - 'alpha': alpha, - 'fuel_ratio': k, - 'min_timeline': t_min, - 'optimal_T_lambda504': opt_504['years'], - 'optimal_E_lambda504': opt_504['energy_PJ'], - }) - - return pd.DataFrame(results) - - -# ============== Visualization ============== - -def plot_sensitivity_analysis( - payload_df: pd.DataFrame, - elevator_df: pd.DataFrame, - frequency_df: pd.DataFrame, - engine_df: pd.DataFrame, - alpha_df: pd.DataFrame, - save_path: str = '/Volumes/Files/code/mm/20260130_b/p1/sensitivity_analysis.png' -): - """Create comprehensive sensitivity analysis visualization""" - - fig, axes = plt.subplots(2, 3, figsize=(18, 12)) - - # ========== Plot 1: Rocket Payload Capacity ========== - ax1 = axes[0, 0] - - ax1.plot(payload_df['payload_tons'], payload_df['min_timeline'], - 'b-o', linewidth=2, markersize=8, label='Minimum Timeline') - ax1.plot(payload_df['payload_tons'], payload_df['optimal_T_lambda504'], - 'r-s', linewidth=2, markersize=8, label='Optimal T* (λ=504)') - - ax1.axhline(y=186.2, color='green', linestyle='--', alpha=0.7, label='Elevator-only') - ax1.axvline(x=125, color='gray', linestyle=':', alpha=0.7, label='Baseline (125t)') - - ax1.fill_betweenx([80, 220], 100, 150, alpha=0.1, color='blue', label='Problem range') - - ax1.set_xlabel('Rocket Payload Capacity (metric tons)', fontsize=11) - ax1.set_ylabel('Timeline (years)', fontsize=11) - ax1.set_title('(a) Sensitivity to Rocket Payload Capacity\n(Problem specifies 100-150 tons)', fontsize=12) - ax1.legend(loc='upper right', fontsize=9) - ax1.grid(True, alpha=0.3) - ax1.set_xlim(95, 155) - ax1.set_ylim(80, 200) - - # ========== Plot 2: Elevator Capacity ========== - ax2 = axes[0, 1] - - ax2.plot(elevator_df['capacity_factor'] * 100, elevator_df['elevator_only_timeline'], - 'g-o', linewidth=2, markersize=8, label='Elevator-only Timeline') - ax2.plot(elevator_df['capacity_factor'] * 100, elevator_df['optimal_T_lambda504'], - 'r-s', linewidth=2, markersize=8, label='Optimal T* (λ=504)') - ax2.plot(elevator_df['capacity_factor'] * 100, elevator_df['min_timeline'], - 'b-^', linewidth=2, markersize=8, label='Minimum Timeline') - - ax2.axvline(x=100, color='gray', linestyle=':', alpha=0.7, label='Baseline') - - ax2.set_xlabel('Elevator Capacity (% of baseline)', fontsize=11) - ax2.set_ylabel('Timeline (years)', fontsize=11) - ax2.set_title('(b) Sensitivity to Elevator Capacity (±20%)', fontsize=12) - ax2.legend(loc='upper right', fontsize=9) - ax2.grid(True, alpha=0.3) - ax2.set_xlim(75, 125) - - # ========== Plot 3: Launch Frequency ========== - ax3 = axes[0, 2] - - ax3.plot(frequency_df['launches_per_day'], frequency_df['min_timeline'], - 'b-o', linewidth=2, markersize=8, label='Minimum Timeline') - ax3.plot(frequency_df['launches_per_day'], frequency_df['optimal_T_lambda504'], - 'r-s', linewidth=2, markersize=8, label='Optimal T* (λ=504)') - - ax3.axhline(y=186.2, color='green', linestyle='--', alpha=0.7, label='Elevator-only') - ax3.axvline(x=1.0, color='gray', linestyle=':', alpha=0.7, label='Baseline (1/day)') - - ax3.set_xlabel('Launch Frequency (launches/site/day)', fontsize=11) - ax3.set_ylabel('Timeline (years)', fontsize=11) - ax3.set_title('(c) Sensitivity to Launch Frequency', fontsize=12) - ax3.legend(loc='upper right', fontsize=9) - ax3.grid(True, alpha=0.3) - - # ========== Plot 4: Engine Technology ========== - ax4 = axes[1, 0] - - x_pos = np.arange(len(engine_df)) - width = 0.35 - - bars1 = ax4.bar(x_pos - width/2, engine_df['optimal_E_lambda504'] / 1000, width, - label='Energy at T* (×10³ PJ)', color='steelblue', alpha=0.8) - - ax4_twin = ax4.twinx() - bars2 = ax4_twin.bar(x_pos + width/2, engine_df['fuel_ratio'], width, - label='Fuel Ratio k', color='coral', alpha=0.8) - - ax4.set_xlabel('Engine Type', fontsize=11) - ax4.set_ylabel('Energy (×10³ PJ)', fontsize=11, color='steelblue') - ax4_twin.set_ylabel('Fuel Ratio k', fontsize=11, color='coral') - ax4.set_title('(d) Sensitivity to Engine Technology', fontsize=12) - ax4.set_xticks(x_pos) - ax4.set_xticklabels(engine_df['engine_type'], rotation=15) - ax4.legend(loc='upper left', fontsize=9) - ax4_twin.legend(loc='upper right', fontsize=9) - ax4.grid(True, alpha=0.3, axis='y') - - # ========== Plot 5: Structural Coefficient ========== - ax5 = axes[1, 1] - - ax5.plot(alpha_df['alpha'], alpha_df['fuel_ratio'], - 'g-o', linewidth=2, markersize=8, label='Fuel Ratio k') - - ax5_twin = ax5.twinx() - ax5_twin.plot(alpha_df['alpha'], alpha_df['optimal_E_lambda504'] / 1000, - 'r-s', linewidth=2, markersize=8, label='Energy at T* (×10³ PJ)') - - ax5.axvline(x=0.10, color='gray', linestyle=':', alpha=0.7, label='Baseline') - - ax5.set_xlabel('Structural Coefficient α', fontsize=11) - ax5.set_ylabel('Fuel Ratio k', fontsize=11, color='green') - ax5_twin.set_ylabel('Energy (×10³ PJ)', fontsize=11, color='red') - ax5.set_title('(e) Sensitivity to Structural Coefficient α', fontsize=12) - ax5.legend(loc='upper left', fontsize=9) - ax5_twin.legend(loc='upper right', fontsize=9) - ax5.grid(True, alpha=0.3) - - # ========== Plot 6: Summary Tornado Chart ========== - ax6 = axes[1, 2] - - # Calculate sensitivity indices (% change in T* for parameter variation) - baseline_T = 139 # baseline optimal timeline - - sensitivities = [ - ('Payload\n(100→150t)', - (payload_df['optimal_T_lambda504'].iloc[0] - baseline_T) / baseline_T * 100, - (payload_df['optimal_T_lambda504'].iloc[-1] - baseline_T) / baseline_T * 100), - ('Elevator Cap.\n(80%→120%)', - (elevator_df['optimal_T_lambda504'].iloc[0] - baseline_T) / baseline_T * 100, - (elevator_df['optimal_T_lambda504'].iloc[-1] - baseline_T) / baseline_T * 100), - ('Launch Freq.\n(0.5→2/day)', - (frequency_df['optimal_T_lambda504'].iloc[0] - baseline_T) / baseline_T * 100, - (frequency_df['optimal_T_lambda504'].iloc[-1] - baseline_T) / baseline_T * 100), - ('Struct. Coef.\n(0.06→0.14)', - (alpha_df['optimal_T_lambda504'].iloc[0] - baseline_T) / baseline_T * 100, - (alpha_df['optimal_T_lambda504'].iloc[-1] - baseline_T) / baseline_T * 100), - ] - - y_pos = np.arange(len(sensitivities)) - - for i, (name, low, high) in enumerate(sensitivities): - ax6.barh(i, high - low, left=min(low, high), height=0.6, - color='steelblue' if high > low else 'coral', alpha=0.7) - ax6.plot([low, high], [i, i], 'k-', linewidth=2) - ax6.plot(low, i, 'ko', markersize=8) - ax6.plot(high, i, 'k^', markersize=8) - - ax6.axvline(x=0, color='black', linestyle='-', linewidth=1) - ax6.set_yticks(y_pos) - ax6.set_yticklabels([s[0] for s in sensitivities]) - ax6.set_xlabel('Change in Optimal Timeline T* (%)', fontsize=11) - ax6.set_title('(f) Sensitivity Summary (Tornado Chart)', fontsize=12) - ax6.grid(True, alpha=0.3, axis='x') - - plt.tight_layout() - plt.savefig(save_path, dpi=150, bbox_inches='tight') - print(f"\nSensitivity analysis plot saved to: {save_path}") - - return fig - - -def plot_tornado_chart_standalone( - payload_df: pd.DataFrame, - elevator_df: pd.DataFrame, - frequency_df: pd.DataFrame, - alpha_df: pd.DataFrame, - save_path: str = '/Volumes/Files/code/mm/20260130_b/p1/tornado_chart.png' -): - """ - 单独绘制 Tornado Chart(敏感性汇总图) - - XY轴反转(垂直柱状图) - - 长宽比 0.618 - - 无标题 - - 有图例 - - 低饱和度色系 - """ - # 使用0.618黄金比例 - fig_width = 8 - fig_height = fig_width * 0.618 - fig, ax = plt.subplots(figsize=(fig_width, fig_height)) - - # 计算敏感性指标 - baseline_T = 139 - - sensitivities = [ - ('Payload\n(100→150t)', - (payload_df['optimal_T_lambda504'].iloc[0] - baseline_T) / baseline_T * 100, - (payload_df['optimal_T_lambda504'].iloc[-1] - baseline_T) / baseline_T * 100), - ('Elevator Cap.\n(80%→120%)', - (elevator_df['optimal_T_lambda504'].iloc[0] - baseline_T) / baseline_T * 100, - (elevator_df['optimal_T_lambda504'].iloc[-1] - baseline_T) / baseline_T * 100), - ('Launch Freq.\n(0.5→2/day)', - (frequency_df['optimal_T_lambda504'].iloc[0] - baseline_T) / baseline_T * 100, - (frequency_df['optimal_T_lambda504'].iloc[-1] - baseline_T) / baseline_T * 100), - ('Struct. Coef.\n(0.06→0.14)', - (alpha_df['optimal_T_lambda504'].iloc[0] - baseline_T) / baseline_T * 100, - (alpha_df['optimal_T_lambda504'].iloc[-1] - baseline_T) / baseline_T * 100), - ] - - # 低饱和度配色 - color_positive = '#7A9CBF' # 灰蓝色(参数增加导致T*增加) - color_negative = '#C4816B' # 灰橙红色(参数增加导致T*减少) - - x_pos = np.arange(len(sensitivities)) - bar_width = 0.6 - - # 绘制柱状图(XY反转,使用垂直柱状图) - for i, (name, low, high) in enumerate(sensitivities): - bar_color = color_positive if high > low else color_negative - bar_height = high - low - bar_bottom = min(low, high) - - ax.bar(i, bar_height, bottom=bar_bottom, width=bar_width, - color=bar_color, alpha=0.8, edgecolor='#555555', linewidth=0.8) - - # 标记端点 - ax.plot(i, low, 'o', color='#444444', markersize=7, zorder=5) - ax.plot(i, high, '^', color='#444444', markersize=7, zorder=5) - ax.plot([i, i], [low, high], '-', color='#444444', linewidth=1.5, zorder=4) - - # 基准线 - ax.axhline(y=0, color='#333333', linestyle='-', linewidth=1.2) - - # 设置轴 - ax.set_xticks(x_pos) - ax.set_xticklabels([s[0] for s in sensitivities], fontsize=10) - ax.set_ylabel('Change in Optimal Timeline T* (%)', fontsize=11) - ax.grid(True, alpha=0.3, axis='y') - - # 添加图例 - from matplotlib.patches import Patch - from matplotlib.lines import Line2D - legend_elements = [ - Patch(facecolor=color_negative, edgecolor='#555555', alpha=0.8, - label='Parameter ↑ → T* ↓'), - Patch(facecolor=color_positive, edgecolor='#555555', alpha=0.8, - label='Parameter ↑ → T* ↑'), - Line2D([0], [0], marker='o', color='#444444', linestyle='None', - markersize=6, label='Low value'), - Line2D([0], [0], marker='^', color='#444444', linestyle='None', - markersize=6, label='High value'), - ] - ax.legend(handles=legend_elements, loc='upper right', fontsize=9, framealpha=0.9) - - plt.tight_layout() - plt.savefig(save_path, dpi=150, bbox_inches='tight') - print(f"Tornado chart saved to: {save_path}") - - return fig - - -def plot_tradeoff_comparison( - save_path: str = '/Volumes/Files/code/mm/20260130_b/p1/sensitivity_tradeoff.png' -): - """Plot trade-off curves for different parameter values""" - - fig, axes = plt.subplots(2, 2, figsize=(14, 12)) - - elevator_cap = BASELINE_NUM_ELEVATORS * BASELINE_ELEVATOR_CAPACITY_PER_YEAR - - # ========== Plot 1: Different Payload Capacities ========== - ax1 = axes[0, 0] - - for payload, color in [(100, 'red'), (125, 'blue'), (150, 'green')]: - df = generate_tradeoff_curve(payload_per_launch=payload, elevator_capacity=elevator_cap) - if not df.empty: - ax1.plot(df['years'], df['energy_PJ'] / 1000, color=color, linewidth=2, - label=f'{payload} tons') - - ax1.set_xlabel('Timeline (years)', fontsize=11) - ax1.set_ylabel('Energy (×10³ PJ)', fontsize=11) - ax1.set_title('Trade-off Curves: Rocket Payload Capacity', fontsize=12) - ax1.legend(title='Payload') - ax1.grid(True, alpha=0.3) - ax1.set_xlim(95, 200) - - # ========== Plot 2: Different Elevator Capacities ========== - ax2 = axes[0, 1] - - for factor, color in [(0.8, 'red'), (1.0, 'blue'), (1.2, 'green')]: - df = generate_tradeoff_curve(elevator_capacity=elevator_cap * factor) - if not df.empty: - ax2.plot(df['years'], df['energy_PJ'] / 1000, color=color, linewidth=2, - label=f'{factor*100:.0f}%') - - ax2.set_xlabel('Timeline (years)', fontsize=11) - ax2.set_ylabel('Energy (×10³ PJ)', fontsize=11) - ax2.set_title('Trade-off Curves: Elevator Capacity', fontsize=12) - ax2.legend(title='Capacity') - ax2.grid(True, alpha=0.3) - ax2.set_xlim(95, 250) - - # ========== Plot 3: Different Launch Frequencies ========== - ax3 = axes[1, 0] - - for freq, color in [(0.5, 'red'), (1.0, 'blue'), (2.0, 'green')]: - df = generate_tradeoff_curve(launches_per_day=freq, elevator_capacity=elevator_cap) - if not df.empty: - ax3.plot(df['years'], df['energy_PJ'] / 1000, color=color, linewidth=2, - label=f'{freq}/day') - - ax3.set_xlabel('Timeline (years)', fontsize=11) - ax3.set_ylabel('Energy (×10³ PJ)', fontsize=11) - ax3.set_title('Trade-off Curves: Launch Frequency', fontsize=12) - ax3.legend(title='Frequency') - ax3.grid(True, alpha=0.3) - ax3.set_xlim(45, 200) - - # ========== Plot 4: Different Engine Types ========== - ax4 = axes[1, 1] - - engines = [ - ('LOX/Kerosene', 350, 10.3e6, 'red'), - ('LOX/Methane', 363, 11.9e6, 'blue'), - ('LOX/Hydrogen', 450, 15.5e6, 'green'), - ] - - for name, isp, se, color in engines: - df = generate_tradeoff_curve(isp=isp, specific_fuel_energy=se, elevator_capacity=elevator_cap) - if not df.empty: - ax4.plot(df['years'], df['energy_PJ'] / 1000, color=color, linewidth=2, - label=f'{name}') - - ax4.set_xlabel('Timeline (years)', fontsize=11) - ax4.set_ylabel('Energy (×10³ PJ)', fontsize=11) - ax4.set_title('Trade-off Curves: Engine Technology', fontsize=12) - ax4.legend(title='Engine') - ax4.grid(True, alpha=0.3) - ax4.set_xlim(95, 200) - - plt.tight_layout() - plt.savefig(save_path, dpi=150, bbox_inches='tight') - print(f"Trade-off comparison plot saved to: {save_path}") - - return fig - - -# ============== Main ============== - -def main(): - print("=" * 70) - print("Task 1 Sensitivity Analysis for Moon Colony Logistics") - print("=" * 70) - - # Run all sensitivity analyses - payload_df = sensitivity_payload_capacity() - elevator_df = sensitivity_elevator_capacity() - frequency_df = sensitivity_launch_frequency() - engine_df = sensitivity_engine_technology() - alpha_df = sensitivity_structural_coefficient() - - # Print summary tables - print("\n" + "=" * 70) - print("SENSITIVITY ANALYSIS RESULTS") - print("=" * 70) - - print("\n[1] Rocket Payload Capacity (Problem range: 100-150 tons)") - print(payload_df.to_string(index=False)) - - print("\n[2] Elevator Capacity (±20%)") - print(elevator_df.to_string(index=False)) - - print("\n[3] Launch Frequency") - print(frequency_df.to_string(index=False)) - - print("\n[4] Engine Technology") - print(engine_df.to_string(index=False)) - - print("\n[5] Structural Coefficient α") - print(alpha_df.to_string(index=False)) - - # Generate plots - print("\n" + "=" * 70) - print("Generating Visualization...") - print("=" * 70) - - plot_sensitivity_analysis(payload_df, elevator_df, frequency_df, engine_df, alpha_df) - plot_tradeoff_comparison() - - # Save data - payload_df.to_csv('/Volumes/Files/code/mm/20260130_b/p1/sensitivity_payload.csv', index=False) - elevator_df.to_csv('/Volumes/Files/code/mm/20260130_b/p1/sensitivity_elevator.csv', index=False) - frequency_df.to_csv('/Volumes/Files/code/mm/20260130_b/p1/sensitivity_frequency.csv', index=False) - engine_df.to_csv('/Volumes/Files/code/mm/20260130_b/p1/sensitivity_engine.csv', index=False) - alpha_df.to_csv('/Volumes/Files/code/mm/20260130_b/p1/sensitivity_alpha.csv', index=False) - print("\nData saved to CSV files.") - - # Summary - print("\n" + "=" * 70) - print("KEY FINDINGS") - print("=" * 70) - print(""" - 1. ROCKET PAYLOAD CAPACITY (100-150 tons): - - Higher capacity reduces minimum timeline significantly - - Limited impact on energy when elevator dominates - - Baseline 125 tons is a reasonable middle estimate - - 2. ELEVATOR CAPACITY (±20%): - - Most sensitive parameter for timeline - - ±20% capacity changes elevator-only timeline by ~37 years - - Critical for long-term planning - - 3. LAUNCH FREQUENCY: - - Doubling frequency halves minimum rocket-only timeline - - Essential for time-constrained scenarios - - Less impact when elevator provides majority of transport - - 4. ENGINE TECHNOLOGY: - - Primarily affects energy, not timeline - - LOX/Hydrogen saves ~30% energy vs LOX/Methane - - But LOX/Methane has practical advantages (storage, cost) - - 5. STRUCTURAL COEFFICIENT α: - - Lower α (better technology) improves fuel efficiency - - Moderate impact on total energy - - Progress from 0.10 to 0.08 saves ~8% energy - """) - - print("=" * 70) - print("Analysis Complete!") - print("=" * 70) - - return payload_df, elevator_df, frequency_df, engine_df, alpha_df - - -if __name__ == "__main__": - results = main() +""" +Task 1 Sensitivity Analysis for Moon Colony Logistics + +This module performs comprehensive sensitivity analysis on key model parameters: +1. Rocket payload capacity (100-150 tons, as specified in problem) +2. Elevator capacity (±20%) +3. Launch frequency (0.5-2 launches/day) +4. Engine technology (Isp variations) +5. Structural coefficient α + +Author: MCM 2026 Team +""" + +import numpy as np +import matplotlib +matplotlib.use('Agg') +import matplotlib.pyplot as plt +from matplotlib import rcParams +import pandas as pd +from typing import Dict, List, Tuple, Optional +from dataclasses import dataclass +import warnings +warnings.filterwarnings('ignore') + +# Font settings +rcParams['font.sans-serif'] = ['Arial Unicode MS', 'DejaVu Sans', 'SimHei'] +rcParams['axes.unicode_minus'] = False + +# ============== Physical Constants ============== +G0 = 9.81 # m/s² +OMEGA_EARTH = 7.27e-5 # rad/s +R_EARTH = 6.371e6 # m + +# Baseline Mission parameters +TOTAL_PAYLOAD = 100e6 # 100 million metric tons + +# Baseline Space Elevator parameters +BASELINE_NUM_ELEVATORS = 3 +BASELINE_ELEVATOR_CAPACITY_PER_YEAR = 179000 # metric tons per elevator per year +BASELINE_ELEVATOR_SPECIFIC_ENERGY = 157.2e9 # J per metric ton + +# Baseline Rocket parameters +BASELINE_PAYLOAD_PER_LAUNCH = 125 # metric tons (range: 100-150) +BASELINE_ISP = 363 # seconds (LOX/CH4) +BASELINE_SPECIFIC_FUEL_ENERGY = 11.9e6 # J/kg +BASELINE_ALPHA = 0.10 # structural coefficient +BASELINE_NUM_STAGES = 3 +BASELINE_DELTA_V = 13300 # m/s + +# Baseline Launch frequency +BASELINE_LAUNCHES_PER_DAY = 1 # per site + + +# ============== Launch Sites ============== +@dataclass +class LaunchSite: + name: str + short_name: str + latitude: float + + @property + def abs_latitude(self) -> float: + return abs(self.latitude) + + def delta_v_loss(self, omega=OMEGA_EARTH, r=R_EARTH) -> float: + v_equator = omega * r + v_site = omega * r * np.cos(np.radians(self.abs_latitude)) + return v_equator - v_site + + +LAUNCH_SITES = [ + LaunchSite("Kourou", "Kourou", 5.2), + LaunchSite("SDSC", "SDSC", 13.7), + LaunchSite("Texas", "Texas", 26.0), + LaunchSite("Florida", "Florida", 28.5), + LaunchSite("California", "California", 34.7), + LaunchSite("Virginia", "Virginia", 37.8), + LaunchSite("Taiyuan", "Taiyuan", 38.8), + LaunchSite("Mahia", "Mahia", 39.3), + LaunchSite("Baikonur", "Baikonur", 45.6), + LaunchSite("Alaska", "Alaska", 57.4), +] +LAUNCH_SITES = sorted(LAUNCH_SITES, key=lambda x: x.abs_latitude) +NUM_SITES = len(LAUNCH_SITES) + + +# ============== Core Calculation Functions ============== + +def fuel_ratio_multistage(delta_v: float, isp: float, alpha: float, num_stages: int) -> float: + """Calculate multi-stage rocket fuel/payload ratio""" + ve = isp * G0 + delta_v_per_stage = delta_v / num_stages + R_stage = np.exp(delta_v_per_stage / ve) + + denominator = 1 - alpha * (R_stage - 1) + if denominator <= 0: + return np.inf + + k_stage = (R_stage - 1) / denominator + + total_fuel_ratio = 0 + remaining_ratio = 1.0 + + for _ in range(num_stages): + fuel_this_stage = remaining_ratio * k_stage + total_fuel_ratio += fuel_this_stage + remaining_ratio *= (1 + k_stage * (1 + alpha)) + + return total_fuel_ratio + + +def calculate_scenario( + completion_years: float, + payload_per_launch: float = BASELINE_PAYLOAD_PER_LAUNCH, + elevator_capacity: float = BASELINE_NUM_ELEVATORS * BASELINE_ELEVATOR_CAPACITY_PER_YEAR, + launches_per_day: float = BASELINE_LAUNCHES_PER_DAY, + isp: float = BASELINE_ISP, + alpha: float = BASELINE_ALPHA, + num_stages: int = BASELINE_NUM_STAGES, + delta_v_base: float = BASELINE_DELTA_V, + specific_fuel_energy: float = BASELINE_SPECIFIC_FUEL_ENERGY, +) -> Optional[Dict]: + """Calculate scenario for given parameters""" + + # Space elevator transport + elevator_payload = min(elevator_capacity * completion_years, TOTAL_PAYLOAD) + elevator_energy = elevator_payload * BASELINE_ELEVATOR_SPECIFIC_ENERGY + + # Remaining payload for rockets + remaining_payload = TOTAL_PAYLOAD - elevator_payload + + if remaining_payload <= 0: + return { + 'years': completion_years, + 'elevator_payload': elevator_payload, + 'rocket_payload': 0, + 'total_energy_PJ': elevator_energy / 1e15, + 'rocket_launches': 0, + 'elevator_fraction': 1.0, + 'feasible': True, + } + + # Rocket launches needed + rocket_launches_needed = int(np.ceil(remaining_payload / payload_per_launch)) + + # Check feasibility + days_available = completion_years * 365 + max_launches_per_site = int(days_available * launches_per_day) + total_rocket_capacity = NUM_SITES * max_launches_per_site * payload_per_launch + + if remaining_payload > total_rocket_capacity: + return { + 'years': completion_years, + 'feasible': False, + 'shortage': remaining_payload - total_rocket_capacity, + } + + # Calculate rocket energy (low-latitude priority) + rocket_energy = 0 + remaining_launches = rocket_launches_needed + + for site in LAUNCH_SITES: + if remaining_launches <= 0: + break + allocated = min(remaining_launches, max_launches_per_site) + + # Calculate fuel ratio for this site + total_dv = delta_v_base + site.delta_v_loss() + k = fuel_ratio_multistage(total_dv, isp, alpha, num_stages) + fuel_per_ton = k * 1000 # kg fuel per metric ton payload + energy_per_ton = fuel_per_ton * specific_fuel_energy + + rocket_energy += energy_per_ton * payload_per_launch * allocated + remaining_launches -= allocated + + total_energy = elevator_energy + rocket_energy + + return { + 'years': completion_years, + 'elevator_payload': elevator_payload, + 'rocket_payload': remaining_payload, + 'total_energy_PJ': total_energy / 1e15, + 'rocket_launches': rocket_launches_needed, + 'elevator_fraction': elevator_payload / TOTAL_PAYLOAD, + 'feasible': True, + } + + +def find_minimum_timeline( + payload_per_launch: float = BASELINE_PAYLOAD_PER_LAUNCH, + elevator_capacity: float = BASELINE_NUM_ELEVATORS * BASELINE_ELEVATOR_CAPACITY_PER_YEAR, + launches_per_day: float = BASELINE_LAUNCHES_PER_DAY, + **kwargs +) -> float: + """Find minimum feasible timeline""" + for years in np.linspace(50, 300, 500): + result = calculate_scenario( + years, payload_per_launch, elevator_capacity, launches_per_day, **kwargs + ) + if result and result.get('feasible', False): + return years + return 300 # fallback + + +def generate_tradeoff_curve( + year_min: float = None, + year_max: float = 250, + num_points: int = 200, + **kwargs +) -> pd.DataFrame: + """Generate trade-off curve for given parameters""" + + if year_min is None: + year_min = find_minimum_timeline(**kwargs) + + years_range = np.linspace(year_min, year_max, num_points) + + results = [] + for years in years_range: + scenario = calculate_scenario(years, **kwargs) + if scenario and scenario.get('feasible', False): + results.append({ + 'years': years, + 'energy_PJ': scenario['total_energy_PJ'], + 'elevator_fraction': scenario['elevator_fraction'], + 'rocket_launches': scenario.get('rocket_launches', 0), + }) + + return pd.DataFrame(results) + + +def find_optimal_point(df: pd.DataFrame, lambda_cost: float) -> Dict: + """Find optimal point for given λ""" + if df.empty: + return {'years': np.nan, 'energy_PJ': np.nan} + + total_cost = df['energy_PJ'].values + lambda_cost * df['years'].values + opt_idx = np.argmin(total_cost) + + return { + 'years': df['years'].iloc[opt_idx], + 'energy_PJ': df['energy_PJ'].iloc[opt_idx], + 'elevator_fraction': df['elevator_fraction'].iloc[opt_idx], + } + + +# ============== Sensitivity Analysis Functions ============== + +def sensitivity_payload_capacity(): + """Analyze sensitivity to rocket payload capacity (100-150 tons)""" + print("\n[1] Analyzing Rocket Payload Capacity Sensitivity (100-150 tons)...") + + payload_range = np.linspace(100, 150, 11) + results = [] + + for payload in payload_range: + elevator_cap = BASELINE_NUM_ELEVATORS * BASELINE_ELEVATOR_CAPACITY_PER_YEAR + t_min = find_minimum_timeline(payload_per_launch=payload, elevator_capacity=elevator_cap) + t_elev = TOTAL_PAYLOAD / elevator_cap + + df = generate_tradeoff_curve( + year_min=t_min, year_max=250, + payload_per_launch=payload, elevator_capacity=elevator_cap + ) + + if not df.empty: + opt_504 = find_optimal_point(df, 504) + energy_at_139 = df[df['years'] >= 139]['energy_PJ'].iloc[0] if any(df['years'] >= 139) else np.nan + + results.append({ + 'payload_tons': payload, + 'min_timeline': t_min, + 'elevator_only_timeline': t_elev, + 'optimal_T_lambda504': opt_504['years'], + 'optimal_E_lambda504': opt_504['energy_PJ'], + 'energy_at_139y': energy_at_139, + }) + + return pd.DataFrame(results) + + +def sensitivity_elevator_capacity(): + """Analyze sensitivity to elevator capacity (±20%)""" + print("\n[2] Analyzing Elevator Capacity Sensitivity (±20%)...") + + baseline_cap = BASELINE_NUM_ELEVATORS * BASELINE_ELEVATOR_CAPACITY_PER_YEAR + capacity_factors = np.linspace(0.8, 1.2, 9) + results = [] + + for factor in capacity_factors: + elevator_cap = baseline_cap * factor + t_min = find_minimum_timeline(elevator_capacity=elevator_cap) + t_elev = TOTAL_PAYLOAD / elevator_cap + + df = generate_tradeoff_curve( + year_min=t_min, year_max=300, + elevator_capacity=elevator_cap + ) + + if not df.empty: + # Find critical λ + lambda_crit = None + for lam in np.linspace(300, 700, 200): + opt = find_optimal_point(df, lam) + if opt['years'] < t_elev - 5: + lambda_crit = lam + break + + opt_504 = find_optimal_point(df, 504) + + results.append({ + 'capacity_factor': factor, + 'capacity_tons_per_year': elevator_cap, + 'min_timeline': t_min, + 'elevator_only_timeline': t_elev, + 'critical_lambda': lambda_crit, + 'optimal_T_lambda504': opt_504['years'], + 'optimal_E_lambda504': opt_504['energy_PJ'], + }) + + return pd.DataFrame(results) + + +def sensitivity_launch_frequency(): + """Analyze sensitivity to launch frequency""" + print("\n[3] Analyzing Launch Frequency Sensitivity (0.5-2 launches/day)...") + + frequency_range = np.linspace(0.5, 2.0, 7) + results = [] + + for freq in frequency_range: + elevator_cap = BASELINE_NUM_ELEVATORS * BASELINE_ELEVATOR_CAPACITY_PER_YEAR + t_min = find_minimum_timeline(launches_per_day=freq, elevator_capacity=elevator_cap) + t_elev = TOTAL_PAYLOAD / elevator_cap + + df = generate_tradeoff_curve( + year_min=t_min, year_max=250, + launches_per_day=freq, elevator_capacity=elevator_cap + ) + + if not df.empty: + opt_504 = find_optimal_point(df, 504) + + results.append({ + 'launches_per_day': freq, + 'min_timeline': t_min, + 'elevator_only_timeline': t_elev, + 'optimal_T_lambda504': opt_504['years'], + 'optimal_E_lambda504': opt_504['energy_PJ'], + 'rocket_capacity_tons_per_year': freq * 365 * NUM_SITES * BASELINE_PAYLOAD_PER_LAUNCH, + }) + + return pd.DataFrame(results) + + +def sensitivity_engine_technology(): + """Analyze sensitivity to engine technology (Isp)""" + print("\n[4] Analyzing Engine Technology Sensitivity (Isp)...") + + engines = [ + ('Solid', 280, 5.0e6), + ('LOX/Kerosene', 350, 10.3e6), + ('LOX/Methane', 363, 11.9e6), + ('LOX/Hydrogen', 450, 15.5e6), + ] + + results = [] + + for name, isp, specific_energy in engines: + elevator_cap = BASELINE_NUM_ELEVATORS * BASELINE_ELEVATOR_CAPACITY_PER_YEAR + t_min = find_minimum_timeline( + isp=isp, specific_fuel_energy=specific_energy, elevator_capacity=elevator_cap + ) + + df = generate_tradeoff_curve( + year_min=t_min, year_max=250, + isp=isp, specific_fuel_energy=specific_energy, elevator_capacity=elevator_cap + ) + + if not df.empty: + opt_504 = find_optimal_point(df, 504) + + # Calculate fuel ratio at equator + k = fuel_ratio_multistage(BASELINE_DELTA_V, isp, BASELINE_ALPHA, BASELINE_NUM_STAGES) + + results.append({ + 'engine_type': name, + 'isp_seconds': isp, + 'specific_energy_MJ_kg': specific_energy / 1e6, + 'fuel_ratio': k, + 'min_timeline': t_min, + 'optimal_T_lambda504': opt_504['years'], + 'optimal_E_lambda504': opt_504['energy_PJ'], + }) + + return pd.DataFrame(results) + + +def sensitivity_structural_coefficient(): + """Analyze sensitivity to structural coefficient α""" + print("\n[5] Analyzing Structural Coefficient Sensitivity (α)...") + + alpha_range = np.linspace(0.06, 0.14, 9) + results = [] + + for alpha in alpha_range: + elevator_cap = BASELINE_NUM_ELEVATORS * BASELINE_ELEVATOR_CAPACITY_PER_YEAR + t_min = find_minimum_timeline(alpha=alpha, elevator_capacity=elevator_cap) + + df = generate_tradeoff_curve( + year_min=t_min, year_max=250, + alpha=alpha, elevator_capacity=elevator_cap + ) + + if not df.empty: + opt_504 = find_optimal_point(df, 504) + k = fuel_ratio_multistage(BASELINE_DELTA_V, BASELINE_ISP, alpha, BASELINE_NUM_STAGES) + + results.append({ + 'alpha': alpha, + 'fuel_ratio': k, + 'min_timeline': t_min, + 'optimal_T_lambda504': opt_504['years'], + 'optimal_E_lambda504': opt_504['energy_PJ'], + }) + + return pd.DataFrame(results) + + +# ============== Visualization ============== + +def plot_sensitivity_analysis( + payload_df: pd.DataFrame, + elevator_df: pd.DataFrame, + frequency_df: pd.DataFrame, + engine_df: pd.DataFrame, + alpha_df: pd.DataFrame, + save_path: str = '/Volumes/Files/code/mm/20260130_b/p1/sensitivity_analysis.png' +): + """Create comprehensive sensitivity analysis visualization""" + + fig, axes = plt.subplots(2, 3, figsize=(18, 12)) + + # ========== Plot 1: Rocket Payload Capacity ========== + ax1 = axes[0, 0] + + ax1.plot(payload_df['payload_tons'], payload_df['min_timeline'], + 'b-o', linewidth=2, markersize=8, label='Minimum Timeline') + ax1.plot(payload_df['payload_tons'], payload_df['optimal_T_lambda504'], + 'r-s', linewidth=2, markersize=8, label='Optimal T* (λ=504)') + + ax1.axhline(y=186.2, color='green', linestyle='--', alpha=0.7, label='Elevator-only') + ax1.axvline(x=125, color='gray', linestyle=':', alpha=0.7, label='Baseline (125t)') + + ax1.fill_betweenx([80, 220], 100, 150, alpha=0.1, color='blue', label='Problem range') + + ax1.set_xlabel('Rocket Payload Capacity (metric tons)', fontsize=11) + ax1.set_ylabel('Timeline (years)', fontsize=11) + ax1.set_title('(a) Sensitivity to Rocket Payload Capacity\n(Problem specifies 100-150 tons)', fontsize=12) + ax1.legend(loc='upper right', fontsize=9) + ax1.grid(True, alpha=0.3) + ax1.set_xlim(95, 155) + ax1.set_ylim(80, 200) + + # ========== Plot 2: Elevator Capacity ========== + ax2 = axes[0, 1] + + ax2.plot(elevator_df['capacity_factor'] * 100, elevator_df['elevator_only_timeline'], + 'g-o', linewidth=2, markersize=8, label='Elevator-only Timeline') + ax2.plot(elevator_df['capacity_factor'] * 100, elevator_df['optimal_T_lambda504'], + 'r-s', linewidth=2, markersize=8, label='Optimal T* (λ=504)') + ax2.plot(elevator_df['capacity_factor'] * 100, elevator_df['min_timeline'], + 'b-^', linewidth=2, markersize=8, label='Minimum Timeline') + + ax2.axvline(x=100, color='gray', linestyle=':', alpha=0.7, label='Baseline') + + ax2.set_xlabel('Elevator Capacity (% of baseline)', fontsize=11) + ax2.set_ylabel('Timeline (years)', fontsize=11) + ax2.set_title('(b) Sensitivity to Elevator Capacity (±20%)', fontsize=12) + ax2.legend(loc='upper right', fontsize=9) + ax2.grid(True, alpha=0.3) + ax2.set_xlim(75, 125) + + # ========== Plot 3: Launch Frequency ========== + ax3 = axes[0, 2] + + ax3.plot(frequency_df['launches_per_day'], frequency_df['min_timeline'], + 'b-o', linewidth=2, markersize=8, label='Minimum Timeline') + ax3.plot(frequency_df['launches_per_day'], frequency_df['optimal_T_lambda504'], + 'r-s', linewidth=2, markersize=8, label='Optimal T* (λ=504)') + + ax3.axhline(y=186.2, color='green', linestyle='--', alpha=0.7, label='Elevator-only') + ax3.axvline(x=1.0, color='gray', linestyle=':', alpha=0.7, label='Baseline (1/day)') + + ax3.set_xlabel('Launch Frequency (launches/site/day)', fontsize=11) + ax3.set_ylabel('Timeline (years)', fontsize=11) + ax3.set_title('(c) Sensitivity to Launch Frequency', fontsize=12) + ax3.legend(loc='upper right', fontsize=9) + ax3.grid(True, alpha=0.3) + + # ========== Plot 4: Engine Technology ========== + ax4 = axes[1, 0] + + x_pos = np.arange(len(engine_df)) + width = 0.35 + + bars1 = ax4.bar(x_pos - width/2, engine_df['optimal_E_lambda504'] / 1000, width, + label='Energy at T* (×10³ PJ)', color='steelblue', alpha=0.8) + + ax4_twin = ax4.twinx() + bars2 = ax4_twin.bar(x_pos + width/2, engine_df['fuel_ratio'], width, + label='Fuel Ratio k', color='coral', alpha=0.8) + + ax4.set_xlabel('Engine Type', fontsize=11) + ax4.set_ylabel('Energy (×10³ PJ)', fontsize=11, color='steelblue') + ax4_twin.set_ylabel('Fuel Ratio k', fontsize=11, color='coral') + ax4.set_title('(d) Sensitivity to Engine Technology', fontsize=12) + ax4.set_xticks(x_pos) + ax4.set_xticklabels(engine_df['engine_type'], rotation=15) + ax4.legend(loc='upper left', fontsize=9) + ax4_twin.legend(loc='upper right', fontsize=9) + ax4.grid(True, alpha=0.3, axis='y') + + # ========== Plot 5: Structural Coefficient ========== + ax5 = axes[1, 1] + + ax5.plot(alpha_df['alpha'], alpha_df['fuel_ratio'], + 'g-o', linewidth=2, markersize=8, label='Fuel Ratio k') + + ax5_twin = ax5.twinx() + ax5_twin.plot(alpha_df['alpha'], alpha_df['optimal_E_lambda504'] / 1000, + 'r-s', linewidth=2, markersize=8, label='Energy at T* (×10³ PJ)') + + ax5.axvline(x=0.10, color='gray', linestyle=':', alpha=0.7, label='Baseline') + + ax5.set_xlabel('Structural Coefficient α', fontsize=11) + ax5.set_ylabel('Fuel Ratio k', fontsize=11, color='green') + ax5_twin.set_ylabel('Energy (×10³ PJ)', fontsize=11, color='red') + ax5.set_title('(e) Sensitivity to Structural Coefficient α', fontsize=12) + ax5.legend(loc='upper left', fontsize=9) + ax5_twin.legend(loc='upper right', fontsize=9) + ax5.grid(True, alpha=0.3) + + # ========== Plot 6: Summary Tornado Chart ========== + ax6 = axes[1, 2] + + # Calculate sensitivity indices (% change in T* for parameter variation) + baseline_T = 139 # baseline optimal timeline + + sensitivities = [ + ('Payload\n(100→150t)', + (payload_df['optimal_T_lambda504'].iloc[0] - baseline_T) / baseline_T * 100, + (payload_df['optimal_T_lambda504'].iloc[-1] - baseline_T) / baseline_T * 100), + ('Elevator Cap.\n(80%→120%)', + (elevator_df['optimal_T_lambda504'].iloc[0] - baseline_T) / baseline_T * 100, + (elevator_df['optimal_T_lambda504'].iloc[-1] - baseline_T) / baseline_T * 100), + ('Launch Freq.\n(0.5→2/day)', + (frequency_df['optimal_T_lambda504'].iloc[0] - baseline_T) / baseline_T * 100, + (frequency_df['optimal_T_lambda504'].iloc[-1] - baseline_T) / baseline_T * 100), + ('Struct. Coef.\n(0.06→0.14)', + (alpha_df['optimal_T_lambda504'].iloc[0] - baseline_T) / baseline_T * 100, + (alpha_df['optimal_T_lambda504'].iloc[-1] - baseline_T) / baseline_T * 100), + ] + + y_pos = np.arange(len(sensitivities)) + + for i, (name, low, high) in enumerate(sensitivities): + ax6.barh(i, high - low, left=min(low, high), height=0.6, + color='steelblue' if high > low else 'coral', alpha=0.7) + ax6.plot([low, high], [i, i], 'k-', linewidth=2) + ax6.plot(low, i, 'ko', markersize=8) + ax6.plot(high, i, 'k^', markersize=8) + + ax6.axvline(x=0, color='black', linestyle='-', linewidth=1) + ax6.set_yticks(y_pos) + ax6.set_yticklabels([s[0] for s in sensitivities]) + ax6.set_xlabel('Change in Optimal Timeline T* (%)', fontsize=11) + ax6.set_title('(f) Sensitivity Summary (Tornado Chart)', fontsize=12) + ax6.grid(True, alpha=0.3, axis='x') + + plt.tight_layout() + plt.savefig(save_path, dpi=150, bbox_inches='tight') + print(f"\nSensitivity analysis plot saved to: {save_path}") + + return fig + + +def plot_tornado_chart_standalone( + payload_df: pd.DataFrame, + elevator_df: pd.DataFrame, + frequency_df: pd.DataFrame, + alpha_df: pd.DataFrame, + save_path: str = '/Volumes/Files/code/mm/20260130_b/p1/tornado_chart.png' +): + """ + 单独绘制 Tornado Chart(敏感性汇总图) + - XY轴反转(垂直柱状图) + - 长宽比 0.618 + - 无标题 + - 有图例 + - 低饱和度色系 + """ + # 使用0.618黄金比例 + fig_width = 8 + fig_height = fig_width * 0.618 + fig, ax = plt.subplots(figsize=(fig_width, fig_height)) + + # 计算敏感性指标 + baseline_T = 139 + + sensitivities = [ + ('Payload\n(100→150t)', + (payload_df['optimal_T_lambda504'].iloc[0] - baseline_T) / baseline_T * 100, + (payload_df['optimal_T_lambda504'].iloc[-1] - baseline_T) / baseline_T * 100), + ('Elevator Cap.\n(80%→120%)', + (elevator_df['optimal_T_lambda504'].iloc[0] - baseline_T) / baseline_T * 100, + (elevator_df['optimal_T_lambda504'].iloc[-1] - baseline_T) / baseline_T * 100), + ('Launch Freq.\n(0.5→2/day)', + (frequency_df['optimal_T_lambda504'].iloc[0] - baseline_T) / baseline_T * 100, + (frequency_df['optimal_T_lambda504'].iloc[-1] - baseline_T) / baseline_T * 100), + ('Struct. Coef.\n(0.06→0.14)', + (alpha_df['optimal_T_lambda504'].iloc[0] - baseline_T) / baseline_T * 100, + (alpha_df['optimal_T_lambda504'].iloc[-1] - baseline_T) / baseline_T * 100), + ] + + # 低饱和度配色 + color_positive = '#7A9CBF' # 灰蓝色(参数增加导致T*增加) + color_negative = '#C4816B' # 灰橙红色(参数增加导致T*减少) + + x_pos = np.arange(len(sensitivities)) + bar_width = 0.6 + + # 绘制柱状图(XY反转,使用垂直柱状图) + for i, (name, low, high) in enumerate(sensitivities): + bar_color = color_positive if high > low else color_negative + bar_height = high - low + bar_bottom = min(low, high) + + ax.bar(i, bar_height, bottom=bar_bottom, width=bar_width, + color=bar_color, alpha=0.8, edgecolor='#555555', linewidth=0.8) + + # 标记端点 + ax.plot(i, low, 'o', color='#444444', markersize=7, zorder=5) + ax.plot(i, high, '^', color='#444444', markersize=7, zorder=5) + ax.plot([i, i], [low, high], '-', color='#444444', linewidth=1.5, zorder=4) + + # 基准线 + ax.axhline(y=0, color='#333333', linestyle='-', linewidth=1.2) + + # 设置轴 + ax.set_xticks(x_pos) + ax.set_xticklabels([s[0] for s in sensitivities], fontsize=10) + ax.set_ylabel('Change in Optimal Timeline T* (%)', fontsize=11) + ax.grid(True, alpha=0.3, axis='y') + + # 添加图例 + from matplotlib.patches import Patch + from matplotlib.lines import Line2D + legend_elements = [ + Patch(facecolor=color_negative, edgecolor='#555555', alpha=0.8, + label='Parameter ↑ → T* ↓'), + Patch(facecolor=color_positive, edgecolor='#555555', alpha=0.8, + label='Parameter ↑ → T* ↑'), + Line2D([0], [0], marker='o', color='#444444', linestyle='None', + markersize=6, label='Low value'), + Line2D([0], [0], marker='^', color='#444444', linestyle='None', + markersize=6, label='High value'), + ] + ax.legend(handles=legend_elements, loc='upper right', fontsize=9, framealpha=0.9) + + plt.tight_layout() + plt.savefig(save_path, dpi=150, bbox_inches='tight') + print(f"Tornado chart saved to: {save_path}") + + return fig + + +def plot_tradeoff_comparison( + save_path: str = '/Volumes/Files/code/mm/20260130_b/p1/sensitivity_tradeoff.png' +): + """Plot trade-off curves for different parameter values""" + + fig, axes = plt.subplots(2, 2, figsize=(14, 12)) + + elevator_cap = BASELINE_NUM_ELEVATORS * BASELINE_ELEVATOR_CAPACITY_PER_YEAR + + # ========== Plot 1: Different Payload Capacities ========== + ax1 = axes[0, 0] + + for payload, color in [(100, 'red'), (125, 'blue'), (150, 'green')]: + df = generate_tradeoff_curve(payload_per_launch=payload, elevator_capacity=elevator_cap) + if not df.empty: + ax1.plot(df['years'], df['energy_PJ'] / 1000, color=color, linewidth=2, + label=f'{payload} tons') + + ax1.set_xlabel('Timeline (years)', fontsize=11) + ax1.set_ylabel('Energy (×10³ PJ)', fontsize=11) + ax1.set_title('Trade-off Curves: Rocket Payload Capacity', fontsize=12) + ax1.legend(title='Payload') + ax1.grid(True, alpha=0.3) + ax1.set_xlim(95, 200) + + # ========== Plot 2: Different Elevator Capacities ========== + ax2 = axes[0, 1] + + for factor, color in [(0.8, 'red'), (1.0, 'blue'), (1.2, 'green')]: + df = generate_tradeoff_curve(elevator_capacity=elevator_cap * factor) + if not df.empty: + ax2.plot(df['years'], df['energy_PJ'] / 1000, color=color, linewidth=2, + label=f'{factor*100:.0f}%') + + ax2.set_xlabel('Timeline (years)', fontsize=11) + ax2.set_ylabel('Energy (×10³ PJ)', fontsize=11) + ax2.set_title('Trade-off Curves: Elevator Capacity', fontsize=12) + ax2.legend(title='Capacity') + ax2.grid(True, alpha=0.3) + ax2.set_xlim(95, 250) + + # ========== Plot 3: Different Launch Frequencies ========== + ax3 = axes[1, 0] + + for freq, color in [(0.5, 'red'), (1.0, 'blue'), (2.0, 'green')]: + df = generate_tradeoff_curve(launches_per_day=freq, elevator_capacity=elevator_cap) + if not df.empty: + ax3.plot(df['years'], df['energy_PJ'] / 1000, color=color, linewidth=2, + label=f'{freq}/day') + + ax3.set_xlabel('Timeline (years)', fontsize=11) + ax3.set_ylabel('Energy (×10³ PJ)', fontsize=11) + ax3.set_title('Trade-off Curves: Launch Frequency', fontsize=12) + ax3.legend(title='Frequency') + ax3.grid(True, alpha=0.3) + ax3.set_xlim(45, 200) + + # ========== Plot 4: Different Engine Types ========== + ax4 = axes[1, 1] + + engines = [ + ('LOX/Kerosene', 350, 10.3e6, 'red'), + ('LOX/Methane', 363, 11.9e6, 'blue'), + ('LOX/Hydrogen', 450, 15.5e6, 'green'), + ] + + for name, isp, se, color in engines: + df = generate_tradeoff_curve(isp=isp, specific_fuel_energy=se, elevator_capacity=elevator_cap) + if not df.empty: + ax4.plot(df['years'], df['energy_PJ'] / 1000, color=color, linewidth=2, + label=f'{name}') + + ax4.set_xlabel('Timeline (years)', fontsize=11) + ax4.set_ylabel('Energy (×10³ PJ)', fontsize=11) + ax4.set_title('Trade-off Curves: Engine Technology', fontsize=12) + ax4.legend(title='Engine') + ax4.grid(True, alpha=0.3) + ax4.set_xlim(95, 200) + + plt.tight_layout() + plt.savefig(save_path, dpi=150, bbox_inches='tight') + print(f"Trade-off comparison plot saved to: {save_path}") + + return fig + + +# ============== Main ============== + +def main(): + print("=" * 70) + print("Task 1 Sensitivity Analysis for Moon Colony Logistics") + print("=" * 70) + + # Run all sensitivity analyses + payload_df = sensitivity_payload_capacity() + elevator_df = sensitivity_elevator_capacity() + frequency_df = sensitivity_launch_frequency() + engine_df = sensitivity_engine_technology() + alpha_df = sensitivity_structural_coefficient() + + # Print summary tables + print("\n" + "=" * 70) + print("SENSITIVITY ANALYSIS RESULTS") + print("=" * 70) + + print("\n[1] Rocket Payload Capacity (Problem range: 100-150 tons)") + print(payload_df.to_string(index=False)) + + print("\n[2] Elevator Capacity (±20%)") + print(elevator_df.to_string(index=False)) + + print("\n[3] Launch Frequency") + print(frequency_df.to_string(index=False)) + + print("\n[4] Engine Technology") + print(engine_df.to_string(index=False)) + + print("\n[5] Structural Coefficient α") + print(alpha_df.to_string(index=False)) + + # Generate plots + print("\n" + "=" * 70) + print("Generating Visualization...") + print("=" * 70) + + plot_sensitivity_analysis(payload_df, elevator_df, frequency_df, engine_df, alpha_df) + plot_tradeoff_comparison() + + # Save data + payload_df.to_csv('/Volumes/Files/code/mm/20260130_b/p1/sensitivity_payload.csv', index=False) + elevator_df.to_csv('/Volumes/Files/code/mm/20260130_b/p1/sensitivity_elevator.csv', index=False) + frequency_df.to_csv('/Volumes/Files/code/mm/20260130_b/p1/sensitivity_frequency.csv', index=False) + engine_df.to_csv('/Volumes/Files/code/mm/20260130_b/p1/sensitivity_engine.csv', index=False) + alpha_df.to_csv('/Volumes/Files/code/mm/20260130_b/p1/sensitivity_alpha.csv', index=False) + print("\nData saved to CSV files.") + + # Summary + print("\n" + "=" * 70) + print("KEY FINDINGS") + print("=" * 70) + print(""" + 1. ROCKET PAYLOAD CAPACITY (100-150 tons): + - Higher capacity reduces minimum timeline significantly + - Limited impact on energy when elevator dominates + - Baseline 125 tons is a reasonable middle estimate + + 2. ELEVATOR CAPACITY (±20%): + - Most sensitive parameter for timeline + - ±20% capacity changes elevator-only timeline by ~37 years + - Critical for long-term planning + + 3. LAUNCH FREQUENCY: + - Doubling frequency halves minimum rocket-only timeline + - Essential for time-constrained scenarios + - Less impact when elevator provides majority of transport + + 4. ENGINE TECHNOLOGY: + - Primarily affects energy, not timeline + - LOX/Hydrogen saves ~30% energy vs LOX/Methane + - But LOX/Methane has practical advantages (storage, cost) + + 5. STRUCTURAL COEFFICIENT α: + - Lower α (better technology) improves fuel efficiency + - Moderate impact on total energy + - Progress from 0.10 to 0.08 saves ~8% energy + """) + + print("=" * 70) + print("Analysis Complete!") + print("=" * 70) + + return payload_df, elevator_df, frequency_df, engine_df, alpha_df + + +if __name__ == "__main__": + results = main() diff --git a/p2/completion_time_distribution.png b/p2/completion_time_distribution.png index 2b9751f4c0e8c20ac587c3eb91414a6bee398c3c..a95653ea677e6371ba3e749cd9af685247b69229 100644 GIT binary patch literal 74361 zcmd?RbySpV`!7C-3JRixl*9%lRB9xYRwPtH0R^OCwsc4dL#u$2V-bRYfRvO-w*icj z(hbT0L)TD4p6l`bzP~?z=fAVgT8Fjv-fkI~XYS{|uj^CS6M9EW?Zk2R<0usB#LXMZ zIw%x%847j8g!(A_&B)reaRq@>(^5x%=OxjGRPt$CK^xMxLIa6p+(65cT%pO^oqAe84iCHSFe2pj_4H~Vu01^(J>|LjjYc%0XJanE%E_)H zRi)Kvt~ZZFH1=I-=;HF3f0^XBG2kMTVHt2zara?-|G0eEX2K~V6)N!NTs`A$hffNQ z^UUjZy0c$Dhqrh9vUceCcrV@}gsqb|Thcl#^yLsXK;O*IBffvs zXQ`%X1y9)SCZbTf&t@w>?K{TXX518SmC!Y`di$VrDd1oy-h)tnp|Or2^Yp;PxdBTN z$7HDa%9G-ss>RB=PM&8RuWI+V=XQx$V&Y|%f#iUFtoKZM?5ep#vVvddO@YKW`)iqs znx#b>jc1%c>}`%I!i}_hr*w`}_K`-oNTp38(SM&zlyIN^#W9K{wO;NTJJ{b`E34ZR z=6v{tBD;dTMZk4^rQ&{<WWW<{JOPhG~+?#>7&c>Rcu99G*iG{xNp3R== z$KYCVo@0KS?!zwl$@{N@;jV~ry0xHZ2JH(p)wuoK*`;0omD%4S2sAGd;j_1-#CY`H zw|?jEPl&wi^l-|`*kJy1v&anG1I=e#-Zq9l3nio@H*{-YHKRo@@RyG5PF;@P%z1RM zx0yNQR3+T1c(BX3$BII+dcsTfYkOvGTw5jkCKf{@gDcK_q)JF=R3L7S1tdQm(l^CE z*lsr4e`Rg5zfo4_xLTV=P&ck>k?b?JwG3~IZCER-}*e+4=fZRS4t#A5v++UGX#{CDU!?+S}Wd*W{G3%tlT$_TCX?ER5=y z2(G{>&GIAWyy5A7`&)R$shyHu!;7BQwk`Lq6Qg0n#tdui47;@_@&+iS(qPCErEPN)8G7pwhA=eoU(2?Y*RASk@6yOd(rD(3HNM2@ z(XBnxbz3p7qW!i4`CJ*hnR|yy7jo3AGK5O|EoZ(^p450sbu!;!6K?q=Av_=b=cO9g z&j3^N$45GYq~>yqrgq?hN>`2Di$gbu9t}CVRsD$8Gd$02-_jzav$5hmY*%tGU@ot$ zlY)xlg{a|Rsbhi_EPgTU*GvV!?GN;4Rl6P3xOc(^vO7Zjz8+y|AqMo^)7OMe?e32o z-#fnI)h@r;f+Gx{E;!hpE2!Afl2h23FFLb34FA5J=!ZhxF)f+>ddjh#P?0romX_h` zi!A4%68qR#)PjDmpPr@%9u6Tr-^e-K-O6V>y zs|($}Z{I^~AmS=_;oP+(%jPSlIw=q$#8;(U@=gtP8^){=aEe-LT-bjNEkpTM+Z)!^ z--Sie^k1!VEUcf|av#dt+bM6&06KiaW+rEw<4$jNrutpQs( zof_WRbg|%_qCUqMtaoyqEGn)$$Oy&%8BV<5m>T*F<$xyrQ^H84NAuIV_3(DVJGZa= z30fNu7oB=M+?FUyTvtMl+tds7y z;+ETR##^iS;+@4R{iyU9>V77c<48S9ONLgoT18CqaaH?9#qBG0@|M~uLNJTzk84v| zC79n{P{-OmY`TA+Rf}rjiKfpW8F%+w{AJLBTk zv4`g`_nSXmYY}gs*!KPLf(N@?hlUClP^%zKY7r+14U{{DUR%4Oi02OQtyRU6Cu8mR z9S(=U*2r1w(KnkUF~2@CPV>xg+>p=iKuJ3pU!tk)Hs(c$j24xgy{NP{>xK$E-~Rfx z!rP}@^p^%K!-Z!fx>Wr*2^E_oo@QLc$QRxb$LbFDcV^)3wG)1#kB%{Uj(F(j-)x6! zDObv=?%7!G)4l3KTX(RxL{e^U^V%DT|r!%Q}JQ@d}4_hMepC2EFI<)NPn83Ri$+$keYGECe^qP(Zu7KSYZDGUWA45rQZPL-ig38&CyT-$M_a8(zt@y*D zr}^)#_wAN@)dU>uM<@Ht7vfb*90o2a2K;_Z1s~YgYqErx9N^y#>lAmBY|vHGS=ETF?lJA;Qrj-8?$i3l+T;qH!nRGfFR3-w zYz%{wpPeVcS!`*)ExS;hCQ||!~l8%q0IGexMu{98m037cP8GZ_gY z&OXyA&w6)vX@rY^Wg$gfk$Zgu>9E{tnj8gck;W!0?PA|)qvu|T)^4S)4#JI-w}XP) zTF@%HR2}W6@5jkdCJeQ|8!GVKOoag0RTm5J1Vj9N;d}w45$^7qc#cR861l|8uTHYh zRxQ=quVRm&%vV3=)8ybouSXoH?qP=<%O(e_OsXEGK|!pQ8R7txLAI8CG=F6_R3Isf zGuPjKlTDeR7m+!Ea+)8~l z?%P?M+@+6h#5S@u9Y6({=;fKqm?{terarqY$ z982#n-eFvzr+N7Tw}$;Nl19>O8O#-Bm=#F&b)A$SAC3sWfiI}p81%3T)Vr8uFO+@~ zFdcfxp(y=~Q+Z0~12HRK)xIyM)@_9fbVumV*^w==O;FJCwemQMM6SF48}asK2ivDp zMSPeIo9BGW0b75bttf0Ej8@g3Qvd#GchnkO^a z-+NJxvBax;%q8hKI$Tm_w7xbq;ot71l6px^fcf|w1>9Vy!FYDcVwj3w?RPraiF{cU zN&ep8|m zev@Cl+O&JcZgKh-LzKeyv>X>V=fC6P`kodM_Kyu1B%pim{M$YK2X>!2EQgan2Zq>C z?uj-H0BG35_KYfy>2Fhu5jL9I2^loM+*7x|Uf|39^iQGj9Y5_CT)xX+qYssxa{T@s zjpukxDW?5~IaS``uwv?T(u;g3Su!k4F5#B4#}`=VaivoohtP%!z3j?S3uy~j-TL>~ z!dmMU6(zsI?mNaU-HMlc@>;9`>Phf0nVHtdp6r=R@dr>(PCdV`z|_n_f%;Xga&eJb zTR$A7ZUJD8d%@b0oO&u{O-U%7+@Z!j`B0&$n`id;c`{FU)VGj%__|rSoSW$8B!|sRm zP-YW&dxvN*=9gPO9bzi*gA!YDCyMRE%a8t0pI6(R%SIkmutrLF)7CqG{>fkQDfySo zqxm>0e2z*vUzEV{)f1P8#p(jCj~JvjYkGKBqn{o<@$vApMt3JmJxAkzyY*YHCY~DS zz^f>=Jn=({g|+ZE5f_(FD~)G}U%gSN__|rAu;5vWg{<(oi{H2o%EqS-un0x;Yl#t> z#T%+du)bVM%W$+~l~WevuaxUmjPg>D$<76SSy5$~_fJ!QZ;J~j!`HVkhlRu-^cV8v8>CupQxPt%Gtv{iYOF+9;sbXv9GAajtD$jWC5D@41z%tThF$b zJYQB1(&4SA=e(CH5;@c?TKDez7)I7Y@{kbV?niVn)#Ry!86cCl3hMT~y(gpfJ8_Ep z{nPs&DOY>KM8p8NEKjpLW~&M}MuOWFc7#rFE653C(5w*eO!4ucg@K7`d>w?-_3$zLHu)E@w}86w-jTovp}TG!_?Gy3F4Z z%0CznGQwmXOW3~%(+xy)`BKCUB8UZ@n${C zAs}PUi+76vcK+qT=BuHLlfh62*WHDPB;OZ zj#LrNo8#^C-wM1^9bq#$GzJ2QJM0-L+i!FIrm{?bUS~Kd0<@NxF(h=Vi{>%jb^z zuXcp0>{o;|C`K{QxCjMoedl&PvuIPuIyZu^Onxci9K~#ClhPz@*Hm#I;Gn=Zx}h>3 zP5I9gVb5U~wc6ktGnYLo_)w?}E^XNm8#Atyt&n=xG_(yDr)krLO0~u>*tfGJ?9^KU z$KnoEa=c*7g-H8k*5|mW*A0b-U}uDB`S)-hI_t$?()t}BOLQ9`#^T8sqp6=6D#Qlr zbcuWJ8VBorW~9y=2(9bl13Low347Qclh%k5^wNMYN$-+Q4-?` zTm2mVHpM=#L@(`6%Cwel@ylGTSzJ!WyW~`#W&pY-*rjo46e^2(-65zg?TA;Qv6i2< ze&efHb>Wh3gA=8<=~P-di}dVUr#LSCd*cCH*RlJ_m-W&%=Lf{c5KSRN1mO%1W|HGH z*k51EiCxNF+F7c*eE>4WDxvWSG1xMoS-8wN@gGf|+0j&4AKeW&y&nAaK}}gXb3U+f zR=wPZd4G&lxDkEB-+Qj?UGt;216jjk)l~y0w|c{0DA6eK6%oIk5s~@=t-}iTCR3 zmy|lj#VVgD^Kj0Pyl|EwmeromHzVG@4;K6Yynkkvy0gAhdEF>f4Zya1`)8RyL5!<` zkC^7+GX?wy(qA6+I_n6%gY2fvlISH@8%AQhxfx>B3T!67B2A-M7H6()EO_rg0o1xv zCM@CRJJ+Z<-~4U&Jdyr;+xKGHLt}{QA{GB;-yTf{m2mg1CAMv$Y)qk@LAYMB5lCTT z6-T2vwtI=u_56qO{EvKX0M%M!>`7T2gux3|MSnNu%2I+;<@rR{rt{IE&x+a=d=lFp z*Z6GaAHMw!U}dyG81v(35JnZ!giCbeg>88;f7>k47C?&nj#b^#6 zWoXy$8jsR4TExVG#iTvFoo(Fs9UKbjIGyKC;f1ui5y@)h>D0+;RI7;2MRqALt?BgW zGtnpK|D!~f_g?#9VuIr5`@RjcydKKpT=gN*o6k}S zS!~okJzB3RdjSBVQ0C9H1dVkRcD_h3B&|yQLvgc^&ZLXh5U4^TwOix61LNY2#7LvV zUcAN(e`06vClWs1_@nlTPiLuciJJ9ZIOh2&9pitMJL&+^MQ!fDVou8JE`N9Xb=E3O zby|M*r-6<{3`ZoNN9t&Vq8U*9?D=u_@zNou=DdE4s;%*N#suXbiuKZA_K(Z=vzhxW&?s&*S7lcJSd&NDLe9sbHF*F=$OI*_s7<)BOxAt+ z#UoHqhYRHnT?C->XjH*89QEk=d$ou}wLR8Nv>x~4$kgjz-M{H|*t+VQsUHPEJ-}8g zG^U;PWgw6dq1ALXYr3@a&M6;&sND9jJvG0 zefay!8eBp8rSP}8E>5Z6HJSQE>vmm}PFFUv+fM}k)hc8>W+kqT+CM(R{A1x9VYm?+ z>UK9r(%1JqJ?|$b${7^u*9%tV+U0LFZm}_0U1_Gc$1`!K*&atye^FZ)t@Ycna$%_Q zn2Ra6JYDCrht%)76etne! z7C{IrW7N<0J!Nt8tR8OeJfTr%wK4emAKw5Xz7PRAZEUT!C2iLO)JHrKAjAxu=C;Rg zr`K2tM&O)8)*ggi%#XtlVSHtt3~Q4bU9ZvGU|~DBZN^dOJcDB8_Qd@b?v#3WSH~V& z2Cw{&Kx0-KSJbKYKnhCN@(e>?#Z#CGdYw={ZOpD*?ZxLyY`pIoIgRZilhrcG2>T9L zI>obcMIW@^_ulTl6mf41BkbtrG*MT@L5yWdr=+{`Pk=PNEud0p^jdK%N7Q^NRzP0b zx(DXaRq<3e8kEN2mzvO&nhKAMJYv#@&z_2u8s$lloY1*K90WF(i_jbfN^)b6e}7mxYxq-!P0q?bAlWq=Z&Ia=eB`SPq<@38a1{@!1ZiCDPKAj@g)ZLcRN zCnMfF@)c;s?KCq~=4|NJD%q8WQ;07GVBro_JA*r57mb*j(m!-q0Ye&swb+#&YZ~7R z!o52--xU=@Fw@*_@O=}e5&Cr1U*Vf@PF|^@H_(5QW5r}lb4n~? zAFR)G32=fwgRR=?r+;3tP&(8Zd3iJrF^qS2!QYHUc*StXB#`JEz)j8k_iHvsn@ubX zOYEY#%k2A{-r@X!Cbeu9fNgsC3M16P@;kBM+DT`%g3)FvTW0)d-~r;o&VZ(uf7s|7 zVu>Zog4yP#76TIKc@uyZwupzw6RQNC+v;cKKhPzzi#=Hqsye`3Hz*^7}8E=M-^x42|GnVd z+d18|Cpcv!JTc@y&$v4c?en4$sU?>8xW0+UJ(-2#E?0v|;4inYhtU3PZwHPgxhVb-F)$t|L}VJ}NNjeqmcujf*ZgCE$e-=W7S0q}+LGr>N0gf&X$-%R-xgeI{r zagCu#*&@RX0bjpEOHD*%{|B7xwnR{C^l)`?4X2MV5pSkTk~r(3Z(Wzz)<6}4PStKqttvJCP|`d{NeJ;II* z1bSBJdN=6jO&jaqh1biDpln)z#=Uqd49xxMris#hgIkC#W%}7h$2R6q40WRN#U>kFriDGk6qhMb zv&*`HZ8%~N8{WLtPo*kt>y<5>jrM@31w`+kSRewr=_nO0rHIcYao2cN`|tlQ*-S9U zAJQ1GWNQ#yv;5-wT2tyK@VA`_g>#Kc?gOC|q^%mLoQ}3&X3T(ua03z}?pzdcmhar> ziU{kZn$r6&PdI5b<|)=bZH)bWa{R8SFu+;&bA^ch3) zyg$-BF3f4wH?RmU?!0wT+OhRUj$YpC;ZfGJb?d!GZeRFT+2M#Uos$i@$&&W=ORuTV zg6|ku+8w6h4{xn2hEac)gM>s{Uf*eon7Ef!po83HP+7S$9B{CgwovAkZ{L^C_=k}K zrTfZr6e}>MMy>xToeY_px1E5g^@*Mc1EOz^K&*r4w<(n+5@sDP0`;F$3h&Z`h^!vO zV|mD;djeST1OyWrwcT|hUNldziaSF+Lc%i#4T@lPUtr1NF+50yJPFn$AG8bkg5;qz zHJqH=HbjVWi<0`_Y$k9o!D>bm%fLXdp8wUrV)m}jMYx{eCGzUVNR?;uzsZa!o20Nw z+O#2#)*(4ki|+qioH`C4RK^+@N%xP0nRwe33|%t5+)3!(VYqOeh=Mja4A>*g@dt6_ zzSrd<&N0ml!8SbJj9OQCgyHR^zc4HioXh`&tRY&%KkA^{FOAl8feRf=Cq40^ z8!`jckNU2klz(%Smh}Z<))u!)4Ru%CkU7{Tb;07lldY@wE3U4FBn+wHA(+vm1~JrC zjA|6e+a(P7dVJZqr@^ik1g5@UYl z=ohRN1ngZDh66V9F(>~PqBc4`b_1tuvP~p-x^#8o_3aG#jsCO9v7Q0aegi2+GC&f$ zAh{rCDBGF%Xz={s_=mbsq4MYwn373GXXU|Ek){<--`QIVNN)cLGKkdZ&Nh6{^@gC; zJz91Nn9)ZYJYf@t-!Qfr?xL=*l>5Cg^9;(u*- zh@WIvOmw;6Ib&m2A{GY<9qvS=Mcwq!?D{2Kn%(eOM`9CAiVHlm6MC~4C03%7a5+zk zTh8m@)Ad!TQzq6!toj8dCUAb@C7f7W6?sq6_o2|ET+$JZPcFXB5pga}G&-K(@cCwK zbXnckKAnS0UJ4qssY2q55mAN_od@xlj4uWuUP&G}2ev7}%(nu_ z&1SBr$nf4jOTHte*p^38YA1IR>Z2wIzK(|2$>=WI%*2?dm$Y}}wx`p`td`hYf|MT8 zC=G92I}_7@Kso*mNv2_iy|u0`u#OV(tEnOf(7IRqM-iD(fK3k5VC<_`V{%HVlN{JQ2kWgGQRQWv}Vq0R@3Z6SzaTDrqZ1TZ(?)?|B{t+*3(u>_k zQ0>t(4lk~Y2mr-5SSqSz{et_tT7Jq4eE$o1jA?o^0F|{e@t7xC}HKo1=M#2G8?V!4Rak>-cnJ!Y3kDYKySG+ z=x7-Lj4P≷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

Z)>5UF>#kjdcx7YBa%|FQu-ldFU@E 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 N-pt}~_Q5j|{{-4`n*RU* literal 0 HcmV?d00001 diff --git a/p2/energy_distribution_paper.pdf b/p2/energy_distribution_paper.pdf new file mode 100644 index 0000000000000000000000000000000000000000..08ba962bb943dbb95d970370186e06c3bbaa470c GIT binary patch literal 20092 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 literal 0 HcmV?d00001 diff --git a/p2/energy_distribution_paper.png b/p2/energy_distribution_paper.png new file mode 100644 index 0000000000000000000000000000000000000000..8c14e0c7f399eb7f45222c9b4ab1aeed158e9fdd GIT binary patch literal 71917 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 LD8+qn9>7Qcd-!G}mrT*sg)2?LS(XnSYPcL!X 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 Cp1bV; literal 0 HcmV?d00001 diff --git a/p2/plot_completion_time_paper.py b/p2/plot_completion_time_paper.py new file mode 100644 index 0000000..a9e51e2 --- /dev/null +++ b/p2/plot_completion_time_paper.py @@ -0,0 +1,89 @@ +""" +生成论文用的完成时间分布图 - 改进版 +""" + +import numpy as np +import matplotlib +matplotlib.use('Agg') +import matplotlib.pyplot as plt +from matplotlib import rcParams +import pandas as pd + +# 设置字体 +rcParams['font.sans-serif'] = ['Arial', 'DejaVu Sans', 'Helvetica'] +rcParams['axes.unicode_minus'] = False +rcParams['font.size'] = 11 + +# 读取模拟结果数据 +df = pd.read_csv('/Volumes/Files/code/mm/20260130_b/p2/simulation_results.csv') + +# 中低饱和度配色方案 - 柔和学术风格 +colors = ['#7BAE7F', '#6A9ECF', '#9B8EC2'] # 柔和的绿、蓝、紫 + +# 方案名称 +scenario_labels = { + 'Scenario_A': 'Cost Priority', + 'Scenario_B': 'Time Priority', + 'Scenario_C': 'Balanced' +} + +# 创建图表 - 缩小尺寸以放大字体效果 +fig, axes = plt.subplots(1, 3, figsize=(10, 3.2)) + +for idx, (scenario_key, label) in enumerate(scenario_labels.items()): + ax = axes[idx] + + # 获取该方案的数据 + data = df[df['scenario'] == scenario_key]['completion_years'] + + # 计算统计量 + mean_val = np.mean(data) + p5 = np.percentile(data, 5) + p95 = np.percentile(data, 95) + + # 绘制柱状图 - 实心柱状图,增粗柱子 + ax.hist(data, bins=15, color=colors[idx], alpha=0.9, + edgecolor='white', linewidth=0.8, rwidth=0.9) + + # 设置子图标题 - 简洁的 (a) (b) (c) 标签 + ax.set_title(f'({chr(97+idx)}) {label}', fontsize=12, fontweight='normal', pad=8) + + # 设置坐标轴标签 + ax.set_xlabel('Completion Years', fontsize=11) + if idx == 0: + ax.set_ylabel('Frequency', fontsize=11) + + # 在图内右上角添加纯文本统计信息(无边框) + text_str = f'Mean: {mean_val:.1f}\n5%: {p5:.1f}\n95%: {p95:.1f}' + ax.text(0.97, 0.97, text_str, transform=ax.transAxes, fontsize=9, + verticalalignment='top', horizontalalignment='right', + bbox=dict(boxstyle='round,pad=0.3', facecolor='white', + edgecolor='none', alpha=0.85)) + + # 网格线 - 非常淡 + ax.grid(True, alpha=0.15, linestyle='-', linewidth=0.5) + + # 设置刻度字体大小 + ax.tick_params(axis='both', labelsize=10) + + # 中间图 (b) 的 x 轴使用整数刻度 + if idx == 1: + from matplotlib.ticker import MaxNLocator + ax.xaxis.set_major_locator(MaxNLocator(integer=True)) + + # 简化边框 + ax.spines['top'].set_visible(False) + ax.spines['right'].set_visible(False) + +# 调整布局 +plt.tight_layout() + +# 保存图片 +plt.savefig('/Volumes/Files/code/mm/20260130_b/p2/completion_time_distribution_paper.png', + dpi=200, bbox_inches='tight', facecolor='white') +plt.savefig('/Volumes/Files/code/mm/20260130_b/p2/completion_time_distribution_paper.pdf', + dpi=200, bbox_inches='tight', facecolor='white') + +print("图表已保存:") +print(" - completion_time_distribution_paper.png") +print(" - completion_time_distribution_paper.pdf") diff --git a/p2/plot_energy_distribution_paper.py b/p2/plot_energy_distribution_paper.py new file mode 100644 index 0000000..e339940 --- /dev/null +++ b/p2/plot_energy_distribution_paper.py @@ -0,0 +1,85 @@ +""" +生成论文用的能量分布图 - 改进版 +""" + +import numpy as np +import matplotlib +matplotlib.use('Agg') +import matplotlib.pyplot as plt +from matplotlib import rcParams +from matplotlib.ticker import MaxNLocator +import pandas as pd + +# 设置字体 +rcParams['font.sans-serif'] = ['Arial', 'DejaVu Sans', 'Helvetica'] +rcParams['axes.unicode_minus'] = False +rcParams['font.size'] = 11 + +# 读取模拟结果数据 +df = pd.read_csv('/Volumes/Files/code/mm/20260130_b/p2/simulation_results.csv') + +# 中低饱和度配色方案 - 不同于之前的绿蓝紫,使用暖色调 +colors = ['#D4936A', '#6AACAC', '#C48BB8'] # 柔和的橙、青、玫瑰 + +# 方案名称 +scenario_labels = { + 'Scenario_A': 'Cost Priority', + 'Scenario_B': 'Time Priority', + 'Scenario_C': 'Balanced' +} + +# 创建图表 - 缩小尺寸以放大字体效果 +fig, axes = plt.subplots(1, 3, figsize=(10, 3.2)) + +for idx, (scenario_key, label) in enumerate(scenario_labels.items()): + ax = axes[idx] + + # 获取该方案的数据 + data = df[df['scenario'] == scenario_key]['total_energy_pj'] + + # 计算统计量 + mean_val = np.mean(data) + p5 = np.percentile(data, 5) + p95 = np.percentile(data, 95) + + # 绘制柱状图 - 实心柱状图,增粗柱子 + ax.hist(data, bins=15, color=colors[idx], alpha=0.9, + edgecolor='white', linewidth=0.8, rwidth=0.9) + + # 设置子图标题 - 简洁的 (a) (b) (c) 标签 + ax.set_title(f'({chr(97+idx)}) {label}', fontsize=12, fontweight='normal', pad=8) + + # 设置坐标轴标签 + ax.set_xlabel('Total Energy (PJ)', fontsize=11) + if idx == 0: + ax.set_ylabel('Frequency', fontsize=11) + + # 在图内右上角添加纯文本统计信息(无边框) + text_str = f'Mean: {mean_val:.0f}\n5%: {p5:.0f}\n95%: {p95:.0f}' + ax.text(0.97, 0.97, text_str, transform=ax.transAxes, fontsize=9, + verticalalignment='top', horizontalalignment='right', + bbox=dict(boxstyle='round,pad=0.3', facecolor='white', + edgecolor='none', alpha=0.85)) + + # 网格线 - 非常淡 + ax.grid(True, alpha=0.15, linestyle='-', linewidth=0.5) + + # 设置刻度字体大小 + ax.tick_params(axis='both', labelsize=10) + + # 简化边框 + ax.spines['top'].set_visible(False) + ax.spines['right'].set_visible(False) + +# 调整布局 +plt.tight_layout() + +# 保存图片 +plt.savefig('/Volumes/Files/code/mm/20260130_b/p2/energy_distribution_paper.png', + dpi=200, bbox_inches='tight', facecolor='white') +plt.savefig('/Volumes/Files/code/mm/20260130_b/p2/energy_distribution_paper.pdf', + dpi=200, bbox_inches='tight', facecolor='white') + +print("图表已保存:") +print(" - energy_distribution_paper.png") +print(" - energy_distribution_paper.pdf")