From d6fdf10ca55b699d8a1b5dda502891a212f7ee0e Mon Sep 17 00:00:00 2001 From: jboisson Date: Thu, 5 Jul 2007 12:43:05 +0000 Subject: [PATCH] small code modifications and pdf of the lessons added git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@546 331e1502-861f-0410-8da2-ba01fb791d7f --- .../tutorial/Lesson1/hill_climbing.cpp | 7 +++-- .../tutorial/Lesson1/lesson_1.pdf | Bin 0 -> 17356 bytes .../tutorial/Lesson2/lesson_2.pdf | Bin 0 -> 18437 bytes .../tutorial/Lesson2/tabu_search.cpp | 25 +++++++++--------- .../tutorial/Lesson3/lesson_3.pdf | Bin 0 -> 18204 bytes .../tutorial/Lesson3/simulated_annealing.cpp | 17 ++++++------ 6 files changed, 25 insertions(+), 24 deletions(-) create mode 100644 trunk/paradiseo-mo/tutorial/Lesson1/lesson_1.pdf create mode 100644 trunk/paradiseo-mo/tutorial/Lesson2/lesson_2.pdf create mode 100644 trunk/paradiseo-mo/tutorial/Lesson3/lesson_3.pdf diff --git a/trunk/paradiseo-mo/tutorial/Lesson1/hill_climbing.cpp b/trunk/paradiseo-mo/tutorial/Lesson1/hill_climbing.cpp index 8f1b8ab46..f9151b246 100644 --- a/trunk/paradiseo-mo/tutorial/Lesson1/hill_climbing.cpp +++ b/trunk/paradiseo-mo/tutorial/Lesson1/hill_climbing.cpp @@ -21,10 +21,9 @@ #include #include - - -int main (int __argc, char * __argv []) { - +int +main (int __argc, char * __argv []) +{ if (__argc != 2) { std :: cerr << "Usage : ./hill_climbing [instance]" << std :: endl ; diff --git a/trunk/paradiseo-mo/tutorial/Lesson1/lesson_1.pdf b/trunk/paradiseo-mo/tutorial/Lesson1/lesson_1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4af0e8e56cb3ec1169f26a69d0e52c231b2c3db9 GIT binary patch literal 17356 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 T9O&DyR(@OoSc?4P^9uhDM^*4p literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-mo/tutorial/Lesson2/lesson_2.pdf b/trunk/paradiseo-mo/tutorial/Lesson2/lesson_2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..0418ba621a129778cf5432cb0a9669e39ca3c204 GIT binary patch literal 18437 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 literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-mo/tutorial/Lesson2/tabu_search.cpp b/trunk/paradiseo-mo/tutorial/Lesson2/tabu_search.cpp index 59a5d9712..13913bdb7 100644 --- a/trunk/paradiseo-mo/tutorial/Lesson2/tabu_search.cpp +++ b/trunk/paradiseo-mo/tutorial/Lesson2/tabu_search.cpp @@ -22,21 +22,22 @@ #include #include -int main (int __argc, char * __argv []) { - - if (__argc != 2) { - - std :: cerr << "Usage : ./tabu_search [instance]" << std :: endl ; - return 1 ; - } - +int +main (int __argc, char * __argv []) +{ + if (__argc != 2) + { + std :: cerr << "Usage : ./tabu_search [instance]" << std :: endl ; + return 1 ; + } + Graph :: load (__argv [1]) ; // Instance - + Route route ; // Solution RouteInit init ; // Sol. Random Init. init (route) ; - + RouteEval full_eval ; // Full. Eval. full_eval (route) ; @@ -61,9 +62,9 @@ int main (int __argc, char * __argv []) { moTS tabu_search (two_opt_init, two_opt_next, two_opt_incr_eval, tabu_list, aspir_crit, cont, full_eval) ; tabu_search (route) ; - + std :: cout << "[To] " << route << std :: endl ; - + return 0 ; } diff --git a/trunk/paradiseo-mo/tutorial/Lesson3/lesson_3.pdf b/trunk/paradiseo-mo/tutorial/Lesson3/lesson_3.pdf new file mode 100644 index 0000000000000000000000000000000000000000..779132996d812cda34fbf62c4325bc972b57deab GIT binary patch literal 18204 zcmeHvc_5Ts+qftq3P~cF>@s8a%`QtR`<5j#%wX)9u@=&%vQ&~}iLz8AB!mhrRQ8=B zAtfc0EnC0)9z^v#&)fUG-|zeDz3(#TKFf8k?VNL6XOl3{(1Ic5FkBM7eRWM-97qBL z0r9YNhA1k+b*SzXk{30ALWUsWIuIlQg}}h|At(e~6N1Cxuy8#H7H$GT;_*a0d^f}j zf0?Jm?T4 zzzc{GT-)8j1BhM-Ygj4bG?6$A0i}sh!>DWEQCN&RQVWMiXc4tg>IfWxsH}*?Y5@-h zK~&qRK~Tfs)sQ%}y1Kd+7Nenoz^m_62F1@oqm#Vo3xY;)aY#sL>T7Xv{G<$A9B6>` zpssP8o5x~OU#`>8B72PA?p%+eUHI?D|yV~P}lC~7^zgF+ zW3WW59H2-949XfP?L~11x*z?22Dw15f#!I_w#AfPIP`Asko6a#M{2y_IXbir5x1hq)42@(N8 zGk_~A0}AP3Z%m+Tf;T|=(~(TJORMFjFAu&Lr0Z?XQ@A7RJDMBv9}!^ z+AKyQCwt~AL%l?eJs0C$S z<}M2PgS*(D>0PD+pb1C=xd{F)y;z`gTluc!@j zaf_S+^Mm|ck^vIzM}K}7Dggh288HBerC$(@rFf8p1+>5rC|WSrQYwN`4ipNb%wh_o zau6;8u|iNLR5uDukK$|O;YM;dF#gX)w%mvQs|JBu=;i-jWEjM9vp^CS1hvG4pG609 zfkFKOeg7B+^D^?|0NyVC2l?wq6p;H1LI*=j z$^a_B0@MZEm;Qp7F31QBF=V{>yF?ur{{zp(FsMeq(zt}tO8Wmu&i_%X1bfdvY?Yt@ zjo>RpjQG1&xh!6gIScI({JWAghVlZb3k+QNT?m7Wz~Mo}7XB`XXh9@PVURIPA^^%V zM7AWJg**)QF2?`dESKtB62MBKt;7%vGw=s~R|sMeV@8t%)Mlv!2nAF&;P)Szq&6@b zQ|Vk0YJJjVAas=o#1*NUT!2;Mv;9Ks-qJf zf=3`glgJSm&@pgulmo|l7z()ncPBWY!?0Ka1cpZ70Sg__VZclRMhLZqoCG400ZohK zMs@X#o)Z86i0h40I_yP7X zE9oWx=G@#kij-M&SRiDF)SVCB=B893J!cRKu2)>ko-168=uy7~&%F zNF-n$0^&yhUl0#NVpj+p?3@?K*Ei4wyhMEihy%%$MuB^HE(RE8#t*{|ZmhN#Z>$SJ z$bpvpl4-{_e^U%3Oz#{cfq3Hx5T_i6D4w(aA4_q6$ubFM!%Drha@ST$Md znRtaIJVeRdfV|h?89F^LAmoidW}Km$ItAP zAZr}t=1@u2pop3_e|+lRvu+dF4<99ZP5hCOA(Vw@HQ$-~2V{Jn$&;@RklAPMLG94i zcwN;fT*(^Tg(HV&^Ykak8E>9$pf*7dPko^pk7QpzF?n-Xu()RC{w>xn7`_z7Oti?+ zm&?(adYJ#FCcC@-(q}0pPHUkr+8R6^(uXaz&)?K(csKKO?nBvN6`Z`mz)w9XUOh{w zE7G*&z-=*tB;>~ zH&*#j_Uu!0?;)Y&Ftk&(n(uI6eaY>%yDc*rZXt6LQC3X;PbQ{f&q{uLT|0s^O3PvG~vo*2)d9lk~*#i zIxUe`O2jS-=XdSye);+Iw$bh)f1Xwp&x?4wL*{3m8$;|=c5^*Rid51Y=R%dHJEw|z z5L+^Yy|Y6b%Iddgb!Uy=k&T4*C-9_yPPV$xDe+!Sv{5{9_mlJEeeKO3GhpK)M@8T_ zwKZZ^pFb3z^5pZ5C)m?-(e@EJZie61%zJusTN>y4yRE+07e9CO?3Oz&FMY?3bB;q> zD12wC<5w$qPK8&=%p|2LhqZ5e?s zuVozB*{2m7joX5SV$`5J&&rE!dpY)|qP?i85N znbMcoN4&labech|yoK6m8dOk~htGV;Fn_X8|* zFV0V2n(d|uP4CG>g!49U*XG{+W+OpcoZ{rRWe+b-`bj8q4f{=Q*hS{l_-p!xsnYB* znbo03*xjVUWvbU+VtcSjQ}-KRkEe#=o*h@Y@1@)-)e6=zx^~7$&}j8_<#I&Y+B3c9 zP$CiBx(NpNC^|A~ooYH9S`rd|`1G}r>Xx^S=zeguwcBO*$Q&DAoHGlz(Yd#Cw=oGV zVd8?BZ4S63nnvFnILhy z=TnxuRFPK&-W%sTBQ=E_U2WQpJVGa}ML0@MwZ9GPgRDM+VnUW^I;&n7qUAWf z4O%@!6X2=iX1xplMd&Fn;Udh(dT4SlSNmb$@uUPy*9cXtzg!{eMa!5(Pva*W@a`$%8ZAdB3T~mg+NbB}&p-ZBQ7tTd zl7pM8TY&{%xA|LvLL^Q4sNA<*LSu7&gC#1#_byk6rJ%mbdL(_YE$Q)ei_AV+tyglG zC$B#8Rb{yzo4SgQocJ;n=CH+a7WOPLj=#b#H#SE3 z`@!oYTjC4(hnV@Z@P+StbFSCgL;0;HVJ>zvbze*e!bhZ$Z)6U`?dQzg3`O?NU4tjJ z6|MVx?DDLt{1@aFvo$6v$yWQGrjQOLZ$(>WdY`Te+o%{VH#!a-z4h43NM@>Q(qGJ} zkG|9G^+1owTRoP!iOa9CT?*VUkG)rK6Rc{DA5SPDjyey7W#*Nayn-2$N1hJBrM`ct zGN|kuyFA%Z?pd#yuYScl5Z8MU>HNjR=gSf2%;NNGx8sH=X_hD7yexSNyA!3j{jEW) zdgAqqnMDHoId>$)#v5+8uT-fZeAh`?HHLEG3v+F~VO=elzxTTOA!kd0uski6`zkJc z*uAxa`C%3*?sZQ|`iYfOW)aNUuFfp`JLJaM4>Yz^&r~%YS7xiwVR5bsm9XZQnxDSp>kSdD$JZrBg`p!9Dgx^#+W8rG_3yBM9;$X)3VcpB>cV8^Q)Wj zXWt7G2ur>ySZ2X51w)`;x&#HxvE=A1#V!9XxK4lN(k!}GfGhNqLj!uCK-^M^g<8Ry z84eAQ^3RS8I32WXZ~jjwh0q{-SDLs;BuPUwD8fEYtt<4_yZ@iAzyf@ zJ%}jiUY|mzhT7U{ha;|R5eN96Cnr-R&0NAxinooIcGKY67GC$!$F60GU$`{cmq3Ht zkD`j_#<%msYn-A^YfJW-=v+7*&U@aGMy%4v+EtfwHmqUD?)({Z=#^auHM+%SbM>iE zoc4+ zU7kE_*lGF*S~|!q(wec!eE*i&eOWIMwa0em2b{pq-WWZQ+mU^@{bsRn-qk&QZLPsvzPpAdsF|dm)me=uy@&WpS+F|d>_Wk3<+cHz z@NUT{z+CiexVXO0r1n@`iuJbKHo~)d?NRicS%>LsN-~K zYUS0(MG5b}b!G)|5L@HvJNl?`wAwo|mAr@Vyv}!!sz$3sRgMfWHN8V<$-n50KT@?% z#n6sU!=_VOK3tgcz3F1Q`D5S3H&a|+tS{EYT{6(?eqCA;)m!SI?+%?0;k@1A8*xoU zF14a47aPWAweFz#rKgs+=*G?cM);kl&0v$)8hXUf=N*Zh@LZ+SoZ))6s6+5RUw3m@ z%(flUJ&O9pyzBLQZZK_Vt~H4lo8QiDs%teI*4q3)BRWgPZIk5X1Xh;Gq@%_a(i5`l zxDJlb1f3QM$QhTo*Y-++fA&r`$DR89MFGUK_H6R0`kYM_>>cA5T4}L+4GSWk5oD~m zqH#vYpYv_|Za3jQoM$j@F$h(PZ+orGs$XtY8f~fxWp>Rjd^as~_e3b0?za?cV_ws` zIU|MXIIAmQMbpI`*&9ti@%`Td3me#ajO4`F@YNpccetpxm`fl$)MT1Rg(I%2o z%p}DP;cFy|cJsTwC}2%bQk^-ZShi-g$EfTU$5x))0=ac;Ro9tRn_qRYa%!=*Uu149 z5RV86CG@Fw-=97~J=46-v@k#K=YQ0x3852_5awMB*R zexrSDz4lrm`4Rc!Bl<_5mLGnZ-&3=7oAus4pk{q?FZF2NVyq*O2o@MN~Gabo%uBUjU{b^=ku6fC}((78`8EG92p z^yGu1Q3abU*>`dEa|YamOpwYeqSyea;GA za;AN}MsJN|_VR<%U%NjEsD3zc?!9mV)of>Q%lJO~VNoFZFFyj)NetRq;Mz@9>P|kb3+)TeS zu~+14Pi}RnRYC@@a1piq#KT*!6gR9n!aHth7Mp48zIm&x*uf2#g3YQZwwsa^n&D z(czC@M%W}u3HwJoI_Kj2L`p1<2u5g1e6$p3@>^vi%F^<};U4-$CaGNZjXcGtJ^Pr#)vol&2^h@m6q?r16EOW6kMLewqqN( z@S>SY@s^pUZJw2)L+T$J%T{GsF=xs;BdNCM%X9@TRkSuaRi3{zYNnuv+O6QLu{ZVVTiQ*4MnfYf^m^JHJ_be3(EA-wNK<)tiq|WVPvd*xU|n!$^0ndVGtbxl2OuA!42< zue-e{{mF?NLYyS|?a%ESQEQ*Yb%-`7nvG%yWR9pFux+Sk;Wcjy4YINA&z_nQ;+Qg3 ztw0@QdieB#->evKrXh3>@`dD>lJ-Vo-IIbtx)PpA5`>cn9MI=`s+&vsQlMYfjmjrh ziI0}duCsz_&0}L|=JXOf+%S*;EpGbcv9Z)MDBvLfC16NWPOf_%U-K5jbMVRwXl@fb zQ_#Lm<8@4Z+;5&_;(bu`vf?AIx&oi&YzI>>hu*PPzwf_8e0>bY)z(vtuX96%kddmC zaF zFx$knVcmptv0y?E3zSo>FpXFf;O21&wr+#9&{%ms5_7kr#>*BCC{t^xT< z9imHbkubz3*?QmYcmeK#Q$s3ArxL|CUyodsum9d^UCi62ywf4X*AY7o?19eiY_O{@ z(s03$XihelBz5fk$m>!GXzPP=`z;Qi+;o=bq1}~I{wd_UPZpImge0W!Wf;}|A)rk@+FL+RC;;tPDd(V<2!eL)>*|el^K}z=`{t}q^+xwZW$I#g{$09^Mu-m zeiwrb=pP?&?=+ddkl{i9rq*U{ICym`|0mCs;3bE-(T#^9=? z&q7As;XRneF&=Sk`|hl&YY(MVtk2ZDh^%^eXF%Eg$l%8L z;0o;nGTdr=cD=c-GEh~zsz2`>M_d|G<$zqPsEr{O+N3Hj?SDMgj^|A5$g0Nn;SMO* zC!9?=<_zn`!ko`{I&${2kJN5~#Z(lIJ8t%LI_ovORni5!Cbq^WGEKd=RK3YbqV;B) zjNi9%$q$mRGVjA%{IOTgRhp^~KRjx?8%}86Mo)|n&_TP?bOSTJ)a~v&my4%6>jm8( zBU{T-3toJ&!D|*~ueMHVpt|qK_diYR7%HF~Ki=1Wdcs1+%HhGM8@BNr2^A;fqFqIj zu8m$gZys=Ltx6D!mn++eE9q|T`A`Eho$7MiJHyKkB4@$3mce6D{uFfnm2X;o#pb7L%d9sgTR z2SNm^HGjrs;|8RrOBZroqCtJ+y^ww<)9H-HyB`%w>O#|vhYu-S*BoDU^!4Fcm#-7pqWMH^5%#eAW;LO{W{&Udctxl$b@aKbi{+jyb>C9ho_Bk`BQxM`=-5%lRuXC?6INM-aA-4v$v7uR(>5jN3G&}G9nD$I zzESWNZ(o(a&aHPRn?5OoKDN|FUU_nv;C4-6ms$KfD_)KxyP2Q|8}HvHmO3Tg*xvSz zo)#`V)l%e?G}tvAj!@HVeZP5FKQN)mu)#(-7WpEYoPf8~2}T8P%``5E^APMpaHk)^ zX3ni~XZ48H*0XQP!Z&)?TV~dWkSzA(1O}_=bJ`wY(l+C7iR`bTf10v9-vt@hy5vx+ zR)41VxNyZ@!AA!Yb!{33Q;joa0*3Aio+b+mW?j3sishNZzQ=7Tc}2I00rRo3Sw_bu zFmD4KDzhBdtDeeEir{@8dcws%e+ysPbshQLhyJlMdBo*%>Ic+s)!Z(<_mYvfN6I)*E|7 zi;+#zOj?QRDdz}ie~VP@Cp~gTtkZ!pVivpR+OEzB8GhS$1OK`0^NqskdN-lSG3HO@ z?}}>$g$BKx&EAZDJ!if8SXOX;FRN|Pd+Qg~-*tn=9uS+}MP}zG%`{B)?cWzbd(2lV z>pWJxYd)87w|RS$(`S`E2h%)WHwft&d-2b|+N+N2)LVxLzS357+Ri;lrB>>BY*M>} z9c}Esz}Dz^wL*hqLzz&fR|nx^WFd!vM^A>nfunmTHpSwvM)&1a`G0eC2PZcFy{Vmr z{U?7hwX?iV{)eOc|8$4o@{07*h>k@9TPOZ;MDN`9V?>Wnd$f1&9q6kMl=B7J=SBUW z3$8um%2UtlhL%0QLp!UlbeL1(TfytQ`Z5O4oE*8WSBSuv&iB{>F+U`CGD27f6-$Qd zk>YgBqsyRHIsU9#oUO-_E*%^7B8CdYd{o=oFt_&m%LCMEqgWV3vTE*LH_i)$u6~9hGv8xm!M$jq}6VA8cgZ@cP5f z+mmk!n7>pAT;00W=g8yr@Zy|~HbmcdYV*lCf%_(qha(wsYX-1u-6sti%uw(3oKFaO zu@U#>@EW+d^mBCYcR98pb&XA%#Dgt%)#AyMqv=iOJc?efJ==OZga2enMSVVxPiEE8 za-mK0MYF<1#iuP2bRBbMH#O|v9?|a|C^&rnQbgsR%`Vhi$Kr%+*rjxQ6?BYo8xUvr z9dOP%x8r%$fxGEWzTeFFxY9jEOkgQIVMr(?}DBgR@YJ#EjXUG4jNkNQz^3M zlec{>d#^crVfGqM*?GvxBXpiSF9$MwlxhnfS!PKZJVRX0rP^wIzS|+jQ95Zzxe!~k zTc2lW%Pm0*e*3mJC9#k0g?ZWZ5#!`^;5^AO11E!*1CE&sjox`T#(8|#=?ZGx}PcpA-X5q$9cYQyIhZJcH8_l)C( z6|Bzg+u3iWz<(z^CAKH=Yv)Uj>O8q)D)Oi9-xb{27&`6@O}omIvr0Qe_Li^J<;WR? zS}@z@@k$KB>rIO`|V^-O5&sSgz4_<6c|LN8# z@zsish568@1I=_gORF?B=}`}ntVu4y!@Ni<=~Y2Dp3T3gn{d|Hm|q5 zy_zkUg4Z}2x)=4m&hp(<_gM9sFvroi)TaGU4o-Y`0{qZ0tLqBw)UUQZ6BGOs%*X>e z+kys1#g2a8REa)`Hbm*SrzR;$uZx_^G?Wc#7x^}5q;~0;7D|n`>8muXN+78C)W+-! z;?{Se!Q9I8T9d*J0@^x-2^^+(uc@MA9wvk%r&N!fhCkDLE9v(sh0Fbr^UPMX zM#HtQrLzLj;!{4Yq(i1vMjmm&&t7DQZEm_S`k`6&M2^?7LDtHBT;|84JxEer1*Z7* zGAHit>^2dEe_?yblX%obK%XU~Z0>DpgO}BV#{{!Wy1`NBPaBv&JG`b%UqsCL(_Fh= zPTylMSreg>vtgkj>U-3(l~XR*7G69RsYMujXRol~!DEq0QY>_2ipo}MCa=uK?8!uL zuM(Q}obF^(hw66S@|0fP(>G@@G+b;tT*p6$Q54DRm5bPLJYntEoLao-eOT2sfy6Ya zi{A8;1w=FXgj84F&Ig|wDI;-`n(|GU(N_*hF8e8hgR*UF)20-QT+8I>@cqV+$EFCj{Yp~@FFUkGK0d2<_3JzGsR6op z8$?)7*}Q^zrfxG;xW!#88nJug=|EoriC=8hYtgaSdy-AXTk0Ltgc7*-e1lAPrphxD z*2Y=dNI7RB3rO@l-$Pz+GNzJ-A6YHN7gDfmcA>$c;8SQsdy;+@WnM(3iqykU7Q_rtaOb46F0G9 z-(QW3z;5)VRh@rxU_>q~IsQ9-FR+7^u^s+*$Cr_^u)y{&#>W46`#b~hpY~V*D~SJM za14*?a_&TMpBSFwqZNhJn5z`HvOQ{SD?h0k0hYToP;md zV?}z6#r&#QKlAP}L$i0Axz+B#K#r>`Nr*q;xe-6^r@el%;_gTergS7@zUUqKP^4;Y zL4vs(QB+;DAmQ<(T0s4Jhw;H4y8O_5u-9=lTER?k>>8W5pUQ-mA$zbv@d#-4Lv z(e~F$mM318wym4%>MR`tLSr$D3$#mzXO`z*6jl5@N%k%jI>e6RNOe~d9WE&qg;2># zqWiGA2whKgiW7BrfEUF$K+nWJz{Q?O7FAK^Q1p}cbMtfqj^aT4++5vh@_tI9B;bS^ zMIH!)(Qr`+BMaR{Nfa%Igy9iLQDyMJlA;&cLEcD1Yq1>gr6lS^r+do7;l94Ua=vIe z4=+bJaNLXtN1)&+6b#4#qxrkjNq#VQn%Dx6B{)mVuv8Cs2nd&C=iyCP5*7XFWYhwJ zo+~PHr^zvpm9zJ7g98b0q#PRl12PC4h?EBo)R4XHDPGEI_Ff)#BsxTcN~2R03eR|8F3&|UL82f z1)SJ1@$hg}HZW$K-@(d}U0oq&6fYXcD&UZlBK+5!%REyAlXQVoE)M=0z~LcfVBH)K z1OH)7kQjM1P9B4mMWEynhy@@ka{dB?fe7VKV64dbzs*0g{SWqedV9Gt)QfBnr?^tw zzyn0kf#)|Oeq!p9`k#s8Em9ivYK*mdAR&%BQ z9J`d@N(J>_-j(F;s3htKBU2nm-mY{}W#G^miA<$YJRpZ5%V9V~*F%Rwqj|Wa7u3p? z`ZL&t*q>`-VEZd#iU6|q3+nL;1W;RzDF=U!T}D?~&C8wSP5!6qe=g0a{+Fu$H`|1+ z?hmp4Wvg&=`&p`hPV4H*Yk1gugJRd#Q1xxIm>_9wakk@2>q8`f54>WEdRtVj%5!HxGX_Q)EDs2 z{$c|-<4%f2cM~)K0h<;y%%wHtLGvDXu}BOW$FS_B5C|z5xSBWJ$-_%}!R`Y##V%Nl z(tqbr$bc6RF#ILyzxJ2*FF8#6Wn|!h&+yN+n}8Oz^s)*3H|DU+vOm3eIR #include -int main (int __argc, char * __argv []) { - - if (__argc != 2) { - - std :: cerr << "Usage : ./simulated_annealing [instance]" << std :: endl ; - return 1 ; - } - +int +main (int __argc, char * __argv []) +{ + if (__argc != 2) + { + std :: cerr << "Usage : ./simulated_annealing [instance]" << std :: endl ; + return 1 ; + } + Graph :: load (__argv [1]) ; // Instance Route route ; // Solution