From 8b962c779a6d1e3acabff8c2f0e87d52812a058f Mon Sep 17 00:00:00 2001 From: Zastian Pretorius Date: Wed, 27 Jul 2022 17:38:51 +0100 Subject: [PATCH] started working on twoPhasesimplex --- .../lpr381.csproj.CoreCompileInputs.cache | 2 +- obj/Debug/net6.0/lpr381.dll | Bin 10240 -> 12800 bytes obj/Debug/net6.0/lpr381.pdb | Bin 13788 -> 15912 bytes obj/Debug/net6.0/ref/lpr381.dll | Bin 6144 -> 6144 bytes twoPhaseSimplex.cs | 168 ++++++++++++++++++ 5 files changed, 169 insertions(+), 1 deletion(-) create mode 100644 twoPhaseSimplex.cs diff --git a/obj/Debug/net6.0/lpr381.csproj.CoreCompileInputs.cache b/obj/Debug/net6.0/lpr381.csproj.CoreCompileInputs.cache index 321c7a4..5c08ff5 100644 --- a/obj/Debug/net6.0/lpr381.csproj.CoreCompileInputs.cache +++ b/obj/Debug/net6.0/lpr381.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -fcff68d6d49c0113e7e1149aaa08f33487aa1927 +2378da97a7cf4743291d214cf9ba5b9a5bd52a98 diff --git a/obj/Debug/net6.0/lpr381.dll b/obj/Debug/net6.0/lpr381.dll index 6fc1876869c4c77e85d60f2c01c7d4cc4706aacf..08f62bfe39275c19fe282612a32fe6c329536769 100644 GIT binary patch literal 12800 zcmeZ`n!v!!z`(%5z`*eTKLf)K1_*F~Pq8S!2FfcHISq#h! z39Sqa0$>Ct1R&y23e0)r#=zhYVkIyz7_fpEXt;rafro*CLBNfHAp}hdFINHXbg(iG z1qKEWFbhKHm84dbFfcIKs6+h)@+;Kc5EWoACg>Fv7bP=5-3IbI8v_G_7EA?%c3@y| z&?`#K$xnv3l>rnnAhQf0@-WhYfx!vJhS6f6aAknFjfsJkp~skkp+$&+fsuiMfs=s& zWE)H=QM3}11}_5x7lT$3l))t4E6%{cs4B)hrCc%us2gRor1B0*u3xgOF z*bRaV#e575TwKNc3=CY{MT`s#1;qjk3|zbx7eFrLC=z90D99INVBpf_#>T)Pov#Iwxx>JjuMIMcQ`=aGQ$q*DS1X=P8L3Z$JdkgVu7=f6443I^?dmz z3=CZVScC-y1$D0pvI_FU?B&%k1^H;rJ$@nHe`1^nABhPISqOkKyP%NRKSofx&~aiA z6Bf~yVGv{$6v{VaVBk^$)B*>C)0SQehK`E;{|Nj3M zWYypS720CLY=W#Be4zZzsvXH7$g05)VoM9M3QB7TfS59ZG8%#)hAd2vAgiFPptOb% zNRYM2l!2iDl86OaK_xnyu$-VAD2qdF5Eo`+U=U;j#fZG1yzU%OmBeTQs(Mu!98$sA zkAaDymcd~!jQxQ@U7Qh=Eg6^?%o!v4A#7;_HimLgy}-aA$iO59j!kg*_DV1?FmfS_ zNJQswvuju~FmPq^hzYY;EC$CO3$haNNIiBz7LI=`+Kghttb(jM@(gT(EJfxF3^gd26Rg1|AX_C79f`$2Zm?>5 z28Mz~3=Ci^Sx~L`#{#N+tX%&8|Ib!z11@2hAo+9R+Lfq`)mgCLK1gfI_C9IXByi!iSsukIC2LGFB81_mxQ1|d#J zzFKmRUx*VWUvWz0+kq0W76YRIDBk`vB*a7FMA(3tA(VlEffW=dVq9X}+DfpfVFz0d z&Tju$csO)e7}&WO7}&)lxY>~d=N}6%r|xNR>R=IM(P3i{7iQIFV-OQ&)n*W61*H{G z9UsL2N~;Wl3}Rf`HZU95kZfS$X4jE}OF%7vC`iq>2RWXBflWMuiw!CT4Fety-HlAV z+6MVp+s6iSv5pX`AQuNW0|SS61P=$Q`JkqS z?tXT-XFz^wf;3eHAtfP~IJb5Z0~0$qIWvQ80NeeKQS2Wh4~LF10~=HlN`YN24k>b= zLJ)1y(1JmmkAY3;|Nr`WC?6W;&;o#$Q+FbpFpD;WAPd;fObno~h4>ky3F2on1}3O) zO+=xr9A!`@0^xs5+KghnoH{%(MM%B}yY3$g*x$Pm{+2diXUJm&w-W^!z!eV{10*r? zXuAtBfzvWCBtV2&Kyfd@AjrZg$O;Y*s6PZ*#UnsDl@n$Mn;@I+4K_g*SiQgmNxvKJ z@e47bq+d2>@d$AEvVhIw787RI)@Fc<3bG?H!7A9Jp=m~tT|7dV9Z3PqZVo{X-MwPM zoED9s5E0~L1{Lg}B92RtODB_oO^_4GLP)l>hKmaFz~rG>RFE6t0!XHfiiEiUnr&e^ zU=9Ff-gOKNf}G+J!kmJfY|!Wx<`d+z$^jJ_!u;9{g8W(x&^*h}5RwcjU*Rnx1_lOD z+vW%(ID3q?ZCDu?;Av^lwQU4hk!n0)HYPzKG=aUkm#2em~&RckCr zk2?cH0S61HCPdZ6#vvY2QHv=U?FyJxg!i}rGv9oFSrf`_q3!LKwT|C4nZz(fdH#RVcjeau=;;2 z!rX$~x>wi*Ibn4uJERN()uHStWe~drY90ETA;B9`hl29pX=ZSL99}j;9Lb{{f?hT< zaOOLJ+R?1qqC%`1jvyu*sAbLuEhL3lHJm_=<45=Sg;@WIaUmMVm<8oxjDoV*8Ps=X zV1aZv*tI2v*deWd4hD8X4seen-vwM+2(d#N|Mwu>6{Kzjs8Fm04Jkn50bH9wTt|$E zm@t=xBuG0bP+b`qxQhHi?MpY1Pq_uTEvJLhA}DVDF@jn%I?fEtpfV6#+9F#;P!Q4N zb|lvbcaJ%N7S(1D6xCv2)Bv@WwHTCqAoVU213yDz0gTpsq1n187tT zG5Vmztl`1Hz$NyNQ45Lb6zt{12p)L@mm3UaCVB>X#sgmG3z>vesz#suq z@063D1Xc|42LofcC=&-K7Xt&sFGgbqG4Plh11QIFL&pCYq(Nh!(D6YT28g>ra*UAv z0ob*m@nZ&tP-c)AsKP2{GGJk2xCbV8Gs?2?GX$`J#D6e~GP5xpWm?9}#t;G~1;L~q zn4AnIA2NbuI~YMGd}5lw%*Jq@1w<}p1d#%)ATont0y7tb7sG4@Hijq6?F?)Ti3}5% zy%|_p7#R2%b}_`Wurd4r>osHsso%;nfmw**Gs6vLHU=B8E&;GPqf#|xtXLm6Weizx$)cb?Gz%mWQp3NWl;0`Zu@W9b46 z3XBX4jttD8UKE1>!vhuwj~yJI55YWE@Zh!pIE)<`*g@m13<3!W0B8iAp-n=7g^hucArj8ZU}j_}g7b2j85x@3JdoTJ2#-OWv6z{WVH+rc zz)jhY!aIS&y8`A-WSGO;#>~j@9?XN;{sY2eIKvEbOM@CHm?tt^Vd!FJWDo(3hBHiL z@L-;3|AmLh8@go4BQMibU|{B3|AO_Fmp3R=tFqN8Q55O86u29JcvGi zhD0!LqJ$Vr8#6ycE|>?CD+BYI8MqiS8Tc6*p*(GdOwb$z10%yL22lRuV#G!=F_bZb z#80q*NRS#PhGbUI_+&0v93o=OijaK^R@n&_>15?(5MW_s5M%(wtR#Z~3m1bXg8+*F zgCUr-1e1F3`ZGw zz@!M6e97RB;Zb}@cr@L`LCP^kGCL^X)rejP`n4%ey z7+M*2F`Q>8W}L;ikZ~iUHnSl!O9LoOw2hy zCnq(zBr`v+SkFB*FSRH$nZYq7g~2&LuQ)#^H3VcmLqSn$L1Gb{lbKfn70)cohcfe0 z%OPS2S2K9JWEL0X7lVx`0h7U*dFeT+46v|ZNXyJgMYsfPBa9nVnpcvUo5~QBnwa8~ znU~5CUX)pq3SniW7Ns&c=j0csGC-_IWe7+tDu$|IaLr9hO-V^jaV#k*%1kOPNo8=( z&n?KzNi72VFtG$#3a%)$I59mH&SP*%O)5=K2e}#{=2x1NgDT=!T%4Mllv5d!S(1aK zIV731}37 z#Y-}iGIKIZkYt@IOF*%gn_rg7;F*__TH&9@;Fgn^juydsP!DG2r89)&L)wxIzKJCn z;Kb~cnwMUZ!H}Ghnw;%lP?DLOn8N_cIeIBMISgr;c_{&)MChEK!%zTYl%y7yfCONf zg`pUlYoJy$6lbRAG598C<}rBXXXZgg^@38NzdP(GP?g$%(ZMX8Copk$g_#1N8NQ37SU<>coVF}SCeKyyS%ei4ISGK2(EP(xfY z6VvnZi%T+-i{UPTqaB5LmW^!sVG*M>erTgZmq!y!O(qe|P#GKO9Vg^_| zg2K9(!8bFxD8D#Atwhf`KPA;MFEOXGI1{Y1Br!7&ZX;4L0P;{~UV3mrPG$)x$n*1x z8Ni9Gm;oO3kn~;5Pz5R`N{SLQ^Gb>tlJoP5VeFt(P`o>qfSj0|Si;~2PS6bgNm;4M zB@AG*!SU-{T2z#pR{~+@m*$l)lqD89gBf5uLsE-N7<}`~QvE=S6&zDig7V7|u@2&Z zV;#iE&CK&ntU!-CShO*OB~~)z7sR_3mL`JIDuZV+D6ssCTyqObD#7Kxa3(_@ zLjgl6LkWW(LkU9#LkR-|doBY=6htR7R4_0w+cGdP+c7XO+b}RND}bsSW{_wx0|R>z zLk2@J0|Rp^0|Rp+0|ToagDnFCs||=`Sh#>?aoJlvkEPvfQn===EMs6%U}WTAR$yRc zRbXTk6a;bkz)VYfc2Q9wPevgLFe$?)_aFawBSs30J(;Pi3h42ER?`5L~6KmfJ`Pj+-2E$WchFggd4jU$Qd9E zj#xgB*>E0M2<#DvcZ6hwWI!GV1q~Au2RKQC6|;i0@qhz^kClOm2^?2Ud>k9>l za#=C6$+9xBu`;pov4PV(4>OyP4m&h$gYp$CC|}943Mnw4r$JEHhKGR>906dvco;yL z02(7A38JHu;0CpzWD_{W*4yZJb7y~m%1cZ^Lc@>xthH^+Lfc2v) z0`Y`oI2ggba|Q-EP-j1cNi4i5vA{1s&$S{swE)yO2+1hQFE3`~U}Rtiw>C`~86@=l zTtl4mi&7m63Ur_~t8JN?o&h662%iYNK>}(u+1};VhR&c|I zfq{pSf!$Eg00bf8U=9NVE66bnEFcTj7#Ui!L4!CUOuUXcIr-(jr8y;;1v#k`2w`QcAS1zrFatw!?X)utjJ^S&_INl014D`%149b9*9}nsQYy^A zzyMmhw%d(?VKH~*gqGDANjKQ~oBwlLIVF$8-!8kw3gKuzZN zgPII-{mGlAF*Q5>|9t=I{&6no3OA5TR6uO-SO$oPieW3^AfoZk`9-c3so-WxZgFyc zQEDo<%>$ABugai6%nC_}>Y+n2fk!G77#JEP7#J7=7{DtDk(>`seGC>@#6gNc%ML*_ z0z=ei;81VF%)l@qfq`KSD4{_$tzj}@U|Nz;um>@r>scWpPyq%82GBStBSRQNB0~{_8$%{T4nrz~ zCqo`X8bdxDZ1$czVfB^Nav2K1c2qL>F(fkNGNgjd&tWKFC}J>X zuwXC*^Uc8OVJ>xHNM$HyNCw+mfZ{H6eFh9142*Dhg)yWu6fqPd`NNPwkHG+r85qnM zxEUD1AyEQWo5zsIkb~qhWb^eHQW$c;BhjGcxl9a<3_c904C!DUAfFX5RDxZY&X56W zy@8kP+JVjYhl+z*b0G6!{sP$s2?1R8K*BA6p@<=$A%&roA(^2B$#o12$ofD5XTSg& zQAAab9twysU|_HShnFKmF+(v!Dnl+q5ciZU0y>G{5qYsN1J5bUZe%Jvrr(n+a delta 5164 zcmZojX$Y9m;Z>ZrdO8CXJYY~_;AS*nV31>AVBmlV#@R41FeorEFgSqt4iGjI0|N_) z%YdL68YW)S z4~aVqjn^7Gq%GQf&aqXfQG`XlpPrFlY;N7E6LG<6;ox6y^~V z=GB%Hv zD1z*C20>x*2w`DCVL_q3Oru%#f&zkqwX6&bEbM{;`LbZgGjQh1fx?GJ0+f)drB@X%leg{?9J1DA#h zShJA0hAIOCm+p~!{6gaY#8?>^>ZSA5KvH)Y*z?svrb%iW3rT8dfS6JYf>PBWe}K&d z6M|CJAh%)~EUBRhGg$JU7#jlv%-muvkWnmxENo)=+6)X_V29=Ffb0ZWSr3wx)|L{I zhS({?Ajl#p1GWUJNJtuD^xb>>Lef}_W@Qj$$=3xLBdhH#B&(qZV#+Z<;!|EsSV3Eo zK~P>$PEa9VA1MVXh(`!32rASI%H8gI0Ghc3<_95 zB|$auh<}X28iE=+5-4tJu!p)yTMR5-kLg&L4+PbrNI)XYH+#rT7Ourzjpst{{1`kM(wI~*902fFzJ4j4V zP!E*(ptgw%voSCTvVr19Ur=9njuxW{sGJmJatLJN2Zb>cLnf2M%1jvN4wE`FGgLyE zIiecEmNsBxC}#v|WDsOv5(5VoIH-HY85kJ3kVPb-bGX?xOc@xsGI_*=Su7TVED>aZ zE17(nLrOKCfuTTW&c<}#joxaPC@Q`O9lomH3lJ0 zNN!njk6(xrCAV-&i3=Hhz z5!~!>uTKu<()DM7=+(A?>10FF$;8dBBL|m&YJ@0A&9?^S2nGf=@dz$9s8qhe%ffQ0GrMBkA;_0M+jAri-VhifkQlkhXY}jKDTTjD6v7x94>Kg z?IZ>!c5qr@2Ac%7;~%5gKSmx79b*PIs3epEhr2i=YeR*Y^Ytgs|Wgtj;4V$qw=&xCrKg#yXF-yAYFx-sD&w ziF%M8SRQ8;j}T@RWaR|A<{yhNn;@I+4K_g*SYgNniQWzO_=T8IqL+dK|ZS-P%fFg zo>#`z29#{Hl$bQo7<$Em3=C`yptcM`R*PA~mVtpw>>r~R5|e>pa*wF0Eh__qavcLh z02>2?1c)76Qk0pOUJNQ8GPoHS3K$p|ltY6VZg4X&2!Pn`p`I=b3=A*085lM&Pktw= zR<8(cUve@qFbFe1T8Op`kaj0KR1Q=fu`)m!ddwiR8N`@DVxW@Ogy|wP8^e4sS;M%G znV;b!Ge~?V<25EWhBl^jW;O;++2KLfL( z00Ssq92wXd1Q^s9L|GJ=)EF+-GpR7KG5larXJTXEW6^?>5zOjLW(;8rhD>4%j0~ns zVhnN&rc42#);~j=#71T|21bTRIM0@ek)a6Ab7Ep-XoB-Va#O&(i43vK9!!i30%{lhX@aWF(^gXAC%KTf`+=&v~nLU`e8S242n8pq;ubF|1 zVGRQ}!(=E=onZ~QBg4qB6Pze-VkMavK$QX`LnaF-;eymKF}!DCU|?p@V+M)*1&i1J zW#MGl$jrzf$N&mdNrsKgTnw5F8<_=I+U{VB3K4f5FQ`W@iR2hA`%2FgqE_ zPG*Q^ZU&2h(n}a~Gea^%6Z2vQC5DyEiy4F%0+12vWq% z2(myC%ywW>VhCVP0F%-T8H~#rH!vP!JkNNaaUR1`h7$~b8KfEA8T}aJ7+D%XNeYza zVHi{@fI8A}KGRn)6IIMP3EX)H^|8US5CSZQs<0AV?xKo41FPm>U}ex}c*9`G@P@&a z!5CC7+t^vg#~Z{OFxdDeX68+PFC)nUW(dg2a(m{L7#lITmF6WUOb(F^oV-caaWkXb zWTwqq6hs*(Usbf4ETLr17LxB+RFpWmQpuxUJ%%BbA)3LM!H^-BA&4QBA%#JKA%r27 zp@N}=0U~F>kPGrYa|Htfb1?%0dl5qhxU6GY^~mO2Z>7tujN^`}IbY^7uqZGxaxg0} zFtREzG71WUxO`xyWkVyofvAuxqmTrcl;IQd1TjQ~>RlOmAS_o#9wsIs30Xc6mxoD~ zkAqK^Pe=yL196y`LtTDiHQR&%E83M24V>V z&I&S*hlPQW2kc2<24)2YJ`M#2kh6pt*g%w!1d9TLFax&$BNHE=s8HtQY85F9Uq&Gr zPLN&@=3!M}6lUPy1gQq|<=OdU`FJ^m0zn=Cdl@V&D&#u(tcrAfpsWlVC~zBEIoR1a zIGC82nE2RPIGC6~sz8{BO@WD#Lzsbsos9=1&%w_QaVS&`j}f~7NF50C@W8DFbHN12 zUJfQ6sB*9n3j-q)AIAp!`1*Rmt6WyhY_hCOY^+Rdd~D#rN6P`CT~`cuma^2P!1~CsCk!x(Ki5;3Bwr}7<#N372WlCC zs>#RJ3=EHDC%b7V37D)d;|$)R>b2`6bIi=iMjDeVG`#enf?ZZn!GevNu?w;{{3*IC zmGgE%>j@+15E{s2ADhV^G^Cj9Y&P>~GBHk8Ft{<9Ppg>GVRMt#ZYD3~GAJ4BdJlH7pEE^;sC68L%)sH3actn2|xxgptA2gq4Abff4LC1_m)E z1_ltHm4T7LiGhLPHUosuQP050@PvVZK>{kk$-u~<#K^#K3d-kUU}Pv}WMGH@2MrSg zFVsMOP>3)vGw?zAuFRm|V`dO#U}R8dU|=wY%8M~DGSnmS#TghGJ~1#bNI~W6B^VeP zEEyRXyrBY;AQv(+fL+PWz|0`Uz{udm$iScvm6v8Cq^GlJronL&+#kwKe* zf#C=^-kBNHL4nA~zz_`OYcMb}a4|A4ctQD^42%qtj0_B*IN)VqX3&C~7s|lE0OEs^ z1}K?WGJsMPGlLFPJ_^jQhX{aDAjkrK24)6bsDdyC1_lscpMepaDqX>;l9|B(D&GX< z8!|95fYK!>TL>~RGZ;bTK^B1cCQ$vJ;IzujU<#GbV`N|us%KzkFlS(75M*FraEB_e z0Qrc4fdQ1rg&3F_EEyOX6d4#8bfNNA42%pQ%R#vVByY{Y2u?3^pz<~hj0}$%7#K34 zd|L)ahA#{Z4B-q63?dB740ccl9ARW&s0RtSA|)CS-wi3zfcWl6i3Y^?KuR+pz9&+e z0r9<%(u^nrGlMtO!emAU1`ywufssL&fq~%!14BJnz>k5E;VlCsjzJ3i85kM9F+k!N z#1CL#WMGBHu^0n0Lm1_p*1Ob`VT42%p+j0_C+P<|u>BSS7T0|O{cNHH)mL_r^+70v_FxI2dQhPNvW6dQ4J3#dp#BE=l?iMa2iUKi zV83#KMHs-r&d5-T=1?|pLgQdq1}?BczT^TsQ5dR=k)cI{kwHdVoq?Hwkx9LtfrUYy zWdQ>l!z_&j4D1ZoH4ZbdGTcym3?>yA*%-cSBrvium})mLvN7c8EMR0~_@Q%vk&VGm z_W>gt!#Z6CCN>6XJq0EcnpeV*oS#=*Qk0mP zSHe(`S(aZCkPl*(B^Ej7mrizK%jPX9&kx8*EKUv1%q_^7yozmYJ$qVaPO4sVF^4__ zBOAY@jIzSlmc;s+ zX{-}D^*Q8Le4<3Q{qB_APj!r+w5t27&Efgs6p(OQ2*tsu+7Bq4bxl;UjreqoFHMJO^{I2nmB~HqS_1qq>;5$|HF7laPd>yRfG!w0S)RiJU2x~* z6ppEk=9_!*eJ@@c!II< z1Y5HVW3vof3o|1KO=WC3#?-Qxv2`|6>p8|YMyA#ujBVQ)+f$j^Uof?;V``nm*m;n# z^ABSepD|O{Q>M;o4L3k#K6Us1Q!zn3tS~53#d|M;^2UY zfKwB5yax+|5JRLOC`oCmB(gKGgKS`(>}(XI$x5}pG;#1SFffKr-eaOt57x-cV88(?$GI7jIT;w4@);R~m^io~7BW?9af2!v zQI2qsTqPp|Q=t)9L_^4*4Pr4jgBw`C7=tfJO+F)oG!q9OOuqwIH7AERGpKD0_OJjb zs05fm%_I=Xz{$dekQ8O&5CM4%9BSMkpM!&g0qiPK1|cQ}C;<)&P-7evL_$m)P+_nF zupF3RU}X?x;)0r3&d7jbVm&r(#26`p(@2s`tcMj4V5c%Ghp{n8GI)!Fy`K=t$iOV> z!p6YQ5X%D+5y(pvf(8{612`O2m^j23beI^F85mhA85x+%oj|JNc|a+PmoJeO6a{vS z0gR1pY&DEEj133b8eTFsyku)!#n`xtu}PcJpy@ADvlCNu9aF0cQ)>cKI~!BGBU95C ZrY0rE&McR(N&OWT1_tFi28I=^3=9&C3=GP_B}JKe>BS5T3=9X@7#LU>7#Ng8gBgyn zF)$Q>*zTd8E({C|ChQChEA$u`l$~<&lR*5{Wt_n~RK0ecWR96R*+`>cqvl;!1_rip zQ6>&fE(Qih1_lO21_lNW1_lOB1_lOU1_lNm1_nL`TLuOOIR*v>c97)6gWB~V8$q&~ z3=9kw3=9lR3=9ms3=9l<42%rs3``7742%qY3``977#JB|GcYkIGcqz5FoINp+>F4C z3|eZ83>{jG44vAH48OG*8GLjY88+%LGDzz(GBoHSR3cc6472L>7#SAou`)0*FoGS; zz+l75zyRWNFfcMWF)%RPW`OXy85kL!FfcGkK>0ijj0{SQ3=F5Be0~N-hGIqrh6pHM zfPs-gn2CYG7|Iu9U}VTf;tMe_GTdXTXJC+mDiCI1WKd;hVDN_WMHmx28Nwbz9a)9!%Joc zhCV1?ih+^gIw<@j85kJY7?>Djp&?Mt2;nO-FfwQ}Ffbf}$}54wh>?LI7|K^>U}WH8 zWMJ@u@>LiZ86+7Q7!1Mj%fz4xH7^v(S7TsgU}j)oumr_D0~3Qf10zE{C^n*y1VAYV zWC14w6N3iSfG}_>Vq(x@U<9WoR|W$#Gnh62bmAz z>qGT>f>R?Cg8>60*nWmQMo{u(VlZN0WDsOvU~q>jFb4UEfq}su$~R$P1Se}yYT{vF zVlZW3WB^(20hKpnU<9X!IZ(bi10%y@1_p*qDBpsCk>Lvi14B3i1A`C)6N4o~J;=Wx z-+=N6NC3eHh0HnzP+r;(&KK$o3=GT+N(`V}Dg%x~E^xquvJ?kH9XO0w89`>HGJvug zC|B__fJ6kqvVsgCaS?D{lmLrJG1P(lF9YVtG2CZhV323H!N9x0(!#m9d4D1YbS_c@|7?QOQGq5sfs6Aj{ zV|c6m7|dp1WMgpFQD9_aSghl~$i^U`o50A%P^8t=U6czSn zZAJzLM%K+|4MZ6wSSlGA7?~;=88iezg(*7&ZxI7K13Sy)jh442KQKPQqRqs>J$boF z@Fb%G8(!!9yyEX) diff --git a/obj/Debug/net6.0/ref/lpr381.dll b/obj/Debug/net6.0/ref/lpr381.dll index 93ced731df90ec78835a724da7248f1f0794cdb9..90c4238f22b65333aa669fe394c6ffa150f2bcec 100644 GIT binary patch delta 1281 zcmZoLXfT-2!SasJaR0;}8KyeViL1i+bUYat{23S+7!nv53|J>B3iC8DFz_%iFbH@u zFvv_+WYU=&$>`72!nt`BV;GZwKz-_&UtG>EeXa}hEIh6q-7LuRo>7V+!4qTz1A_+x z0|OHSD?^9_1H&E;1_s8-icIE{1K2cdXD~A`DAzGCu&^*N1c2DVB}JKe>BS&@A?yqc zEDQ_`%Avsw5$p^M0wA_~sHY19149No14GEybKHs zvJ4Cij9@zbBz^)c@|!`PiH+egV*nEy zLpYce0h5McavGR?!T^%(W&oKZP|xJT#KyqM3?i2?fJk*PTZ6%ciHkvs!I6QDL6O0Q z3FILY5W&C*avGxmLnXs~CQCT)62ojTkBNbSQGj7RBZ$WY_Pzi^Dgy(9D+4nFD=7RK zq?jQ*b}+AA8q8&7-~e;Ez)IP{p&`KF3YKGM0Er4Pm_m6x49toG47N~}d<<#~7nxKT z)EK0gG#JA^{FCT#{Y1_K6D1~CRk21^Dp20;c(h5!eUZ`$f5nwZ!a z7-3wACMHJ|o*N1eNsb|g!3RYS)f6Im4E1Gb)+1?TNWv`#bv7qM6B8qYAOpw~k_=5u zTnw6Ewjo0klK_Jym~;e_o?tQ%Oh$sqL=aiekO|h%$k4o}PCqvoU3=E9TV3B69NHaq=gF2)20tO|9Ukrz#q!5E2<6|)UF$0LL z%m|WIW(2XF!E9$RJDD+=VZ!8IPF3kFP&6{Ifk_A<&F~GJT)8Ko<N@OfqC$a8d`v6~jEt8mh8!ld`gr5@M=xgCmeM}} delta 1055 zcmZoLXfT-2!Ez+#{)~w|GEB2PCawzO^YCC`@MmCPU`SwKFkqdiD9qEqz`(=6z@X#7 zz#ubOkx6HAB%?pu0uBZS28YRtT*8|VGTJiyC zh8ho$Q49B7LkFolhQ!DaGRHuZX81_lO@YdE1aF9QRE zECT}rBLf2i6O?9PP-X)085r0Y5*SmN*chIH$rTJiO#BS3Od#=1V3DT`oJ?#CXBn-S z*ccqaM^k~TxJ516Bt0`M=)EFL63=xL5jf=y}aCrl6? z8<_VL%&TW*U}s=f6ksp~D`jWkU{GV2&7{Jh#=yd)!NA7wgGrl#jbRFt9-K5~(q=GY z&|olS5My9uuw)Qp5M;1q2yg(ou}#8tt!Z zd5jE`cku-?F)~c%;a3nU0A)h3Aq)&%AhyFqMKPutkI7;DJ0=@2J=x4B@Qamcjs-aD IPBdT#0Eob+!2kdN diff --git a/twoPhaseSimplex.cs b/twoPhaseSimplex.cs new file mode 100644 index 0000000..3f640d4 --- /dev/null +++ b/twoPhaseSimplex.cs @@ -0,0 +1,168 @@ +using ConsoleTables; +class twoPhaseSimplex +{ + public void twoPhaseSimplexAlgo() + { + file file = new file(); + Tuple, List> content = file.readFile(); + List zConstraintsList = content.Item1; + List constraintsList = content.Item2; + + // print constraintsList + foreach (zConstraints constraints in zConstraintsList) + { + Console.WriteLine(constraints.minMax + " " + string.Join(" ", constraints.values)); + } + foreach (Constraints constraints in constraintsList) + { + Console.WriteLine(constraints.sign + " " + string.Join(" ", constraints.values)); + } + List> table = new List>(); + table.Add(zConstraintsList[0].values); + // add all constraints in constraintsList to table + foreach (Constraints constraints in constraintsList) + { + table.Add(constraints.values); + } + List> newTable = new List>(); + // add all rows in table to newTable + foreach (List row in table) + { + // add all columns in row to newTable without reference to table + List newRow = new List(); + for (int i = 0; i < row.Count; i++) + { + newRow.Add(row[i]); + + } + newTable.Add(newRow); + } + int varCount = newTable[0].Count; + table = prepareTable(newTable, constraintsList); + + // print table + printTable(table, varCount); + + } + + void printTable(List> table, int varCount) + { + string[] headers = new string[table[0].Count]; + for (int i = 0; i < table[0].Count; i++) + { + if (i < varCount) + { + headers[i] = "x" + (i + 1); + } + else if (i < table[0].Count - 1) + { + headers[i] = "e" + (i - varCount + 1); + headers[i+1] = "a" + (i - varCount + 1); + headers[i+2] = "s" + (i - varCount + 1); + i = i + 2; + } + else + { + headers[i] = "rhs"; + } + } + var conTable = new ConsoleTable(headers); + foreach (List row in table) + { + // convert row to object array + object[] rowArray = new object[row.Count]; + for (int i = 0; i < row.Count; i++) + { + rowArray[i] = row[i]; + } + conTable.AddRow(rowArray); + } + conTable.Write(Format.Alternative); + + } + + List> prepareTable(List> table, List constraints) + { + // save all values in table in to newTable + List> newTable = new List>(); + foreach (List row in table) + { + List newRow = new List(); + foreach (float value in row) + { + newRow.Add(value); + } + newTable.Add(newRow); + } + List signs = new List(); + foreach (Constraints constraint in constraints) + { + signs.Add(constraint.sign); + } + for (int i = 0; i < signs.Count ; i++) + { + table[0].Add(0); + table[0].Add(0); + table[0].Add(0); + // add 3 0s to each row for every column in table + for (int j = 0; j < newTable[i+1].Count-1; j++) + { + if (signs[i] == ">=") + { + if (i == j) + { + table[i+1].Add(0); + table[i+1].Add(0); + table[i+1].Add(1); + } + else + { + table[i+1].Add(0); + table[i+1].Add(0); + table[i+1].Add(0); + } + } + else if (signs[i] == "<=") + { + if (i == j) + { + table[i+1].Add(1); + table[i+1].Add(1); + table[i+1].Add(0); + } + else + { + table[i+1].Add(0); + table[i+1].Add(0); + table[i+1].Add(0); + } + } + else if (signs[i] == "=") + { + if (i == j) + { + table[i+1].Add(0); + table[i+1].Add(1); + table[i+1].Add(0); + } + else + { + table[i+1].Add(0); + table[i+1].Add(0); + table[i+1].Add(0); + } + } + } + } + table[0].Add(0); + // remove intex newTable.Count-1 from table and place it in the back of table + for (int i = 1; i < table.Count; i++) + { + table[i].RemoveAt(newTable.Count-1); + table[i].Add(newTable[i][newTable.Count-1]); + + } + + return table; + } +} \ No newline at end of file