From 624d2195e385b2698ea6d1e895201725f577f8aa Mon Sep 17 00:00:00 2001 From: Aliaume Lopez Date: Wed, 11 Jan 2017 16:38:06 +0100 Subject: [PATCH] Ajout images --- approximations.py | 2 +- dual.py | 34 ++++++++++++++++++- images/00_APPROX_tsp225_approx2.png | Bin 0 -> 14785 bytes images/00_APPROX_tsp225_approx2_2opt.png | Bin 0 -> 11063 bytes images/00_APPROX_tsp225_glouton.png | Bin 0 -> 12042 bytes images/00_APPROX_tsp225_glouton_2opt.png | Bin 0 -> 11741 bytes images/0CVX_tsp225_approxPL.png | Bin 0 -> 10669 bytes images/0CVX_tsp225_separationfinie.png | Bin 0 -> 12067 bytes images/0CVX_tsp225_simple_1.png | Bin 0 -> 13149 bytes images/0CVX_tsp225_simple_11.png | Bin 0 -> 13041 bytes images/0CVX_tsp225_simple_21.png | Bin 0 -> 12187 bytes images/0CVX_tsp225_simple_31.png | Bin 0 -> 13003 bytes images/0CVX_tsp225_simple_41.png | Bin 0 -> 14607 bytes new_separation.py | 6 +++- rapport/presentation.tex | 40 ++++++++++++++++++----- rapport/rapport_projet_opti.tex | 2 +- 16 files changed, 71 insertions(+), 13 deletions(-) create mode 100644 images/00_APPROX_tsp225_approx2.png create mode 100644 images/00_APPROX_tsp225_approx2_2opt.png create mode 100644 images/00_APPROX_tsp225_glouton.png create mode 100644 images/00_APPROX_tsp225_glouton_2opt.png create mode 100644 images/0CVX_tsp225_approxPL.png create mode 100644 images/0CVX_tsp225_separationfinie.png create mode 100644 images/0CVX_tsp225_simple_1.png create mode 100644 images/0CVX_tsp225_simple_11.png create mode 100644 images/0CVX_tsp225_simple_21.png create mode 100644 images/0CVX_tsp225_simple_31.png create mode 100644 images/0CVX_tsp225_simple_41.png diff --git a/approximations.py b/approximations.py index 2c5d682..1456a20 100644 --- a/approximations.py +++ b/approximations.py @@ -125,7 +125,7 @@ logging.basicConfig(filename='approximations_run.log', datefmt='%m/%d/%Y %I:%M:%S %p') # Choix du fichier test -filename = "eil101" +filename = "tsp225" probleme = read_tsp_file ("problemes/{}.tsp".format (filename)) graphe = probleme["GRAPH"] diff --git a/dual.py b/dual.py index 178a540..b7c148e 100644 --- a/dual.py +++ b/dual.py @@ -16,6 +16,33 @@ import mincut import numpy as np import scipy.optimize as scopt +import cvxpy as cvx + +def minim(A_eq,b_eq, c, A_in = [], b_in = []): + + A_eq = np.array (A_eq) + b_eq = np.array (b_eq) + c = np.array (c) + + m,n = A_eq.shape + assert(n == len(c) and (m==len(b_eq))) + + x = cvx.Variable(n) + objective = cvx.Minimize(cvx.sum_entries(c*x)) + if(A_in == []): + constraints = [0 <= x, A_eq*x == b_eq] + else: + constraints = [0 <= x, A_eq*x == b_eq, A_in*x >= b_in] + + prob = cvx.Problem(objective, constraints) + opt = prob.solve() + s = prob.status + + valx = np.copy(x.value) + valx = np.array(np.transpose(valx)[0]) + + return({"status":s,"opt":opt,"x":valx}) + def subsets(l): """ Retourne l'ensemble de sous ensembles @@ -333,8 +360,13 @@ def algorithme_separation (graphe, filename="default_separation_dual", maxiter=1 # On se demande si on a une bonne solution ou non # logging.debug ("Solve dual problem") + # res2 = minim (A,b, [ - y for y in c ]) + res1 = vrai_simplexe (A1,b1,c1) res2 = vrai_simplexe (A,b, [ -y for y in c ]) logging.debug ("Dual value : {}".format (-1 * res2["fun"])) + + print ("{} - {}".format (res1["fun"], -1 * res2["fun"])) + logging.debug ("CHECK if good primal solution") edge_to_add = trouve_arete_a_ajouter (n,e_s,w,A,b,c,graphe, res2["x"]) logging.debug ("EDGE to add : {}".format (edge_to_add)) @@ -387,7 +419,7 @@ def algorithme_separation (graphe, filename="default_separation_dual", maxiter=1 if __name__ == '__main__': - filename = "burma14" + filename = "ch150" # initialisation du loggeur logging.basicConfig(filename='dual_run.log', level=logging.DEBUG, diff --git a/images/00_APPROX_tsp225_approx2.png b/images/00_APPROX_tsp225_approx2.png new file mode 100644 index 0000000000000000000000000000000000000000..a797dba4cc2e1494d5c9155578ca5c49a4d8750b GIT binary patch literal 14785 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 literal 0 HcmV?d00001 diff --git a/images/00_APPROX_tsp225_approx2_2opt.png b/images/00_APPROX_tsp225_approx2_2opt.png new file mode 100644 index 0000000000000000000000000000000000000000..2688f04dfa10f544f6b549e3dc91ee3727bdc915 GIT binary patch literal 11063 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 ONd2~sYPquYovP8wW%a$ekE{Yk(I+2l(v6Lkh zvXxzy>?&J??=|lG{=DBmeIK7c;PcbG=336{oO7M!d7bl$HZi(N595MC5Ja!1dkG0a z$EG2OGV(Yj7%8ClX@MXCNbk}`)ZLtwv8kkQXRByThQDuzx@<+h=em|^OLRFQKb7<9 z-VLX~*Kx9x8d%|>L2C*K!kj)(dJTS|b$&T^@K>u11^!Snn}M<8mkg)@S*HJ+_+P6e zL0GP45V`dI3XfY=>lZ;^#*JGxwS31%1{}F90&1jwPH8!dw(?iK{FS)8a@f3+Q%2je zrLgTBg-`#{|5cdE{eQoSv48OE_w#CI?&8?A^_63Tg9xb~Zm6h&y9-w8k?&5nU6)2um*2Nkie*YJ7J`0WchrtrHxAuKLPx?IdKtAX2li`6R0oyw#F~sm1OL)U(CiN5>aH z0%CIP7-8g}Mcc<$G!)xSWwV%%EpK`IQCZB0+<@u_tfiaoahOYBQ@+RDUtBsXX>tF1 z63X))CNLTw>%2)h?j!Z#Qr@|igJaV+=yEJp69)PEewKlP3Uv)VANwga3o<>l2@T^V zTeOido^p-FjI+BBSoA0hux{n_(ms;S(VQ5bvXa$|^V4fE=h4D9BTGx``>q>H|XUi-hNQ>+<-#^XXnq(wPPo-Nz z5^_Rc3puyxohAXMfiFclHpbLcm{0)$+MMbr9ZW}dYlpROF3^Us{*S*McewZ9ZSdL) z6BFtX@YZ%~YSQz;lf~Snnm+pfxMK}}(-kUcJ?bwwf!Qp&Lz`M?fNPtMZiMiAV*zb{ zcH#@<^W5u(d%HYW&@3^E?Zx^r-sRlSt_vTVdg&p7 z9P1c2wzJs&zOLwc(Sq0u()av7>D^9BE~@#dSUrFo-^s7kbn2gAF+0%(r@nE$a?bA5 zPs@1+cdW%79mb&wjmDx{F3M2??d07tTuqg`YiUiIYY$jXu~V^M8y|U+xjYq_mEPyy zQxy6jMoVc-G>4bJ|6|3Exo=-k5FdJ_w2XNri1W!hX*A~>L0K;Km82=trC|chp!+;z zA&Lu_J~$^(f75Z`)G5eS1V_0ZVd7|x46jpZceHYXKeNgcz$rTpNK)Ln6W^Kzjx+$q zVzJ^x;UEtVg8u}IMVM6`8}&&Rv*?f0$HZglOGRNB*>`v>gm9ET8DWkC(x)JtAb2L2 zlBq_kG&_nrp&7x!=~#$%bSRXPUM$l(@B&(5i#$hkDV@+PW5m0OC;1(@i8?bOt2e4z z^Ok*#dKAhKC8LQh2023?HHs#F=k;wKd!pvy`dj;6sEK6^|AD#_nkGGL#L;PW>*88T zO{%qiL&ORzF|Ym$!~J-^jAfsX{ZeHW_k(X=O-tTr2-va;3@-P|HCpdzb*+%;e{*)j zfqQ=9JI#8DwZ3?Hj@qwuB;pBU@Q}xot-(G-?rQO*V!GRAt!HOY-gF}*Z2rVPe6MWH zK2QG3t-zL{A9WS>H*5FjorNM9qw$>AWn?yoy>lDyj7oX5j$fJ>VmSfvu zdpV6#lZ>_y>F!g*aI=nLpOjyAgk#;!LgTXh11RMT?gvwJA#UtDAX+#Ali}&)I#I-8 zLE%8{wX2@qQ^jVlv@vzwVN$8~pv3@XHU*(C^yGEH*U8JdoZ$Dn9v`PVQ3}cOEA6*j zbw)*zJV~T*Fvn1WCnPV@Un;1Av4O2@NhmWRd%?BOL_%a!$@^Wm6QkY}2@Dt5V?76^ z##pM8?QvBw=!;7fekA+{=0d!N=g7fNj5p*XiIcA^ zAaA`ppS{bmDHbgsl+!PCckz2(a7tr~e(s|%^qyTn@H&GMSI`Y*xtH#G|#-MSM#8!ETJp_wE> zT-tjL4?k|ch3eTCFSrb^s1Lsxrz3McJe8-hV98+}jytnK^=SwD8&wzuwkgt$Ts<_aNp>Sxcd?xo(?blgZ-?`xyIC8ak*T z3ZEYZQxh(0F=)^~QRVYlrnLGxg>fDIY24JHz3xTDRDba&khiH7HAbTibqX8Rm57#l zd)GRg0Q*w6$uWKBvy4QQ^6kQvRk_;4#?nuQFX!)f$<sG9S-Y%M1 zIH$B<#YB;6=ArOrYV*yJ!@hE|TkTQbGedl-u8-1iK+{jOr5pO4<#|`$)Z4Elx)`ue zWfoLK8=yOQ%L!geV7vW1Aoy5TkK%YBX)RC#`3Y6T#ZGNrpS+d8{K=S34igj zesJc9+B2xZs~Q@(_~N%MwUFa9YH3gB{b40c$r)YUl4>L^)<*+=7k2s^Kb&27r&6Y6 z;9?X2*J1*rY#Xv9gEo}tOx9T@!*K#vQ%}l^Ytf(6_;!U4aoEE!!q13-j16Jh zB$ObVTx!s8B_v*WvXr8BEjrj+swNmO?{i!(RqxV>HpL$)TT6QFCvVM{LJt#ual`Ij zrb!dQ$y3F^5>RObF2_B-rt}Q0N6#1lo#ka~%n9ccr3K$Jd8AKN?v!AtqVU3V!D6z> zlaBtnsp1~qKKAZdjlK8yNZDmr0&i;olh_i#P*Ifm0>Z+WbM zR}tD5iN*(wd#`>Sv8otJ(+gJqlrSgq#^j@%eAyP~z{C?nEs^-j7Jull7N{%=tn6~qB?#hz zn^cnH!a5lur|gSu;;;3Imk|TRMbvj=TUR~hI9UeQ>vA>KvJ2v;->rqoxAn_+?tS>( z;e5lPs?~9lBlzC8WPd+S^%ivAlyeVD=3CV&ujz(d_=+6BNw4iWx)aMUF z!yyB#jf?q3c1&_Hj*|2UWkC^Of}qz{WQTD60Y?)G{I`C3bSqf6f%uqeTlp*$oq57P_$Bkezv%1Zz>dIs~))Ghx+u}0H9x}u05k;xy z)aC-p*!~^B3#JxdM(M)`Sa&G8dNd)4?PnuTJOMkbI*P4;#1QSy(JLL4z`9A<+EjCl zNeYtH)KDG6%m~#=rw*K{q$I=u@R;MIU(y1X&1peO18Cus_8zysHep4roE@7L?*@o| z4&s)DD)o_uarY_C`;IusI~vy#=ucJ{H{qw_0`|Hlt~OP}m^pFPCW!qcw60qe-X@Y} z`AdiA!_G(QV=d<;Uuo>m6`5+YSm=>PKRQ>@FBmB81DNp2&fkS*=Vv?5?3q=5qo*Sy zn+m5FSP-E($Gxa%R80_ua2*5B^8T-genHo;aE%JHW|4tos`GXk1yAi>{rT>LHVo=4 z8yU58my+s>n&Ng$%_r8&#=h@%?mu+q?&EYqM~`JEj?g6ED!)!;RhGGBb>S)TPH22% zW26`&u%XQOp$+N6Z41BJ{NTN&w43va8R{7ZC4#xaILiAJ^(Ke9hp1Q?Wu9f=HQ5+C zOS|P7#hA&>p#h~G`jI$gWNoL#*icWA@?hDpY%WuU{YX{BK{WMQa z5xEaDVBMYZr*JdMyV-U7uIMMw3k4 zfS2eKa>GpmG@k`;SHeGfVd|prByA5jM~jbMmO02p=Qfms3bC50IgEN>q^VlDp5o^( zm`GB_vJ_`BuaVJs#WBGgAC~c;=A>Gw&1cD+m&E-woZy@u@5gzTCY&RabJD|GWNYje z@nX4Qnyn>ENVn?Oa#69WB1-#|rFYT=V$Jm>#OAZ!UsZ0RsA4kfbg0T>&0O|z6)e;C zF1Ll1s2i!w2hdt5T`@uAre+{mRyN#MYz+gHS(z=Km3kFr{;Fdv<@R9$@!-$Q3Ibxv zLoT*~NU+yndje`nGM%5p*<&I{spz1dybRd-BLWP1b{1=7Y(RZC8a($zf6eKgbHO;E1ZSaCv$6P8*q2#n1xW-+n0#n{{ z`gl#twol-O5jzi*OX#c-fR(y2nNd7n4-mmsI zpKjCs1en&N8;MkyhO%#YfZ|_O9Tarmf;|qQlWP@%QHjvvZ`vs z2Oa?ak6j<6#WXw`0GCTh#c~STt-mgEZYhAEt!dL`FNULZ_H_%taKElPgpzbCSaLQH zy9@GkoEHRnyRR%!9uCQfdTbvH^|BFvvU`#uNkItg6yJXgbbRhpNa-PT-eXxgQ7f@`^!*RXo+mSfB7U7($}tR*?$ zW3hiKP>h@4^4!V$X8fgD-7YeJBWsYy6Ma1fL)fkhpNg5{)AHq&o++n&PE^kZsH*52J`i{GqP#=gGM z(z{m8YWA$&(@C+lrR$6_b-L&m%&)W#ove-k17(^K$^)|6B+Jt*T0CD`i>Iei7+;@G zy=Qf}^)d!nUR6iT?&a-Xj-~eGma`fgo>%o9=LU3^M>kFi zWtfK{5hrt~TF=LJSn!_rN;n+(h5i+v$QpDoa~vcF=>8?-gErpYWnfGH>L?FsvTrD! zI!2c2?^@j?1S_dcLH>S3mY7HH%B&7~E04}ab_TLGph#21?46^bD;L={fHgp*L<^%5 z1fB<269h2`6!@}{b;&^V{bwG^Ln3CioZxz|1Wt@y(ij6uYRFvvKCdwmFQ>)F&yEtJ z+w}509a7jPgiC5ZAC&oa(j(EhRzG=Ecc?kuv1finj>huRqh|-M+*|2Lp~?%fzd&UN ziYg{+?KD|yy`2|YCznRV=i_;9V4S7J*EatI7@|!hf*;Hmj&mzS@{2G>~h<6jOfLzx`L?ixS8Nm2UOgL`_ zY9{V4e10}>YyPJWIhu~;z{Vd_L9C9&O@k3s<2h_WV~$7VO`{**>hy2Z*?}wsk>vQs z+Ab_Tsp$^BPIsg#85uS$`=;pau|RRG>;yA2ht)rznAILzDG^A@S78qlZ_Nz)4N32tM;_I+mAE>Yq2|I*#fj+;J3P68mk30A zo(O#))$}J@@BJxKf470{Wjls5wVpYl1>6v{hR3E}OaBRO7SM9~n-pur@2-cHl>%dy zC95DB={_f`)q6D++#fy=8Yyvi@Ohbe!LJ7454VWeMGg?a6RzG1Wv^YN3d6qod?!hg z_xEW)`$%W6ypv)PAU{J8UGnpMST4C(MtXq2(;fMrF05qz$aVh+t0<7GfY8Is62-xH zkZ!#+B!I*J6E991-4r3BOkQ#7OaTkX zJ)m|daI{lfJeBQVJvbg)0T8*^Yjaw^fZ24> z-*F8Y0kJ&xH)lS_As@$PwRKf@lpmQ!Q7Janr!+)jwoiUK*llJT2>7qHj98SY z0NF2vol$e-2XdxBu!N|?GK^<3%LjWtP^|(87m;Vg4p7hqLk>;*u*^$OzepQa=~Fr+ z9LcIrmerAv>U)bbAp!|kULNDl8Te+6bO6b#BydGycwCTUFI9I4g~ z+$BDyIKlmDKb$*hq>{5DU%V@Gvp^#~c_R}?$Gvk|oL%}TS<;r)r1T+%azjBi-`b-> z)a(A*s^y~wrdLF+72Dh>pmaQm}NtONVB zTEUfT?pVcb?~eukdQU`kUL~1MrDecKiNfa4Bst;HCZj0EpQpey|3`~HYSiW!4sqdj%K#=5QCnuVo?82@`#Pt^*u*@=A(F;5s0RK8bdZ{Nm6_Phey^#eeFwmCx zrw`{qM{VxFi@>j+0>mAK%^j%a;SHc6;2^BW4%xlve=LrplpRJcNfWrRsNswM9yaC& z8!Aj(9NPk}7LXulNjN*BhJmjMz`(Y%VC)$f;{kGl_RK#Kxedf}X8@4&2CdEj$y%)3 zIBDjD3R>pdP)URv;ctQ51WCD6I$~pqp+wmwBz2!DB3$QR%_TJlSoLk{S;qbaPl!Uo zc`h4>oT%0)Lm;V<38qs3Pe8qTfB>*3%rRke0eLJ+85|+-uhug|p5S%9md=heWQyd3 zP$-C}>;?5&8nD^`C_dvU(4c%0oaqq~oicE1}8xTI@eQ}S)(g=U!wB@rF&7Swk8S)8xI%wzCl(3!TPMR8Wjm>Izp>x7?~BruG`5$X@Kk-NpAqM7zcH}= zrib^w{4g$%Jq8=*(|44q{#R>?7H)!&u+V3px0b!Hm z0i@Ff(l}@*!F|}UsPEuv=3tZrhlD|gm>akoThxeN^_G{%NgYv2CdD zUN&20p*`t^uZ!Q;hHMRadjSh4+wUAXziMfw7f;*0p&qbC+?s7`b3_?VTO)YK7%a0h zU}K)wHday`kLmfV3|Vb&$UOK__n>OPv#K@BgA9c&e?h^E3QI)d?#9!@^(Ncau2AKK zbRdJTS|RMuoW{v09l-l#AmSIphBROwlIZCH-n;2Y_#+Sq3DUqAj!>5+z!R4MU?QBO zHn+@)g;9W|WkyJ9j0uo20p)0lz=I+u48j6aW{Ln0q{k^pL2^=lbGEoe6=WINr7oaE zQmCu#8ifF}T&l1Kx1)yXr=`k5uIiwg0JLRyYvjYTSZ#n~I6dk`Mnp5N%=~&iXn~gc zu~?G6<#%@H%0U2RNg_Abpm7t>qfNc@t3aMr!3+_;(}t2CM$lTYllQ24j8xDs^;Tr4 zL;T66g4E>HBSMWc(~r658tG|O8&PwrmKDm#B{Rtam^=xrfWqSx#Uzv2K}r_z25)(I zPhKW13pq7q09otuwPvOOj(Q+{-*wujAf5L2bjDrev->^Ef+RI@IsG$ zKC$bmF7C!Ri7=qXtPyotrA8ikS}LVeg>G|7?i2Yq*{k-*Ul(*sZo0lmvv8WtdTAR} zY^@)(R@&IG1dNe{HE@QcI)PBY%E==g@)oTJOy8(Zlk&~)?#0|PFf0t|;`{u`DkeT1p$ z^EDM14c;;KLESF>YdVA02t4+SIAtzy4$ua|M0;@7{CaHp3V#!@4j9$Mr8YE>4^cvx{C(Fty3WtQu5Y>TdJhbqjX_ok4zvx%_D?<_X z?}p;+tehOX0Cq?MJ0hjEbqCUdIl(8w$GQiD8{=-n5*fvo zPfw!Tuf0q)pV)t>b;;3qF22;}39{rZ*SjAu5wF-?@t7jw)+P60jlb9aj40f#Q5dOJ zsQYtqLTctz!1MTq*DIi(-x5!u9FK-;0v~+EpPKQ@$+3ff?G@XY=*o|m@r^fE`5ZDx z(=q;^ijY!+ATV^rEv+g}&-vp#{g3XdZ+<@;wBE8byDumJt4cO9J3~nvwB-<$#eXJ_iBiA9RBN1=F$0vc9H09o5-z zOdl9E&GFMF-gUI61w?P>UIwRW>k=KhN-_7|^xwh5<` z86^Q$Rn||qw!`<9s#M~2$P(@SgvOC@a*Yqx_-NCJ&RQ*4vmomYchvs*F9fPI4wQ%&=}Lm65lp@Q)~Zb{HA zb6^yC%`dH2v--O(u^^;mrm|_2gBpqk>hR83R&r(dOvbR*)+4Nw#%~sC(`uH+65^%> z1#mwTYR@)H&3+cEu&tiI>Ta|$SP)`N?QkqxE+E5!TLwp|CYZlEdDR{Bpqrcg`NDxf zen`iYLC8DNG_*%h62OaBIvP5UygTkump9Tu&$a+Mn@nWP&LIIPjqVt*2VkQt#;Nqx}T1aQ4Uc=PRP*E4x0;FXywcldi1 z$lq!BGMW5trUFf2(4dYoVw+;#hIFK15hPHE5|IA!@EVXB>63JDah?PKCQ~A&tDanG z{mf(*lv;bXH*6wfiWMk~;30UBe`gZl&f^zfPM&RnL(TxpJd9?|0koMS6@DXYP@XNY*;f4O4gVc1Fw-yQzEQ1Uik$K&7?TZ;OLcYau;vBF5-$X697KrDYkP-h}KZvO$m$d2Iuorm%CWsRH;&w?i_rJ7!J*H>#jR+bI} z&M(9|a^5Gcd5uT550u-C@8>_D-%~7<`Q}qkpCM+H!K%R$aDR(!ML);@zwW)aCw8zC z`-P~{vZXZ~p`K8fwL9>leCGQ=lkKWn%suv(G+x|wJa<2==5S6fImfEjF8?>(dd-7B zHx1FY#ACf2OFPc})tAQ!m%VKGdz0Q@yNAHtlF~6~j5r7qt+#gna_yR`mAifVHA-Tf z2E%KypB-a|cm=KXjA`5ipdxKKEBZS{n+?x50`%q9K{qP-k~yF&3TdGcSVP1 zebhwDl*V;*tDQ^CDA9|O@7}vL5go-;X_h!^r>b5tnQf@ZA@_9;V@!-1bf&hPJJ%lL5$YrP&ada4UT-8+7SM%(C#h;4)UAkxcUCmOf=SEU~}IL3^g zmq!}D^=&ai7#oOxZOvd?>W|y8Wo`-&y1Y69nAg+f(N**>JU*1kmutlQ^@^oiy0N3A zrZp?#&@(Sil;TKd+(CGpwC4okex{$~lsnSJiI>lE-?3xHyRMGCNol%P_AlN>wz?Za zwdD%7wCC2;~FLw<>aNl#;fYKw@ z?)Ap-vIn)Es`Ko=s_1_rjcFBm{4brm4x4v^*AgeySsQ{DF0Fn76+7M9oU4k82^~X4 zp|u~(U-TnUCWiYnRVb^?VG)O&PK^c%gSAw-fWC+oro@qVWhgT-w}sh3qS|S89~#E8 zRfpVNo%N3=#v87m33Qzy#$nxzuvuLCGfSTx%d4Fop5JU2DwvCL5qCOH ztKPEKQ+mUZK26boRWi=N;lno6bhbl%v|Z(=Q*L@8wCh?>dV9aHDLOpm3Q&*?p=~W2+*|t^x}F-<&I=TI^>S$gpwb4q$Ew62Elh{7gn+UOik!Nh z_Z<9l&FpNnZfJR@hw0B$7EFT@OP1|s?MDuBdt8|-MJa7?=BJRfx zJ~bSUc+tA%eP=Ra1>fNr)5`fZ8I2A$%D@)qw>XQ2Fs{E-RivHx7I`MnVTO1+|9UzN z%1q~;Y6gvwL>kzbeZFYOI|iU&t89Y{mJ_5wL7n# z6MDUQRaY?ixh}SfcyJZLbO5Y1Y$EkRBA|@>s&!>j7 z5+_>Dm$iA>Sk~AXg}oBf9{%9m-F*IwRl=er_-3J8$82*s5#4AI$Xov+#`wC|wZ*>C%*5qzVB=QF=*ep(EvyUZhGD0TBeG25Bn2glYmJB@{tW z0cp|+QjH*>bOgQ)&pFrgp6~p8-=F7CviI)n?Ci|!wA~mzojWv?mnb0!qEWwl%K(B- ze}kY?(PvJ9o;(_lHVEQ^)NkED_-Cz7&3erVHjwF|6xNP=KGD5*6Uf$aF}=xZQl>M! zY9>9Ub|$!r2J7sM22)j{jxDCZKeVf=MFwy@L4hSy=p`5-D2&Ti5DeVtK!D#zPfEb= z>2q)r2s(4Q5Ufgn>;ESF3zx`aN-$~2O1BPA{&!jINe^G@PBd((xEOcIl&?6M{aR3w ze7_#6KfWiHS9eS`=Uv0`WYw`*>ZaCIC)_!iy1ZM|F?yb3c@XQSL_aZHO(XPfJS|8* zQA^^FZHn*F$K}=Iw%x393fqH>&|);EY+^kVsd*LCQO96nCWM(cMtt}Z9HJX~*U@x6 zf9H3y!&~+siSAuH(jtrgPMvpJ>Lh9K_z0T9_MHOO#@=|s30)9rN!vk? zZ=u^r)TzS1z5UL!5}(jKSNkBa;G#CxoaHsGhg6%J)763$1@+IQi}`A;u&JDEeU1UJ zmDxjC-rfWdv%K+3x?tK~}(hzS5lxdFHw)Ofg zo>1v7LwX#EwKatVW7rMqjWR#gYrl-W&B@f``0;!^f4FF%6a(yxINPirbzN@t6;iPt zv#TMJNfA@YrIkps5Wd1w;$ahO7dwv$Q>T@K-)@jbWLdN7g$ybW%2 zjl-})Xxrz$e z(IO;X1y0AZQ?_(5ntQaB#QG&*!-HBK6|(7h3l5Vk6eaHaX$0Po7HaPS71W`m-J0VcLih4XSTq`0aJV0qFr z#mC>MGy`s+3z&tJtI?FPfO`K}J|4EYqdiS`mp>n{g5@e&WYz*CjP*~wDaB=HHmPtQ zgJRb-gLJRzzE#%ADO+;UO^c=~w3B5FyEu9yk^y7%xWZTtqOLs;P(2N!wDW?P7kLU# zty7U~1*d)S5S)RilQ+f?5bWV@mGPvbUN9v(6K1g*<&}jtV1fUE*R@v9Ne#jr4le=< zDe4ZN)Q2Hq$L178gu!9AD*}m#J$5;IGIMpUFP|_|1(WGvnOp$TK4ho`x<8?9powG`OHur7+2IH$VNOU` zhx$gHBE3l3fy7=ie805+n+7L-8Ia9w>UXLSE@3SUR{p6@C7JW<0YHW=v@PeV%dm+ zhR{;{w2{VDCCg>QYMP0qIj`~I)p{d~W(v7sEdG9Lgm6owc>#y=*j9#G(TgeMpKCrx zJyjC~=hElx`hbMVX-h)&i?=PWQu(nqm1R3*A1y{~yY~CBPdM_~BPPSx%p+{(u#k$cwC3>@QV|+=Sxga+;1qs_n^EGVY?06h0l-4ii zYDel|-6`&7{}QeJbw__0e=ls6+0LT5FE7>U52;vnn)Nwb!Obdd!NpW}_0p{3kpwza z)3pzQAxi2S*(|tPJH*IrzgSjp{x6|uDfx-m8TG-90|zMQ-fO$7wt`t7mS%GWO1z#< zf&L!{4uOr7;xIUG**W;EutSP5KxjLYNZ1aRf?6cxYq$V0aFqV`hP)xs#W{-O^x=I`#_J;n}IAv2F;StUvqZjKo&6HKn<{tG2?!N`bc&X?B+b zzE*HgX`l=E+|ZT>k2x$OFR+FE6c)k99#^>GsGUR#-gtd`sxzhGse8JyUZ@PK5%O!gea@Bt&t>xvSLN8+K1-P>28#*Ry*mX`}} zUiJFw?UH*6M=L4VsG&uc+_l!>4~=$7lKRraO|!e_D2Q{}(^#q!P(2MR^hYX75H8aW zF{-U)ukR4=J_egA88LXk0)?8~$6fD07}+iEX08q%{+yl01sdksq$}2A(5!2GU((Oc zN?*^>lXhAvqaM6}3=U+!A=)8c7fU;~f2*#4IJl;9>5r$CJ*VrB#f>Ijx!lxFXJ5rv zPD4M9S&9Z%3Tx;GJM&&m>wWaC+ztHggGn<$%6oRY6r_0Vm#s*tOcb&VGFVW47nboY z6T8qp<}|dJ$}wtFrNaO>jl6$vZm_86uW$*TX_4t%*oEYoTOZuaM5MB6>Yvr%D;zE} zu|9lbgE; zerdelzFPG%^&{*nkQTMAAOq63txAKGDSy-Rm3=y!hm1t(n6R7;KsCbq(hE(N&es17 z)uYH{UMcL~4c*>~HTmsuO4!-Ik;ew7WU!?OkPBsPs}66LqZ~zrCiF) zB$wo)0d%&yx0FkYn2r)wnpibzLXCHBxA6 z=Xki@$i!dej6|ybXC*^G1e3taB!{1o6#3`iEPa#C>2E7(@y0z|;dY2+mqb*Jt4=MSaCb=G0_}8ZGQL>Jy{%)0`teAJUxl-NVK5`!xaIEPpvo z9kr}BV2_y-F1-)hk0V6e?wXwCZnJYv=zdVCFVIYREdIew&}GTBNAaN%QP2{5B&{&Q zPt)=3O9j_b6Sb1jN{fRhylO&KhuJB-QL4(fq!~;V`zqZ|5rK@ zGCS$6`%kJ7HZ!KTs`gKAv3`NIG?=)Il-ViB8#rt=-@f8DK}a0LVGx8j?LGA60u+^F zDnlWN8H8ElawLqT`k#r;%KYRS z3kdJK{a|lh#WO~`M6foq`rw!YV` za_*?ft_xzajj6@^;$-rPCtIwzAhq7o6-0b#$;OmJ;dNO-suQcyP?${|J)Gzr4K!oT z9VTZ=DRffJDJ#&V7+RLpcT@dH=le13T}W-W~d!R3EveQcdkgoFPj!g#=#v)*23(yMOxhQaSHIk_) zIXvP?NgN)w`dQ*w+gBbsaFMQRk5{d`h|C(Jfx&&IH)e)uASey)e6=9epl3VU+t`a! zY)B{g92Cz}DEa6hQ{VNebf;Z9>H1?aGfK{_N@Iy~%o_v4DesJ_u(>BC)UUG-EgxDX zThQXHn)?c@9-J+%`}#b)*U>kk59{aN=u;a3Hphl9F&|GK=El7Qq+2K8%=hoAk)0pa zn<5H7=X{RlT9C?l>jyvy*L4%VJa~e4{Ceu{Jyjo&pg_C#QbY#bP0yVAbVG|Qtbit4 zbB%423>5>=I%n{t!)jtEAAA4YA?7z)Zq4TVAA0DlVc_GF!%y?TrI%vj^sJ>~Ky9tb z+k^SmGRwCie*VH!xJ0Hg$-}fb5SoKEI;*@yo4orkGN*gD^ns8Pg+v$RSDXonHTU{{ zG0hJb4RbdQxVNGJ(Ee^%YQzP3TOBIC(H1?tfmb?Rv0-t@wqWQ|3{wXLejGw-++Rr3 z5ixJJS0-iJTyTBYhrC)4RFNyN>(7W;I#0ymgdS>W^0pY5ZknFfPj3#nH$lSx``*!? zxpaz_j}ykvle+`~qY6imZ-eEeMc3cJcSs!Q{XT|qDlyzh2q^9oqp92X{zE0db3hHE zSi{L}F%epFyv~i3dsvk&ZZ%6{Fw8ws)4tD>#d>Z2A+bCX(ypjxhLr0BPRRxlXhEVAIr+Lx7Vj09S(D*Q2m$Dq~8A59jan`ses?C#r~00$YaLK^}OMqjp@YXBz11%@HD!UxGBX$e1T*lQWe%`drF5 zY|Sn#mQ#h>-?kr8R?w1C{cL9|i2J}1DmjY_?KgXuJ7yFNUw%z*qH8N(>T|$R;9Zo_ zevw+>H=_n5<-aJvkTd9Z%x1NB9?!nXoX8`Q2a|IXJT_WS4F$@|JjSA&q30~3;~3JH z4z=96Ln7}bWKd_Ne2MT(Rf5slBf3v^b;!@#5pad&tXmxxRY$kXt6ZJ*nBPj6Chpfq)5w(2EZf40yO_vEfU+M^$Ul+6WxwEQG zW~@m|>=nO>MwUxo1l=LRjJ#_0ad|$~X5G`T=PeHahdWh#Ss#GsU)g&7QbQNl;MZZut$xb4+`)W?wam2P*75b8i&1|&Vh!j!Hkl6owsR1OyZ!r$tJDpeJfo)Y)ARD)KK{l4iz z1lqJV^N}3*9zgWk%NHI<3lXef5@FagQ=cEm6>y`XLO`?!IXeLUl^9P+lWef6P znJCrIAEYPZG5>@mVDbmAfwp)&QuBMw(-h`qnNc^GYngB8mb=z=eejOp!2R+Q%Ne#b zX`Hg7oV9;*XH|r0$hGRwp4AUCDfz>Y|KTL8MFY)wjM?7cybsD;P((>Vs<(0P>b9gu zxNA@}HO?);OnxU4*7Vf;g)Z1K`4?mfX7Ez&2-2lScx61{={6hTtZV(xez9smyEWTX z8ftZgo%fr?b@KBAh`uh@7sj((uuQ;)|4<>@BN7yLNrZX!Jji*d@u zqbR4Q96bl+vqbhhCteI8Z6`)0ye9kSyJ(m{6U%y#jP3k4&*vTGf!hmu7$R(T_w)Y0l#ylYoF@f0pzmkHm zmR(ATdcZRX%H<2aC@TzH#DCv76F5P-T;ye7qD+%T|SVe-r4*Z0lRkCT8XT7T)X5`@mi>-#NeBBI57ic#c)Jh|RHz`O;gEAtzmNTH6b&@P09@6<$c)Paw|wkFo`S24gw(s7!l=6vWTe#HinYLTNxa)0O{6 zc(*8p8mRvMm+bt_oUM+lUUUb7{4o3r(MsG&bo?7C>OX%QM6Um1SOjEYf%I^eR;4`3 zG6)jCPPFnwG4lMi`hycR)niJiZ>j);DE*&wyW;7{=zuAtn6pR=!P}1-f|>ynwC0F2)l9`+#Pnm#Gr2Mi7L)W+li^ZyFCkx15th)g=%P6r|^X0omY zIRo_*PsslGj}fF>H`e>%-g{TB><}wamI|l?g!+pEI#Wmc8$N!AsjHQS>eAY|;qw)w z>+HGOWca{|pV1m5(chD4{Jzb ztqlzH7nibAI45wJ2F8p)(gHXX*NPQ{gl~etoS6tj27n^K#R23EXkbnNm{7oR8dudv z@r)WRm#04fw`@1$-eDZQsh!q5>S~O)5k~hzd*KiqB5UjnhhO@ky_CwEXPZ28!!hi*A z&aH6`&k?UkiFwPYQDmNQroOD;*(_}UE&{-{V;zT{^`k7^R{YB;K`)&y6>D+1)P zHE7DpB>k2|#4IoP`~g1ulJ#2(qKNe?$jH%*F@!JgNW~zsov4_5(R;kN+bbtZ)m;zr z&Dtf!a$`Rfw%kQAvVmk|5hnEqnUa6*TF~I^;Mu>0Ra0qhC%gpTCb({a7Qpn2hmF zM$7_C(AD$51%=gn0zqAx7*W*Y`l#dr7)5!l*l!v{`T+)RZvPq3wv6oMEhAMgt;z&( z3p8)ItWv0ul}~v9#vg1gJ_X~+ci{rh5jMozJ?`!@4=#BEBI%@r`Z8CF$?2D1qxvHP z;8QwrhS&CaFoWH$2*}Jo2ViuWH}p>$8p_D0)CDvw&nBg2G*T)jri*fyv`GO*>-g=x z(6Wpa6AcwK<}Ych1YJy*D{ns6C%s#`E(MnKwikUL(haVJlD;mVpR97jvThR+2i)l- zIlIZ!OV=Y#!jpOfXU^l{{f(L2`M_hd4j<{D zJ1C2I<8MeTwguRDu0@3~F9(=MD;e&l0b)(bEgoX9J9gj4kY$)Rk`8qo->^HIUKDoI z{mtaT9L8KFZN%HdUCsGN8`wl`7c=G6g5aU(7L3f*D}ZNK#7onns(FR9BRkm$$1|`Z z$^-x&?`Rq%eAw+q-lxKASP#x8*9%lD`10U290fdM`_!|mqL4gAopVFIR1d&E;d7|U zY?ZpEPV}BncQjnU8vzvYEkL}TXV3*DBBIm0hD_i9eOf5>(MA^-#m?m|tNTj%7jl=> zNP@KS@(!c+Qo-kKue45zb5f(9@fmUXJvG3Dl?-`}o%b=*G}UiX|6~nl)JPI^269={ z*K{tx4g{meL2V&*e7x&v&ub@6i3mVcjC!f?a!VO2gp+WK9g1ZtrK6f(O`tv1qH%&C z(9FOm-4ulRVJxRbtyapLdDm$rDI*-uZ6i!Uupd?(>5d#X4URh5vB6474Xs3KpY7Kq zjHPeN26cBj!*%lA-YY*CZMG=#CT~5O%qggEl^Rp!2$1Jg$M9llXy^OI=zcE9t!i}} zwp4p2&3}wxCk+yCi`-}J3OkmW)SeIAWATX>P~7!`J#w;}z+dr&@6B&-Pj+QKka)c~ z+dfnuBFbqIJgfU+{Y^b1VQ{5<`q@KUq0|7&A zy_I54($4r%*jSt!&@=sNN5ey)LuQ3t)jXxK$Bu2kAms)@O#DY)!?*ty7h8s3DLiU>RJPrY~74hYolj{Nd06(I{xgBx)bRyfxyP*MHL z((yh&ihe8~heF7D=Nj6;YzeQ)(N$F!`o2#s+xV=Q1t3~D_txSjGCx^Q<|En29oUG) zO>^tXampX-Sx0D0!tiXckM!ee_XQ=h=CSWxN7oZVxjIKx4{xs}EPQlj^yzrrb9tpu z)Um|$H2H%3VXMjYGVjSA@TLLXh)JAso49dIdzv{=ck6jO4qTspmAs=A8S^ZuSyc9x zN%pJx>Fqe$`ouTw?d#b4Nlu>3C`DVs&BBs=aUr_zWl8M>MZemnx5s`V?rB4!})5cooa$)cN zlKnI78Ea>oEWS*aDPXQ=ZAB&roNhJ|DRBdIo7fT_GnL1QKfOBRV%fMT9I}V28__C# zZ(|MWs=W@MUz|}z{o2U-^*X0+cY##dMCN3cwk-i+R1rn**3;$P6B{`FEuHR<)5Zz) z!5u>Z#S!$*&0T}<=6+AX@zf`jSn?I>+$4Lf1@Dw6yF-V|?wU1DBJf0q2PB~sNHKJh z+IucK0s3NJNX;up4z0>RGx83%$Wwpn>lm6X2~51-<49a5h65kCyv!t}Pun0kwH*g8bt&>*|I3i(nc~<) zgr5hqKf5jA?vUhNsUJ=Tn5zomLUD!$iacw{2tRLT|3F)UI6?x9!R3GWG~E*D&nVcg z;T@Khr&bh_@S!GL%+J^=$=YhLe9f@jIsW2u2}i39e(y;Msoq{N|J|uisY5{&#R5bO)vk<(C z)G&SDM;6}UcCePHgmk(BnZ83XuVYh%@plRxX}HP)B8i|5=Eb8fX+(l~u%uecuVtI0 zOV#{~hDn4HFcgV;ao6=y*&(EX$Q%iJ7V1S1hvv$^Vj?Q=S565!CL_dV#n%@)hR&4I&7-yg0H=KW8QI#trMmGB zQ^`{YF-mL&5@;Wz{J)g+PJXAHmi0t)rR4{TM28F{>k6!m$y0PC5$kLu;p$v)E8LA87ol5;oVSB_hFMisgn`%n~Z#_qorxh*aH zM|4TE?Ciy7edXUJ%A_}c3zYCDgwJEymx{nZF-y~D-d%##h;S$wA5 zG0T-A?`2Kvrn?s~*T#AD&5UJhMPi*mwd!oLYtfr-#8APUiwQX$k-}|PV>yv~Jy)Kb zi8a^EepJ-&K&+0!mUWvBQ*dD_6eNxYdDA^gH-!RX3(brLu+L!p!IL3O3V1)|1kLFV ztH|kvpeQ)Lvwb)jBO6>{{9_xzZ-g!DT3Yxeg}+kg0IrB&Ii1|d{S-XS4!-b~ zxPNWq_!qZtdb4b$^MGng<)O&W0R?g2AYX*@p4>se?H?UOrze;{G%~a%=!jKYh$HeZ z@fMcGSWI3wbq8@$25o(R9i{k4q?6q}8KHI=<`F`6ZsV60xnxX*^E-%+{71qMs>%TWy5(%T z!NGiMRr+E z6WB~tLl%Jj(-TBT73lL5mZxW;{2*;|w%hgIC0hd0H-*vJcKOqt;IN&m7gRNS!0j1uLA|jQf@YPvBULudKY74cRJ}wv27~z*7w&n3+YoxNF7wsDqZ!$`u3JA*lLkHc; z%LiG!f1?*Dj2C=Wj_Sh)3n+c$&}G(adt;dr&+vG1%$@Je=fpWHVDkA=7$Iv|LUn84 zoOU-mYEtHkE#b-Qo~JuFuCy)&wR6(77l-G#?$>SUBPQZxo2Bn+N&7obDR7sT|CuFk zBKWE@Sd3z2tr~Pc(gmd=`$AqTFCMwczWI%3@hhj@A7~lCvKz4S%dey~T5GzQsat3j z!d_jc@eu)c!d-a+&f}tun2s7y*1<58TlRM%b_?I zKYYV#-*_C`p2ni#%vWx+a4%%$$ioNT`Mk+mh_BA|Rc!a@Ky}|=&r7lOulCc;&b2hK ze|6@od{cjYJ;yuOS@%jDS3roai&^O_pZitbO)g7;sJ#lV3Ot3Opy=T0iAI7yIO{NFR+ ffAj70hhq{l+B>8>1&qyrnUMNzom&+*tsnhAUdCG9 literal 0 HcmV?d00001 diff --git a/images/0CVX_tsp225_approxPL.png b/images/0CVX_tsp225_approxPL.png new file mode 100644 index 0000000000000000000000000000000000000000..f7671a6593111777e0fc195589c2041caba2a708 GIT binary patch literal 10669 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 literal 0 HcmV?d00001 diff --git a/images/0CVX_tsp225_separationfinie.png b/images/0CVX_tsp225_separationfinie.png new file mode 100644 index 0000000000000000000000000000000000000000..c727351ecee0a9a0675d6eca6238a3c1305a945f GIT binary patch literal 12067 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 K)blT6?*9)MRRgC0 literal 0 HcmV?d00001 diff --git a/images/0CVX_tsp225_simple_1.png b/images/0CVX_tsp225_simple_1.png new file mode 100644 index 0000000000000000000000000000000000000000..684d0661b5406051f270e721df6b7eecd604e2e6 GIT binary patch literal 13149 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 Y`8=7GVN=U}3Oa+dZtAHQT}MCpUp1!~EC2ui literal 0 HcmV?d00001 diff --git a/images/0CVX_tsp225_simple_31.png b/images/0CVX_tsp225_simple_31.png new file mode 100644 index 0000000000000000000000000000000000000000..3d49f447fb0c21236af829810f7662acb55f0257 GIT binary patch literal 13003 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 VSsW_8>R>Jo`VRtk9I^la literal 0 HcmV?d00001 diff --git a/images/0CVX_tsp225_simple_41.png b/images/0CVX_tsp225_simple_41.png new file mode 100644 index 0000000000000000000000000000000000000000..7f0184b8f1ab13fab0eb0d9eede33dc420c1a9e2 GIT binary patch literal 14607 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\includegraphics[width=7cm]{../images/0CVX_tsp225_simple_1.png}} + \only<2>{\includegraphics[width=7cm]{../images/0CVX_tsp225_simple_11.png}} + \only<3>{\includegraphics[width=7cm]{../images/0CVX_tsp225_simple_21.png}} + \only<4>{\includegraphics[width=7cm]{../images/0CVX_tsp225_simple_31.png}} + \only<5>{\includegraphics[width=7cm]{../images/0CVX_tsp225_simple_41.png}} + \only<6>{\includegraphics[width=7cm]{../images/0CVX_tsp225_separationfinie.png}} + \only<7>{\includegraphics[width=7cm]{../images/0CVX_tsp225_approxPL.png}} + \only<8>{\includegraphics[width=7cm]{../images/00_APPROX_tsp225_approx2_2opt.png}} + \only<9>{\includegraphics[width=7cm]{../images/00_APPROX_tsp225_glouton_2opt.png}} + \end{overlayarea} + \caption{Le problème tsp225 de valeur optimale $3919$} + \end{figure} + \end{exampleblock} +\end{frame} + \begin{frame} plus de résultats \end{frame} @@ -536,7 +558,7 @@ Implémenté dans NetworkX. \begin{equation} \label{eqn:dual} \boxed{ \begin{array}{rll} - \textrm{Maximiser} & \displaystyle- \sum_{uv \in E'} \lambda_{1,uv} x_{uv} - 2 \sum_{u \in V} \nu_u + 2 \sum_{S \in W} \lambda_{3,S} \\ + \textrm{Maximiser} & \displaystyle- \sum_{uv \in E'} \lambda_{1,uv} - 2 \sum_{u \in V} \nu_u + 2 \sum_{S \in W} \lambda_{3,S} \\ \textrm{Avec} & \lambda_1 \geq 0 \\ & \lambda_2 \geq 0 \\ & \lambda_3 \geq 0 \\ @@ -564,14 +586,14 @@ Avec $D_{E'}$ la matirce d'incidence du graphe restreint à $E'$, et $G_{E'}$ la En pratique~: on ajoute toutes les arêtes. \begin{exampleblock}{Algorithme dual suivi de primal} - \begin{enumerate} - \item Calcul d'un sous ensemble $E'$ d'arête qui donne - une minoration avec la méthode du dual - - \item Calcul d'une borne inférieure de plus - en plus précise en utilisant le primal - sur l'ensemble $E'$ d'arêtes - \end{enumerate} + Boucle~: + \begin{enumerate} + \item Calcul d'un sous ensemble $E'$ d'arête qui donne + une minoration avec la méthode du dual + + \item Calcul d'une contrainte de \emph{sous-tour} + à ajouter via le calcul du primal + \end{enumerate} \end{exampleblock} \end{frame} diff --git a/rapport/rapport_projet_opti.tex b/rapport/rapport_projet_opti.tex index 6165d44..7aa706c 100644 --- a/rapport/rapport_projet_opti.tex +++ b/rapport/rapport_projet_opti.tex @@ -512,7 +512,7 @@ L'expression du dual est alors simplement~: \begin{equation} \label{eqn:dual} \boxed{ \begin{array}{rll} - \textrm{max} & \displaystyle- \sum_{uv \in E'} \lambda_{1,uv} x_{uv} - 2 \sum_{u \in V} \nu_u + 2 \sum_{S \in W} \lambda_{3,S} \\ + \textrm{max} & \displaystyle- \sum_{uv \in E'} \lambda_{1,uv} - 2 \sum_{u \in V} \nu_u + 2 \sum_{S \in W} \lambda_{3,S} \\ & \lambda_1 \geq 0 \\ & \lambda_2 \geq 0 \\ & \lambda_3 \geq 0 \\ -- GitLab