Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
01/11/12 13:05:52 (13 years ago)
Author:
epitzer
Message:

#1696: Add VRP depot excentricity metrics

Location:
branches/FitnessLandscapeAnalysis/VRPProblemAnalyzer
Files:
4 added
3 edited

Legend:

Unmodified
Added
Removed
  • branches/FitnessLandscapeAnalysis/VRPProblemAnalyzer/Problems/analysis.csv

    r7232 r7315  
    1 Instance;Customers;Clustering;DistanceAvg;DistanceStdev;DemandAvg;DemandStdev
    2 A-n32-k5;31;0,05;0,599350480185808;0,0809347480919622;0,128125;0,0739272235039299;
    3 A-n33-k5;32;0,0384615384615385;0,521478706887915;0,076475039126814;0,135151515151515;0,0660175005319968;
    4 A-n33-k6;32;0,0476190476190476;0,510336845633077;0,103588425097063;0,163939393939394;0,114201825436225;
    5 A-n34-k5;33;0,0416666666666667;0,52428874792884;0,0921966581063749;0,135294117647059;0,0740919656721471;
    6 A-n36-k5;35;0,0476190476190476;0,545092711041649;0,0949610185623992;0,122777777777778;0,0673139869529816;
    7 A-n37-k5;36;0,0384615384615385;0,508002007622718;0,0844594213287874;0,11;0,0811738208364568;
    8 A-n37-k6;36;0,04;0,514424005224592;0,0889408533515107;0,154054054054054;0,111317890538021;
    9 A-n38-k5;37;0,0344827586206897;0,520449401480875;0,0913184245861189;0,126578947368421;0,0706465001103334;
    10 A-n39-k5;38;0,0434782608695652;0,518561562411768;0,0995909867344089;0,121794871794872;0,0810783664867704;
    11 A-n39-k6;38;0,0285714285714286;0,563735357507669;0,0859892792236473;0,134871794871795;0,117448773227633;
    12 A-n44-k6;43;0,0277777777777778;0,509632438101355;0,104672574470562;0,129545454545455;0,0671143713594578;
    13 A-n45-k6;44;0,0333333333333333;0,573871000024542;0,0944539022245261;0,131777777777778;0,0697388426405221;
    14 A-n45-k7;44;0,0294117647058824;0,498541713574786;0,0702938413063176;0,140888888888889;0,071081243727699;
    15 A-n46-k7;45;0,0344827586206897;0,529753312238666;0,087074450383146;0,131086956521739;0,0733730272935191;
    16 A-n48-k7;47;0,0263157894736842;0,542949933008481;0,0740567487187761;0,130416666666667;0,0691905079392317;
    17 A-n53-k7;52;0,0217391304347826;0,535169968171689;0,0859947144145705;0,125283018867925;0,0868658426385281;
    18 A-n54-k7;53;0,0217391304347826;0,561529337729543;0,0767684856457732;0,123888888888889;0,0779937477709465;
    19 A-n55-k9;54;0,0232558139534884;0,525352987521764;0,0859203973811276;0,152545454545455;0,0985756411330578;
    20 A-n60-k9;59;0,0238095238095238;0,55017977621306;0,0793105892689902;0,138166666666667;0,0939413232939701;
    21 A-n61-k9;60;0,0208333333333333;0,472196011672381;0,0699500665212212;0,145081967213115;0,0979732809146415;
    22 A-n62-k8;61;0,0212765957446809;0,551048570594322;0,0954845472978844;0,118225806451613;0,0797480749802734;
    23 A-n63-k10;62;0,0208333333333333;0,50723649037087;0,0885912397934259;0,147936507936508;0,0984830777528734;
    24 A-n63-k9;62;0,0238095238095238;0,550483778822353;0,0796956684945588;0,138571428571429;0,0750630876009068;
    25 A-n64-k9;63;0,0212765957446809;0,493282195490743;0,0931299677840453;0,1325;0,0920937022819693;
    26 A-n65-k9;64;0,02;0,56533485341292;0,0640906315103851;0,134923076923077;0,0741749092332664;
    27 A-n69-k9;68;0,0232558139534884;0,532279500136771;0,0857574654660292;0,122463768115942;0,0811405257509134;
    28 A-n80-k10;79;0,0166666666666667;0,517563509151717;0,0969787821015987;0,11775;0,0757623752267575;
    29 B-n31-k5;30;0,5;0,34097498525293;0,169223618286694;0,132903225806452;0,0636620892093356;
    30 B-n34-k5;33;0,2;0,466596486099603;0,13317749869596;0,134411764705882;0,153089577323608;
    31 B-n35-k5;34;0,333333333333333;0,609204497848156;0,0578724533637176;0,124857142857143;0,0799060673030323;
    32 B-n38-k6;37;0,5;0,462612021364462;0,0664840742509293;0,134736842105263;0,0746125727413305;
    33 B-n39-k5;38;0,2;0,516794968544786;0,0805812241817071;0,112820512820513;0,06605936405404;
    34 B-n41-k6;40;0,25;0,494097005485151;0,0905908390905462;0,138292682926829;0,059424165201331;
    35 B-n43-k6;42;0,125;0,497707846811247;0,090354497873639;0,121162790697674;0,0699903416036342;
    36 B-n44-k7;43;0,2;0,457269335795868;0,0491876272270567;0,145681818181818;0,109677165255637;
    37 B-n45-k5;44;0,2;0,550967524882831;0,0924740574130919;0,108;0,0734725950421123;
    38 B-n45-k6;44;0,2;0,332368769126564;0,108327995784342;0,131555555555556;0,0666318427565665;
    39 B-n50-k7;49;0,25;0,54046783230147;0,0837106021009494;0,1218;0,101935077377711;
    40 B-n50-k8;49;0,142857142857143;0,416908549412513;0,118888915578616;0,147;0,108041658632215;
    41 B-n51-k7;50;0,5;0,628161920729164;0,0771635350438565;0,134117647058823;0,0758009899720193;
    42 B-n52-k7;51;0,333333333333333;0,538685404748768;0,0569253967382308;0,116538461538462;0,0689449227054749;
    43 B-n56-k7;55;0,333333333333333;0,490949169692583;0,104087282098285;0,11;0,069462219947249;
    44 B-n57-k7;56;0,2;0,564700731814086;0,120756937231143;0,122280701754386;0,0951825124705652;
    45 B-n57-k9;56;0,142857142857143;0,431365095587345;0,0877082646558274;0,140877192982456;0,0738486052500913;
    46 B-n63-k10;62;0,25;0,544961026137016;0,107291608184146;0,146349206349206;0,0836527514002405;
    47 B-n64-k9;63;0,2;0,430562293462881;0,105524098105194;0,1371875;0,0912323399006624;
    48 B-n66-k9;65;0,125;0,50541088801141;0,110487272166032;0,130454545454545;0,0664336492454397;
    49 B-n67-k10;66;0,166666666666667;0,441507344936519;0,118942645582023;0,135373134328358;0,0743595211302043;
    50 B-n68-k9;67;0,111111111111111;0,497547849350892;0,0707860079184622;0,123088235294118;0,0798022805390846;
    51 B-n78-k10;77;0,125;0,509055194527115;0,0744711838037978;0,120128205128205;0,0754217813493333;
    52 P-n101-k4;100;0,010989010989011;0,440930613153867;0,0813919664548955;0,0360891089108911;0,0222508644886685;
    53 P-n16-k8;15;0,0666666666666667;0,319074335048018;0,0545463460534562;0,439285714285714;0,25210845576733;
    54 P-n19-k2;18;0,0588235294117647;0,343352060002631;0,0521548801901616;0,101973684210526;0,0515409197894487;
    55 P-n20-k2;19;0,0526315789473684;0,33597961979172;0,0542301744540341;0,096875;0,0531984785966666;
    56 P-n21-k2;20;0,05;0,330645842162139;0,0547835689164983;0,0886904761904762;0,0483592031400919;
    57 P-n22-k2;21;0,0476190476190476;0,327999832904871;0,0546599248814156;0,0875;0,0475612643191533;
    58 P-n22-k8;21;0,0625;0,137946463179721;0,0237559311902214;0,340909090909091;0,213657854066318;
    59 P-n23-k8;22;0,0454545454545455;0,329746507500949;0,0540804755766232;0,340217391304348;0,191637555664386;
    60 P-n40-k5;39;0,0256410256410256;0,454078045739884;0,077636151678248;0,110357142857143;0,0610693399809944;
    61 P-n45-k5;44;0,0232558139534884;0,484711630122813;0,0834900980159218;0,102518518518519;0,0558178499506552;
    62 P-n50-k10;49;0,0217391304347826;0,407702278465007;0,0697421549914813;0,1902;0,0766417640715557;
    63 P-n50-k7;49;0,0217391304347826;0,407702278465007;0,0697421549914813;0,1268;0,0510945093810371;
    64 P-n50-k8;49;0,0217391304347826;0,407702278465007;0,0697421549914813;0,1585;0,0638681367262964;
    65 P-n51-k10;50;0,0204081632653061;0,469945782928346;0,0853137018629859;0,190441176470588;0,102379419608631;
    66 P-n55-k10;54;0,0196078431372549;0,406057522469346;0,0695043591730005;0,164743083003953;0,0643588962129926;
    67 P-n55-k15;54;0,0192307692307692;0,406057522469346;0,0695043591730005;0,270649350649351;0,105732472349916;
    68 P-n55-k7;54;0,0192307692307692;0,406057522469346;0,0695043591730005;0,11144385026738;0,0435369003793774;
    69 P-n55-k8;54;0,0196078431372549;0,406057522469346;0,0695043591730005;0,118409090909091;0,0462579566530884;
    70 P-n60-k10;59;0,0181818181818182;0,421736909439941;0,0724881515700115;0,1575;0,0614203036764204;
    71 P-n60-k15;59;0,0175438596491228;0,423407167699516;0,0743219571059317;0,23625;0,0921304555146306;
    72 P-n65-k10;64;0,0161290322580645;0,434503245558824;0,0773940490756397;0,144260355029586;0,0560744477052176;
    73 P-n70-k10;69;0,0149253731343284;0,437501141692672;0,0805024721274586;0,138941798941799;0,0573834831771424;
    74 P-n76-k4;75;0,0136986301369863;0,437232184407435;0,0822742522303845;0,0512781954887218;0,0232110511886212;
    75 P-n76-k5;75;0,0136986301369863;0,437232184407435;0,0822742522303845;0,0640977443609023;0,0290138139857766;
     1Instance;Customers;Clustering;DistanceAvg;DistanceStdev;DemandAvg;DemandStdev;GeographicExcentricity;DistanceExcentricity;DistanceDemandExcenetricity
     2A-n32-k5;31;0,0588235294117647;0,428173910381301;0,0578195041497551;0,128125;0,0739272235039299;0,305692268106861;0,345633911768931;0,31840419574972;
     3A-n33-k5;32;0,037037037037037;0,380385586618042;0,0557836825083318;0,135151515151515;0,0660175005319968;0,131578947368421;0,150317790096151;0,16710706254297;
     4A-n33-k6;32;0,0625;0,360862644236501;0,0732480778385679;0,163939393939394;0,114201825436225;0,149699606877136;0,156636468039234;0,159250579400224;
     5A-n34-k5;33;0,0416666666666667;0,382313382990295;0,0672301597169352;0,135294117647059;0,0740919656721471;0,204655028170714;0,223026498106771;0,228183002070817;
     6A-n36-k5;35;0,04;0,389539164611983;0,0678619161331505;0,122777777777778;0,0673139869529816;0,324860244353244;0,340562553839752;0,333569234084721;
     7A-n37-k5;36;0,0344827586206897;0,374497267188804;0,0622631840058976;0,11;0,0811738208364568;0,115070785387149;0,120647382831678;0,134214061824765;
     8A-n37-k6;36;0,0454545454545455;0,36742697222167;0,0635259399286581;0,154054054054054;0,111317890538021;0,31428997104489;0,312398323071495;0,294268532254346;
     9A-n38-k5;37;0,0357142857142857;0,371846772937562;0,0652445009937016;0,126578947368421;0,0706465001103334;0,168125129078844;0,161412120694719;0,143173687543491;
     10A-n39-k5;38;0,037037037037037;0,370497963882012;0,0711550189614701;0,121794871794872;0,0810783664867704;0,31215258466191;0,271891411495271;0,306768633965218;
     11A-n39-k6;38;0,0277777777777778;0,402773397151716;0,0614369733072219;0,134871794871795;0,117448773227633;0,22869269166771;0,208859633580354;0,21744945791244;
     12A-n44-k6;43;0,0263157894736842;0,364079651377545;0,0747777252248873;0,129545454545455;0,0671143713594578;0,291818141334395;0,267186647645877;0,273813730372928;
     13A-n45-k6;44;0,0303030303030303;0,418338222313051;0,0688546337860758;0,131777777777778;0,0697388426405221;0,201295094739862;0,20969276348102;0,196015009325877;
     14A-n45-k7;44;0,027027027027027;0,371273408626982;0,0523491482390582;0,140888888888889;0,071081243727699;0,361467383149617;0,387419336335602;0,41782399369629;
     15A-n46-k7;45;0,0294117647058824;0,37849416110083;0,0622122982333267;0,131086956521739;0,0733730272935191;0,189371447528103;0,214628401316269;0,220306416243464;
     16A-n48-k7;47;0,0285714285714286;0,387841167020744;0,0529003764485286;0,130416666666667;0,0691905079392317;0,325012414461898;0,338516746060436;0,325731091993903;
     17A-n53-k7;52;0,0212765957446809;0,382323574546349;0,0614343265923386;0,125283018867925;0,0868658426385281;0,21383988157414;0,23973101706549;0,21134809249547;
     18A-n54-k7;53;0,0222222222222222;0,401285257889962;0,0548610010026286;0,123888888888889;0,0779937477709465;0,345130387181028;0,330399523183666;0,382213041783764;
     19A-n55-k9;54;0,025;0,379140055044658;0,0620075738908596;0,152545454545455;0,0985756411330578;0,13662225031648;0,129958950205833;0,14647202338624;
     20A-n60-k9;59;0,0232558139534884;0,401451888418079;0,0578708764119616;0,138166666666667;0,0939413232939701;0,353233142891149;0,32325548937004;0,359163321397479;
     21A-n61-k9;60;0,0192307692307692;0,344327158212244;0,0510078590810308;0,145081967213115;0,0979732809146415;0,135816716775055;0,129183466649396;0,139541683727624;
     22A-n62-k8;61;0,0212765957446809;0,393626203285813;0,0682067277387073;0,118225806451613;0,0797480749802734;0,332220828491831;0,349697705664986;0,356182602958437;
     23A-n63-k10;62;0,0227272727272727;0,358670362006507;0,062643466411655;0,147936507936508;0,0984830777528734;0,252512375934329;0,231550726221568;0,244528100814904;
     24A-n63-k9;62;0,024390243902439;0,393222760009284;0,0569283817831231;0,138571428571429;0,0750630876009068;0,428692888522449;0,449844443099279;0,430231950770356;
     25A-n64-k9;63;0,0222222222222222;0,352436551985404;0,0665387987491975;0,1325;0,0920937022819693;0,384500600526911;0,394274345285414;0,36569124311714;
     26A-n65-k9;64;0,0217391304347826;0,403916192952806;0,0457909922364332;0,134923076923077;0,0741749092332664;0,177389441311733;0,158963025425047;0,167488507216751;
     27A-n69-k9;68;0,02;0,376378444033295;0,0606396853684004;0,122463768115942;0,0811405257509134;0,0871837116869136;0,11070850526265;0,117896058655409;
     28A-n80-k10;79;0,0151515151515152;0,365972667015885;0,068574354455253;0,11775;0,0757623752267575;0,425029410747068;0,448471348284742;0,415328484862908;
     29B-n31-k5;30;0,5;0,24110572428733;0,119659168027445;0,132903225806452;0,0636620892093356;0,444056878767181;0,377960787999406;0,3747140165763;
     30B-n34-k5;33;0,2;0,329933539398844;0,0941707124293761;0,134411764705882;0,153089577323608;0,187677137498174;0,393676917263678;0,441263922672459;
     31B-n35-k5;34;0,333333333333333;0,430772631557775;0,0409220042173869;0,124857142857143;0,0799060673030323;0,355563884994757;0,415324892082623;0,412669106249901;
     32B-n38-k6;37;0,5;0,327116097365227;0,047011339743742;0,134736842105263;0,0746125727413305;0,300302190960525;0,281382692776191;0,264920078283435;
     33B-n39-k5;38;0,2;0,391267656914721;0,0610083857156671;0,112820512820513;0,06605936405404;0,212661649206336;0,204414102002462;0,166896173762151;
     34B-n41-k6;40;0,25;0,384317277456768;0,0704631362977351;0,138292682926829;0,059424165201331;0,225055548698538;0,248792333081227;0,282015750241072;
     35B-n43-k6;42;0,125;0,351932593529989;0,0638902781571556;0,121162790697674;0,0699903416036342;0,269505510063614;0,29980516620699;0,332119004758312;
     36B-n44-k7;43;0,2;0,369027348454808;0,0396955978270264;0,145681818181818;0,109677165255637;0,35357427569183;0,32423709704331;0,365184536965768;
     37B-n45-k5;44;0,2;0,389592873058217;0,0653890330806314;0,108;0,0734725950421123;0,185172834501918;0,120705673851753;0,122879006370084;
     38B-n45-k6;44;0,2;0,235020210504019;0,076599460411456;0,131555555555556;0,0666318427565665;0,11302230488269;0,199596703976906;0,220141715749763;
     39B-n50-k7;49;0,25;0,38627780761242;0,0598288111167987;0,1218;0,101935077377711;0,050720328666971;0,0623996952848919;0,0652498888917503;
     40B-n50-k8;49;0,142857142857143;0,294798862424236;0,0840671584135541;0,147;0,108041658632215;0,389735069035725;0,365835842872821;0,436525304101055;
     41B-n51-k7;50;0,5;0,444177553830758;0,0545628588898368;0,134117647058823;0,0758009899720193;0,0200124560713174;0,0528210908608431;0,0778850038057542;
     42B-n52-k7;51;0,333333333333333;0,396615653247748;0,0419122241194752;0,116538461538462;0,0689449227054749;0,224596803392107;0,176068971723191;0,147651518448263;
     43B-n56-k7;55;0,333333333333333;0,364686491506898;0,077318036290155;0,11;0,069462219947249;0,255587493512727;0,167388767780965;0,158822261537284;
     44B-n57-k7;56;0,2;0,403180451921377;0,0862170593777846;0,122280701754386;0,0951825124705652;0,349548272376596;0,31651006037393;0,33741686735724;
     45B-n57-k9;56;0,142857142857143;0,307926147916583;0,0626097668823756;0,140877192982456;0,0738486052500913;0,463179390077204;0,49253277425244;0,517087790312764;
     46B-n63-k10;62;0,25;0,385345637063865;0,0758666237114195;0,146349206349206;0,0836527514002405;0,285563177929042;0,389489703517493;0,351607226386633;
     47B-n64-k9;63;0,2;0,353558923468069;0,0866517739534191;0,1371875;0,0912323399006624;0,113414102740478;0,0664646236148433;0,048085505752401;
     48B-n66-k9;65;0,0909090909090909;0,357379466198381;0,0781262993834046;0,130454545454545;0,0664336492454397;0,312659931374298;0,355822236766361;0,354936625116717;
     49B-n67-k10;66;0,166666666666667;0,312192837548281;0,0841051512633166;0,135373134328358;0,0743595211302043;0,233043776071203;0,129298307909419;0,126992011540037;
     50B-n68-k9;67;0,111111111111111;0,377742997269066;0,0537414016173838;0,123088235294118;0,0798022805390846;0,368364657337839;0,366072506139314;0,378966639455306;
     51B-n78-k10;77;0,111111111111111;0,374954562550375;0,0548532073652659;0,120128205128205;0,0754217813493333;0,294995880385548;0,243516601822421;0,258466438637626;
     52P-n101-k4;100;0,0120481927710843;0,324424960104407;0,0598860334987308;0,0360891089108911;0,0222508644886685;0,048015778390378;0,0152181603097755;0,0152196317597153;
     53P-n16-k8;15;0,0666666666666667;0,370660814167569;0,0633651498012128;0,439285714285714;0,25210845576733;0,278810438776914;0,34354171809044;0,367739647705826;
     54P-n19-k2;18;0,0588235294117647;0,398863650652237;0,0605870426751435;0,101973684210526;0,0515409197894487;0,286209887623126;0,364465398926868;0,380440115429168;
     55P-n20-k2;19;0,0526315789473684;0,390299268027833;0,0629978610236907;0,096875;0,0531984785966666;0,286209887623126;0,372924414446929;0,383528657156966;
     56P-n21-k2;20;0,05;0,384103149626547;0,06364072577175;0,0886904761904762;0,0483592031400919;0,286209887623126;0,362655862183996;0,388028367556715;
     57P-n22-k2;21;0,0476190476190476;0,381029345694788;0,0634970915345939;0,0875;0,0475612643191533;0,286209887623126;0,362170812760644;0,386853894104552;
     58P-n22-k8;21;0,0666666666666667;0,314040490274895;0,0540813015857772;0,340909090909091;0,213657854066318;0,0695228917743377;0,0776863716989113;0,0565081857756056;
     59P-n23-k8;22;0,0454545454545455;0,383058414650681;0,0628239595164676;0,340217391304348;0,191637555664386;0,286209887623126;0,346671899489548;0,380071066291991;
     60P-n40-k5;39;0,0256410256410256;0,375502286573084;0,0642016339469024;0,110357142857143;0,0610693399809944;0,0483125180126753;0,0910185834034147;0,0858805473843325;
     61P-n45-k5;44;0,0232558139534884;0,375385059682668;0,0646589301327009;0,102518518518519;0,0558178499506552;0,0529431113655807;0,0528779309113061;0,0493574524874079;
     62P-n50-k10;49;0,0217391304347826;0,331969204263542;0,0567871432637426;0,1902;0,0766417640715557;0,049387897009111;0,0350362105158094;0,00718927483766801;
     63P-n50-k7;49;0,0238095238095238;0,331969204263542;0,0567871432637426;0,1268;0,0510945093810371;0,049387897009111;0,0350362105158094;0,00718927483766796;
     64P-n50-k8;49;0,0217391304347826;0,331969204263542;0,0567871432637426;0,1585;0,0638681367262964;0,049387897009111;0,0350362105158094;0,00718927483766801;
     65P-n51-k10;50;0,0204081632653061;0,363949645127098;0,066071220650249;0,190441176470588;0,102379419608631;0,0529431113655807;0,0576712780892924;0,0511384570721842;
     66P-n55-k10;54;0,02;0,33062997127926;0,0565935194043531;0,164743083003953;0,0643588962129926;0,0454545454545455;0,0245137603369054;0,00499591818009634;
     67P-n55-k15;54;0,0192307692307692;0,33062997127926;0,0565935194043531;0,270649350649351;0,105732472349916;0,0454545454545455;0,0245137603369054;0,00499591818009637;
     68P-n55-k7;54;0,0192307692307692;0,33062997127926;0,0565935194043531;0,11144385026738;0,0435369003793774;0,0454545454545455;0,0245137603369054;0,00499591818009651;
     69P-n55-k8;54;0,0196078431372549;0,33062997127926;0,0565935194043531;0,118409090909091;0,0462579566530884;0,0454545454545455;0,0245137603369054;0,00499591818009639;
     70P-n60-k10;59;0,0175438596491228;0,314780419016174;0,0541044670603242;0,1575;0,0614203036764204;0,0343732463076794;0,0255417024641281;0,00668186960227169;
     71P-n60-k15;59;0,0181818181818182;0,344756818798973;0,0605162204456085;0,23625;0,0921304555146306;0,0386289357090363;0,0182900579153255;0,01037112612687;
     72P-n65-k10;64;0,0172413793103448;0,324309090903442;0,0577661823095842;0,144260355029586;0,0560744477052176;0,0196418550329597;0,0339628469444459;0,0136163911966154;
     73P-n70-k10;69;0,0149253731343284;0,326546692071507;0,0600862797182518;0,138941798941799;0,0573834831771424;0,0196418550329597;0,0260347495033594;0,00141976251436537;
     74P-n76-k4;75;0,0136986301369863;0,326345944911253;0,061408719539666;0,0512781954887218;0,0232110511886212;0,0196418550329597;0,0334198978867373;0,00681706245212397;
     75P-n76-k5;75;0,0136986301369863;0,326345944911253;0,061408719539666;0,0640977443609023;0,0290138139857766;0,0196418550329597;0,0334198978867373;0,00681706245212406;
  • branches/FitnessLandscapeAnalysis/VRPProblemAnalyzer/Program.cs

    r7232 r7315  
    11using System;
    22using System.Collections.Generic;
     3using System.Diagnostics;
    34using System.Linq;
    45using System.Text;
     
    67
    78namespace VRPProblemAnalyzer {
    8   public static class Maths {
    9     public static double StandardDeviation(this IEnumerable<double> data) {
    10       double average = data.Average();
    11       var individualDeviations = data.Select(num => Math.Pow(num - average, 2.0));
    12       return Math.Sqrt(individualDeviations.Average());
    13     }
    14   }
    159 
    16   class Program {
     10  public class Program {
    1711
    1812    private static double GetDistance(double[,] vertices, int source, int target) {
     
    187181    }
    188182
     183
    189184    private static void Normalize(TSPLIBParser instance) {
    190185      //normalize demands
     
    195190      //normalize coordinates
    196191      //-find bounds
    197       double maxX = double.MinValue;
    198       double maxY = double.MinValue;
    199 
    200       int cities = instance.Vertices.Length / 2;
    201       for (int i = 0; i < cities; i++) {
    202         if (instance.Vertices[i, 0] > maxX)
    203           maxX = instance.Vertices[i, 0];
    204 
    205         if (instance.Vertices[i, 1] > maxY)
    206           maxY = instance.Vertices[i, 1];
    207       }
    208 
    209       //-normalize
    210       double factorX = 1;
    211       double factorY = 1;
    212       if (maxX > maxY) {
    213         factorX = 1 / maxX;
    214         factorY = (maxY / maxX) / maxY;
    215       } else {
    216         factorX = (maxX / maxY) / maxX;
    217         factorY = 1 / maxY;
    218       }
    219 
    220       for (int i = 0; i < cities; i++) {
    221         instance.Vertices[i, 0] *= factorX;
    222         instance.Vertices[i, 1] *= factorY;
     192      var cities = Utils.MatrixToPointList(instance.Vertices);
     193      var minX = cities.Min(c => c.X);
     194      var minY = cities.Min(c => c.Y);
     195      var maxX = cities.Max(c => c.X);
     196      var maxY = cities.Max(c => c.Y);
     197      var rangeX = maxX - minX;
     198      var rangeY = maxY - minY;
     199      var factor = Math.Sqrt(0.5)/Math.Max(rangeX, rangeY);
     200
     201
     202      for (int i = 0; i < instance.Vertices.GetLength(0); i++) {
     203        instance.Vertices[i, 0] = (cities[i].X-minX)*factor;
     204        instance.Vertices[i, 1] = (cities[i].Y-minY)*factor;
    223205      }
    224206    }
     
    231213      var path = args[0];
    232214      using (StreamWriter sw = new StreamWriter(Path.Combine(path, "analysis.csv"))) {
    233         sw.WriteLine("Instance;Customers;Clustering;DistanceAvg;DistanceStdev;DemandAvg;DemandStdev");
     215        sw.WriteLine("Instance;Customers;Clustering;DistanceAvg;DistanceStdev;DemandAvg;DemandStdev;GeographicExcentricity;DistanceExcentricity;DistanceDemandExcenetricity");
    234216       
    235217        string[] instances = Directory.GetFiles(path, "*.vrp", SearchOption.AllDirectories);
     
    253235          sw.Write(GetDemandHeterogenity(parser));
    254236          sw.Write(';');
     237          sw.Write(DepotExcentricityCalculator.Geographic(parser.Vertices));
     238          sw.Write(';');
     239          sw.Write(DepotExcentricityCalculator.DistanceCentroid(parser.Vertices));
     240          sw.Write(';');
     241          sw.Write(DepotExcentricityCalculator.DemandDistanceCentroid(parser.Vertices, parser.Demands));
     242          sw.Write(';');
    255243          sw.WriteLine();
    256244        }
    257245      }
     246      Console.WriteLine("Done. Press Enter...");
     247      Console.ReadLine();
    258248    }
    259249  }
  • branches/FitnessLandscapeAnalysis/VRPProblemAnalyzer/VRPProblemAnalyzer.csproj

    r7314 r7315  
    111111  </ItemGroup>
    112112  <ItemGroup>
     113    <Compile Include="EnumerableExtensions.cs" />
     114    <Compile Include="PointD.cs" />
     115    <Compile Include="DepotExcentricityCalculator.cs" />
    113116    <Compile Include="KMeansClustering.cs" />
    114117    <Compile Include="Program.cs" />
    115118    <Compile Include="Properties\AssemblyInfo.cs" />
    116119    <Compile Include="TSPLIBParser.cs" />
     120    <Compile Include="Utils.cs" />
    117121  </ItemGroup>
    118122  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
Note: See TracChangeset for help on using the changeset viewer.