From b4a307e5a8d0bb693716bb3fe1313979d37a1d1f Mon Sep 17 00:00:00 2001 From: ntnt Date: Mon, 19 Jan 2026 22:18:35 +0800 Subject: [PATCH] update readme --- task1/02_demand.xlsx | Bin 11405 -> 11406 bytes task1/02_demand_correction.py | 2 +- task1/03_allocate.xlsx | Bin 11521 -> 11536 bytes task1/04_metrics.xlsx | Bin 10776 -> 10778 bytes task1/05_schedule.xlsx | Bin 25989 -> 26091 bytes task1/06_validate.xlsx | Bin 15727 -> 15731 bytes task1/07_backtest.xlsx | Bin 13547 -> 13528 bytes task1/08_sensitivity.xlsx | Bin 10427 -> 10427 bytes task1/09_visualize.py | 14 +++--- task1/README.md | 53 ++++++++++++--------- task1/fig1_points.js | 2 +- task1/figures/fig1_site_map.png | Bin 82605 -> 70747 bytes task1/figures/fig2_demand_correction.png | Bin 78321 -> 66626 bytes task1/figures/fig3_k_distribution.png | Bin 106343 -> 98254 bytes task1/figures/fig4_efficiency_fairness.png | Bin 109015 -> 99921 bytes task1/figures/fig5_calendar_heatmap.png | Bin 63074 -> 50472 bytes task1/figures/fig6_gap_boxplot.png | Bin 86548 -> 77890 bytes task1/figures/fig7_sensitivity.png | Bin 198459 -> 189273 bytes 18 files changed, 40 insertions(+), 31 deletions(-) diff --git a/task1/02_demand.xlsx b/task1/02_demand.xlsx index 5aa4af5844c3f85e5b1daef2992056fdf9015b61..d02c03e952765a080bb0964f6219744d3ba586e5 100644 GIT binary patch delta 4980 zcmV-)6N~JPS&mt-zyk@`zJJ@E6#xL8v&jQ$0u7ae$v7XJjTR$1^_3TsKL##;lssX3 z;9iQIj}ubyt3;dcO_L))=Y34yL5p^%s|DAAOOdRR4}lZ|SWxeCjXxi@)Rrx^6yHpx zY?a^-w8~ay5~KdkN6ND0DUv)bv3dGYvOG~!@4U~&-c0J7TwSiXF!^X$B;n=DqU!bB zZNB8@6EK5|Kr-K0#CrNgKf*PC{al#b7ACiB#LT5Im81{6=~?f=s5b#Y(;r1uP5cnx5uQeYC-dQSuDPGU2sl3O|=_Y)dz`Cf*!N z=_=75;-)>tL|bi4k8ziOZp7fUgK~;(qo0d8OnRp0`PcW|;uV&gE9$0#JARg?S(W`FF0XRrPIe7zd78GzVU z7As$hc9O9g1$nHPNzL@D$k?#3-jR%5EGbO3FkHNJqPZl)RvLVO&A#dfQ6r=5q1wMfYt#l|joyB%-m7*a==z z)SCS~*4dJ)X@8Wm11x1bFlD*vzw8Vuq)e7MNX4wvBS>NP<*_No~ zG-}z6wS>mW>v?~)J8Yr68U`(A-x zPpAgP(0M&+uk8Sd*$#@?&?JJ{mNcgI>%nd~W|JPQ)Nk0vvvE$Fi_?0~O3E3uLRzKL zqP<*`!6{=7#c2qJBX}*_wTCFCEvBWv#4D&*uyQp~G6>+sa|8il(BAyD4Fl@817S8c z31PM+hkrTEVRi#CD>F6fv2(O>6D&vPWahQkvDUk5-d)Q*Owkm-TG%l^-XwyFfr2;_ zq;GN_>ukx@Xc8V0bsmfllptN0w}OlTUUMB@bEb(AvnzqkX<&03uvrao0*qnaC6`GT_(BgGWRK!=(X&wstOTImy|$J*oScd)n}zM`<4 zB}#DxpO)XWJO|jzb=b>clLBT}vX@>wKL@yty_}F$6_a8ND>I)+gfij1mgPXm%5`|l zQPcOIUCCS8%R9J@w*Za2oi_Mx4_pP5mp0Iu@YI>`D+P)}#FM}b-hTv_l#5NreRd^BX%0NNoueSF1XS~Uk7$97KBbVf zozo6Stxv^qD#@qvsxtb}L>zoXNa-rtV4lZ1TXHo~t6r+2_*g;UAyyE4?FJ|cIur$_ z>Fv)@QWR*4f{mgu+J9JwYG9=(QLBjHv5eLORxE| zKCsL?q39HYbb@ynW$K8TKQ6h34P$mf>)w7^?=$%n5%z!=iytHdtRr97k?+bHnF*k$W4fe7I*AzP~)e^IG9?JnX%u0DDq#^AHd+f^@ z6J&5{c|u#+=6~`ORC#I9YOR)Xu@bwAN)MoKavtk!ft|ms7sKXB{8unkg_5pefWM%_ zUw}<2n4#n^4Xg*)_{+o~ezo=*U@djB(&Fn^|luLsy*44>AQ_38`kFh<5k zQIKtS3_38jmIwP{j`8~NaiV}BT1uKzFHW7uI$PFiN#H&vE$qoLwA?fpfHCO67;qCB zW+-7yufrc;kBf;73AMm?91~%SqpFc2SMXZU8K)pjfxMMr_VnLMW30J^laQH{;V8AL zEQ0e`XMYQ{ISmFl4LY0#zKIPpl$@s1F%D30nz6xGLR~pcpdtl7^oqqPSEz??ejM}6 zO|A8C4uYisp)u?^rDo`XaUSbz$<->U4xk!zPz^$p8D=O^O_R_8HdITdi?pkGggxXX z=Ep~!HGRqzbO<*WvyAZarxI$eHl+oilpRi@*?&Wo8b8$8lB-oh9l$i`U>d|G8O%^( zn)YN5uwj~s@?KS39AY8VfY3`dh7P8!Pi22HVq+GrkVKMf6eUot{hY@-TXMBZxC2mz z9VkQ71cez(DANnW2i&2Ikyv{PxHB1{Nd(n4X4uSwe4mRQy*zH$M}MAaq(wW{*@ErZ z7k>^A8g>W`*I<$s?Xw+Nn$U0~H1WU11Jg@kxW~T0TH`BM7dvRSmTTm?S}&xP1i+Yb zvn$L#_gXLcLM6C?_!f4^3tf`}W-Q5zGrtCGK%7lhUFq zX9?T6g}J!ejgiYCC24~&Cdxn#)yj3J^^(ggu?^4?_I6xh(`}!zq$R!7cR<|5=8Ug) z2I0Q#%3#`nQ;Ds&@9I*X!iI(atw+|?+T2euIrC59=4x^8Jl5Hgt5s4RKqc&;5`R+D zH=nUYCDN#b8!8ECr#QNnYLO@CMeJ1$5O(qeaf6>SH%f!t6|Os{gl8N^fDnzb59rf-gtpGBLhi^kb51ohb5`NRDON9d z63-b1HgkF;6dMXzJF&dfk!L818%^BAP!tL!S}cna$0oIQtRMOE_XQj zmo^8j&BbyU@w4O+fU5+~^H^sKws8jsa0ffMgQ4kr&sgG)4$>d6z#SVSRr7ntonXXN z>#29b&W@{G&h{r#4Xf1_|4BU4w4b}mGdz!VwqTogaDaEP!#fz8PWOx@?|*2i9dHjz z33`Ke=#RMa4o#8RSBb)>TtVlp=VEX_QJO2~ICS8GOm?YLyFx>qE!gH99N--4a1NQK zyFF9MIa)s*XyY7^Arf^m%aL}_3El!2?CkwD?Gc;HW$K2PR_)emlMgI6aU7iED%LmF z*+Om7p#jpN4(X6>y5uuGJAX++lMZd9BdF_imhh2^P?R+(lG+Az>hMl3uX6m>+fE?{ z=@bJIbG2Q)(|Vyc?$7}4PzQI&HJ$RAO59&j83HHHf z0#z}v6Lk{z*2m#0zOlB5GMw3an|3`Ly+C^IwqK}CJv2Z))S({2rUyP#Nj*BX@IXb3 zh`BnO;YdY{NDQnve_D3!9a8JlsI6n#(yXngbew@D8Hi#_v}bl6>ujMm^w7xp61@W^ zsOf;uR6>tlwK>q9tbZpC59>(wk#^{bGJ52vqYXRpq4lZE^U$QuD#_KHO-@2eEHTDK zy#{q2>ujMm`_KUUP=|epn|}ICCHv^C!2|8=L$*pPJW>$~0#`4u=j*jhc{R9Y%Az(U zSL@xUw8{Y{?ay^qo4fN^XA8B-hz7`rI%Gua&LS<-l8m&wcz>XMJCuD|GSoud(I~0U zSec(r#$GOW{`n53N}Kx3mtehfCZY)#E501-Y@s$9(Eu7z2aPB+-SnACG}1xI18r!8 z@?J*2&yjXC62%v4KXXMJE!2D}hO3q^*E>$>>@nx!9pE@m&BBou<##Q?u$NE~R z%|A52KiuITHccmd=8}JOiui%|Eld=HK1Son`{WWr)xU+vLm#4(r>X;srjeFW! zm-55|IvceZ`yDLYrW+oh8}85z+olIT^RrX%G~IBKX@BRra=(vU;7!`)s@s&>JyniRk1q43UbCeTX;*9V=~g2e4H4b zj^)#G9$+BuFc4$YA)mQqAidUd;GKaGT$QGFG%4j!%L(M>P8^0}Im;mwdDL*$us7SwsHvt^aUBw|jPy6}`7 z^0doAXWa705q-Tg`nc)9&s-vtj$9mgLnfED5!VOx74af3-Zyu)kK}r_F5b`Dt44Kh z5`U+Z!%Qhy1y^@GueSSi^aH$}q*WOciZpst-Hh^&kmx zsZ$;^q@%tJ>zBIblB7C$_}n2W4o!!D=6{l;^c+0!zWqtQzttboVFjfLAVe#!cmkv6a`GV@e{zr;R1z5heqmC4W8C z*|LgY5-$+NZ;$ENJMz9I=>Zz^9UAkd2@SI^X-uEcaqt_B8Sh0mY9r|P10^_}!>g0r zPQDX{%H`=)>6daD{f1p3lBfn7JyCTA%~)qkt`;X|LeuUVF_K zznuYSM27NZOv(rXTP@07`w6EkDEVk|8aBw$CvL9ufE=Xk~U@%HGY3N0{`jn z$Gaa-e~EYU``zQ?-M95$pKotI-rlEwiD&-l?(T8@M>=VL`#%f3`+rbN1G9%2gbfA8 z?24!*lMp8=e=$(hT1k-Fic^s)m8z&W%U*)j_(!(ekhiZBAb`ZF$Mwv9JG*kR*sCV_ z1?Q#FB_dgl642ZTsp}Gbte5EnN_=2iu*PU8Q3oC^s=I<)%8i3JXDqlN!6y-|AU zyAUkJ*z+AI=CkO~QQR7*Scs*ov1R<5)qp2?KF10Ie-kV)+yhfP644PU_=vPWt{DJ= zV`xBu4jz+?;IlV?Q~qYdpji$$5 zP*n&{xdRrAs|tKs#KSerhgCfBR)ToyqJHD;xX7UoL=pqgL)??{IemUvFHtqgC-XEX zDS2Fz78xak-p{`Jkyrg^pgIouH}M2G;o}mMu?_a$oN5disFJBf_ujg*_ zB{!Fm%-|xB%r_RXo_^7fa7}+d7bdrb$t@c(b16(E=>uZl%FLbc*rc$MK@X-ZhV$w5uX!6gc>D$uuEqglq zQkv?i4t}><1VN9Equ)37}`P%Etg{sr4ZHg9>S(OIof(mhJ8$$U_}EcA%?c@%*9UB zhTng+S-RA6aq=kI(-IgH^c~JaT`iYdaU%551|vqvGa$=^*On>#T)MF>-PoFVb1bE+ zM1P2z_7oE>-&;vH?$Upa7@T%cPO)wDb1{cW&-8phGesFz$X0%g7HGHil3P#Sc$NV! z?IBs9(=SGin(O#;A&TJIKwy+ln<>DQa#TV-ub5! z<|khuJAol9?otRrMyU4oJI$AT;mHRT&11!!r_bv=>OQXXd%u4y${t(U=4;LN8B9ej zOS|b!QJT?clb)|9#hHw!jTK7S_OM*bqc~d7cSdtHW^tK9G>FkS@gucthdNtwHIcL^ zClkD7wxR-L?rS;Q0XcVw%C^yFwk1?K4OMohDlzvIQOntFgVuO)QBcqRT!FQiGX{~> zg1uY-5WyN^5ZM&Q=qg0*G+*ovP8LaQ97ggOgR4}N{s?A&oCwitKR;iuhHM5Pww1-o zm!h3ytVTf|D`rwN{n_pWC8|RBh#Y&W(BG~ICDzSYQ3k{)w2RtJwfJ*9wH=1C)b#CV zTVj;c7-ct(5+!A#2Bf21L5ijzUKm%9y56=@y187ud(nN{Pi4?D5s7H5BX)w96t!kQ zk9D@>Y8s_~>;OyI4oq2Y`uMXgdCF;?vKvqVIeD$hl<_uPF{JgNYP@n=E##+RGr96d z3-wYBa3UXq70n}XRFB=E&X!zF28fI3gN@8aNK0H;Q>_pVV3zH0mi0{zm~Dw#PNSCH zSW9S}yq@<*yTcaBt6|V`_MOq2%ZXoHzsl88Em07EqA{HVAGDl@`daMHVFs*|{)B2! z44v1L_Sz1RnC+mL4NW4LZAoKVzaH#{V>ao*O8tgyJR9e|lnerR@f<-w7_>KkZNq^2?Le4~O+uJ$ z$ze`^bC}&g%*srSdh8r++yu+fIhlFwb*%O7ns?W74^uS7uNHR9k2i^6VxS<-1nHZc z$2wbbHJXHnM4boY10_fo=B*%OfY)4y*PLl$#Oz97a~jy(25eSFYS7m5=vHE*DXoK$ z{+_4xwt6hD<*4SyRleY4go=ZZ0vYH~lj6C5*L=wrv`upZc;-5I=4=xTX7?TCfx5HNyma{}D zuHe)1o0jJQd$|sKIc!qE>`M01i{}Rhx3QPNO&ybE3@bAq0W*{d@3kxkLRPNBTaKE( z|LjWM(q7)dZM+3&YUwp!)(4h( zClsAxkWTOpqYPecqF{imphH$*n{NIL&oTftS;0B1Ub{ z`W-B=MZeNQviO6TLNfvMoV;PuHST;}Mz=EMFmUImR00tcZ18ic! z3?+bRVm-hHU?v7}thL(!D}kj~M1fk<8NVG8Tgy|5rIzvK62-K90^p5BLt5XT`yDK> zWe=v5193gjM-#lbA3@tO7@#re&=^qD{hy(vF&%$>J-|j|__V;RmtSC~F)}uahHU#| z(4n!lJlGeLjMs;c69o*>Qqr7yb?Q9U*|Jtk0{1a#VNZ^s<)^^_jX{UTfSc4XLrG(( zX$5w>`$nkjMxuLYfX3c?h~TN!3g|E)B}noKwenmHMcQmaZMIFEI< zKpTJ5U;xyh18U%#+%Q84YC0d|00pQS8+;|y71V?(QuISFS)6i(didtYG0*(eS`X(a zSc(uD!=6)ah8`H_vCfuUt&-{ht3ij=AT*(2hLY7Z3LRi$wPdv zr(8kDaC0%s2rqvsq2_8+S^-Mw;UtM2~>+e=dsR~T&)uB0F_~f%Fr}P zVaAfm^vdu7cPe8f)?NbcP)2AHLbZ(rCnxMM7j8*~Ivsv%AwEV# z7N0G7K{{U8ZNKCzmFx!i3Ojs-D=B|z*_C{yBdUk3)nrpHDrsejdmziCyy(hV!gg|D zF0Qs?Hblqva((jZ8HW)dL}Rs$JCAj?U^`I| z2Y3iOJcQhI&SxxnNc)Hf+@n**lJ-H5xZ@C^trM$|J2K6jQw`0WRyc7A)(c)m7PX>5 zv(tLPHt^s8@L&gc&^Mj$8B2fQ(TeYY8}J~coLeomJurow79F(II=GX|9ZvqG-9c+} zu^dMHEO`XrDueSp*4ct>+`$3d!4B?VX!_nWmbjy%^am_($Hqw2{N8aV7%|m)>YcE& z+~ZP$-k=@& zBd)wdQzZ6Prtm3O(24807~D^k=E^w^9k?KqUFy`X&`@U!wmAm}IEOl%L#F9&&s1`b z)=vl8I0s~iM4ioYq#bmEw*Uq^n}1Dv#O89Dy5Xf&yS3Wn1ItYu2j{p7_KkJ6P@8mU zfOM!sI%JzJ`ApA_lF)yoLmTM`>N=e!e54{4WlajDwgH_wypzkTB)|2xQ;0!2#X!Vd z?N{%#UZ{;bG=MwQ!5wlN6??11E@+SZNIUL0FXOV>Ta_zR7Co1Pm=o=` zuT4OF2m}`SVL~1)x^4#xwSk8QfQLH3L(ufiXDWe*HSo|5Jjs8zt9(p?eejt;RSfJz zoy@)Uakz?atSzDpXZGHvZO=w8ke<8k7iv=v4NwntsE4rWfzMP@kIpSTP!S_yt`287 zQV}B(11rv-mR);`)cQ1P@0hkUYwIbUXJAPNqSzAcnVrWvTc`~^G;+X1?}Q0zI^Z*v z(4$vv4zy?MiNk-xI+A^)9eSdS9{K5L!%lo?eJb-jG^x`{ay4g@laMk?jB!z~L7m4s zTd2)GG{8R8VIShApFUH`K00miKs)=8t+EP_RD^=S)ywPodM#644Q`pUs7=Y$diN=< za)3!2be+}a?mX7nLTxgl0WzWv8PU46NXxV&Bke98Xy1PiWuKM|wNQ67O6oIK=BJag zm&=`hzJ;mMrato}Snr&PXadHHFULAtsEtN6fJW3oBMMD7eWntPbWrj@8yca!m(lNY zq#cb!@rByYT+v1gH6M%NswK?zj#D~(0=*03$C7p?&fWG4wfTnz_=h_DL$T?M&s6e{ z-jR8rf`5M^MZLT4NPD~|SPD*eaH3A2Czo@4nJU+(P79=nXpH zqZVVogN564!vl1~9lBxL^uT9+b_|}T8!l4qJXe42_mK;{N!wht8+GCi*YKJmS0&!A zx15Na7#Ytg?@;GToxAN9ZnF&!unl+EhF#PDp1EWjui1w8y-FZ1o(_R=xmC#;9jZQY zCy=w2`$+@#dc%~p0O?2~8w3k0$@SVV+~yh{;2Q354MWrWp1I^2oiTRcB9LR9tEiCo zM7e)pL3~KfHQYI6FPA%tFCG(-tED6^Q3#gAhWSuI&RAy)Z;5hDMmm#^6Vql7y{vT2 z0}R9+24ZYFC;p5?Y@1qJO)T;*!w zhdT@i22ot0D#>W9vn5x9r_~q&K~oM$zLkH?#RGW69Xw)c`sg#4c%&`jf%n5B$T_YS z;+Zyii#hccIty{!!K1Z2y6GiXK38)xyctqth&+?df;x|NwyctvM9e8u7oL(sp0+vY zj9VT#qpx>JA2%KNnM-8Sk&6Rw$mG&K;`*e%B3|Uh`{vI6kzB9V#rt7<)u_%*;*@`K zm?;ITz-s$>?su@P&pyedLyR0!mLoiE3$IS=8{j7Ha1;Bc6F+mwO?nCJzy&wS(^Ywi zTyT>E5o@KPJ29nP4v}9T!kPB$6g+_!9ws6kYdEj99E*bUCLMX`(^)-Q((6eQ;!>wP zW=Lm!8P+d#%_T{7^6I(&_F`+ySp#?u?ttBV#MCH^-Djgikw5#3M`wKudpmsIz4i z!6aTFir*g7xp(A!OVR^0<~uazO%obsU(%R9qT}E<8Z+LDZq!E5?LL_k^Z1hCcAv9y1ExB5pm=Pg}V<*lFn9w+C(GS3z@4%b4O~jb} zvlGfSy!kyeB`zma+QaWjc=&&GOpRXM@|^<$*K)0|uJQ#IDocC$LU6>UT6pa>U;K6m zpb;6$moX_L2yC?|d+lGMxi`h3_CId^xc$e?{U2YxKfL;S`$^iEN!0lLP@)4kw5aY1W(d<3-mErYy#N;lkaC2X679S< z1Y^f`AgN1&Lj`f8t)xDbc8d*V-*gK&PtzHe;D0Hnp5h}gHUkm$NX`bN`LRt0;0!|p z5|np1OEP@%da%-sHgw9BQwo1DFls%EgM079U~JnqX(ydEh--_H5Tf4Dh8-3 zI3vsg_1abizAnPy8tVKioOmOEKOKTT^42eM>H{8y0OS<+tgI)`FZB{td797SG>fx& zofkfk`ze{uzm6ks`Y%A)5BWFo3^?V!{j*RgdIAac*TH9;6#xL9lhZ0!0fdt)D?9=D wlV~eJ0rr!sD>?xjljSQW1@v6ouO^caEENI$lO`-a0aBA?EF%W@DF6Tf06FS(p#T5? diff --git a/task1/02_demand_correction.py b/task1/02_demand_correction.py index b819cea..941a2fa 100644 --- a/task1/02_demand_correction.py +++ b/task1/02_demand_correction.py @@ -59,7 +59,7 @@ def truncation_correction(mu: float, sigma: float, C: float = 350) -> tuple: # E[D | D > C] = μ + σ * φ(z) / (1 - Φ(z)) # 修正后: μ̃ ≈ μ * (1 + α * p_trunc) # 这里使用简化的线性修正 - correction_factor = 1 + 0.4 * p_trunc + correction_factor = 1 + 0.1 * p_trunc mu_tilde = mu * correction_factor return mu_tilde, p_trunc, True diff --git a/task1/03_allocate.xlsx b/task1/03_allocate.xlsx index f67e99b21102d739612dfc6d417a9aab1811d1ee..07e7f5b1e888abf1db319ba3fbb619c73a680323 100644 GIT binary patch delta 6150 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 O#m@?H68j4L`}jXIW;g8s delta 6135 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 diff --git a/task1/04_metrics.xlsx b/task1/04_metrics.xlsx index 37a693d3caf5d05d53d9fff2b11a688a1ae78956..dda18c74b4b28f45ddb74eb219151be978d29457 100644 GIT binary patch delta 6215 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 delta 6226 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 diff --git a/task1/05_schedule.xlsx b/task1/05_schedule.xlsx index 21a713831dca283c0ade6ee63925ee9b2d809bd2..447007a3d8c4f24edfb9e5241a11ab263547da28 100644 GIT binary patch delta 21649 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 Ax&QzG delta 10679 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 diff --git a/task1/07_backtest.xlsx b/task1/07_backtest.xlsx index 9e9f8872c8c21a1979344d2ff71d2f2db809530f..58c4f0ea9ebb529a2e8ac09de60972518e9ad05e 100644 GIT binary patch delta 9452 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 delta 9493 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 A*Z=?k delta 523 zcmdlTxI2(1z?+#xgn@y9gW+iHM4ol^M{A8^e%*-HdJh!SW@2Cv1kx$_$pJ(*Lce{CSbo&eT z4~FIc|GXIqO~QhDn!KjSZw%S03U#n`(Jc=N59t^Vus zmF)$rXABM{JT7Pa>U8F+{l=ZlZ|2Nd6dCl`V%lS^=a=|o?#Ciz`~o9n85Tl<#-T1SzOhI0~RZjqgBm8 zVpCM@LDW@M7Z4?_2Bs1r)N%;*7D5@TgXJpKEkP=`sDrh?RksH5v^3m6RFQ@!0A#r1 ATL1t6 diff --git a/task1/09_visualize.py b/task1/09_visualize.py index 8609301..2095502 100644 --- a/task1/09_visualize.py +++ b/task1/09_visualize.py @@ -170,7 +170,7 @@ def fig1_site_map(): # ... (图例和标签代码保持不变) ... - ax.set_title('Fig.1: Site Map (Demand μ & Visit Frequency k)', fontsize=14, fontweight='bold') + # ax.set_title('Fig.1: Site Map (Demand μ & Visit Frequency k)', fontsize=14, fontweight='bold') ax.set_xlabel('Longitude', fontsize=12) ax.set_ylabel('Latitude', fontsize=12) style_axes(ax) @@ -213,7 +213,7 @@ def fig2_demand_correction(): ax.set_xlabel('Site', fontsize=12) ax.set_ylabel('Demand per Visit', fontsize=12) - ax.set_title('Fig.2: Truncation Correction for High-Demand Sites', fontsize=14, fontweight='bold') + # ax.set_title('Fig.2: Truncation Correction for High-Demand Sites', fontsize=14, fontweight='bold') ax.set_xticks(x) ax.set_xticklabels([name[:20] for name in corrected['site_name']], rotation=30, ha='right', fontsize=9) ax.legend(fontsize=10) @@ -267,7 +267,7 @@ def fig3_k_distribution(): ax2.legend(fontsize=10) style_axes(ax2) - plt.suptitle('Fig.3: Visit Frequency Allocation Analysis', fontsize=14, fontweight='bold', y=1.02) + # plt.suptitle('Fig.3: Visit Frequency Allocation Analysis', fontsize=14, fontweight='bold', y=1.02) plt.tight_layout() plt.savefig(FIGURES_PATH / 'fig3_k_distribution.png', dpi=150, bbox_inches='tight') plt.close() @@ -361,7 +361,7 @@ def fig4_efficiency_fairness(): ax.set_xlabel('E2 (Quality-Weighted Service Volume)', fontsize=12) ax.set_ylabel('F1 (Gini Coefficient, lower = fairer)', fontsize=12) - ax.set_title('Fig.4: Efficiency-Fairness Tradeoff Analysis', fontsize=14, fontweight='bold') + # ax.set_title('Fig.4: Efficiency-Fairness Tradeoff Analysis', fontsize=14, fontweight='bold') ax.legend( handles=legend_handles, loc="upper left", @@ -432,7 +432,7 @@ def fig5_calendar_heatmap(): ax.set_xlabel('Day of Month', fontsize=12) ax.set_ylabel('Month', fontsize=12) - ax.set_title('Fig.5: Annual Schedule Calendar Heatmap (Daily Demand)', fontsize=14, fontweight='bold') + # ax.set_title('Fig.5: Annual Schedule Calendar Heatmap (Daily Demand)', fontsize=14, fontweight='bold') ax.grid(False) plt.tight_layout() @@ -488,7 +488,7 @@ def fig6_gap_boxplot(): ax2.legend(fontsize=10) style_axes(ax2) - plt.suptitle('Fig.6: Visit Interval Analysis', fontsize=14, fontweight='bold', y=1.02) + # plt.suptitle('Fig.6: Visit Interval Analysis', fontsize=14, fontweight='bold', y=1.02) plt.tight_layout() plt.savefig(FIGURES_PATH / 'fig6_gap_boxplot.png', dpi=150, bbox_inches='tight') plt.close() @@ -548,7 +548,7 @@ def fig7_sensitivity(): ax4.legend(fontsize=9) style_axes(ax4) - plt.suptitle('Fig.7: Sensitivity Analysis of Model Parameters', fontsize=14, fontweight='bold', y=1.02) + # plt.suptitle('Fig.7: Sensitivity Analysis of Model Parameters', fontsize=14, fontweight='bold', y=1.02) plt.tight_layout() plt.savefig(FIGURES_PATH / 'fig7_sensitivity.png', dpi=150, bbox_inches='tight') plt.close() diff --git a/task1/README.md b/task1/README.md index 418c843..028a4ae 100644 --- a/task1/README.md +++ b/task1/README.md @@ -674,32 +674,41 @@ python task1/09_visualize.py --- -## 12. 论文展示数据表 (Task 1 Results) +## 12. 论文展示数据表与深度解析 (Task 1 Results & Analysis) -为了在论文中展示模型 1 的核心成果,以下整理了关键的评估数据表。 - -### 表 1: 不同分配方案的性能对比 (有效性与公平性) +### 表 1: 不同分配方案的性能对比 (效能与公平性的权衡) | 分配方案 | 总服务量 (E1) | 质量加权服务量 (E2) | 满足率 Gini 系数 (F1) ↓ | 最低满足率 (F2) ↑ | | :--- | :---: | :---: | :---: | :---: | -| **推荐方案 (μ̃ Proportional)** | **140,121** | **131,673** | 0.314 | 2.00 | -| 基线 1: 均匀分配 (Uniform) | 104,797 | 101,309 | **0.026** | **8.41** | -| 基线 2: 2019 历史缩放 (Scaled) | 104,071 | 100,264 | 0.092 | 5.00 | -| 基线 3: 原始需求比例 (Raw μ) | 139,487 | 131,462 | 0.315 | 2.00 | +| **推荐方案 (μ̃ Proportional)** | **139,469** | **131,462** | 0.314 | 2.00 | +| 基线 1: 均匀分配 (Uniform) | 104,797 | 101,309 | **0.024** | **9.25** | +| 基线 2: 2019 历史缩放 (Scaled) | 104,071 | 100,264 | 0.091 | 5.00 | +| 基线 3: 原始需求比例 (Raw μ) | 139,129 | 131,397 | 0.313 | 2.00 | -### 表 2: 关键高需求站点的截断回归修正结果 +**深度解析**: +* **效能跃升**:推荐方案通过将资源集中于高需求站点,使总服务量 (E1) 相比 2019 年历史方案(缩放后)提升了 **34.0%**。在考虑服务质量折扣后 (E2),依然保持了 **31.1%** 的显著增幅。 +* **公平性权衡**:均匀分配方案虽具有极低的 Gini 系数(0.024),但由于忽视了人口分布差异,导致大量高需求社区处于严重的“服务赤字”状态。推荐方案选择在维持最低服务门槛($k \ge 2$)的前提下最大化总量,其 F1 指标反映了资源与需求精准匹配后的正态分布特征。 + +### 表 2: 关键高需求站点的截断回归修正 (Truncation Correction) | 站点名称 (Site Name) | 观测均值 (μ) | 截断概率 ($P_{trunc}$) | 修正后需求 ($\tilde{\mu}$) | 修正幅度 | | :--- | :---: | :---: | :---: | :---: | -| MFP Waverly | 396.6 | 47.4% | 471.9 | +19.0% | -| MFP Avoca | 314.6 | 6.8% | 323.2 | +2.7% | -| MFP College TC3 | 261.5 | 6.6% | 268.4 | +2.6% | -| MFP Endwell | 285.2 | 3.0% | 288.6 | +1.2% | -| MFP Redeemer | 230.6 | 3.5% | 233.8 | +1.4% | +| MFP Waverly | 396.6 | 81.57% | 429.0 | +8.2% | +| MFP Avoca | 314.6 | 26.84% | 323.0 | +2.7% | +| MFP Endwell United Methodist | 285.3 | 14.34% | 289.3 | +1.4% | +| MFP College TC3 -College | 261.5 | 16.80% | 265.9 | +1.7% | +| MFP Redeemer Lutheran Church | 230.6 | 10.07% | 232.9 | +1.0% | -### 表 3: 方案排程约束验证与稳健性 -| 评估维度 | 指标名称 | 计算结果 / 状态 | 预期目标 | -| :--- | :--- | :--- | :--- | -| **资源约束** | 年度总访问次数 ($\sum k_i$) | 730 | 730 | -| **覆盖约束** | 最小访问频次 ($\min k_i$) | 2 | $\ge 1$ | -| **排程约束** | 每日派车车次 | 2 | 2 | -| **一致性** | 频次与需求相关性 ($r_{k, \tilde{\mu}}$) | **0.9996** | $\to 1.0$ | -| **稳健性** | 参数 $C$ 波动对 E1 的影响 | < 1.3% | 保持稳定 | +**深度解析 (对应 Fig.2)**: +* **识别隐性需求**:Fig.2 揭示了观测数据中的“幸存者偏差”。以 **MFP Waverly** 为例,其截断概率高达 **81.57%**,意味着该站点在历史运营中几乎处于永久性满载状态,观测均值 396.6 仅是运力上限的体现而非真实需求上限。 +* **修正意义**:通过截断正态模型,我们将该站点的潜在需求上调至 429.0。这一修正确保了资源分配不仅是基于“历史给了多少”,而是基于“社区实际缺多少”,有效弥补了高需求区域因历史供给不足而被低估的问题。 + +### 表 3: 方案稳健性与模型拟合统计 +| 评估维度 | 指标名称 | 计算结果 | 业务含义 | +| :--- | :--- | :---: | :--- | +| **分配逻辑** | 历史相关性 $r(v_{2019}, \mu)$ | 0.035 | 证实 2019 年分配与需求几乎无关 (随机分配) | +| **改进潜力** | 相比历史方案提升幅度 | **+34.61%** | 实现按需分配后的效率净增益 | +| **约束满足** | 每日派车容量合格率 | 100% | 确保 365 天排程无资源冲突 | +| **均匀度** | 访问间隔 CV 均值 | 0.197 | 保证了客户对访问日期的可预测性 | + +**深度解析**: +* **模型稳健性**:敏感性分析显示,即使当运力估计 $C$ 在 [350, 450] 范围内波动时,总服务量 E1 的变化率不足 1.3%,证明了分配逻辑对参数设定具有极强的鲁棒性。 +* **排程科学性 (对应 Fig.5 & Fig.6)**:通过日历热力图可以观察到需求负荷在年度周期内的均匀分布,避免了车辆调度的高峰冲突;箱线图验证了各站点的访问间隔高度集中在理想值附近。 diff --git a/task1/fig1_points.js b/task1/fig1_points.js index 3a9cdcd..8ef473a 100644 --- a/task1/fig1_points.js +++ b/task1/fig1_points.js @@ -1,3 +1,3 @@ // Auto-generated from `task1/03_allocate.xlsx` (site_id, site_name, lat, lon, mu, k, visits_2019) // Usage: include this file before `fig1_carto.html` rendering script. -window.FIG1_POINTS = [{"site_id":1,"site_name":"MFP American Legion - Binghamton","lat":42.108036,"lng":-75.887779,"mu":200.1818181818182,"k":14,"visits_2019":11},{"site_id":2,"site_name":"MFP Avoca","lat":42.4174468,"lng":-77.4358433,"mu":314.5833333333333,"k":24,"visits_2019":12},{"site_id":3,"site_name":"MFP Bath","lat":42.3362172,"lng":-77.3175047,"mu":279.4545454545454,"k":19,"visits_2019":11},{"site_id":4,"site_name":"MFP Beaver Dams","lat":42.2606415,"lng":-76.9559856,"mu":170.7,"k":12,"visits_2019":10},{"site_id":5,"site_name":"MFP Birnie Transportation Services","lat":42.172309,"lng":-77.1101217,"mu":213.375,"k":15,"visits_2019":8},{"site_id":6,"site_name":"MFP Boys and Girls Club","lat":42.1053841,"lng":-75.9213736,"mu":210.8,"k":15,"visits_2019":10},{"site_id":7,"site_name":"MFP Bradford","lat":42.3691309,"lng":-77.1081064,"mu":122.2727272727273,"k":9,"visits_2019":11},{"site_id":8,"site_name":"MFP Campbell","lat":42.2314129,"lng":-77.1948265,"mu":168.5,"k":12,"visits_2019":12},{"site_id":9,"site_name":"MFP Canisteo","lat":42.272779,"lng":-77.606849,"mu":177.0,"k":13,"visits_2019":10},{"site_id":10,"site_name":"MFP Colesville","lat":42.1841905,"lng":-75.6329193,"mu":197.3333333333333,"k":14,"visits_2019":12},{"site_id":11,"site_name":"MFP College Corning Community College","lat":42.1172594,"lng":-77.0735445,"mu":251.0,"k":17,"visits_2019":6},{"site_id":12,"site_name":"MFP College Ithaca College","lat":42.4199351,"lng":-76.4969643,"mu":138.3333333333333,"k":10,"visits_2019":9},{"site_id":13,"site_name":"MFP College TC3 -College","lat":42.502126,"lng":-76.287671,"mu":261.5,"k":19,"visits_2019":6},{"site_id":14,"site_name":"MFP Conklin- Maines Community Center","lat":42.0870901,"lng":-75.8309647,"mu":153.1666666666667,"k":11,"visits_2019":12},{"site_id":15,"site_name":"MFP Danby","lat":42.3522565,"lng":-76.4800051,"mu":160.2222222222222,"k":11,"visits_2019":9},{"site_id":16,"site_name":"MFP Deposit","lat":42.0625771,"lng":-75.422248,"mu":156.5833333333333,"k":11,"visits_2019":12},{"site_id":17,"site_name":"MFP Endwell United Methodist Church","lat":42.111296,"lng":-76.02203,"mu":285.25,"k":21,"visits_2019":12},{"site_id":18,"site_name":"MFP Erin","lat":42.1788978,"lng":-76.6922607,"mu":173.9090909090909,"k":12,"visits_2019":11},{"site_id":19,"site_name":"MFP First Assembly Of God Church","lat":42.1022814,"lng":-75.9129518,"mu":146.0,"k":10,"visits_2019":12},{"site_id":20,"site_name":"MFP Lamphear Court","lat":42.1598551,"lng":-77.0711389,"mu":126.0,"k":9,"visits_2019":10},{"site_id":21,"site_name":"MFP Lansing","lat":42.5183206,"lng":-76.5035538,"mu":181.0,"k":13,"visits_2019":11},{"site_id":22,"site_name":"MFP Lindley","lat":42.028142,"lng":-77.1392597,"mu":232.9,"k":16,"visits_2019":10},{"site_id":23,"site_name":"MFP Millport","lat":42.267172,"lng":-76.837356,"mu":166.0,"k":12,"visits_2019":10},{"site_id":24,"site_name":"MFP Montour Falls-Schuyler County Human Services Complex","lat":42.3409968,"lng":-76.8412703,"mu":149.3636363636364,"k":11,"visits_2019":11},{"site_id":25,"site_name":"MFP Nichols-The Creamery","lat":42.02302,"lng":-76.371793,"mu":122.4,"k":9,"visits_2019":5},{"site_id":26,"site_name":"MFP Owego VFW","lat":42.1043411,"lng":-76.2615965,"mu":176.25,"k":12,"visits_2019":12},{"site_id":27,"site_name":"MFP Prattsburgh","lat":42.5272099,"lng":-77.2866,"mu":144.5,"k":10,"visits_2019":12},{"site_id":28,"site_name":"MFP Rathbone","lat":42.1306252,"lng":-77.3197915,"mu":269.0909090909091,"k":19,"visits_2019":11},{"site_id":29,"site_name":"MFP Reach for Christ Church Freeville","lat":42.4919905,"lng":-76.3443272,"mu":220.0,"k":15,"visits_2019":10},{"site_id":30,"site_name":"MFP Redeemer Lutheran Church","lat":42.1000047,"lng":-75.9224594,"mu":230.6,"k":17,"visits_2019":10},{"site_id":31,"site_name":"MFP Rehoboth Deliverance Ministry","lat":42.318273,"lng":-77.6493618,"mu":235.9,"k":16,"visits_2019":10},{"site_id":32,"site_name":"MFP Richford","lat":42.3551522,"lng":-76.2008963,"mu":265.9090909090909,"k":18,"visits_2019":11},{"site_id":33,"site_name":"MFP Saint Mary Recreation Center","lat":42.0988789,"lng":-75.9041391,"mu":148.3,"k":11,"visits_2019":10},{"site_id":34,"site_name":"MFP Salvation Army Ithaca","lat":42.4398066,"lng":-76.5019869,"mu":181.1818181818182,"k":13,"visits_2019":11},{"site_id":35,"site_name":"MFP Schuyler Outreach","lat":42.3770866,"lng":-76.8698425,"mu":138.8571428571429,"k":10,"visits_2019":7},{"site_id":36,"site_name":"MFP Senior - Addison Place Apartments","lat":42.1001876,"lng":-77.2371924,"mu":30.09090909090909,"k":3,"visits_2019":11},{"site_id":37,"site_name":"MFP Senior - Bragg","lat":42.0896598,"lng":-76.7977954,"mu":66.88888888888889,"k":5,"visits_2019":9},{"site_id":38,"site_name":"MFP Senior - Carpenter Apartments","lat":42.0930065,"lng":-76.7984317,"mu":31.09090909090909,"k":3,"visits_2019":11},{"site_id":39,"site_name":"MFP Senior - Cayuga Meadows","lat":42.464569,"lng":-76.5409393,"mu":25.88888888888889,"k":3,"visits_2019":9},{"site_id":40,"site_name":"MFP Senior - CFS Lakeview","lat":42.3488781,"lng":-77.3110763,"mu":112.0,"k":8,"visits_2019":10},{"site_id":41,"site_name":"MFP Senior - Conifer Village","lat":42.4511294,"lng":-76.5323538,"mu":33.8,"k":3,"visits_2019":10},{"site_id":42,"site_name":"MFP Senior - Corning Senior Center","lat":42.1490255,"lng":-77.0619725,"mu":75.0,"k":6,"visits_2019":9},{"site_id":43,"site_name":"MFP Senior - Dayspring","lat":42.1420715,"lng":-77.0454685,"mu":77.18181818181819,"k":6,"visits_2019":11},{"site_id":44,"site_name":"MFP Senior - East Hill Senior Living","lat":42.1141777,"lng":-75.8720703,"mu":39.83333333333334,"k":4,"visits_2019":12},{"site_id":45,"site_name":"MFP Senior - Elizabeth Square, Waverly","lat":42.001546,"lng":-76.541203,"mu":29.0,"k":3,"visits_2019":12},{"site_id":46,"site_name":"MFP Senior - Ellis Hollow","lat":42.435955,"lng":-76.460374,"mu":24.72727272727273,"k":3,"visits_2019":11},{"site_id":47,"site_name":"MFP Senior - Flannery","lat":42.0819957,"lng":-76.8053269,"mu":61.72727272727273,"k":5,"visits_2019":11},{"site_id":48,"site_name":"MFP Senior - Harry L Apartments","lat":42.1237339,"lng":-75.9567565,"mu":32.83333333333334,"k":3,"visits_2019":6},{"site_id":49,"site_name":"MFP Senior - Jefferson Village","lat":42.3829923,"lng":-76.8713304,"mu":24.81818181818182,"k":3,"visits_2019":11},{"site_id":50,"site_name":"MFP Senior - Lincoln Court","lat":42.090217,"lng":-75.910198,"mu":26.0,"k":3,"visits_2019":10},{"site_id":51,"site_name":"MFP Senior - Long Meadow Senior Housing","lat":42.1135325,"lng":-76.2704045,"mu":34.75,"k":3,"visits_2019":12},{"site_id":52,"site_name":"MFP Senior - Metro Plaza Apartments","lat":42.1016977,"lng":-75.9085338,"mu":56.3,"k":5,"visits_2019":10},{"site_id":53,"site_name":"MFP Senior - North Shore Towers","lat":42.0966132,"lng":-75.9103884,"mu":58.33333333333334,"k":5,"visits_2019":6},{"site_id":54,"site_name":"MFP Senior - Northern Broome Senior Center, Whitney Point","lat":42.3269618,"lng":-75.9677778,"mu":50.90909090909091,"k":4,"visits_2019":11},{"site_id":55,"site_name":"MFP Senior - Park Terrace Congregate Apartments","lat":42.051364,"lng":-76.832954,"mu":24.36363636363636,"k":3,"visits_2019":11},{"site_id":56,"site_name":"MFP Senior - Springview Apartments","lat":42.0100399,"lng":-76.533895,"mu":27.58333333333333,"k":3,"visits_2019":12},{"site_id":57,"site_name":"MFP Senior - Titus Towers","lat":42.4317058,"lng":-76.504801,"mu":72.8,"k":6,"visits_2019":10},{"site_id":58,"site_name":"MFP Senior - Villa Serene","lat":42.1295916,"lng":-76.8158267,"mu":69.72727272727273,"k":6,"visits_2019":11},{"site_id":59,"site_name":"MFP Senior - Village Square/Manor","lat":42.159804,"lng":-77.09139,"mu":34.25,"k":3,"visits_2019":12},{"site_id":60,"site_name":"MFP Senior - Wells Apartments","lat":42.1076045,"lng":-75.9607932,"mu":23.5,"k":3,"visits_2019":10},{"site_id":61,"site_name":"MFP Senior - Woodsedge Apartments","lat":42.535151,"lng":-76.501086,"mu":17.2,"k":2,"visits_2019":10},{"site_id":62,"site_name":"MFP The Love Church","lat":42.1412225,"lng":-76.8137998,"mu":259.3333333333333,"k":18,"visits_2019":12},{"site_id":63,"site_name":"MFP Troupsburg","lat":42.0432505,"lng":-77.5456383,"mu":148.7142857142857,"k":11,"visits_2019":7},{"site_id":64,"site_name":"MFP Tuscarora","lat":42.0522655,"lng":-77.2737134,"mu":192.6363636363636,"k":14,"visits_2019":11},{"site_id":65,"site_name":"MFP Van Etten","lat":42.2080409,"lng":-76.579406,"mu":213.7,"k":15,"visits_2019":10},{"site_id":66,"site_name":"MFP Waverly","lat":42.0194466,"lng":-76.5236008,"mu":396.6363636363636,"k":35,"visits_2019":11},{"site_id":67,"site_name":"MFP Wayland","lat":42.5685797,"lng":-77.5957241,"mu":180.4166666666667,"k":13,"visits_2019":12},{"site_id":68,"site_name":"MFP Whitney Point","lat":42.3405329,"lng":-75.9765268,"mu":202.5454545454545,"k":14,"visits_2019":11},{"site_id":69,"site_name":"MFP Windsor","lat":42.0779615,"lng":-75.6427789,"mu":200.9090909090909,"k":14,"visits_2019":11},{"site_id":70,"site_name":"MFP Woodhull","lat":42.0798397,"lng":-77.4111295,"mu":176.0,"k":12,"visits_2019":12}]; +window.FIG1_POINTS = [{"site_id":1,"site_name":"MFP American Legion - Binghamton","lat":42.108036,"lng":-75.887779,"mu":200.1818181818182,"k":14,"visits_2019":11},{"site_id":2,"site_name":"MFP Avoca","lat":42.4174468,"lng":-77.4358433,"mu":314.5833333333333,"k":22,"visits_2019":12},{"site_id":3,"site_name":"MFP Bath","lat":42.3362172,"lng":-77.3175047,"mu":279.4545454545454,"k":19,"visits_2019":11},{"site_id":4,"site_name":"MFP Beaver Dams","lat":42.2606415,"lng":-76.9559856,"mu":170.7,"k":12,"visits_2019":10},{"site_id":5,"site_name":"MFP Birnie Transportation Services","lat":42.172309,"lng":-77.1101217,"mu":213.375,"k":15,"visits_2019":8},{"site_id":6,"site_name":"MFP Boys and Girls Club","lat":42.1053841,"lng":-75.9213736,"mu":210.8,"k":15,"visits_2019":10},{"site_id":7,"site_name":"MFP Bradford","lat":42.3691309,"lng":-77.1081064,"mu":122.2727272727273,"k":9,"visits_2019":11},{"site_id":8,"site_name":"MFP Campbell","lat":42.2314129,"lng":-77.1948265,"mu":168.5,"k":12,"visits_2019":12},{"site_id":9,"site_name":"MFP Canisteo","lat":42.272779,"lng":-77.606849,"mu":177.0,"k":13,"visits_2019":10},{"site_id":10,"site_name":"MFP Colesville","lat":42.1841905,"lng":-75.6329193,"mu":197.3333333333333,"k":14,"visits_2019":12},{"site_id":11,"site_name":"MFP College Corning Community College","lat":42.1172594,"lng":-77.0735445,"mu":251.0,"k":18,"visits_2019":6},{"site_id":12,"site_name":"MFP College Ithaca College","lat":42.4199351,"lng":-76.4969643,"mu":138.3333333333333,"k":10,"visits_2019":9},{"site_id":13,"site_name":"MFP College TC3 -College","lat":42.502126,"lng":-76.287671,"mu":261.5,"k":19,"visits_2019":6},{"site_id":14,"site_name":"MFP Conklin- Maines Community Center","lat":42.0870901,"lng":-75.8309647,"mu":153.1666666666667,"k":11,"visits_2019":12},{"site_id":15,"site_name":"MFP Danby","lat":42.3522565,"lng":-76.4800051,"mu":160.2222222222222,"k":12,"visits_2019":9},{"site_id":16,"site_name":"MFP Deposit","lat":42.0625771,"lng":-75.422248,"mu":156.5833333333333,"k":11,"visits_2019":12},{"site_id":17,"site_name":"MFP Endwell United Methodist Church","lat":42.111296,"lng":-76.02203,"mu":285.25,"k":20,"visits_2019":12},{"site_id":18,"site_name":"MFP Erin","lat":42.1788978,"lng":-76.6922607,"mu":173.9090909090909,"k":13,"visits_2019":11},{"site_id":19,"site_name":"MFP First Assembly Of God Church","lat":42.1022814,"lng":-75.9129518,"mu":146.0,"k":11,"visits_2019":12},{"site_id":20,"site_name":"MFP Lamphear Court","lat":42.1598551,"lng":-77.0711389,"mu":126.0,"k":9,"visits_2019":10},{"site_id":21,"site_name":"MFP Lansing","lat":42.5183206,"lng":-76.5035538,"mu":181.0,"k":13,"visits_2019":11},{"site_id":22,"site_name":"MFP Lindley","lat":42.028142,"lng":-77.1392597,"mu":232.9,"k":16,"visits_2019":10},{"site_id":23,"site_name":"MFP Millport","lat":42.267172,"lng":-76.837356,"mu":166.0,"k":12,"visits_2019":10},{"site_id":24,"site_name":"MFP Montour Falls-Schuyler County Human Services Complex","lat":42.3409968,"lng":-76.8412703,"mu":149.3636363636364,"k":11,"visits_2019":11},{"site_id":25,"site_name":"MFP Nichols-The Creamery","lat":42.02302,"lng":-76.371793,"mu":122.4,"k":9,"visits_2019":5},{"site_id":26,"site_name":"MFP Owego VFW","lat":42.1043411,"lng":-76.2615965,"mu":176.25,"k":13,"visits_2019":12},{"site_id":27,"site_name":"MFP Prattsburgh","lat":42.5272099,"lng":-77.2866,"mu":144.5,"k":11,"visits_2019":12},{"site_id":28,"site_name":"MFP Rathbone","lat":42.1306252,"lng":-77.3197915,"mu":269.0909090909091,"k":19,"visits_2019":11},{"site_id":29,"site_name":"MFP Reach for Christ Church Freeville","lat":42.4919905,"lng":-76.3443272,"mu":220.0,"k":16,"visits_2019":10},{"site_id":30,"site_name":"MFP Redeemer Lutheran Church","lat":42.1000047,"lng":-75.9224594,"mu":230.6,"k":16,"visits_2019":10},{"site_id":31,"site_name":"MFP Rehoboth Deliverance Ministry","lat":42.318273,"lng":-77.6493618,"mu":235.9,"k":17,"visits_2019":10},{"site_id":32,"site_name":"MFP Richford","lat":42.3551522,"lng":-76.2008963,"mu":265.9090909090909,"k":19,"visits_2019":11},{"site_id":33,"site_name":"MFP Saint Mary Recreation Center","lat":42.0988789,"lng":-75.9041391,"mu":148.3,"k":11,"visits_2019":10},{"site_id":34,"site_name":"MFP Salvation Army Ithaca","lat":42.4398066,"lng":-76.5019869,"mu":181.1818181818182,"k":13,"visits_2019":11},{"site_id":35,"site_name":"MFP Schuyler Outreach","lat":42.3770866,"lng":-76.8698425,"mu":138.8571428571429,"k":10,"visits_2019":7},{"site_id":36,"site_name":"MFP Senior - Addison Place Apartments","lat":42.1001876,"lng":-77.2371924,"mu":30.09090909090909,"k":3,"visits_2019":11},{"site_id":37,"site_name":"MFP Senior - Bragg","lat":42.0896598,"lng":-76.7977954,"mu":66.88888888888889,"k":5,"visits_2019":9},{"site_id":38,"site_name":"MFP Senior - Carpenter Apartments","lat":42.0930065,"lng":-76.7984317,"mu":31.09090909090909,"k":3,"visits_2019":11},{"site_id":39,"site_name":"MFP Senior - Cayuga Meadows","lat":42.464569,"lng":-76.5409393,"mu":25.88888888888889,"k":3,"visits_2019":9},{"site_id":40,"site_name":"MFP Senior - CFS Lakeview","lat":42.3488781,"lng":-77.3110763,"mu":112.0,"k":8,"visits_2019":10},{"site_id":41,"site_name":"MFP Senior - Conifer Village","lat":42.4511294,"lng":-76.5323538,"mu":33.8,"k":3,"visits_2019":10},{"site_id":42,"site_name":"MFP Senior - Corning Senior Center","lat":42.1490255,"lng":-77.0619725,"mu":75.0,"k":6,"visits_2019":9},{"site_id":43,"site_name":"MFP Senior - Dayspring","lat":42.1420715,"lng":-77.0454685,"mu":77.18181818181819,"k":6,"visits_2019":11},{"site_id":44,"site_name":"MFP Senior - East Hill Senior Living","lat":42.1141777,"lng":-75.8720703,"mu":39.83333333333334,"k":4,"visits_2019":12},{"site_id":45,"site_name":"MFP Senior - Elizabeth Square, Waverly","lat":42.001546,"lng":-76.541203,"mu":29.0,"k":3,"visits_2019":12},{"site_id":46,"site_name":"MFP Senior - Ellis Hollow","lat":42.435955,"lng":-76.460374,"mu":24.72727272727273,"k":3,"visits_2019":11},{"site_id":47,"site_name":"MFP Senior - Flannery","lat":42.0819957,"lng":-76.8053269,"mu":61.72727272727273,"k":5,"visits_2019":11},{"site_id":48,"site_name":"MFP Senior - Harry L Apartments","lat":42.1237339,"lng":-75.9567565,"mu":32.83333333333334,"k":3,"visits_2019":6},{"site_id":49,"site_name":"MFP Senior - Jefferson Village","lat":42.3829923,"lng":-76.8713304,"mu":24.81818181818182,"k":3,"visits_2019":11},{"site_id":50,"site_name":"MFP Senior - Lincoln Court","lat":42.090217,"lng":-75.910198,"mu":26.0,"k":3,"visits_2019":10},{"site_id":51,"site_name":"MFP Senior - Long Meadow Senior Housing","lat":42.1135325,"lng":-76.2704045,"mu":34.75,"k":3,"visits_2019":12},{"site_id":52,"site_name":"MFP Senior - Metro Plaza Apartments","lat":42.1016977,"lng":-75.9085338,"mu":56.3,"k":5,"visits_2019":10},{"site_id":53,"site_name":"MFP Senior - North Shore Towers","lat":42.0966132,"lng":-75.9103884,"mu":58.33333333333334,"k":5,"visits_2019":6},{"site_id":54,"site_name":"MFP Senior - Northern Broome Senior Center, Whitney Point","lat":42.3269618,"lng":-75.9677778,"mu":50.90909090909091,"k":4,"visits_2019":11},{"site_id":55,"site_name":"MFP Senior - Park Terrace Congregate Apartments","lat":42.051364,"lng":-76.832954,"mu":24.36363636363636,"k":3,"visits_2019":11},{"site_id":56,"site_name":"MFP Senior - Springview Apartments","lat":42.0100399,"lng":-76.533895,"mu":27.58333333333333,"k":3,"visits_2019":12},{"site_id":57,"site_name":"MFP Senior - Titus Towers","lat":42.4317058,"lng":-76.504801,"mu":72.8,"k":6,"visits_2019":10},{"site_id":58,"site_name":"MFP Senior - Villa Serene","lat":42.1295916,"lng":-76.8158267,"mu":69.72727272727273,"k":6,"visits_2019":11},{"site_id":59,"site_name":"MFP Senior - Village Square/Manor","lat":42.159804,"lng":-77.09139,"mu":34.25,"k":3,"visits_2019":12},{"site_id":60,"site_name":"MFP Senior - Wells Apartments","lat":42.1076045,"lng":-75.9607932,"mu":23.5,"k":3,"visits_2019":10},{"site_id":61,"site_name":"MFP Senior - Woodsedge Apartments","lat":42.535151,"lng":-76.501086,"mu":17.2,"k":2,"visits_2019":10},{"site_id":62,"site_name":"MFP The Love Church","lat":42.1412225,"lng":-76.8137998,"mu":259.3333333333333,"k":18,"visits_2019":12},{"site_id":63,"site_name":"MFP Troupsburg","lat":42.0432505,"lng":-77.5456383,"mu":148.7142857142857,"k":11,"visits_2019":7},{"site_id":64,"site_name":"MFP Tuscarora","lat":42.0522655,"lng":-77.2737134,"mu":192.6363636363636,"k":14,"visits_2019":11},{"site_id":65,"site_name":"MFP Van Etten","lat":42.2080409,"lng":-76.579406,"mu":213.7,"k":15,"visits_2019":10},{"site_id":66,"site_name":"MFP Waverly","lat":42.0194466,"lng":-76.5236008,"mu":396.6363636363636,"k":29,"visits_2019":11},{"site_id":67,"site_name":"MFP Wayland","lat":42.5685797,"lng":-77.5957241,"mu":180.4166666666667,"k":13,"visits_2019":12},{"site_id":68,"site_name":"MFP Whitney Point","lat":42.3405329,"lng":-75.9765268,"mu":202.5454545454545,"k":14,"visits_2019":11},{"site_id":69,"site_name":"MFP Windsor","lat":42.0779615,"lng":-75.6427789,"mu":200.9090909090909,"k":14,"visits_2019":11},{"site_id":70,"site_name":"MFP Woodhull","lat":42.0798397,"lng":-77.4111295,"mu":176.0,"k":13,"visits_2019":12}]; diff --git a/task1/figures/fig1_site_map.png b/task1/figures/fig1_site_map.png index 6c5509bfef50a043dfe87af75f1952956d6f2e08..db8eeb67174406ee000170976634c79e9d0c3222 100644 GIT binary patch literal 70747 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