Files
2026_mcm_b/p1/__pycache__/sensitivity_analysis.cpython-313.pyc

381 lines
32 KiB
Plaintext
Raw Normal View History

2026-02-02 23:47:51 +08:00
<EFBFBD>
%ÀiF<69><00><00>B<00>SrSSKrSSKr\R"S5 SSKJr SSKJr SSK r
SSK J r J r JrJr SSKJr SSKr\R&"S5 /SQ\S 'S
\S 'S rS rSrSrSrSrSrSrSrSrSrSrSr Sr!\"SS55r"\""SSS5\""SSS5\""SSS 5\""S!S!S"5\""S#S#S$5\""S%S%S&5\""S'S'S(5\""S)S)S*5\""S+S+S,5\""S-S-S.5/
r#\$"\#S/S09r#\%"\#5r&S1\'S2\'S3\'S4\(S5\'4
S6jr)\\\-\!\\\\ \4S7\'S8\'S9\'S:\'S2\'S3\'S4\(S;\'S<\'S5\\ 4S=jjr*\\\-\!4S8\'S9\'S:\'S5\'4S>jjr+SVS?\'S@\'SA\(S5\
RX4SBjjr-SC\
RXSD\'S5\ 4SEjr.SFr/SGr0SHr1SIr2SJr3SWSK\
RXSL\
RXSM\
RXSN\
RXSO\
RXSP\44 SQjjr5SXSK\
RXSL\
RXSM\
RXSO\
RXSP\44
SRjjr6SYSP\44SSjjr7STr8\9SU:Xa\8"5r:gg)Zul
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
<EFBFBD>N<>Agg)<01>rcParams)<04>Dict<63>List<73>Tuple<6C>Optional)<01> dataclass<73>ignore)zArial Unicode MSz DejaVu Sans<6E>SimHeizfont.sans-serifFzaxes.unicode_minusg<1F><>Q<EFBFBD><51>#@gru[}<7D>?g<00>MXAg<00>חA<D797>i8<69>g<00><>LBB<42>}<00>k<00><00><>fA皙<41><E79A99><EFBFBD><EFBFBD><EFBFBD>?i<>3<00>c<00>b<00>\rSrSr%\\S'\\S'\\S'\S\4Sj5r\ \
4S\4Sjjr Sr g )
<EFBFBD>
LaunchSite<EFBFBD>7<00>name<6D>
short_name<EFBFBD>latitude<64>returnc<00>,<00>[UR5$<00>N)<02>absr)<01>selfs <20></Volumes/Files/code/mm/20260130_b/p1/sensitivity_analysis.py<70> abs_latitude<64>LaunchSite.abs_latitude=s<00><00><12>4<EFBFBD>=<3D>=<3D>!<21>!<21>c<00><><00>X-nX-[R"[R"UR55-nX4-
$r)<04>np<6E>cos<6F>radiansr)r<00>omega<67>r<> v_equator<6F>v_sites r<00> delta_v_loss<73>LaunchSite.delta_v_lossAs6<00><00><19>I<EFBFBD> <09><16><19>R<EFBFBD>V<EFBFBD>V<EFBFBD>B<EFBFBD>J<EFBFBD>J<EFBFBD>t<EFBFBD>/@<40>/@<40>$A<>B<>B<><06><18>!<21>!r <00>N) <0A>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__firstlineno__<5F>str<74>__annotations__<5F>float<61>propertyr<00> OMEGA_EARTH<54>R_EARTHr)<00>__static_attributes__r+r rrr7sB<00><00>
<0A>I<EFBFBD><13>O<EFBFBD><13>O<EFBFBD> <0A>"<22>e<EFBFBD>"<22><0E>"<22>"-<2D><07>"<22>E<EFBFBD>"<22>"r r<00>Kouroug<75><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40>SDSCgffffff+@<40>Texasg:@<40>Floridag<00><@<40>
Californiag<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>YA@<40>Virginiagfffff<66>B@<40>TaiyuangffffffC@<40>Mahiagfffff<66>C@<40>Baikonurg<72><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD>F@<40>Alaskag33333<33>L@c<00><00>UR$r)r)<01>xs r<00><lambda>rCSs<00><00>!<21>.<2E>.r )<01>key<65>delta_v<5F>isp<73>alpha<68>
num_stagesrc<00><><00>U[-nX- n[R"XT- 5nSX&S-
--
nUS::a[R$US-
U- nSn Sn
[ U5Hn X<>-n X<>- n U
SUSU----n
M U $)z/Calculate multi-stage rocket fuel/payload ratiorr<00><00>?)<05>G0r"<00>exp<78>inf<6E>range) rErFrGrH<00>ve<76>delta_v_per_stage<67>R_stage<67> denominator<6F>k_stage<67>total_fuel_ratio<69>remaining_ratio<69>_<>fuel_this_stages r<00>fuel_ratio_multistagerXYs<><00><00> <0C>r<EFBFBD><18>B<EFBFBD><1F>,<2C><15><10>f<EFBFBD>f<EFBFBD>&<26>+<2B>,<2C>G<EFBFBD><13>e<EFBFBD><11>{<7B>+<2B>+<2B>K<EFBFBD><12>a<EFBFBD><17><11>v<EFBFBD>v<EFBFBD> <0A><16><11>{<7B>k<EFBFBD>)<29>G<EFBFBD><18><14><19>O<EFBFBD> <12>:<3A> <1E><01>)<29>3<><0F><18>+<2B><18><17>A<EFBFBD><07>1<EFBFBD>u<EFBFBD>9<EFBFBD> 5<>5<>6<><0F><1F>
<1C>r <00>completion_years<72>payload_per_launch<63>elevator_capacity<74>launches_per_day<61> delta_v_base<73>specific_fuel_energyc <00><><00>[X -[5n U [-n
[U -
n U S::a UU SU
S- SSSS.$[[R
"X<>- 55n US-n [X<>-5n[ U-U-nX<>:<3A>aUSX<>-
S.$SnU n[HQnUS::a OJ[UU5nUUR5-n[UXEU5nUS -nUU-nUUU-U-- nUU-nMS U
U-nUU U US- U U [- SS.$)
z'Calculate scenario for given parametersrg4&<26>k CrJT)<07>years<72>elevator_payload<61>rocket_payload<61>total_energy_PJ<50>rocket_launches<65>elevator_fraction<6F>feasible<6C>mF)r`rf<00>shortage<67><65>)
<EFBFBD>min<69> TOTAL_PAYLOAD<41>!BASELINE_ELEVATOR_SPECIFIC_ENERGY<47>intr"<00>ceil<69> NUM_SITES<45> LAUNCH_SITESr)rX)rYrZr[r\rFrGrHr]r^ra<00>elevator_energy<67>remaining_payload<61>rocket_launches_needed<65>days_available<6C>max_launches_per_site<74>total_rocket_capacity<74> rocket_energy<67>remaining_launches<65>site<74> allocated<65>total_dv<64>k<> fuel_per_ton<6F>energy_per_ton<6F> total_energys r<00>calculate_scenarior<6F>psz<00><00><1B>,<2C>?<3F><1D>O<><14>&<26>)J<>J<>O<EFBFBD>&<26>(8<>8<><15><18>A<EFBFBD><1D>%<25> 0<><1F>.<2E><14>5<> <20>!$<24><1C>
<EFBFBD>
<EFBFBD>!<21><12><17><17>):<3A>)O<>!P<>Q<><1A>&<26><03>+<2B>N<EFBFBD><1F><0E> A<>B<><19>%<25>(=<3D>=<3D>@R<>R<><19><18>0<>%<25><1D>)<29>A<>
<EFBFBD>
<EFBFBD><16>M<EFBFBD>/<2F><16><1C><04> <1D><11> "<22> <11><17>*<2A>,A<>B<> <09> <20>$<24>"3<>"3<>"5<>5<><08> !<21>(<28>C<EFBFBD>
<EFBFBD> C<><01><18>4<EFBFBD>x<EFBFBD> <0C>%<25>(<<3C><<3C><0E><15><1E>*<<3C><<3C>y<EFBFBD>H<>H<> <0A><1A>i<EFBFBD>'<27><1A><1D>#<23>]<5D>2<>L<EFBFBD>"<22>,<2C>+<2B>'<27>$<24>.<2E>1<>-<2D> <0A>=<3D><18> <06>r c <00><><00>[R"SSS5H4n[X@X40UD6nU(dMURSS5(dM2Us $ g)zFind minimum feasible timeline<6E>2<00>,i<>rfF)r"<00>linspacer<65><00>get)rZr[r\<00>kwargsr`<00>results r<00>find_minimum_timeliner<65><00>sT<00><00><14><1B><1B>R<EFBFBD><13>c<EFBFBD>*<2A><05>#<23> <11>'8<>
<EFBFBD>NT<EFBFBD>
<EFBFBD><06> <12>6<EFBFBD>f<EFBFBD>j<EFBFBD>j<EFBFBD><1A>U<EFBFBD>3<>3<><18>L<EFBFBD> +<2B> r <00>year_min<69>year_max<61>
num_pointsc
<00>B<00>Uc [S0UD6n[R"XU5n/nUH]n[U40UD6nU(dMUR SS5(dM1UR UUSUSUR SS5S.5 M_ [ R"U5$) z-Generate trade-off curve for given parametersrfFrcrerdr)r`<00> energy_PJrerdr+)r<>r"r<>r<>r<><00>append<6E>pd<70> DataFrame)r<>r<>r<>r<><00> years_range<67>resultsr`<00>scenarios r<00>generate_tradeoff_curver<65><00>s<><00><00><10><17>(<28>2<>6<EFBFBD>2<><08><14>+<2B>+<2B>h<EFBFBD>*<2A>=<3D>K<EFBFBD><10>G<EFBFBD><1C><05>%<25>e<EFBFBD>6<>v<EFBFBD>6<><08> <13>8<EFBFBD><08> <0C> <0C>Z<EFBFBD><15>7<>7<> <13>N<EFBFBD>N<EFBFBD><1E>%<25>&7<>8<>%-<2D>.A<>%B<>#+<2B><<3C><<3C>0A<30>1<EFBFBD>#E<> <0E> <0F><1D> <0E><<3C><<3C><07> <20> r <00>df<64> lambda_costc<00>@<00>UR(a![R[RS.$USRXSR--n[R"U5nUSR
UUSR
UUSR
US.$)uFind optimal point for given λ)r`r<>r<>r`re)r`r<>re)<06>emptyr"<00>nan<61>values<65>argmin<69>iloc)r<>r<><00>
total_cost<EFBFBD>opt_idxs r<00>find_optimal_pointr<74><00>s<><00><00> <09>x<EFBFBD>x<EFBFBD><1B><16><16>b<EFBFBD>f<EFBFBD>f<EFBFBD>5<>5<><13>K<EFBFBD><1F>'<27>'<27>+<2B>7<EFBFBD> <0B>8J<38>8J<38>*J<>J<>J<EFBFBD><10>i<EFBFBD>i<EFBFBD>
<EFBFBD>#<23>G<EFBFBD><14>G<EFBFBD><1B>!<21>!<21>'<27>*<2A><17> <0B>_<EFBFBD>)<29>)<29>'<27>2<><1F> 3<>4<>9<>9<>'<27>B<> <06>r c
<00><><00>[S5 [R"SSS5n/nUH<>n[[-n[ X#S9n[ U- n[USX#S9nUR(aM@[US5n[US S
:<3A>5(aXfS S
:<3A>S RS O[RnURUUUUS US US .5 M<> [R"U5$)z=Analyze sensitivity to rocket payload capacity (100-150 tons)zD
[1] Analyzing Rocket Payload Capacity Sensitivity (100-150 tons)...<2E>d<00><><00> <00>rZr[<00><>)r<>r<>rZr[<00><>r`<00><>r<>r)<06> payload_tons<6E> min_timeline<6E>elevator_only_timeline<6E>optimal_T_lambda504<30>optimal_E_lambda504<30>energy_at_139y)<10>printr"r<><00>BASELINE_NUM_ELEVATORS<52>#BASELINE_ELEVATOR_CAPACITY_PER_YEARr<52>rkr<>r<>r<><00>anyr<79>r<>r<>r<>r<>) <09> payload_ranger<65><00>payload<61> elevator_cap<61>t_min<69>t_elevr<76><00>opt_504<30> energy_at_139s r<00>sensitivity_payload_capacityr<79><00>s<><00><00> <09>
Q<EFBFBD>R<><16>K<EFBFBD>K<EFBFBD><03>S<EFBFBD>"<22>-<2D>M<EFBFBD><10>G<EFBFBD> <20><07>-<2D>0S<30>S<> <0C>%<25><17>a<><05><1E><1C>-<2D><06> $<24><1A>S<EFBFBD>&<26>
<EFBFBD><02>
<12>x<EFBFBD>x<EFBFBD>x<EFBFBD>(<28><12>S<EFBFBD>1<>G<EFBFBD>KN<4B>r<EFBFBD>RY<52>{<7B>^a<>Oa<4F>Kb<4B>Kb<4B>B<EFBFBD>'<27>{<7B>c<EFBFBD>1<>2<>;<3B>?<3F>D<>D<>Q<EFBFBD>G<>hj<68>hn<68>hn<68>M<EFBFBD> <13>N<EFBFBD>N<EFBFBD> '<27> %<25>*0<>'.<2E>w<EFBFBD>'7<>'.<2E>{<7B>';<3B>"/<2F> <0E> <0F>!<21>. <0E><<3C><<3C><07> <20> r c <00><><00>[S5 [[-n[R"SSS5n/nUH<>nX-n[ US9n[ U- n[USUS9nUR(aM7Sn[R"SS S
5Hn [Xy5n
U
S US -
:dMU n O [US 5n URUUUUUU S U SS.5 M<> [R"U5$)u0Analyze sensitivity to elevator capacity (±20%)u7
[2] Analyzing Elevator Capacity Sensitivity (±20%)...皙<><E79A99><EFBFBD><EFBFBD><EFBFBD>?<3F>333333<33>?<3F> <00>r[r<>)r<>r<>r[Ni<4E><00><>r`<00>r<>r<>)<07>capacity_factor<6F>capacity_tons_per_yearr<72>r<><00>critical_lambdar<61>r<>) r<>r<>r<>r"r<>r<>rkr<>r<>r<>r<>r<>r<>) <0C> baseline_cap<61>capacity_factorsr<73><00>factorr<72>r<>r<>r<><00> lambda_crit<69>lam<61>optr<74>s r<00>sensitivity_elevator_capacityr<79>s<><00><00> <09>
D<EFBFBD>E<>)<29>,O<>O<>L<EFBFBD><19>{<7B>{<7B>3<EFBFBD><03>Q<EFBFBD>/<2F><14><10>G<EFBFBD>"<22><06>#<23>,<2C> <0C>%<25> <0C>E<><05><1E><1C>-<2D><06> $<24><1A>S<EFBFBD>*<2A>
<EFBFBD><02>
<12>x<EFBFBD>x<EFBFBD>x<EFBFBD><1E>K<EFBFBD><19>{<7B>{<7B>3<EFBFBD><03>S<EFBFBD>1<><03>(<28><12>1<><03><16>w<EFBFBD><<3C>&<26>1<EFBFBD>*<2A>,<2C>"%<25>K<EFBFBD><19> 2<> )<29><12>S<EFBFBD>1<>G<EFBFBD> <13>N<EFBFBD>N<EFBFBD>#)<29>*6<> %<25>*0<>#.<2E>'.<2E>w<EFBFBD>'7<>'.<2E>{<7B>';<3B><0E> <0F>+#<23>> <0E><<3C><<3C><07> <20> r c
<00>z<00>[S5 [R"SSS5n/nUH{n[[-n[ X#S9n[ U- n[USX#S9nUR(aM@[US5nURUUUUS US
US -[-[-S .5 M} [R"U5$) z'Analyze sensitivity to launch frequencyzC
[3] Analyzing Launch Frequency Sensitivity (0.5-2 launches/day)...<2E><00>?<3F>@<40><00>r\r[r<>)r<>r<>r\r[r<>r`r<>rg)r\r<>r<>r<>r<><00>rocket_capacity_tons_per_year)r<>r"r<>r<>r<>r<>rkr<>r<>r<>r<>ro<00>BASELINE_PAYLOAD_PER_LAUNCHr<48>r<>)<08>frequency_ranger<65><00>freqr<71>r<>r<>r<>r<>s r<00>sensitivity_launch_frequencyr<79>Ds<><00><00> <09>
P<EFBFBD>Q<><18>k<EFBFBD>k<EFBFBD>#<23>s<EFBFBD>A<EFBFBD>.<2E>O<EFBFBD><10>G<EFBFBD><1F><04>-<2D>0S<30>S<> <0C>%<25>t<EFBFBD>\<5C><05><1E><1C>-<2D><06> $<24><1A>S<EFBFBD>!<21>
<EFBFBD><02>
<12>x<EFBFBD>x<EFBFBD>x<EFBFBD>(<28><12>S<EFBFBD>1<>G<EFBFBD> <13>N<EFBFBD>N<EFBFBD>$(<28> %<25>*0<>'.<2E>w<EFBFBD>'7<>'.<2E>{<7B>';<3B>15<31><03><1A>i<EFBFBD>1G<31>Je<4A>1e<31> <0E> <0F> <20>, <0E><<3C><<3C><07> <20> r c <00>d<00>[S5 /SQn/nUH<>up#n[[-n[X4US9n[ USX4US9nUR
(aM<[ US5n[[U[[5n URUUUS- U UUSUS S
.5 M<> [R"U5$) z.Analyze sensitivity to engine technology (Isp)z5
[4] Analyzing Engine Technology Sensitivity (Isp)...))<03>Solidig<00>SA)<03> LOX/Kerosene<6E>^<00>L<>cA)<03> LOX/Methanerr)<03> LOX/Hydrogen<65><6E><00>\<5C>mA<6D>rFr^r[r<>)r<>r<>rFr^r[r<>g<00><>.Ar`r<>)<07> engine_type<70> isp_seconds<64>specific_energy_MJ_kg<6B>
fuel_ratior<EFBFBD>r<>r<>)r<>r<>r<>r<>r<>r<>r<>rX<00>BASELINE_DELTA_V<5F>BASELINE_ALPHA<48>BASELINE_NUM_STAGESr<53>r<>r<>)
<EFBFBD>enginesr<73>rrF<00>specific_energyr<79>r<>r<>r<>r|s
r<00>sensitivity_engine_technologyr<79>ds<><00><00> <09>
B<EFBFBD>C<><06>G<EFBFBD><11>G<EFBFBD>&-<2D>"<22><04>?<3F>-<2D>0S<30>S<> <0C>%<25><13>\<5C>
<EFBFBD><05>%<25><1A>S<EFBFBD><13>\<5C>
<EFBFBD><02>
<12>x<EFBFBD>x<EFBFBD>x<EFBFBD>(<28><12>S<EFBFBD>1<>G<EFBFBD>&<26>&6<><03>^<5E>M`<60>a<>A<EFBFBD> <13>N<EFBFBD>N<EFBFBD>#<23>"<22>)8<>3<EFBFBD>)><3E><1F> %<25>'.<2E>w<EFBFBD>'7<>'.<2E>{<7B>';<3B><0E> <0F>#'.<2E>6 <0E><<3C><<3C><07> <20> r c <00>x<00>[S5 [R"SSS5n/nUHzn[[-n[ X#S9n[ USX#S9nUR(aM7[US5n[[[U[5nURUUUUS US
S .5 M| [R"U5$) u0Analyze sensitivity to structural coefficient αu9
[5] Analyzing Structural Coefficient Sensitivity (α)...g<><1E><>Q<EFBFBD><51>?g<>Q<EFBFBD><1E><><EFBFBD>?r<>)rGr[r<>)r<>r<>rGr[r<>r`r<>)rGr<>r<>r<>r<>)r<>r"r<>r<>r<>r<>r<>r<>r<>rXr<><00> BASELINE_ISPr<50>r<>r<>r<>)<08> alpha_ranger<65>rGr<>r<>r<>r<>r|s r<00>"sensitivity_structural_coefficientr<74><00>s<><00><00> <09>
F<EFBFBD>G<><14>+<2B>+<2B>d<EFBFBD>D<EFBFBD>!<21>,<2C>K<EFBFBD><10>G<EFBFBD><1C><05>-<2D>0S<30>S<> <0C>%<25>E<EFBFBD>R<><05> $<24><1A>S<EFBFBD><17>
<EFBFBD><02>
<12>x<EFBFBD>x<EFBFBD>x<EFBFBD>(<28><12>S<EFBFBD>1<>G<EFBFBD>%<25>&6<> <0C>e<EFBFBD>M`<60>a<>A<EFBFBD> <13>N<EFBFBD>N<EFBFBD><1E><1F> %<25>'.<2E>w<EFBFBD>'7<>'.<2E>{<7B>';<3B> <0E> <0F><1D>* <0E><<3C><<3C><07> <20> r <00>
payload_df<EFBFBD> elevator_df<64> frequency_df<64> engine_df<64>alpha_df<64> save_pathc
<00> <00>[R"SSSS9upgUSnURUSUSSSS S
S 9 URUSUS S SS SS 9 URSSSSSS9 UR SSSSSS9 UR SS/SSSSS S!9 UR S"S#S$9 URS%S#S$9 URS&S'S$9 URS(S)S*9 URS+S,S-9 URS.S/5 URSS05 US1n U RUS2S-US3S4SS S5S 9 U RUS2S-US S SS SS 9 U RUS2S-USS6SS S
S 9 U R SSSSS7S9 U R S8S#S$9 U RS%S#S$9 U RS9S'S$9 U RS(S)S*9 U RS+S,S-9 U RS:S5 US;n
U
RUS<USSSS S
S 9 U
RUS<US S SS SS 9 U
RSSSSSS9 U
R S=SSSS>S9 U
R S?S#S$9 U
RS%S#S$9 U
RS@S'S$9 U
RS(S)S*9 U
RS+S,S-9 USAn [R"[U55n SBn U R!X<>S- -
USCSD- U SESFSGSH9nU R#5nUR!X<>S- -USIU SJSKSGSH9nU R SLS#S$9 U RSMS#SFSN9 URSJS#SKSN9 U RSOS'S$9 U R%U 5 U R'USPSQSR9 U RSSS)S*9 URS(S)S*9 U RS+S,STSU9 USVnURUSWUSIS4SS SJS 9 UR#5nURUSWUSCSD- S SS SES 9 UR SSSSS7S9 UR SXS#S$9 URSJS#SSN9 URSMS#SYSN9 URSZS'S$9 URSSS)S*9 URS(S)S*9 URS+S,S-9 US[nS\nS]US R(S^U-
U- S-US R(S_U-
U- S-4S`US R(S^U-
U- S-US R(S_U-
U- S-4SaUS R(S^U-
U- S-US R(S_U-
U- S-4SbUS R(S^U-
U- S-US R(S_U-
U- S-4/n[R"[U55n[+U5HmununnnUR-UUU-
[/UU5ScUU:<3A>aSFOSKSSd9 URUU/UU/SeSSf9 URUUSgS Sh9 URUUSiS Sh9 Mo UR S^SjSkSlSm9 UR1U5 UR3UVs/sHnUS^PM
sn5 UR SnS#S$9 URSoS'S$9 URS+S,SpSU9 [R4"5 [R6"USSqSr9 [9SsU35 U$s snf)tz7Create comprehensive sensitivity analysis visualization<6F>r )<02><00> <00><01>figsize<7A>rrr<>r<>zb-o<>zMinimum Timeline)<03> linewidth<74>
markersize<EFBFBD>labelr<6C>zr-suOptimal T* (λ=504)gfffffFg@<40>greenz--gffffff<66>?z Elevator-only)<05>y<>color<6F> linestylerGr<>r <00>gray<61>:zBaseline (125t))rBrrrGr<><00>P<00><>r<>r<>r<00>bluez Problem range)rGrr<>z%Rocket Payload Capacity (metric tons)r<><00><01>fontsize<7A>Timeline (years)zK(a) Sensitivity to Rocket Payload Capacity
(Problem specifies 100-150 tons)r<><00> upper rightr<74>)<02>locrT<>333333<33>?<3F>rG<00>_<00><>r<><00>rrr<>r<>zg-ozElevator-only Timelinezb-^<5E>Baselinez!Elevator Capacity (% of baseline)u,(b) Sensitivity to Elevator Capacity (±20%)<29>K)rr<>r\rJzBaseline (1/day)z$Launch Frequency (launches/site/day)z#(c) Sensitivity to Launch Frequency<63>rrgffffff<66>?r<>riuEnergy at T* (×10³ PJ)<29> steelbluer<65>)r<>rrGr<>z Fuel Ratio k<>coralz Engine Type<70>Energy (×10³ PJ))rrz$(d) Sensitivity to Engine Technologyr<79><00>)<01>rotationz
upper leftr<74><00>rG<00>axis<69>rrrGuStructural Coefficient α<>redu,(e) Sensitivity to Structural Coefficient α)rr<>r<><00>Payload
(100→150t)r<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Elevator Cap.
(80%→120%)<29>Launch Freq.
(0.5→2/day)<29>Struct. Coef.
(0.06→0.14)<29>333333<33>?)<04>left<66>heightrrGzk-)r<><00>ko)r<>zk^<5E>black<63>-r)rBrrr<><00>!Change in Optimal Timeline T* (%)z'(f) Sensitivity Summary (Tornado Chart)rB<00>tight<68><02>dpi<70> bbox_inchesz%
Sensitivity analysis plot saved to: )<1D>plt<6C>subplots<74>plot<6F>axhline<6E>axvline<6E> fill_betweenx<6E>
set_xlabel<EFBFBD>
set_ylabel<EFBFBD> set_title<6C>legend<6E>grid<69>set_xlim<69>set_ylimr"<00>arange<67>len<65>bar<61>twinx<6E>
set_xticks<EFBFBD>set_xticklabelsr<73><00> enumerate<74>barhrj<00>
set_yticks<EFBFBD>set_yticklabels<6C> tight_layout<75>savefigr<67>)r<>r<>r<>r<>r<>r<><00>fig<69>axes<65>ax1<78>ax2<78>ax3<78>ax4<78>x_pos<6F>width<74>bars1<73>ax4_twin<69>bars2<73>ax5<78>ax5_twin<69>ax6<78>
baseline_T<EFBFBD> sensitivities<65>y_pos<6F>ir<00>low<6F>high<67>ss r<00>plot_sensitivity_analysisr[<00>s<00><00><14> <0C> <0C>Q<EFBFBD><01>8<EFBFBD>4<>I<EFBFBD>C<EFBFBD> <0F>t<EFBFBD>*<2A>C<EFBFBD><07>H<EFBFBD>H<EFBFBD>Z<EFBFBD><0E> '<27><1A>N<EFBFBD>)C<> <12>a<EFBFBD>A<EFBFBD>5G<35> <0A>I<01><07>H<EFBFBD>H<EFBFBD>Z<EFBFBD><0E> '<27><1A>4I<34>)J<> <12>a<EFBFBD>A<EFBFBD>5J<35> <0A>L<01><08>K<EFBFBD>K<EFBFBD>%<25>w<EFBFBD>$<24>c<EFBFBD><1F>K<EFBFBD>Y<><07>K<EFBFBD>K<EFBFBD>#<23>V<EFBFBD>s<EFBFBD>#<23>EV<45>K<EFBFBD>W<><07><15><15>r<EFBFBD>3<EFBFBD>i<EFBFBD><13>c<EFBFBD><13>F<EFBFBD>/<2F><15>Z<><07>N<EFBFBD>N<EFBFBD>:<3A>R<EFBFBD>N<EFBFBD>H<><07>N<EFBFBD>N<EFBFBD>%<25><02>N<EFBFBD>3<><07>M<EFBFBD>M<EFBFBD>`<60>km<6B>M<EFBFBD>n<><07>J<EFBFBD>J<EFBFBD>=<3D>1<EFBFBD>J<EFBFBD>-<2D><07>H<EFBFBD>H<EFBFBD>T<EFBFBD><13>H<EFBFBD><1D><07>L<EFBFBD>L<EFBFBD><12>S<EFBFBD><19><07>L<EFBFBD>L<EFBFBD><12>S<EFBFBD><19> <0F>t<EFBFBD>*<2A>C<EFBFBD><07>H<EFBFBD>H<EFBFBD>[<5B>*<2A> +<2B>c<EFBFBD> 1<>;<3B>?W<>3X<33> <12>a<EFBFBD>A<EFBFBD>5M<35> <0A>O<01><07>H<EFBFBD>H<EFBFBD>[<5B>*<2A> +<2B>c<EFBFBD> 1<>;<3B>?T<>3U<33> <12>a<EFBFBD>A<EFBFBD>5J<35> <0A>L<01><07>H<EFBFBD>H<EFBFBD>[<5B>*<2A> +<2B>c<EFBFBD> 1<>;<3B>~<7E>3N<33> <12>a<EFBFBD>A<EFBFBD>5G<35> <0A>I<01><08>K<EFBFBD>K<EFBFBD>#<23>V<EFBFBD>s<EFBFBD>#<23>Z<EFBFBD>K<EFBFBD>P<><07>N<EFBFBD>N<EFBFBD>6<><12>N<EFBFBD>D<><07>N<EFBFBD>N<EFBFBD>%<25><02>N<EFBFBD>3<><07>M<EFBFBD>M<EFBFBD>@<40>2<EFBFBD>M<EFBFBD>N<><07>J<EFBFBD>J<EFBFBD>=<3D>1<EFBFBD>J<EFBFBD>-<2D><07>H<EFBFBD>H<EFBFBD>T<EFBFBD><13>H<EFBFBD><1D><07>L<EFBFBD>L<EFBFBD><12>S<EFBFBD><19> <0F>t<EFBFBD>*<2A>C<EFBFBD><07>H<EFBFBD>H<EFBFBD>\<5C>,<2C> -<2D>|<7C>N<EFBFBD>/K<> <12>a<EFBFBD>A<EFBFBD>5G<35> <0A>I<01><07>H<EFBFBD>H<EFBFBD>\<5C>,<2C> -<2D>|<7C><Q<>/R<> <12>a<EFBFBD>A<EFBFBD>5J<35> <0A>L<01><08>K<EFBFBD>K<EFBFBD>%<25>w<EFBFBD>$<24>c<EFBFBD><1F>K<EFBFBD>Y<><07>K<EFBFBD>K<EFBFBD>#<23>V<EFBFBD>s<EFBFBD>#<23>EW<45>K<EFBFBD>X<><07>N<EFBFBD>N<EFBFBD>9<>B<EFBFBD>N<EFBFBD>G<><07>N<EFBFBD>N<EFBFBD>%<25><02>N<EFBFBD>3<><07>M<EFBFBD>M<EFBFBD>7<>"<22>M<EFBFBD>E<><07>J<EFBFBD>J<EFBFBD>=<3D>1<EFBFBD>J<EFBFBD>-<2D><07>H<EFBFBD>H<EFBFBD>T<EFBFBD><13>H<EFBFBD><1D> <0F>t<EFBFBD>*<2A>C<EFBFBD> <0E>I<EFBFBD>I<EFBFBD>c<EFBFBD>)<29>n<EFBFBD> %<25>E<EFBFBD> <10>E<EFBFBD> <0F>G<EFBFBD>G<EFBFBD>E<EFBFBD>!<21>G<EFBFBD>O<EFBFBD>Y<EFBFBD>/D<>%E<><04>%L<>e<EFBFBD>4<>K<EFBFBD>s<EFBFBD> <14> T<01>E<EFBFBD><13>y<EFBFBD>y<EFBFBD>{<7B>H<EFBFBD> <14>L<EFBFBD>L<EFBFBD><15>q<EFBFBD><17><1F>)<29>L<EFBFBD>*A<>5<EFBFBD>-<2D>W<EFBFBD>C<EFBFBD> <19> I<01>E<EFBFBD><08>N<EFBFBD>N<EFBFBD>=<3D>2<EFBFBD>N<EFBFBD>.<2E><07>N<EFBFBD>N<EFBFBD>'<27>"<22>K<EFBFBD>N<EFBFBD>H<> <0C><17><17><0E><12>7<EFBFBD><17>C<><07>M<EFBFBD>M<EFBFBD>8<>2<EFBFBD>M<EFBFBD>F<><07>N<EFBFBD>N<EFBFBD>5<EFBFBD><19><07><17><17> <09>-<2D>0<>2<EFBFBD><17>><3E><07>J<EFBFBD>J<EFBFBD><<3C>!<21>J<EFBFBD>,<2C> <0C>O<EFBFBD>O<EFBFBD> <0A><01>O<EFBFBD>2<><07>H<EFBFBD>H<EFBFBD>T<EFBFBD><13>3<EFBFBD>H<EFBFBD>'<27> <0F>t<EFBFBD>*<2A>C<EFBFBD><07>H<EFBFBD>H<EFBFBD>X<EFBFBD>g<EFBFBD> <1E><08><1C> 6<> <12>a<EFBFBD>A<EFBFBD>^<5E> <0A>E<01><13>y<EFBFBD>y<EFBFBD>{<7B>H<EFBFBD> <0C>M<EFBFBD>M<EFBFBD>(<28>7<EFBFBD>#<23>X<EFBFBD>.C<>%D<>t<EFBFBD>%K<><17>1<EFBFBD><11>:T<><12>V<01><08>K<EFBFBD>K<EFBFBD>$<24>f<EFBFBD><03>3<EFBFBD>j<EFBFBD>K<EFBFBD>Q<><07>N<EFBFBD>N<EFBFBD>.<2E><12>N<EFBFBD><<3C><07>N<EFBFBD>N<EFBFBD>><3E>B<EFBFBD>g<EFBFBD>N<EFBFBD>><3E> <0C><17><17>,<2C>r<EFBFBD><15><17>G<><07>M<EFBFBD>M<EFBFBD>@<40>2<EFBFBD>M<EFBFBD>N<><07>J<EFBFBD>J<EFBFBD><<3C>!<21>J<EFBFBD>,<2C> <0C>O<EFBFBD>O<EFBFBD> <0A><01>O<EFBFBD>2<><07>H<EFBFBD>H<EFBFBD>T<EFBFBD><13>H<EFBFBD><1D> <0F>t<EFBFBD>*<2A>C<EFBFBD><15>J<EFBFBD>
!<21>
<14>*<2A>
+<2B>
0<EFBFBD>
0<EFBFBD><11>
3<EFBFBD>j<EFBFBD>
@<40>J<EFBFBD> N<>QT<51> T<>
<14>*<2A>
+<2B>
0<EFBFBD>
0<EFBFBD><12>
4<EFBFBD>z<EFBFBD>
A<EFBFBD>Z<EFBFBD> O<>RU<52> U<> W<01>
'<27>
<15>+<2B>
,<2C>
1<EFBFBD>
1<EFBFBD>!<21>
4<EFBFBD>z<EFBFBD>
A<EFBFBD>Z<EFBFBD> O<>RU<52> U<>
<15>+<2B>
,<2C>
1<EFBFBD>
1<EFBFBD>"<22>
5<EFBFBD>
<EFBFBD>
B<EFBFBD>j<EFBFBD> P<>SV<53> V<> X<01>
'<27>
<16>,<2C>
-<2D>
2<EFBFBD>
2<EFBFBD>1<EFBFBD>
5<EFBFBD>
<EFBFBD>
B<EFBFBD>j<EFBFBD> P<>SV<53> V<>
<16>,<2C>
-<2D>
2<EFBFBD>
2<EFBFBD>2<EFBFBD>
6<EFBFBD><1A>
C<EFBFBD>z<EFBFBD> Q<>TW<54> W<> Y<01>
(<28>
<12>(<28>
)<29>
.<2E>
.<2E>q<EFBFBD>
1<EFBFBD>J<EFBFBD>
><3E>*<2A> L<>s<EFBFBD> R<>
<12>(<28>
)<29>
.<2E>
.<2E>r<EFBFBD>
2<EFBFBD>Z<EFBFBD>
?<3F>:<3A> M<>PS<50> S<> U<01> <06>M<EFBFBD> <0F>I<EFBFBD>I<EFBFBD>c<EFBFBD>-<2D>(<28> )<29>E<EFBFBD> )<29>-<2D> 8<><1C><01> <1C>D<EFBFBD>#<23>t<EFBFBD> <0B><08><08><11>D<EFBFBD>3<EFBFBD>J<EFBFBD>S<EFBFBD><13>d<EFBFBD>^<5E>C<EFBFBD>%)<29>C<EFBFBD>Z<EFBFBD>k<EFBFBD>W<EFBFBD>C<EFBFBD> <11> I<01> <0B><08><08>#<23>t<EFBFBD><1B>q<EFBFBD>!<21>f<EFBFBD>d<EFBFBD>a<EFBFBD><08>8<> <0B><08><08><13>a<EFBFBD><14>!<21><08>,<2C> <0B><08><08><14>q<EFBFBD>$<24>1<EFBFBD><08>-<2D> !9<><08>K<EFBFBD>K<EFBFBD>!<21>7<EFBFBD>c<EFBFBD>Q<EFBFBD>K<EFBFBD>?<3F><07>N<EFBFBD>N<EFBFBD>5<EFBFBD><19><07><17><17>}<7D>5<>}<7D>!<21><11>1<EFBFBD><14>}<7D>5<>6<><07>N<EFBFBD>N<EFBFBD>6<><12>N<EFBFBD>D<><07>M<EFBFBD>M<EFBFBD>;<3B>b<EFBFBD>M<EFBFBD>I<><07>H<EFBFBD>H<EFBFBD>T<EFBFBD><13>3<EFBFBD>H<EFBFBD>'<27><07><14><14><16><07>K<EFBFBD>K<EFBFBD> <09>s<EFBFBD><07>8<> <09> 2<>9<EFBFBD>+<2B>
><3E>?<3F> <0E>J<EFBFBD><4A>6s<00> Z c <00>6<00>SnUS-n[R"XV4S9upxSn SUSRSU -
U - S-USRS U -
U - S-4S
USRSU -
U - S-USRS U -
U - S-4S USRSU -
U - S-USRS U -
U - S-4S USRSU -
U - S-USRS U -
U - S-4/n
S n Sn [R"[ U
55n Sn[ U
5HzununnnUU:<3A>aU OU nUU-
n[UU5nURUUUUUSSSS9 URUUSSSSS9 URUUSSSSS9 URX<>/UU/SSSSS9 M| URSSSSS9 URU 5 URU
Vs/sHnUSPM
snS S!9 URS"S#S!9 URS$S%S&S'9 SS(KJn SS)KJn U"U SSS*S+9U"U SSS,S+9U"S/S/SSS-S.S/S09U"S/S/SSS-S.S1S09/nUR'US2S3S4S59 [R("5 [R*"US6S7S89 [-S9U35 U$s snf):u<>
单独绘制 Tornado Chart敏感性汇总图
- XY轴反转垂直柱状图
- 长宽比 0.618
- 无标题
- 有图例
- 低饱和度色系
r<EFBFBD>g-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?r<>r<>rr<>rr<>rrr r!z#7A9CBFz#C4816Br"r<>z#555555)<06>bottomrMrrG<00> edgecolorr<72><00>oz#444444r<34>r<>)rr<><00>zorder<65>^r'g<00>?<3F>)rr<>r`z#333333r<33>)r<>rrr<><00>
rr(r<>Tr r<>r)<01>Patch)<01>Line2DuParameter ↑ → T* ↓)<04> facecolorr^rGr<>uParameter ↑ → T* ↑<>None<6E>z Low value)<05>markerrrr<>r<>z
High valuer
r<>g<><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?)<04>handlesr r<00>
framealphar<EFBFBD>r)r*zTornado chart saved to: )r-r.r<>r"r:r;r@rjr<r/r0r>r?r4r7<00>matplotlib.patchesrd<00>matplotlib.linesrer6rDrEr<>)r<>r<>r<>r<>r<><00> fig_width<74>
fig_heightrF<00>axrTrU<00>color_positive<76>color_negativerL<00> bar_widthrWrrXrY<00> bar_color<6F>
bar_height<EFBFBD>
bar_bottomrZrdre<00>legend_elementss r<00>plot_tornado_chart_standalonerxLsv<00><00> <12>I<EFBFBD><1A>U<EFBFBD>"<22>J<EFBFBD><11>l<EFBFBD>l<EFBFBD>I<EFBFBD>#:<3A>;<3B>G<EFBFBD>C<EFBFBD><15>J<EFBFBD>
!<21>
<14>*<2A>
+<2B>
0<EFBFBD>
0<EFBFBD><11>
3<EFBFBD>j<EFBFBD>
@<40>J<EFBFBD> N<>QT<51> T<>
<14>*<2A>
+<2B>
0<EFBFBD>
0<EFBFBD><12>
4<EFBFBD>z<EFBFBD>
A<EFBFBD>Z<EFBFBD> O<>RU<52> U<> W<01>
'<27>
<15>+<2B>
,<2C>
1<EFBFBD>
1<EFBFBD>!<21>
4<EFBFBD>z<EFBFBD>
A<EFBFBD>Z<EFBFBD> O<>RU<52> U<>
<15>+<2B>
,<2C>
1<EFBFBD>
1<EFBFBD>"<22>
5<EFBFBD>
<EFBFBD>
B<EFBFBD>j<EFBFBD> P<>SV<53> V<> X<01>
'<27>
<16>,<2C>
-<2D>
2<EFBFBD>
2<EFBFBD>1<EFBFBD>
5<EFBFBD>
<EFBFBD>
B<EFBFBD>j<EFBFBD> P<>SV<53> V<>
<16>,<2C>
-<2D>
2<EFBFBD>
2<EFBFBD>2<EFBFBD>
6<EFBFBD><1A>
C<EFBFBD>z<EFBFBD> Q<>TW<54> W<> Y<01>
(<28>
<12>(<28>
)<29>
.<2E>
.<2E>q<EFBFBD>
1<EFBFBD>J<EFBFBD>
><3E>*<2A> L<>s<EFBFBD> R<>
<12>(<28>
)<29>
.<2E>
.<2E>r<EFBFBD>
2<EFBFBD>Z<EFBFBD>
?<3F>:<3A> M<>PS<50> S<> U<01> <06>M<EFBFBD> <1F>N<EFBFBD><1E>N<EFBFBD> <0E>I<EFBFBD>I<EFBFBD>c<EFBFBD>-<2D>(<28> )<29>E<EFBFBD><13>I<EFBFBD>!*<2A>-<2D> 8<><1C><01> <1C>D<EFBFBD>#<23>t<EFBFBD>&*<2A>S<EFBFBD>j<EFBFBD>N<EFBFBD>n<EFBFBD> <09><19>C<EFBFBD>Z<EFBFBD>
<EFBFBD><18><13>d<EFBFBD>^<5E>
<EFBFBD>
<EFBFBD><06><06>q<EFBFBD>*<2A>Z<EFBFBD>y<EFBFBD><1E>c<EFBFBD>Y<EFBFBD>#<23> <0F> O<01> <0B><07><07><01>3<EFBFBD><03>9<EFBFBD><11>1<EFBFBD><07>E<>
<EFBFBD><07><07><01>4<EFBFBD><13>I<EFBFBD>!<21>A<EFBFBD><07>F<>
<EFBFBD><07><07><11><06><13>d<EFBFBD> <0B>S<EFBFBD> <09>S<EFBFBD>QR<51><07>S<>!9<><07>J<EFBFBD>J<EFBFBD><11>)<29>s<EFBFBD>c<EFBFBD>J<EFBFBD>B<><07>M<EFBFBD>M<EFBFBD>%<25><18><06><16><16>m<EFBFBD>4<>m<EFBFBD><11><01>!<21><04>m<EFBFBD>4<>r<EFBFBD><16>B<><06>M<EFBFBD>M<EFBFBD>5<><02>M<EFBFBD>C<><06>G<EFBFBD>G<EFBFBD>D<EFBFBD><03>#<23>G<EFBFBD>&<26>)<29>'<27> <0A><0E>)<29>3<EFBFBD>.<2E> 0<> <0A><0E>)<29>3<EFBFBD>.<2E> 0<><0E><01>s<EFBFBD>Q<EFBFBD>C<EFBFBD><03>9<EFBFBD><06><1B>;<3B> 0<><0E><01>s<EFBFBD>Q<EFBFBD>C<EFBFBD><03>9<EFBFBD><06><1B><<3C> 1<> <06>O<EFBFBD><07>I<EFBFBD>I<EFBFBD>o<EFBFBD>=<3D>1<EFBFBD>QT<51>I<EFBFBD>U<><07><14><14><16><07>K<EFBFBD>K<EFBFBD> <09>s<EFBFBD><07>8<> <09> $<24>Y<EFBFBD>K<EFBFBD>
0<EFBFBD>1<> <0E>J<EFBFBD><4A>/5s<00>Jc <00>:<00>[R"SSSS9up[[-nUSnSH@upV[ XSS9nUR
(aM!UR USUSS - USUS
3S 9 MB URS S S9 URSS S9 URSSS9 URSS9 URSSS9 URSS5 USnSHFup<>[ X9-S9nUR
(aM#UR USUSS - USU S-SS3S 9 MH URS S S9 URSS S9 URSSS9 URS S9 URSSS9 URSS!5 US"n
S#H@up<>[ X<>S$9nUR
(aM!U
R USUSS - USU S%3S 9 MB U
RS S S9 U
RSS S9 U
RS&SS9 U
RS'S9 U
RSSS9 U
RS(S5 US)n /S*Qn U HBup<>nn[ UUUS+9nUR
(aM%U R USUSS - USUS 9 MD U RS S S9 U RSS S9 U RS,SS9 U RS-S9 U RSSS9 U RSS5 [R"5 [R"US.S/S09 [S1U35 U$)2z4Plot trade-off curves for different parameter valuesr<73>)<02>r<>r<>r<>))r<>r)r r)r<>r<>r<>r`r<>riz tons)rr<>r<>r r<>rrz)Trade-off Curves: Rocket Payload Capacityr<79><00>Payload)<01>titleTr r rr<>r))r<>r<00>rJr)r<>r<>r<>r<>z.0f<EFBFBD>%z#Trade-off Curves: Elevator Capacity<74>Capacityr<79>r))r<>rr})r<>r<>r<>z/dayz"Trade-off Curves: Launch Frequency<63> Frequency<63>-r))r<>r<>r<>r)r<>rrr)r<>r<>r<>r<>r<>z#Trade-off Curves: Engine Technology<67>Enginer<65>r)r*z$Trade-off comparison plot saved to: )r-r.r<>r<>r<>r<>r/r3r4r5r6r7r8rDrEr<>)r<>rFrGr<>rHr<>rr<>rIr<>rJr<>rKr<>rrF<00>ses r<00>plot_tradeoff_comparisonr<6E><00>s^<00><00>
<14> <0C> <0C>Q<EFBFBD><01>8<EFBFBD>4<>I<EFBFBD>C<EFBFBD>)<29>,O<>O<>L<EFBFBD> <0F>t<EFBFBD>*<2A>C<EFBFBD>G<><0E><07> $<24><07> `<60><02><11>x<EFBFBD>x<EFBFBD>x<EFBFBD> <0F>H<EFBFBD>H<EFBFBD>R<EFBFBD><07>[<5B>"<22>[<5B>/<2F>D<EFBFBD>"8<><05>QR<51>$<24>I<EFBFBD>U<EFBFBD>+<2B> <15> -<2D>H<01> <08>N<EFBFBD>N<EFBFBD>%<25><02>N<EFBFBD>3<><07>N<EFBFBD>N<EFBFBD>'<27>"<22>N<EFBFBD>5<><07>M<EFBFBD>M<EFBFBD>=<3D><02>M<EFBFBD>K<><07>J<EFBFBD>J<EFBFBD>Y<EFBFBD>J<EFBFBD><1F><07>H<EFBFBD>H<EFBFBD>T<EFBFBD><13>H<EFBFBD><1D><07>L<EFBFBD>L<EFBFBD><12>S<EFBFBD><19> <0F>t<EFBFBD>*<2A>C<EFBFBD>F<> <0A><06> $<24>|<7C>7L<37> M<><02><11>x<EFBFBD>x<EFBFBD>x<EFBFBD> <0F>H<EFBFBD>H<EFBFBD>R<EFBFBD><07>[<5B>"<22>[<5B>/<2F>D<EFBFBD>"8<><05>QR<51>#<23>C<EFBFBD>Z<EFBFBD><03>,<2C>A<EFBFBD>.<2E> <15> 0<>G<01> <08>N<EFBFBD>N<EFBFBD>%<25><02>N<EFBFBD>3<><07>N<EFBFBD>N<EFBFBD>'<27>"<22>N<EFBFBD>5<><07>M<EFBFBD>M<EFBFBD>7<>"<22>M<EFBFBD>E<><07>J<EFBFBD>J<EFBFBD>Z<EFBFBD>J<EFBFBD> <20><07>H<EFBFBD>H<EFBFBD>T<EFBFBD><13>H<EFBFBD><1D><07>L<EFBFBD>L<EFBFBD><12>S<EFBFBD><19> <0F>t<EFBFBD>*<2A>C<EFBFBD>D<> <0B><04> $<24>d<EFBFBD> [<5B><02><11>x<EFBFBD>x<EFBFBD>x<EFBFBD> <0F>H<EFBFBD>H<EFBFBD>R<EFBFBD><07>[<5B>"<22>[<5B>/<2F>D<EFBFBD>"8<><05>QR<51>!<21>F<EFBFBD>$<24>-<2D> <15> )<29>E<01> <08>N<EFBFBD>N<EFBFBD>%<25><02>N<EFBFBD>3<><07>N<EFBFBD>N<EFBFBD>'<27>"<22>N<EFBFBD>5<><07>M<EFBFBD>M<EFBFBD>6<><12>M<EFBFBD>D<><07>J<EFBFBD>J<EFBFBD>[<5B>J<EFBFBD>!<21><07>H<EFBFBD>H<EFBFBD>T<EFBFBD><13>H<EFBFBD><1D><07>L<EFBFBD>L<EFBFBD><12>S<EFBFBD><19> <0F>t<EFBFBD>*<2A>C<EFBFBD><06>G<EFBFBD> !(<28><1C><04>2<EFBFBD>u<EFBFBD> $<24><13>2<EFBFBD>Ye<59> f<><02><11>x<EFBFBD>x<EFBFBD>x<EFBFBD> <0F>H<EFBFBD>H<EFBFBD>R<EFBFBD><07>[<5B>"<22>[<5B>/<2F>D<EFBFBD>"8<><05>QR<51>!<21>F<EFBFBD> <15> %<25>!(<28> <08>N<EFBFBD>N<EFBFBD>%<25><02>N<EFBFBD>3<><07>N<EFBFBD>N<EFBFBD>'<27>"<22>N<EFBFBD>5<><07>M<EFBFBD>M<EFBFBD>7<>"<22>M<EFBFBD>E<><07>J<EFBFBD>J<EFBFBD>X<EFBFBD>J<EFBFBD><1E><07>H<EFBFBD>H<EFBFBD>T<EFBFBD><13>H<EFBFBD><1D><07>L<EFBFBD>L<EFBFBD><12>S<EFBFBD><19><07><14><14><16><07>K<EFBFBD>K<EFBFBD> <09>s<EFBFBD><07>8<> <09> 0<><19> <0B>
<<3C>=<3D> <0E>Jr c<00><00>[S5 [S5 [S5 [5n[5n[5n[ 5n[ 5n[S5 [S5 [S5 [S5 [UR SS95 [S5 [UR SS95 [S 5 [UR SS95 [S
5 [UR SS95 [S 5 [UR SS95 [S5 [S 5 [S5 [XX#U5 [5 URS SS9 URSSS9 URSSS9 URSSS9 URSSS9 [S5 [S5 [S5 [S5 [S5 [S5 [S5 [S5 XX#U4$)NzF======================================================================z5Task 1 Sensitivity Analysis for Moon Colony LogisticszG
======================================================================zSENSITIVITY ANALYSIS RESULTSz:
[1] Rocket Payload Capacity (Problem range: 100-150 tons)F)<01>indexu
[2] Elevator Capacity (±20%)z
[3] Launch Frequencyz
[4] Engine Technologyu
[5] Structural Coefficient αzGenerating Visualization...z</Volumes/Files/code/mm/20260130_b/p1/sensitivity_payload.csvz=/Volumes/Files/code/mm/20260130_b/p1/sensitivity_elevator.csvz>/Volumes/Files/code/mm/20260130_b/p1/sensitivity_frequency.csvz;/Volumes/Files/code/mm/20260130_b/p1/sensitivity_engine.csvz:/Volumes/Files/code/mm/20260130_b/p1/sensitivity_alpha.csvz
Data saved to CSV files.z KEY FINDINGSu

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
zAnalysis Complete!)
r<EFBFBD>r<>r<>r<>r<>r<><00> to_stringr[r<><00>to_csv)r<>r<>r<>r<>r<>s r<00>mainr<6E><00>s<><00><00> <09>(<28>O<EFBFBD> <09>
A<EFBFBD>B<> <09>(<28>O<EFBFBD>.<2E>/<2F>J<EFBFBD>/<2F>1<>K<EFBFBD>/<2F>1<>L<EFBFBD>-<2D>/<2F>I<EFBFBD>1<>3<>H<EFBFBD>
<EFBFBD>/<2F><1A> <09>
(<28>)<29> <09>(<28>O<EFBFBD> <09>
G<EFBFBD>H<> <09>*<2A>
<1E>
<1E>U<EFBFBD>
<1E>
+<2B>,<2C> <09>
+<2B>,<2C> <09>+<2B>
<1F>
<1F>e<EFBFBD>
<1F>
,<2C>-<2D> <09>
"<22>#<23> <09>,<2C>
<20>
<20>u<EFBFBD>
<20>
-<2D>.<2E> <09>
#<23>$<24> <09>)<29>
<1D>
<1D>E<EFBFBD>
<1D>
*<2A>+<2B> <09>
+<2B>,<2C> <09>(<28>
<1C>
<1C>5<EFBFBD>
<1C>
)<29>*<2A>
<EFBFBD>/<2F><1A> <09>
'<27>(<28> <09>(<28>O<EFBFBD><1D>j<EFBFBD>|<7C>PX<50>Y<><1C><1E><0F><15><15>T<>\a<><15>b<><0F><16><16>V<>^c<><16>d<><10><17><17>X<>`e<><17>f<> <0A><14><14>R<>Z_<5A><14>`<60> <0C>O<EFBFBD>O<EFBFBD>P<>X]<5D>O<EFBFBD>^<5E> <09>
&<26>'<27>
<EFBFBD>/<2F><1A> <09>.<2E><19> <09>(<28>O<EFBFBD> <09> <08> <09>6
<EFBFBD>(<28>O<EFBFBD> <09>
<1E><1F> <09>(<28>O<EFBFBD> <15>L<EFBFBD>X<EFBFBD> E<>Er <00>__main__)Nr<4E>r<>)z=/Volumes/Files/code/mm/20260130_b/p1/sensitivity_analysis.png)z6/Volumes/Files/code/mm/20260130_b/p1/tornado_chart.png)z=/Volumes/Files/code/mm/20260130_b/p1/sensitivity_tradeoff.png);<3B>__doc__<5F>numpyr"<00>
matplotlib<EFBFBD>use<73>matplotlib.pyplot<6F>pyplotr-r<00>pandasr<73><00>typingrrrr<00> dataclassesr <00>warnings<67>filterwarningsrKr4r5rkr<>r<>rlr<>r<><00>BASELINE_SPECIFIC_FUEL_ENERGYr<59>r<>r<><00>BASELINE_LAUNCHES_PER_DAYrrp<00>sortedr;ror2rmrXr<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r0r[rxr<>r<>r,r<>r+r r<00><module>r<>s<><00><01> <04><13><11>
<EFBFBD><0E><0E>u<EFBFBD><15><1F><1F><13>.<2E>.<2E>!<21><0F><08><17><17><08>!<21>L<01><08> <1A><1B>!&<26><08> <1D><1E>
<EFBFBD><02><15> <0B>
<11><07><16> <0A><1B><16>&,<2C>#<23>$+<2B>!<21>"<22><1B><12> <0C> &<26><1D><15><0E><17><13><18><10><1E><19> <0B> "<22> "<22> <0B> "<22> <0F>x<EFBFBD><18>3<EFBFBD>'<27><0E>v<EFBFBD>v<EFBFBD>t<EFBFBD>$<24><0E>w<EFBFBD><07><14>&<26><0E>y<EFBFBD>)<29>T<EFBFBD>*<2A><0E>|<7C>\<5C>4<EFBFBD>0<><0E>z<EFBFBD>:<3A>t<EFBFBD>,<2C><0E>y<EFBFBD>)<29>T<EFBFBD>*<2A><0E>w<EFBFBD><07><14>&<26><0E>z<EFBFBD>:<3A>t<EFBFBD>,<2C><0E>x<EFBFBD><18>4<EFBFBD>(<28> <02> <0C><16>l<EFBFBD>(@<40>A<> <0C> <0F> <0C> <1D> <09>
<1C>5<EFBFBD><1C>u<EFBFBD><1C>U<EFBFBD><1C>PS<50><1C>X]<5D><1C>2!<<3C>5<>8[<5B>[<5B>7<><1D>!<21>)<29>*<2A>"?<3F>J<06><1B>J<06><1D>J<06><1D>J<06><1C> J<06>
<0F> J<06> <11> J<06><14>J<06><18>J<06> <20>J<06><0E>d<EFBFBD>^<5E>J<06>\!<<3C>5<>8[<5B>[<5B>7<> <0F><1D> <0F><1C> <0F><1C> <0F>
 <0B> <0F>"<1B><19><19>!<21><13>!<21><13>!<21><14>!<21>
<08>\<5C>\<5C> !<21>6 <06>2<EFBFBD><<3C><<3C> <06>e<EFBFBD> <06><04> <06>"!<21>B'!<21>T!<21>@(!<21>V!<21>NU<01> Y<0F><12> <0C> <0C>Y<0F><13><1C><1C>Y<0F><15>,<2C>,<2C>Y<0F><12>|<7C>|<7C> Y<0F>
<11>l<EFBFBD>l<EFBFBD> Y<0F> <13> Y<0F>BN<01> W<0F><12> <0C> <0C>W<0F><13><1C><1C>W<0F><15>,<2C>,<2C>W<0F><11>l<EFBFBD>l<EFBFBD> W<0F>
<13> W<0F>vU<01>S<0F><12>S<0F>pSF<01>l <0C>z<EFBFBD><19><12>f<EFBFBD>G<EFBFBD>r