Free cookie consent management tool by TermsFeed Policy Generator

Ticket #839: SASEGASA_TSP.hl

File SASEGASA_TSP.hl, 138.9 KB (added by abeham, 14 years ago)
Line 
1<?xml version="1.0"?>
2<Root>
3  <SequentialEngine Type="HeuristicLab.SequentialEngine.SequentialEngine, HeuristicLab.SequentialEngine-3.2" GUID="d095f54a-1aa1-4efe-b8a0-4f033862b3af">
4    <OperatorGraph Type="HeuristicLab.Core.OperatorGraph, HeuristicLab.Core-3.2" GUID="b9527fe0-92ec-4ad2-a1a3-7096c77ecc3d">
5      <Operators>
6        <CombinedOperator Type="HeuristicLab.Operators.CombinedOperator, HeuristicLab.Operators-3.2" GUID="41c42cd6-6601-4942-b1b8-0cf499b26b6d" Name="ProblemInjector">
7          <SubOperators />
8          <VariableInfos />
9          <Variables />
10          <Description>A combined operator contains a whole operator graph. It is useful for modularization to assemble complex operators out of simpler ones.
11
12A combined operator automatically inject its sub-operators into the scope it is applied on. Thereby the names of the sub-operators are used as variable names. Those operators can be extracted again in the contained operator graph by using an OperatorExtractor. So it is possible to parameterize a combined operator with custom operators.</Description>
13          <OperatorGraph Type="HeuristicLab.Core.OperatorGraph, HeuristicLab.Core-3.2" GUID="ca1ab90a-308e-40b3-a51d-1a5e8a219b12">
14            <Operators>
15              <SequentialProcessor Type="HeuristicLab.Operators.SequentialProcessor, HeuristicLab.Operators-3.2" GUID="0ffdce44-cc99-4f64-8036-db7de5618ae4" Name="SequentialProcessor">
16                <SubOperators>
17                  <TSPInjector Type="HeuristicLab.Routing.TSP.TSPInjector, HeuristicLab.Routing.TSP-3.2" GUID="9eb5e90d-8bc0-4677-b12c-82a6e68ee6c3" Name="TSPInjector">
18                    <SubOperators />
19                    <VariableInfos>
20                      <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="bfd6a34c-e77f-484d-8f0a-c44d606344a6" ActualName="Maximization" FormalName="Maximization" Description="Set to false as TSP is a minimization problem" DataType="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" Kind="New" Local="False" />
21                      <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="1315b494-52fd-4740-b5cb-95a8f33b961f" ActualName="Cities" FormalName="Cities" Description="Number of cities" DataType="HeuristicLab.Data.IntData, HeuristicLab.Data-3.2" Kind="New" Local="False" />
22                      <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="4658b3c6-5190-46ee-bc44-974998b28525" ActualName="Coordinates" FormalName="Coordinates" Description="City coordinates" DataType="HeuristicLab.Data.DoubleMatrixData, HeuristicLab.Data-3.2" Kind="New" Local="False" />
23                      <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="5e94283c-f632-4eb9-9313-e97edff9a279" ActualName="BestKnownQuality" FormalName="BestKnownQuality" Description="Quality of best known solution" DataType="HeuristicLab.Data.DoubleData, HeuristicLab.Data-3.2" Kind="New" Local="False" />
24                    </VariableInfos>
25                    <Variables>
26                      <Variable Type="HeuristicLab.Core.Variable, HeuristicLab.Core-3.2" GUID="be6f68f0-4a77-4b68-b5fb-ac3d9c93741f" Name="Cities">
27                        <Value Type="HeuristicLab.Data.IntData, HeuristicLab.Data-3.2" GUID="826ab022-590b-4630-a3de-e903ce2873ba">130</Value>
28                      </Variable>
29                      <Variable Type="HeuristicLab.Core.Variable, HeuristicLab.Core-3.2" GUID="8dc248d1-791a-48bf-9919-e17d6f70373d" Name="Coordinates">
30                        <Value Type="HeuristicLab.Data.DoubleMatrixData, HeuristicLab.Data-3.2" GUID="2486692c-0490-440b-89d9-cb814db8e024" Dimension1="130" Dimension2="2">334.5909245845;161.7809319139;397.6446634067;262.8165330708;503.8741827107;172.8741151168;444.0479403502;384.6491809647;311.6137146746;2.0091699828;662.8551011379;549.2301263653;40.0979030612;187.2375430791;526.8941409181;215.7079092185;209.1887938487;691.0262291948;683.2674131973;414.2096286906;280.7494438748;5.9206392047;252.749309008;535.7430385019;698.7850451923;348.4413729766;678.7574678104;410.7256424438;220.0041131179;409.1225812873;355.1528556851;76.3912076444;296.9724227786;313.1312792361;504.5154071733;240.8866564499;224.1079496785;358.4872228907;470.6801296968;309.6259188406;554.2530513223;279.4242466521;567.6332684419;352.7162027273;599.0532671093;361.0948690386;240.5232959211;430.6036007844;32.0825972787;345.8551009775;91.0538736891;148.7213270256;248.2179894723;343.9528017384;488.8909044347;3.6122311393;206.046793982;437.7639406167;575.8409415632;141.9670960195;282.6089948164;329.4183805862;27.6581484868;424.7684581747;568.573730987;287.0975660546;269.4638933331;295.9464636385;417.8004856811;341.2596589955;32.1680938737;448.8998721172;561.4775136009;357.3543930067;342.948216747;492.3321423839;399.6752075383;156.8435035519;571.7371050025;375.7575350833;370.7559842751;151.9060751898;509.7093253204;435.7975189314;177.020699975;295.6044772584;526.1674198605;409.4859418161;316.5725171854;65.6400108214;469.2908100279;281.9891445025;572.7630641427;373.3208821255;29.5176994283;330.0382309;454.0082936692;537.2178547659;416.1546762271;227.6133100741;535.2514330806;471.0648643744;265.4455533675;684.9987192464;478.0542110167;509.6452028741;370.4781203413;332.5390063041;598.3479202004;446.8693279856;201.1521139175;649.0260268945;193.6925360026;680.2322840744;448.5792598859;532.793405974;603.2853485624;134.4006473609;543.0102490781;481.5168231148;214.5750793346;43.6460117543;426.3501451825;61.7285415996;89.0447037063;277.1158385868;84.4920100219;31.8474816424;220.0468614154;623.077810308;688.4613313444;0.4702312726;687.285753163;373.534623613;75.4934933967;312.9175377486;63.4170993511;23.7039309674;97.9363495877;211.0910930878;399.525588497;170.8221968365;456.3167017346;597.1937161677;319.8855102422;626.8396604886;295.9250894897;664.6291554845;288.4868857235;667.7284070537;268.3951858954;52.9010181645;140.4709056068;513.556672096;689.8079027159;167.5947003748;280.5784506848;458.7533546925;453.3884433554;282.9082328989;213.5704943432;525.8681817779;133.695300452;677.1757808026;521.1658690522;132.8617086506;30.2657946347;450.0754502986;657.0199585283;39.7772908299;6.9252241961;23.8749241575;252.4286967767;535.1659364856;42.8551682504;63.8232081774;145.8999393902;399.525588497;638.4885715591;62.6262558472;489.2756391122;665.3131282446;361.2231139311;564.2347787901;519.9475425732;347.971141704;129.3349741063;435.6692740389;259.7172815016;454.6495181318;676.3421890013;371.0979706551;84.5133841706;183.3260738572;77.7164048671;354.38338633;335.9802442534;660.6321896676;264.355471781;377.5743377274;51.6826916855;676.0429509187;692.13768493;543.8010925819;169.21913568;547.8194325476;194.0131482339;263.4791316822;415.1928395332;78.9133571973;415.0432204919;479.0801701569;169.8389859939;245.6103433244;525.0987124228;213.5063718969;238.6851191283;33.4932910965;116.2112467718;363.574270294;16.9283258126;656.5711014044;434.3440768162;92.6996831431;40.5253860363;424.6829615797;530.4849979086;183.8390534273;484.359584899;49.2460387276;263.6501248722;426.5852608187;450.2891917862;126.3853415784;441.7822805823;299.7724362653;24.2169105375;500.3474481664;503.7886861157;514.6895019799;635.5389390312;200.9811207275;614.5922732529;418.8691931188;21.7161351334;660.9741760476;143.8266469611;92.6996831431;637.719102204;54.2048412384;566.5645610042;199.9551615873;196.684916828;221.8209157619;384.9270448985;87.4630166986;178.1107815614;104.6905805938;403.2874386776;205.8971749407</Value>
31                      </Variable>
32                      <Variable Type="HeuristicLab.Core.Variable, HeuristicLab.Core-3.2" GUID="9dad9dd9-5055-4e4c-ba06-30292b6b3fb8" Name="InjectBestKnownQuality">
33                        <Value Type="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" GUID="69230fa2-57ca-4660-8bac-74e431a484ba">True</Value>
34                      </Variable>
35                      <Variable Type="HeuristicLab.Core.Variable, HeuristicLab.Core-3.2" GUID="2c9f9622-5bc3-434e-bc3d-80ca178739a0" Name="BestKnownQuality">
36                        <Value Type="HeuristicLab.Data.DoubleData, HeuristicLab.Data-3.2" GUID="32e36f62-8ee5-4be9-a71a-4afca2b1227b">6110</Value>
37                      </Variable>
38                    </Variables>
39                  </TSPInjector>
40                  <TSPRoundedEuclideanDistanceMatrixInjector Type="HeuristicLab.Routing.TSP.TSPRoundedEuclideanDistanceMatrixInjector, HeuristicLab.Routing.TSP-3.2" GUID="6f71e40f-6bce-405b-90a8-c71fd26ee18b" Name="TSPRoundedEuclideanDistanceMatrixInjector">
41                    <SubOperators />
42                    <VariableInfos>
43                      <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="7e496685-400b-48e0-90f4-888e5ea6834d" ActualName="Cities" FormalName="Cities" Description="Number of cities" DataType="HeuristicLab.Data.IntData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
44                      <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="790d6d53-a56c-4e4b-be74-49c167185875" ActualName="Coordinates" FormalName="Coordinates" Description="City coordinates" DataType="HeuristicLab.Data.DoubleMatrixData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
45                      <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="2baa2fbd-06b9-4f28-8057-b19ba55f7f43" ActualName="DistanceMatrix" FormalName="DistanceMatrix" Description="Distance matrix containing all distances between cities" DataType="HeuristicLab.Data.DoubleMatrixData, HeuristicLab.Data-3.2" Kind="New" Local="False" />
46                    </VariableInfos>
47                    <Variables />
48                  </TSPRoundedEuclideanDistanceMatrixInjector>
49                </SubOperators>
50                <VariableInfos />
51                <Variables />
52              </SequentialProcessor>
53              <TSPInjector GUID="9eb5e90d-8bc0-4677-b12c-82a6e68ee6c3" />
54              <TSPRoundedEuclideanDistanceMatrixInjector GUID="6f71e40f-6bce-405b-90a8-c71fd26ee18b" />
55            </Operators>
56            <InitialOperator GUID="0ffdce44-cc99-4f64-8036-db7de5618ae4" />
57          </OperatorGraph>
58        </CombinedOperator>
59        <VariableInjector Type="HeuristicLab.Operators.VariableInjector, HeuristicLab.Operators-3.2" GUID="11d1eeef-bdbe-4031-ace0-9fb4ae2f7ec1" Name="SettingsInjector">
60          <SubOperators />
61          <VariableInfos>
62          </VariableInfos>
63          <Variables>
64            <Variable Type="HeuristicLab.Core.Variable, HeuristicLab.Core-3.2" GUID="78eceedb-08a8-4643-a506-486633cac8a5" Name="PopulationSize">
65              <Value Type="HeuristicLab.Data.IntData, HeuristicLab.Data-3.2" GUID="012e5435-913e-46e9-8dd7-5782973fbb33">100</Value>
66            </Variable>
67            <Variable Type="HeuristicLab.Core.Variable, HeuristicLab.Core-3.2" GUID="22f86b24-e90f-4a1c-8b8d-16bc2b38b1cf" Name="MutationRate">
68              <Value Type="HeuristicLab.Data.DoubleData, HeuristicLab.Data-3.2" GUID="c1192b17-4729-4b5e-a43e-a1d74b3b1558">0.05</Value>
69            </Variable>
70            <Variable Type="HeuristicLab.Core.Variable, HeuristicLab.Core-3.2" GUID="7595c114-354c-4f10-b4fd-df638429293c" Name="Elites">
71              <Value Type="HeuristicLab.Data.IntData, HeuristicLab.Data-3.2" GUID="c833decb-872b-41e8-9746-4675fd4a6870">1</Value>
72            </Variable>
73            <Variable Type="HeuristicLab.Core.Variable, HeuristicLab.Core-3.2" GUID="642a9c5b-c5c1-4343-ba28-b4267699baea" Name="MaximumGenerations">
74              <Value Type="HeuristicLab.Data.IntData, HeuristicLab.Data-3.2" GUID="b1384181-c6bb-4f7d-b2f3-0261f9b3b943">1000</Value>
75            </Variable>
76            <Variable Type="HeuristicLab.Core.Variable, HeuristicLab.Core-3.2" GUID="06fe02e0-d927-492e-923a-34f356685b7b" Name="MaximumSelectionPressure">
77              <Value Type="HeuristicLab.Data.DoubleData, HeuristicLab.Data-3.2" GUID="7fda0736-f632-42d6-acf2-f7b78d69c455">15</Value>
78            </Variable>
79            <Variable Type="HeuristicLab.Core.Variable, HeuristicLab.Core-3.2" GUID="6dd11516-93d3-4e38-93a7-e4d3ced90397" Name="SuccessRatioLimit">
80              <Value Type="HeuristicLab.Data.DoubleData, HeuristicLab.Data-3.2" GUID="9b3cd708-612c-410f-b034-27d85d6adf38">0.8</Value>
81            </Variable>
82            <Variable Type="HeuristicLab.Core.Variable, HeuristicLab.Core-3.2" GUID="df61367a-770c-462d-ab8e-907a8b368d2d" Name="InitialVillages">
83              <Value Type="HeuristicLab.Data.IntData, HeuristicLab.Data-3.2" GUID="6c9eaa8d-fc86-4321-9c94-32c29e9a9f3a">40</Value>
84            </Variable>
85            <Variable Type="HeuristicLab.Core.Variable, HeuristicLab.Core-3.2" GUID="50844ed7-41e5-48d5-936d-c534353d2ca8" Name="MinComparisonFactor">
86              <Value Type="HeuristicLab.Data.DoubleData, HeuristicLab.Data-3.2" GUID="1fb6810c-9a09-47fc-bd85-18f6701cfb51">0.3</Value>
87            </Variable>
88            <Variable Type="HeuristicLab.Core.Variable, HeuristicLab.Core-3.2" GUID="029c8d2d-e1bf-44fd-8f5d-2dcfbff601a8" Name="MaxComparisonFactor">
89              <Value Type="HeuristicLab.Data.DoubleData, HeuristicLab.Data-3.2" GUID="8350fc62-60d8-4205-9633-c9043ef36c0f">0.7</Value>
90            </Variable>
91          </Variables>
92        </VariableInjector>
93        <RandomPermutationGenerator Type="HeuristicLab.Permutation.RandomPermutationGenerator, HeuristicLab.Permutation-3.2" GUID="e874ca86-d845-466a-b2e3-7383b52d44f3" Name="SolutionGenerator">
94          <SubOperators />
95          <VariableInfos>
96            <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="83474291-b45a-4822-90ab-44a3c99cb7d1" ActualName="Cities" FormalName="Length" Description="Permutation length" DataType="HeuristicLab.Data.IntData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
97            <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="83b58248-5cb5-42d5-903c-3de3a831d6b1" ActualName="Random" FormalName="Random" Description="Pseudo random number generator" DataType="HeuristicLab.Core.IRandom, HeuristicLab.Core-3.2" Kind="In" Local="False" />
98            <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="4a0db1f4-d354-47fd-8631-e0b906785786" ActualName="Permutation" FormalName="Permutation" Description="Created random permutation" DataType="HeuristicLab.Permutation.Permutation, HeuristicLab.Permutation-3.2" Kind="New" Local="False" />
99          </VariableInfos>
100          <Variables />
101        </RandomPermutationGenerator>
102        <DistanceMatrixPathTSPEvaluator Type="HeuristicLab.Routing.TSP.DistanceMatrixPathTSPEvaluator, HeuristicLab.Routing.TSP-3.2" GUID="0a83c89b-5c32-4d67-903a-ab8fb19b1f24" Name="Evaluator">
103          <SubOperators />
104          <VariableInfos>
105            <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="7d523811-3ad4-4171-9b1b-e390175c2200" ActualName="Quality" FormalName="Quality" Description="Quality value" DataType="HeuristicLab.Data.DoubleData, HeuristicLab.Data-3.2" Kind="New" Local="False" />
106            <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="84076f47-71d8-48fb-a0aa-1fcec3202525" ActualName="Permutation" FormalName="Permutation" Description="Permutation representing a TSP solution in path encoding" DataType="HeuristicLab.Permutation.Permutation, HeuristicLab.Permutation-3.2" Kind="In" Local="False" />
107            <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="1ed8cb58-cef9-4fba-99c1-fd44c0b21227" ActualName="DistanceMatrix" FormalName="DistanceMatrix" Description="Distance matrix containing all distances between cities" DataType="HeuristicLab.Data.DoubleMatrixData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
108          </VariableInfos>
109          <Variables />
110        </DistanceMatrixPathTSPEvaluator>
111        <CombinedOperator Type="HeuristicLab.Operators.CombinedOperator, HeuristicLab.Operators-3.2" GUID="ede2667e-727c-41cb-b1f7-3ca71c8830f0" Name="Crossover">
112          <SubOperators />
113          <VariableInfos />
114          <Variables />
115          <Description>A combined operator contains a whole operator graph. It is useful for modularization to assemble complex operators out of simpler ones.
116
117A combined operator automatically inject its sub-operators into the scope it is applied on. Thereby the names of the sub-operators are used as variable names. Those operators can be extracted again in the contained operator graph by using an OperatorExtractor. So it is possible to parameterize a combined operator with custom operators.</Description>
118          <OperatorGraph Type="HeuristicLab.Core.OperatorGraph, HeuristicLab.Core-3.2" GUID="7e78d72f-9f0b-4b38-b7b8-7f1cea374d70">
119            <Operators>
120              <StochasticMultiBranch Type="HeuristicLab.Operators.StochasticMultiBranch, HeuristicLab.Operators-3.2" GUID="0117e0c8-d2b4-4a4a-b5f7-9d70ef95f6a6" Name="StochasticMultiBranch">
121                <SubOperators>
122                  <OrderCrossover Type="HeuristicLab.Permutation.OrderCrossover, HeuristicLab.Permutation-3.2" GUID="8f6b419c-aeb8-4c61-abd6-a98620eeaa49" Name="OrderCrossover">
123                    <SubOperators />
124                    <VariableInfos>
125                      <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="6c177ab8-464d-40a1-9cf5-2f987cacc0fb" ActualName="Random" FormalName="Random" Description="Pseudo random number generator" DataType="HeuristicLab.Core.IRandom, HeuristicLab.Core-3.2" Kind="In" Local="False" />
126                      <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="a9895771-8411-4246-a1d7-538b53838149" ActualName="Permutation" FormalName="Permutation" Description="Parent and child permutations" DataType="HeuristicLab.Permutation.Permutation, HeuristicLab.Permutation-3.2" Kind="New, In" Local="False" />
127                    </VariableInfos>
128                    <Variables />
129                  </OrderCrossover>
130                  <EdgeRecombinationCrossover Type="HeuristicLab.Permutation.EdgeRecombinationCrossover, HeuristicLab.Permutation-3.2" GUID="01ae5810-6852-4330-b7ec-e07eb744e675" Name="EdgeRecombinationCrossover">
131                    <SubOperators />
132                    <VariableInfos>
133                      <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="6953817b-5289-4b54-99d4-c14c68fb72c3" ActualName="Random" FormalName="Random" Description="Pseudo random number generator" DataType="HeuristicLab.Core.IRandom, HeuristicLab.Core-3.2" Kind="In" Local="False" />
134                      <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="2b191240-e87b-489b-afe4-7bb81d0bc8d6" ActualName="Permutation" FormalName="Permutation" Description="Parent and child permutations" DataType="HeuristicLab.Permutation.Permutation, HeuristicLab.Permutation-3.2" Kind="New, In" Local="False" />
135                    </VariableInfos>
136                    <Variables />
137                  </EdgeRecombinationCrossover>
138                  <MaximalPreservativeCrossover Type="HeuristicLab.Permutation.MaximalPreservativeCrossover, HeuristicLab.Permutation-3.2" GUID="94cf8c52-4153-4d21-8876-d687ae5cf8c6" Name="MaximalPreservativeCrossover">
139                    <SubOperators />
140                    <VariableInfos>
141                      <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="5b500d70-74fb-4585-aa64-05f7971575c4" ActualName="Random" FormalName="Random" Description="Pseudo random number generator" DataType="HeuristicLab.Core.IRandom, HeuristicLab.Core-3.2" Kind="In" Local="False" />
142                      <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="cea5839a-e80b-4d35-a73b-eb070163f05d" ActualName="Permutation" FormalName="Permutation" Description="Parent and child permutations" DataType="HeuristicLab.Permutation.Permutation, HeuristicLab.Permutation-3.2" Kind="New, In" Local="False" />
143                    </VariableInfos>
144                    <Variables />
145                  </MaximalPreservativeCrossover>
146                </SubOperators>
147                <VariableInfos>
148                  <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="d4a35a54-170c-438d-9f39-e2e5aef3c9e6" ActualName="Probabilities" FormalName="Probabilities" Description="The probabilities, that define how likely each suboperator/graph is executed. This array must sum to 1" DataType="HeuristicLab.Data.DoubleArrayData, HeuristicLab.Data-3.2" Kind="In" Local="True" />
149                  <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="4c3e5cf3-95ad-4a21-98b0-16527c03cf2f" ActualName="Random" FormalName="Random" Description="The pseudo random-generator, used for any random-decision." DataType="HeuristicLab.Core.IRandom, HeuristicLab.Core-3.2" Kind="In" Local="False" />
150                </VariableInfos>
151                <Variables>
152                  <Variable Type="HeuristicLab.Core.Variable, HeuristicLab.Core-3.2" GUID="c63dfb91-9476-42e5-a9ed-e5b847297524" Name="Probabilities">
153                    <Value Type="HeuristicLab.Data.DoubleArrayData, HeuristicLab.Data-3.2" GUID="cdcbdba6-b265-4a5f-95f9-1b210c8b9648">0.33333333333333;0.33333333333333;0.33333333333334</Value>
154                  </Variable>
155                </Variables>
156              </StochasticMultiBranch>
157              <OrderCrossover GUID="8f6b419c-aeb8-4c61-abd6-a98620eeaa49" />
158              <EdgeRecombinationCrossover GUID="01ae5810-6852-4330-b7ec-e07eb744e675" />
159              <MaximalPreservativeCrossover GUID="94cf8c52-4153-4d21-8876-d687ae5cf8c6" />
160            </Operators>
161            <InitialOperator GUID="0117e0c8-d2b4-4a4a-b5f7-9d70ef95f6a6" />
162          </OperatorGraph>
163        </CombinedOperator>
164        <InversionManipulator Type="HeuristicLab.Permutation.InversionManipulator, HeuristicLab.Permutation-3.2" GUID="d7c019d5-820c-4438-9b29-bb047a1ea44a" Name="Mutator">
165          <SubOperators />
166          <VariableInfos>
167            <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="9e34367a-0f83-4b66-83a0-41e2ef5ea78e" ActualName="Random" FormalName="Random" Description="Pseudo random number generator" DataType="HeuristicLab.Core.IRandom, HeuristicLab.Core-3.2" Kind="In" Local="False" />
168            <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="7ac3ecb5-e9ae-4da4-a09c-cbf9f89aa0f6" ActualName="Permutation" FormalName="Permutation" Description="Permutation to manipulate" DataType="HeuristicLab.Permutation.Permutation, HeuristicLab.Permutation-3.2" Kind="Out, In" Local="False" />
169          </VariableInfos>
170          <Variables />
171        </InversionManipulator>
172        <RandomSelector Type="HeuristicLab.Selection.RandomSelector, HeuristicLab.Selection-3.2" GUID="534aacb6-d070-4b73-9903-7ddb99de036b" Name="MaleSelector">
173          <SubOperators />
174          <VariableInfos>
175            <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="bb9a075b-a311-4e88-aa72-bc48aa6065e9" ActualName="CopySelected" FormalName="CopySelected" Description="Copy or move selected sub-scopes" DataType="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" Kind="In" Local="True" />
176            <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="9611dcfc-5517-4299-9cfe-4c0851fb2565" ActualName="Random" FormalName="Random" Description="Pseudo random number generator" DataType="HeuristicLab.Core.IRandom, HeuristicLab.Core-3.2" Kind="In" Local="False" />
177            <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="08f548a3-e46c-4a4b-a192-0bdffe56cb59" ActualName="Parents" FormalName="Selected" Description="Number of selected sub-scopes" DataType="HeuristicLab.Data.IntData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
178          </VariableInfos>
179          <Variables>
180            <Variable Type="HeuristicLab.Core.Variable, HeuristicLab.Core-3.2" GUID="213aa669-d167-45f1-814f-7d85c95113df" Name="CopySelected">
181              <Value Type="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" GUID="184e937b-9d52-4eb1-92ff-9c703e67eeb5">True</Value>
182            </Variable>
183          </Variables>
184        </RandomSelector>
185        <CombinedOperator Type="HeuristicLab.Operators.CombinedOperator, HeuristicLab.Operators-3.2" GUID="d5a557db-fb50-41c5-b99d-57f951c78dfd" Name="SASEGASA">
186          <SubOperators>
187            <VariableInjector GUID="11d1eeef-bdbe-4031-ace0-9fb4ae2f7ec1" />
188            <CombinedOperator GUID="41c42cd6-6601-4942-b1b8-0cf499b26b6d" />
189            <RandomPermutationGenerator GUID="e874ca86-d845-466a-b2e3-7383b52d44f3" />
190            <DistanceMatrixPathTSPEvaluator GUID="0a83c89b-5c32-4d67-903a-ab8fb19b1f24" />
191            <RandomSelector GUID="534aacb6-d070-4b73-9903-7ddb99de036b" />
192            <ProportionalSelector Type="HeuristicLab.Selection.ProportionalSelector, HeuristicLab.Selection-3.2" GUID="38f4fc68-620a-4f14-b433-20497dffb0d0" Name="FemaleSelector">
193              <SubOperators />
194              <VariableInfos>
195                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="58ede979-7e01-4b71-8eee-907ebd6d49c7" ActualName="CopySelected" FormalName="CopySelected" Description="Copy or move selected sub-scopes" DataType="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" Kind="In" Local="True" />
196                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="c1687bc0-37ca-4efc-af24-c58b634fe188" ActualName="Random" FormalName="Random" Description="Pseudo random number generator" DataType="HeuristicLab.Core.IRandom, HeuristicLab.Core-3.2" Kind="In" Local="False" />
197                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="5e92c473-1448-4f48-92c6-cb0a6453a0a6" ActualName="Parents" FormalName="Selected" Description="Number of selected sub-scopes" DataType="HeuristicLab.Data.IntData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
198                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="9322c1ea-a7c9-4a8b-8294-12e421faca24" ActualName="Maximization" FormalName="Maximization" Description="Maximization problem" DataType="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
199                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="02e7dc64-19e7-4a8c-a1ee-0b342c4e65bf" ActualName="Quality" FormalName="Quality" Description="Quality value" DataType="HeuristicLab.Data.DoubleData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
200                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="a1977661-dced-490d-990e-841083b50572" ActualName="Windowing" FormalName="Windowing" Description="Apply windowing strategy (selection probability is proportional to the quality differences and not to the total quality)" DataType="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" Kind="In" Local="True" />
201              </VariableInfos>
202              <Variables>
203                <Variable Type="HeuristicLab.Core.Variable, HeuristicLab.Core-3.2" GUID="34f11d2f-e69d-4dd8-ade0-40044aa74e86" Name="CopySelected">
204                  <Value Type="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" GUID="30872d19-a1e5-416d-a824-2ffcefeb6866">True</Value>
205                </Variable>
206                <Variable Type="HeuristicLab.Core.Variable, HeuristicLab.Core-3.2" GUID="46ad0dad-31be-49c4-b184-768ac857063b" Name="Windowing">
207                  <Value Type="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" GUID="57de5f5f-8890-4756-94fa-77a5b1acd618">True</Value>
208                </Variable>
209              </Variables>
210            </ProportionalSelector>
211            <CombinedOperator GUID="ede2667e-727c-41cb-b1f7-3ca71c8830f0" />
212            <InversionManipulator GUID="d7c019d5-820c-4438-9b29-bb047a1ea44a" />
213          </SubOperators>
214          <VariableInfos />
215          <Variables />
216          <Description>A combined operator contains a whole operator graph. It is useful for modularization to assemble complex operators out of simpler ones.
217
218A combined operator automatically inject its sub-operators into the scope it is applied on. Thereby the names of the sub-operators are used as variable names. Those operators can be extracted again in the contained operator graph by using an OperatorExtractor. So it is possible to parameterize a combined operator with custom operators.</Description>
219          <OperatorGraph Type="HeuristicLab.Core.OperatorGraph, HeuristicLab.Core-3.2" GUID="34202c6b-4830-4358-a201-14f13c533472">
220            <Operators>
221              <SequentialProcessor Type="HeuristicLab.Operators.SequentialProcessor, HeuristicLab.Operators-3.2" GUID="800b00bb-9d70-4ebe-9da5-851c7ff113ed" Name="SequentialProcessor">
222                <SubOperators>
223                  <CombinedOperator Type="HeuristicLab.Operators.CombinedOperator, HeuristicLab.Operators-3.2" GUID="c9822e01-3104-4dd0-b758-84b3637e0992" Name="Variable Injection">
224                    <SubOperators />
225                    <VariableInfos />
226                    <Variables />
227                    <Description>A combined operator contains a whole operator graph. It is useful for modularization to assemble complex operators out of simpler ones.
228
229A combined operator automatically inject its sub-operators into the scope it is applied on. Thereby the names of the sub-operators are used as variable names. Those operators can be extracted again in the contained operator graph by using an OperatorExtractor. So it is possible to parameterize a combined operator with custom operators.</Description>
230                    <OperatorGraph Type="HeuristicLab.Core.OperatorGraph, HeuristicLab.Core-3.2" GUID="127e91ca-810a-4d6a-bf47-8e4048a3b685">
231                      <Operators>
232                        <SequentialProcessor Type="HeuristicLab.Operators.SequentialProcessor, HeuristicLab.Operators-3.2" GUID="ac694ebd-2075-4ea7-a52a-c73730b23537" Name="SequentialProcessor">
233                          <SubOperators>
234                            <RandomInjector Type="HeuristicLab.Random.RandomInjector, HeuristicLab.Random-3.2" GUID="f515c962-83ed-4e3b-b7f9-5e9b770a0b8a" Name="RandomInjector">
235                              <SubOperators />
236                              <VariableInfos>
237                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="6e877c9b-cc34-4eda-b495-1ad3f60426d2" ActualName="SetSeedRandomly" FormalName="SetSeedRandomly" Description="Initialize random seed randomly" DataType="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" Kind="In" Local="True" />
238                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="46bd70f9-41e9-4829-8b95-fe4ac8e28dfe" ActualName="Seed" FormalName="Seed" Description="Random seed" DataType="HeuristicLab.Data.IntData, HeuristicLab.Data-3.2" Kind="In" Local="True" />
239                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="563ef68b-9640-46f2-9412-15d5063b9007" ActualName="Random" FormalName="Random" Description="Pseudo random number generator" DataType="HeuristicLab.Core.IRandom, HeuristicLab.Core-3.2" Kind="New" Local="False" />
240                              </VariableInfos>
241                              <Variables>
242                                <Variable Type="HeuristicLab.Core.Variable, HeuristicLab.Core-3.2" GUID="0a2f683c-37ff-4b15-9893-5458c615c981" Name="SetSeedRandomly">
243                                  <Value Type="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" GUID="a201ee0d-6e4f-41ed-ac1c-e62c0bbd28f0">True</Value>
244                                </Variable>
245                                <Variable Type="HeuristicLab.Core.Variable, HeuristicLab.Core-3.2" GUID="a1809d66-2d5b-4f6b-a344-37bbbd47ae5f" Name="Seed">
246                                  <Value Type="HeuristicLab.Data.IntData, HeuristicLab.Data-3.2" GUID="535257a8-63e9-4760-ad0c-3f20046d11cd">1700943874</Value>
247                                </Variable>
248                              </Variables>
249                            </RandomInjector>
250                            <VariableInjector Type="HeuristicLab.Operators.VariableInjector, HeuristicLab.Operators-3.2" GUID="728bc150-2592-4e03-b394-c4bc68f2d2a8" Name="LocalSettingsInjector">
251                              <SubOperators />
252                              <VariableInfos>
253                              </VariableInfos>
254                              <Variables>
255                                <Variable Type="HeuristicLab.Core.Variable, HeuristicLab.Core-3.2" GUID="31dedaa6-f2d8-4a88-a5e3-394ad6b71b48" Name="EvaluatedSolutions">
256                                  <Value Type="HeuristicLab.Data.IntData, HeuristicLab.Data-3.2" GUID="b2b11846-4cbb-4bf7-98f4-b1132116e907">0</Value>
257                                </Variable>
258                                <Variable Type="HeuristicLab.Core.Variable, HeuristicLab.Core-3.2" GUID="938906b8-fe7d-441e-8c7e-7a3a40d0f981" Name="Parents">
259                                  <Value Type="HeuristicLab.Data.IntData, HeuristicLab.Data-3.2" GUID="b9520c08-0c2d-44fc-adf9-d586634e2b05">100</Value>
260                                </Variable>
261                                <Variable Type="HeuristicLab.Core.Variable, HeuristicLab.Core-3.2" GUID="fd2ab6fc-32c2-4bbc-959e-3b8c0f5fad2c" Name="Generations">
262                                  <Value Type="HeuristicLab.Data.IntData, HeuristicLab.Data-3.2" GUID="38f54079-a14d-4824-b27e-3664040499cf">0</Value>
263                                </Variable>
264                              </Variables>
265                            </VariableInjector>
266                            <OperatorExtractor Type="HeuristicLab.Operators.OperatorExtractor, HeuristicLab.Operators-3.2" GUID="aa448a9a-c6cc-4cde-aa4d-ec8556f6f4ee" Name="SettingsInjector (Extractor)">
267                              <SubOperators />
268                              <VariableInfos>
269                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="11f304f6-322e-4949-bd7f-6e7062cb2e75" ActualName="SettingsInjector" FormalName="Operator" Description="Extracted operator" DataType="HeuristicLab.Core.IOperator, HeuristicLab.Core-3.2" Kind="In" Local="False" />
270                              </VariableInfos>
271                              <Variables />
272                            </OperatorExtractor>
273                            <OperatorExtractor Type="HeuristicLab.Operators.OperatorExtractor, HeuristicLab.Operators-3.2" GUID="e1ce4473-f5d1-4c23-b1a7-4c35c8c0f8c4" Name="ProblemInjector (Extractor)">
274                              <SubOperators />
275                              <VariableInfos>
276                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="aa0a45dd-cc5e-463e-b8f4-35205d088ba6" ActualName="ProblemInjector" FormalName="Operator" Description="Extracted operator" DataType="HeuristicLab.Core.IOperator, HeuristicLab.Core-3.2" Kind="In" Local="False" />
277                              </VariableInfos>
278                              <Variables />
279                            </OperatorExtractor>
280                            <ProgrammableOperator Type="HeuristicLab.Operators.Programmable.ProgrammableOperator, HeuristicLab.Operators.Programmable-3.2" GUID="fc8e3ec6-d7ec-4a9b-a577-9391db54b9ba" Name="InitializeCompFactor">
281                              <SubOperators />
282                              <VariableInfos>
283                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="9ed1acc9-11d8-4a8c-bb71-63c8a6ae2f2b" ActualName="MinComparisonFactor" FormalName="MinComparisonFactor" Description="" DataType="HeuristicLab.Data.DoubleData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
284                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="69bd9232-5a30-482e-a338-1955d0c894f0" ActualName="ComparisonFactor" FormalName="ComparisonFactor" Description="" DataType="HeuristicLab.Data.DoubleData, HeuristicLab.Data-3.2" Kind="New" Local="False" />
285                              </VariableInfos>
286                              <Variables />
287                              <Description>An operator that can be programmed for arbitrary needs.</Description>
288                              <Code>ComparisonFactor.Data = MinComparisonFactor.Data;</Code>
289                            </ProgrammableOperator>
290                          </SubOperators>
291                          <VariableInfos />
292                          <Variables />
293                        </SequentialProcessor>
294                        <RandomInjector GUID="f515c962-83ed-4e3b-b7f9-5e9b770a0b8a" />
295                        <OperatorExtractor GUID="aa448a9a-c6cc-4cde-aa4d-ec8556f6f4ee" />
296                        <OperatorExtractor GUID="e1ce4473-f5d1-4c23-b1a7-4c35c8c0f8c4" />
297                        <VariableInjector GUID="728bc150-2592-4e03-b394-c4bc68f2d2a8" />
298                        <ProgrammableOperator GUID="fc8e3ec6-d7ec-4a9b-a577-9391db54b9ba" />
299                      </Operators>
300                      <InitialOperator GUID="ac694ebd-2075-4ea7-a52a-c73730b23537" />
301                    </OperatorGraph>
302                  </CombinedOperator>
303                  <CombinedOperator Type="HeuristicLab.Operators.CombinedOperator, HeuristicLab.Operators-3.2" GUID="f3449247-393a-4f43-b654-18697fa84440" Name="Population Initialization">
304                    <SubOperators />
305                    <VariableInfos />
306                    <Variables />
307                    <Description>A combined operator contains a whole operator graph. It is useful for modularization to assemble complex operators out of simpler ones.
308
309A combined operator automatically inject its sub-operators into the scope it is applied on. Thereby the names of the sub-operators are used as variable names. Those operators can be extracted again in the contained operator graph by using an OperatorExtractor. So it is possible to parameterize a combined operator with custom operators.</Description>
310                    <OperatorGraph Type="HeuristicLab.Core.OperatorGraph, HeuristicLab.Core-3.2" GUID="3077ecd6-2b62-41c5-bfa2-9530b69481b9">
311                      <Operators>
312                        <SequentialProcessor Type="HeuristicLab.Operators.SequentialProcessor, HeuristicLab.Operators-3.2" GUID="46d7c8a7-9ad5-4b58-9ef5-9309b16bed50" Name="SequentialProcessor">
313                          <SubOperators>
314                            <SubScopesCreater Type="HeuristicLab.Operators.SubScopesCreater, HeuristicLab.Operators-3.2" GUID="48f5acd1-95a8-4f2e-9e61-363055f80bed" Name="Initial Village Creator (SubScopesCreator)">
315                              <SubOperators />
316                              <VariableInfos>
317                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="440c3648-5b71-409a-8ea7-59e7a611bc07" ActualName="InitialVillages" FormalName="SubScopes" Description="Number of sub-scopes" DataType="HeuristicLab.Data.IntData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
318                              </VariableInfos>
319                              <Variables />
320                            </SubScopesCreater>
321                            <UniformSequentialSubScopesProcessor Type="HeuristicLab.Operators.UniformSequentialSubScopesProcessor, HeuristicLab.Operators-3.2" GUID="9a6f1e0e-219b-43e7-984f-437cd6c3303d" Name="UniformSequentialSubScopesProcessor">
322                              <SubOperators>
323                                <SequentialProcessor Type="HeuristicLab.Operators.SequentialProcessor, HeuristicLab.Operators-3.2" GUID="6bdd2ccf-8b5a-48bb-8c0b-aeeb7c1487a5" Name="SequentialProcessor">
324                                  <SubOperators>
325                                    <VariableInjector Type="HeuristicLab.Operators.VariableInjector, HeuristicLab.Operators-3.2" GUID="cba5f1df-76a3-4348-bcb9-269c1817365b" Name="Set Village not terminated and not closed (VariableInjector)">
326                                      <SubOperators />
327                                      <VariableInfos>
328                                      </VariableInfos>
329                                      <Variables>
330                                        <Variable Type="HeuristicLab.Core.Variable, HeuristicLab.Core-3.2" GUID="6a49a532-ebbb-4cd9-bd34-3e0f43cf327b" Name="VillageTerminated">
331                                          <Value Type="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" GUID="37c5d5fa-d77e-43c2-a19c-33dd3475ae12">False</Value>
332                                        </Variable>
333                                        <Variable Type="HeuristicLab.Core.Variable, HeuristicLab.Core-3.2" GUID="b1437ba5-d880-42a1-8c02-2757ec7766d9" Name="VillageClosed">
334                                          <Value Type="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" GUID="abbc8a52-44d3-492f-8be9-7908ebbb2b58">False</Value>
335                                        </Variable>
336                                      </Variables>
337                                    </VariableInjector>
338                                    <SubScopesCreater Type="HeuristicLab.Operators.SubScopesCreater, HeuristicLab.Operators-3.2" GUID="8c25b87b-1464-43d9-8286-a368e881cf91" Name="Population Creator (SubScopesCreater)">
339                                      <SubOperators />
340                                      <VariableInfos>
341                                        <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="4bcbb285-221a-42c9-a0e6-f16db65574f6" ActualName="PopulationSize" FormalName="SubScopes" Description="Number of sub-scopes" DataType="HeuristicLab.Data.IntData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
342                                      </VariableInfos>
343                                      <Variables />
344                                    </SubScopesCreater>
345                                    <UniformSequentialSubScopesProcessor Type="HeuristicLab.Operators.UniformSequentialSubScopesProcessor, HeuristicLab.Operators-3.2" GUID="bc11eb45-5458-4895-ae29-dce7ac798106" Name="UniformSequentialSubScopesProcessor">
346                                      <SubOperators>
347                                        <SequentialProcessor Type="HeuristicLab.Operators.SequentialProcessor, HeuristicLab.Operators-3.2" GUID="fe256f66-2e0e-4f9a-9ea4-f823b387c653" Name="SequentialProcessor">
348                                          <SubOperators>
349                                            <OperatorExtractor Type="HeuristicLab.Operators.OperatorExtractor, HeuristicLab.Operators-3.2" GUID="e81e064b-86c9-45d4-93c5-0063f412cf7c" Name="SolutionGenerator (Extractor)">
350                                              <SubOperators />
351                                              <VariableInfos>
352                                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="e66f291e-6319-4561-bd9e-0b580f813f5d" ActualName="SolutionGenerator" FormalName="Operator" Description="Extracted operator" DataType="HeuristicLab.Core.IOperator, HeuristicLab.Core-3.2" Kind="In" Local="False" />
353                                              </VariableInfos>
354                                              <Variables />
355                                            </OperatorExtractor>
356                                            <OperatorExtractor Type="HeuristicLab.Operators.OperatorExtractor, HeuristicLab.Operators-3.2" GUID="d6a6b89f-1675-42d9-8442-b987f104b1fb" Name="Evaluator (Extractor)">
357                                              <SubOperators />
358                                              <VariableInfos>
359                                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="26015c7b-c5d9-4a6c-bb4d-806e7b1ab2e9" ActualName="Evaluator" FormalName="Operator" Description="Extracted operator" DataType="HeuristicLab.Core.IOperator, HeuristicLab.Core-3.2" Kind="In" Local="False" />
360                                              </VariableInfos>
361                                              <Variables />
362                                            </OperatorExtractor>
363                                            <Counter Type="HeuristicLab.Operators.Counter, HeuristicLab.Operators-3.2" GUID="66b12113-43b6-487b-a273-2b6726f305e8" Name="Counter">
364                                              <SubOperators />
365                                              <VariableInfos>
366                                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="1336c353-e1d6-4393-9053-3d15fbf8c19d" ActualName="EvaluatedSolutions" FormalName="Value" Description="Counter value" DataType="HeuristicLab.Data.IntData, HeuristicLab.Data-3.2" Kind="Out, In" Local="False" />
367                                              </VariableInfos>
368                                              <Variables />
369                                            </Counter>
370                                          </SubOperators>
371                                          <VariableInfos />
372                                          <Variables />
373                                        </SequentialProcessor>
374                                      </SubOperators>
375                                      <VariableInfos />
376                                      <Variables />
377                                    </UniformSequentialSubScopesProcessor>
378                                    <Sorter Type="HeuristicLab.Operators.Sorter, HeuristicLab.Operators-3.2" GUID="28268bac-26fb-44f9-8713-234c9f7f18d3" Name="Sorter">
379                                      <SubOperators />
380                                      <VariableInfos>
381                                        <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="a8507d54-98e9-4500-a5e4-5ce3302b7dc9" ActualName="Maximization" FormalName="Descending" Description="Sort in descending order" DataType="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
382                                        <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="a8c808ef-218c-4193-acb7-f90dd39f79ce" ActualName="Quality" FormalName="Value" Description="Sorting value" DataType="HeuristicLab.Data.DoubleData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
383                                      </VariableInfos>
384                                      <Variables />
385                                    </Sorter>
386                                  </SubOperators>
387                                  <VariableInfos />
388                                  <Variables />
389                                </SequentialProcessor>
390                              </SubOperators>
391                              <VariableInfos />
392                              <Variables />
393                            </UniformSequentialSubScopesProcessor>
394                          </SubOperators>
395                          <VariableInfos />
396                          <Variables />
397                        </SequentialProcessor>
398                        <SubScopesCreater GUID="8c25b87b-1464-43d9-8286-a368e881cf91" />
399                        <UniformSequentialSubScopesProcessor GUID="bc11eb45-5458-4895-ae29-dce7ac798106" />
400                        <SequentialProcessor GUID="fe256f66-2e0e-4f9a-9ea4-f823b387c653" />
401                        <OperatorExtractor GUID="e81e064b-86c9-45d4-93c5-0063f412cf7c" />
402                        <OperatorExtractor GUID="d6a6b89f-1675-42d9-8442-b987f104b1fb" />
403                        <Counter GUID="66b12113-43b6-487b-a273-2b6726f305e8" />
404                        <Sorter GUID="28268bac-26fb-44f9-8713-234c9f7f18d3" />
405                        <SubScopesCreater GUID="48f5acd1-95a8-4f2e-9e61-363055f80bed" />
406                        <UniformSequentialSubScopesProcessor GUID="9a6f1e0e-219b-43e7-984f-437cd6c3303d" />
407                        <SequentialProcessor GUID="6bdd2ccf-8b5a-48bb-8c0b-aeeb7c1487a5" />
408                        <VariableInjector GUID="cba5f1df-76a3-4348-bcb9-269c1817365b" />
409                      </Operators>
410                      <InitialOperator GUID="46d7c8a7-9ad5-4b58-9ef5-9309b16bed50" />
411                    </OperatorGraph>
412                  </CombinedOperator>
413                  <CombinedOperator Type="HeuristicLab.Operators.CombinedOperator, HeuristicLab.Operators-3.2" GUID="54222d09-aad8-462c-81e1-ac16168ec6b5" Name="Main">
414                    <SubOperators />
415                    <VariableInfos />
416                    <Variables />
417                    <Description>A combined operator contains a whole operator graph. It is useful for modularization to assemble complex operators out of simpler ones.
418
419A combined operator automatically inject its sub-operators into the scope it is applied on. Thereby the names of the sub-operators are used as variable names. Those operators can be extracted again in the contained operator graph by using an OperatorExtractor. So it is possible to parameterize a combined operator with custom operators.</Description>
420                    <OperatorGraph Type="HeuristicLab.Core.OperatorGraph, HeuristicLab.Core-3.2" GUID="fc45a6b6-a664-425e-bae0-d348e10f3a17">
421                      <Operators>
422                        <SequentialProcessor Type="HeuristicLab.Operators.SequentialProcessor, HeuristicLab.Operators-3.2" GUID="e671bf75-b474-452c-9836-8d76ac5c7024" Name="Generational Loop (SequentialProcessor)">
423                          <SubOperators>
424                            <UniformSequentialSubScopesProcessor Type="HeuristicLab.Operators.UniformSequentialSubScopesProcessor, HeuristicLab.Operators-3.2" GUID="02014d99-bb65-4a0f-a7f4-fe561adcfc07" Name="For all Villages (UniformSequentialSubScopesProcessor)">
425                              <SubOperators>
426                                <ConditionalBranch Type="HeuristicLab.Operators.ConditionalBranch, HeuristicLab.Operators-3.2" GUID="47af5926-daa2-42df-8d28-30f50a34b6ab" Name="Is Village Terminated (ConditionalBranch)">
427                                  <SubOperators>
428                                    <EmptyOperator Type="HeuristicLab.Operators.EmptyOperator, HeuristicLab.Operators-3.2" GUID="89ff5c5a-4d9d-4a3b-a28e-b488a600fa7d" Name="Village is terminated (EmptyOperator)">
429                                      <SubOperators />
430                                      <VariableInfos />
431                                      <Variables />
432                                    </EmptyOperator>
433                                    <SequentialProcessor Type="HeuristicLab.Operators.SequentialProcessor, HeuristicLab.Operators-3.2" GUID="cc9c8812-ebe7-409d-a5c5-d95cc98f6274" Name="Village lives (SequentialProcessor)">
434                                      <SubOperators>
435                                        <SequentialProcessor Type="HeuristicLab.Operators.SequentialProcessor, HeuristicLab.Operators-3.2" GUID="db0927fa-35be-481d-88ba-51b99901d825" Name="SequentialProcessor">
436                                          <SubOperators>
437                                            <CombinedOperator Type="HeuristicLab.Operators.CombinedOperator, HeuristicLab.Operators-3.2" GUID="7ff9388b-f063-499b-a950-c5e955c04588" Name="Gender-specific Seletion">
438                                              <SubOperators />
439                                              <VariableInfos />
440                                              <Variables />
441                                              <Description>A combined operator contains a whole operator graph. It is useful for modularization to assemble complex operators out of simpler ones.
442
443A combined operator automatically inject its sub-operators into the scope it is applied on. Thereby the names of the sub-operators are used as variable names. Those operators can be extracted again in the contained operator graph by using an OperatorExtractor. So it is possible to parameterize a combined operator with custom operators.</Description>
444                                              <OperatorGraph Type="HeuristicLab.Core.OperatorGraph, HeuristicLab.Core-3.2" GUID="7a54fc3a-bab9-4dd1-9df4-e8691d6133fd">
445                                                <Operators>
446                                                  <SequentialProcessor Type="HeuristicLab.Operators.SequentialProcessor, HeuristicLab.Operators-3.2" GUID="26b23ac1-256d-4f36-9054-26710ed4c767" Name="Selector">
447                                                    <SubOperators>
448                                                      <OperatorExtractor Type="HeuristicLab.Operators.OperatorExtractor, HeuristicLab.Operators-3.2" GUID="0eb3004b-aa0d-4f9c-a4fd-4c006144c4fd" Name="MaleSelector (Extractor)">
449                                                        <SubOperators />
450                                                        <VariableInfos>
451                                                          <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="878d2c5b-c863-44e0-ae3d-a21f5da664ce" ActualName="MaleSelector" FormalName="Operator" Description="Extracted operator" DataType="HeuristicLab.Core.IOperator, HeuristicLab.Core-3.2" Kind="In" Local="False" />
452                                                        </VariableInfos>
453                                                        <Variables />
454                                                      </OperatorExtractor>
455                                                      <SequentialSubScopesProcessor Type="HeuristicLab.Operators.SequentialSubScopesProcessor, HeuristicLab.Operators-3.2" GUID="f629da0d-d40a-4f9c-a0db-b1165f982119" Name="SequentialSubScopesProcessor">
456                                                        <SubOperators>
457                                                          <OperatorExtractor Type="HeuristicLab.Operators.OperatorExtractor, HeuristicLab.Operators-3.2" GUID="bd7ca6e9-33d9-4e6f-9a4b-a0ee9b51c464" Name="FemaleSelector (Extractor)">
458                                                            <SubOperators />
459                                                            <VariableInfos>
460                                                              <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="a1341872-695d-45a7-b536-3b406a9c25bb" ActualName="FemaleSelector" FormalName="Operator" Description="Extracted operator" DataType="HeuristicLab.Core.IOperator, HeuristicLab.Core-3.2" Kind="In" Local="False" />
461                                                            </VariableInfos>
462                                                            <Variables />
463                                                          </OperatorExtractor>
464                                                          <EmptyOperator Type="HeuristicLab.Operators.EmptyOperator, HeuristicLab.Operators-3.2" GUID="5bfb1316-4b4c-46c0-a946-9f943e5d372a" Name="EmptyOperator">
465                                                            <SubOperators />
466                                                            <VariableInfos />
467                                                            <Variables />
468                                                          </EmptyOperator>
469                                                        </SubOperators>
470                                                        <VariableInfos />
471                                                        <Variables />
472                                                      </SequentialSubScopesProcessor>
473                                                      <RightChildReducer Type="HeuristicLab.Selection.RightChildReducer, HeuristicLab.Selection-3.2" GUID="6d31b4d6-541e-4c26-9ad9-f016ea22390b" Name="RightChildReducer">
474                                                        <SubOperators />
475                                                        <VariableInfos />
476                                                        <Variables />
477                                                      </RightChildReducer>
478                                                      <SubScopesMixer Type="HeuristicLab.Operators.SubScopesMixer, HeuristicLab.Operators-3.2" GUID="6a3f6c32-c5c7-4591-b5ad-c8ff7a63b839" Name="SubScopesMixer">
479                                                        <SubOperators />
480                                                        <VariableInfos>
481                                                          <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="1d8b139d-adb9-4ef4-9a1c-47c1efcc4b03" ActualName="Partitions" FormalName="Partitions" Description="Number of partitions to mix" DataType="HeuristicLab.Data.IntData, HeuristicLab.Data-3.2" Kind="In" Local="True" />
482                                                        </VariableInfos>
483                                                        <Variables>
484                                                          <Variable Type="HeuristicLab.Core.Variable, HeuristicLab.Core-3.2" GUID="be9e714f-6b1e-47f1-8460-d1ebb0b81c5d" Name="Partitions">
485                                                            <Value Type="HeuristicLab.Data.IntData, HeuristicLab.Data-3.2" GUID="de042f37-1c55-455f-8c75-8442b3e1cdfb">2</Value>
486                                                          </Variable>
487                                                        </Variables>
488                                                      </SubScopesMixer>
489                                                    </SubOperators>
490                                                    <VariableInfos />
491                                                    <Variables />
492                                                  </SequentialProcessor>
493                                                  <SequentialSubScopesProcessor GUID="f629da0d-d40a-4f9c-a0db-b1165f982119" />
494                                                  <EmptyOperator GUID="5bfb1316-4b4c-46c0-a946-9f943e5d372a" />
495                                                  <RightChildReducer GUID="6d31b4d6-541e-4c26-9ad9-f016ea22390b" />
496                                                  <SubScopesMixer GUID="6a3f6c32-c5c7-4591-b5ad-c8ff7a63b839" />
497                                                  <OperatorExtractor GUID="0eb3004b-aa0d-4f9c-a4fd-4c006144c4fd" />
498                                                  <OperatorExtractor GUID="bd7ca6e9-33d9-4e6f-9a4b-a0ee9b51c464" />
499                                                </Operators>
500                                                <InitialOperator GUID="26b23ac1-256d-4f36-9054-26710ed4c767" />
501                                              </OperatorGraph>
502                                            </CombinedOperator>
503                                            <SequentialSubScopesProcessor Type="HeuristicLab.Operators.SequentialSubScopesProcessor, HeuristicLab.Operators-3.2" GUID="f2cd7f6f-51f2-40d0-96ae-c9f69c7f7a68" Name="SequentialSubScopesProcessor">
504                                              <SubOperators>
505                                                <EmptyOperator Type="HeuristicLab.Operators.EmptyOperator, HeuristicLab.Operators-3.2" GUID="778cba10-fcf8-4c63-b6d1-ee6410abb9b8" Name="EmptyOperator">
506                                                  <SubOperators />
507                                                  <VariableInfos />
508                                                  <Variables />
509                                                </EmptyOperator>
510                                                <CombinedOperator Type="HeuristicLab.Operators.CombinedOperator, HeuristicLab.Operators-3.2" GUID="215c5230-4d7a-4fd5-8a7c-5dba1803b5b9" Name="Create Children">
511                                                  <SubOperators />
512                                                  <VariableInfos />
513                                                  <Variables />
514                                                  <Description>A combined operator contains a whole operator graph. It is useful for modularization to assemble complex operators out of simpler ones.
515
516A combined operator automatically inject its sub-operators into the scope it is applied on. Thereby the names of the sub-operators are used as variable names. Those operators can be extracted again in the contained operator graph by using an OperatorExtractor. So it is possible to parameterize a combined operator with custom operators.</Description>
517                                                  <OperatorGraph Type="HeuristicLab.Core.OperatorGraph, HeuristicLab.Core-3.2" GUID="3d6e6c37-2671-4777-9056-01127da32360">
518                                                    <Operators>
519                                                      <WeightedOffspringFitnessComparer Type="HeuristicLab.Selection.OffspringSelection.WeightedOffspringFitnessComparer, HeuristicLab.Selection.OffspringSelection-3.2" GUID="cb638267-4ea9-419d-92b6-18e082ea6419" Name="WeightedOffspringFitnessComparer">
520                                                        <SubOperators />
521                                                        <VariableInfos>
522                                                          <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="60514012-eabd-428f-9982-4de7fbe27e59" ActualName="Maximization" FormalName="Maximization" Description="True if the problem is a maximization problem" DataType="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
523                                                          <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="7a390fbc-d7dd-45ab-885f-28c968b3cddc" ActualName="Quality" FormalName="Quality" Description="Quality value" DataType="HeuristicLab.Data.DoubleData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
524                                                          <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="fca3e3e5-6cf9-41bf-8bb4-147a2f41237f" ActualName="SuccessfulChild" FormalName="SuccessfulChild" Description="True if the child is successful" DataType="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" Kind="New" Local="False" />
525                                                          <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="63f74511-15e0-4775-b1e7-b40b28b305a0" ActualName="ComparisonFactor" FormalName="ComparisonFactor" Description="Factor for comparing the quality of a child with the qualities of its parents (0 = better than worst parent, 1 = better than best parent)" DataType="HeuristicLab.Data.DoubleData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
526                                                        </VariableInfos>
527                                                        <Variables />
528                                                      </WeightedOffspringFitnessComparer>
529                                                      <UniformSequentialSubScopesProcessor Type="HeuristicLab.Operators.UniformSequentialSubScopesProcessor, HeuristicLab.Operators-3.2" GUID="ed218f1e-ef9d-4057-9b85-b48f9b949c03" Name="UniformSequentialSubScopesProcessor">
530                                                        <SubOperators>
531                                                          <SequentialProcessor Type="HeuristicLab.Operators.SequentialProcessor, HeuristicLab.Operators-3.2" GUID="30fbf7cd-f8ed-4ef3-882f-a7fee3fb2ffb" Name="SequentialProcessor">
532                                                            <SubOperators>
533                                                              <OperatorExtractor Type="HeuristicLab.Operators.OperatorExtractor, HeuristicLab.Operators-3.2" GUID="c43c66b2-1fd3-4478-8c82-70ac1c270799" Name="Crossover (Extractor)">
534                                                                <SubOperators />
535                                                                <VariableInfos>
536                                                                  <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="be8cb7dd-ac0e-45f9-9163-64f040ebe673" ActualName="Crossover" FormalName="Operator" Description="Extracted operator" DataType="HeuristicLab.Core.IOperator, HeuristicLab.Core-3.2" Kind="In" Local="False" />
537                                                                </VariableInfos>
538                                                                <Variables />
539                                                              </OperatorExtractor>
540                                                              <StochasticBranch Type="HeuristicLab.Operators.StochasticBranch, HeuristicLab.Operators-3.2" GUID="236bd562-7c4f-430e-8cd1-aa2eaf2ffd98" Name="StochasticBranch">
541                                                                <SubOperators>
542                                                                  <OperatorExtractor Type="HeuristicLab.Operators.OperatorExtractor, HeuristicLab.Operators-3.2" GUID="77d84cab-dcbf-4854-b86d-965747d9932f" Name="Mutator (Extractor)">
543                                                                    <SubOperators />
544                                                                    <VariableInfos>
545                                                                      <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="931aa666-d3d8-433c-8a60-bdc1c355ee8f" ActualName="Mutator" FormalName="Operator" Description="Extracted operator" DataType="HeuristicLab.Core.IOperator, HeuristicLab.Core-3.2" Kind="In" Local="False" />
546                                                                    </VariableInfos>
547                                                                    <Variables />
548                                                                  </OperatorExtractor>
549                                                                </SubOperators>
550                                                                <VariableInfos>
551                                                                  <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="320b3d6c-4db3-4a30-b157-862dd695f4db" ActualName="Random" FormalName="Random" Description="Pseudo random number generator" DataType="HeuristicLab.Core.IRandom, HeuristicLab.Core-3.2" Kind="In" Local="False" />
552                                                                  <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="54d1f3ba-9bb8-416f-ae76-6e20c1a724e1" ActualName="MutationRate" FormalName="Probability" Description="Probability to choose first branch" DataType="HeuristicLab.Data.DoubleData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
553                                                                </VariableInfos>
554                                                                <Variables />
555                                                              </StochasticBranch>
556                                                              <OperatorExtractor Type="HeuristicLab.Operators.OperatorExtractor, HeuristicLab.Operators-3.2" GUID="61c6fba4-9fdf-4c5d-a475-f9f0a35435d8" Name="Evaluator (Extractor)">
557                                                                <SubOperators />
558                                                                <VariableInfos>
559                                                                  <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="99bcc3d8-0a90-42dd-a0b4-c0c3c415e505" ActualName="Evaluator" FormalName="Operator" Description="Extracted operator" DataType="HeuristicLab.Core.IOperator, HeuristicLab.Core-3.2" Kind="In" Local="False" />
560                                                                </VariableInfos>
561                                                                <Variables />
562                                                              </OperatorExtractor>
563                                                              <Counter Type="HeuristicLab.Operators.Counter, HeuristicLab.Operators-3.2" GUID="ccff5e9a-38e9-4f1a-baf4-ce34cb61abf2" Name="Counter">
564                                                                <SubOperators />
565                                                                <VariableInfos>
566                                                                  <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="e0650122-ad9a-4395-b761-985c6978b9cc" ActualName="EvaluatedSolutions" FormalName="Value" Description="Counter value" DataType="HeuristicLab.Data.IntData, HeuristicLab.Data-3.2" Kind="Out, In" Local="False" />
567                                                                </VariableInfos>
568                                                                <Variables />
569                                                              </Counter>
570                                                              <WeightedOffspringFitnessComparer GUID="cb638267-4ea9-419d-92b6-18e082ea6419" />
571                                                              <SubScopesRemover Type="HeuristicLab.Operators.SubScopesRemover, HeuristicLab.Operators-3.2" GUID="f9b800df-f0e8-4526-8857-e22d58bbdf67" Name="SubScopesRemover">
572                                                                <SubOperators />
573                                                                <VariableInfos>
574                                                                  <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="d22929e3-a60b-4cdc-835e-9b3b88a0dca1" ActualName="SubScopeIndex" FormalName="SubScopeIndex" Description="(Optional) the index of the subscope to remove" DataType="HeuristicLab.Data.IntData, HeuristicLab.Data-3.2" Kind="In" Local="True" />
575                                                                </VariableInfos>
576                                                                <Variables />
577                                                              </SubScopesRemover>
578                                                            </SubOperators>
579                                                            <VariableInfos />
580                                                            <Variables />
581                                                          </SequentialProcessor>
582                                                        </SubOperators>
583                                                        <VariableInfos />
584                                                        <Variables />
585                                                      </UniformSequentialSubScopesProcessor>
586                                                      <SequentialProcessor GUID="30fbf7cd-f8ed-4ef3-882f-a7fee3fb2ffb" />
587                                                      <OperatorExtractor GUID="c43c66b2-1fd3-4478-8c82-70ac1c270799" />
588                                                      <StochasticBranch GUID="236bd562-7c4f-430e-8cd1-aa2eaf2ffd98" />
589                                                      <OperatorExtractor GUID="77d84cab-dcbf-4854-b86d-965747d9932f" />
590                                                      <OperatorExtractor GUID="61c6fba4-9fdf-4c5d-a475-f9f0a35435d8" />
591                                                      <Counter GUID="ccff5e9a-38e9-4f1a-baf4-ce34cb61abf2" />
592                                                      <SubScopesRemover GUID="f9b800df-f0e8-4526-8857-e22d58bbdf67" />
593                                                      <Sorter Type="HeuristicLab.Operators.Sorter, HeuristicLab.Operators-3.2" GUID="5fa2d002-5712-4aa6-9544-5ba77bf8b6bb" Name="Sorter">
594                                                        <SubOperators />
595                                                        <VariableInfos>
596                                                          <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="bb83f5ff-9241-4abb-8774-3ce7eba47509" ActualName="Maximization" FormalName="Descending" Description="Sort in descending order" DataType="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
597                                                          <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="5ba4fc37-a0b3-4439-adba-b4016b9d9118" ActualName="Quality" FormalName="Value" Description="Sorting value" DataType="HeuristicLab.Data.DoubleData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
598                                                        </VariableInfos>
599                                                        <Variables />
600                                                      </Sorter>
601                                                      <SequentialProcessor Type="HeuristicLab.Operators.SequentialProcessor, HeuristicLab.Operators-3.2" GUID="e3354059-2c5f-4049-b426-ed7da9922487" Name="SequentialProcessor">
602                                                        <SubOperators>
603                                                          <ChildrenInitializer Type="HeuristicLab.Evolutionary.ChildrenInitializer, HeuristicLab.Evolutionary-3.2" GUID="29e6e854-6b29-429a-a0a9-93be916f5d97" Name="ChildrenInitializer">
604                                                            <SubOperators />
605                                                            <VariableInfos>
606                                                              <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="c9dce604-4e86-4d80-82f5-0ed833d3cc7d" ActualName="ParentsPerChild" FormalName="ParentsPerChild" Description="Denotes the number of parents that should be crossed per child. Note that some of the typical crossover operators can only work with 2 parents." DataType="HeuristicLab.Data.IntData, HeuristicLab.Data-3.2" Kind="In" Local="True" />
607                                                            </VariableInfos>
608                                                            <Variables>
609                                                              <Variable Type="HeuristicLab.Core.Variable, HeuristicLab.Core-3.2" GUID="b14a5ca9-75c1-4033-94cb-7451aff334e2" Name="ParentsPerChild">
610                                                                <Value Type="HeuristicLab.Data.IntData, HeuristicLab.Data-3.2" GUID="468f9870-2c78-4eb3-ae17-3ed14bb87b34">2</Value>
611                                                              </Variable>
612                                                            </Variables>
613                                                          </ChildrenInitializer>
614                                                          <UniformSequentialSubScopesProcessor GUID="ed218f1e-ef9d-4057-9b85-b48f9b949c03" />
615                                                          <Sorter GUID="5fa2d002-5712-4aa6-9544-5ba77bf8b6bb" />
616                                                        </SubOperators>
617                                                        <VariableInfos />
618                                                        <Variables />
619                                                      </SequentialProcessor>
620                                                      <ChildrenInitializer GUID="29e6e854-6b29-429a-a0a9-93be916f5d97" />
621                                                    </Operators>
622                                                    <InitialOperator GUID="e3354059-2c5f-4049-b426-ed7da9922487" />
623                                                  </OperatorGraph>
624                                                </CombinedOperator>
625                                              </SubOperators>
626                                              <VariableInfos />
627                                              <Variables />
628                                            </SequentialSubScopesProcessor>
629                                            <OffspringSelector Type="HeuristicLab.Selection.OffspringSelection.OffspringSelector, HeuristicLab.Selection.OffspringSelection-3.2" GUID="30aaaa86-728d-412a-8d14-73f3d55d2145" Name="OffspringSelector">
630                                              <SubOperators>
631                                                <SequentialProcessor GUID="db0927fa-35be-481d-88ba-51b99901d825" />
632                                              </SubOperators>
633                                              <VariableInfos>
634                                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="638540fd-e5bb-4593-b802-ce6d7b2772bd" ActualName="SuccessfulChild" FormalName="SuccessfulChild" Description="True if the child was successful" DataType="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
635                                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="5e1e6d32-44ea-416e-8237-1b5404a85d85" ActualName="MaximumSelectionPressure" FormalName="SelectionPressureLimit" Description="Maximum selection pressure" DataType="HeuristicLab.Data.DoubleData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
636                                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="8e5e41d8-850b-4016-9259-1a9b02ddbbe6" ActualName="SuccessRatioLimit" FormalName="SuccessRatioLimit" Description="Maximum success ratio" DataType="HeuristicLab.Data.DoubleData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
637                                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="14c55533-c198-43f1-a44c-8abcde203e83" ActualName="SelectionPressure" FormalName="SelectionPressure" Description="Current selection pressure" DataType="HeuristicLab.Data.DoubleData, HeuristicLab.Data-3.2" Kind="New, Out" Local="False" />
638                                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="59786ebc-59cb-4734-9160-dec1feeabb9f" ActualName="SuccessRatio" FormalName="SuccessRatio" Description="Current success ratio" DataType="HeuristicLab.Data.DoubleData, HeuristicLab.Data-3.2" Kind="New, Out" Local="False" />
639                                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="8e0efcab-ff1a-4a70-b4b9-0e409dea27a5" ActualName="GoodChildren" FormalName="GoodChildren" Description="Temporarily store successful children" DataType="HeuristicLab.Data.ItemList`1[[HeuristicLab.Core.IScope, HeuristicLab.Core-3.2]], HeuristicLab.Data-3.2" Kind="New, Out, In, Deleted" Local="False" />
640                                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="f4a533bb-c478-42c0-b47f-9e7549ec833d" ActualName="BadChildren" FormalName="BadChildren" Description="Temporarily store unsuccessful children" DataType="HeuristicLab.Data.ItemList`1[[HeuristicLab.Core.IScope, HeuristicLab.Core-3.2]], HeuristicLab.Data-3.2" Kind="New, Out, In, Deleted" Local="False" />
641                                              </VariableInfos>
642                                              <Variables />
643                                            </OffspringSelector>
644                                          </SubOperators>
645                                          <VariableInfos />
646                                          <Variables />
647                                        </SequentialProcessor>
648                                        <CombinedOperator Type="HeuristicLab.Operators.CombinedOperator, HeuristicLab.Operators-3.2" GUID="5833a3e8-f678-49a5-8dc6-77c293018d31" Name="Replacement">
649                                          <SubOperators />
650                                          <VariableInfos />
651                                          <Variables />
652                                          <Description>A combined operator contains a whole operator graph. It is useful for modularization to assemble complex operators out of simpler ones.
653
654A combined operator automatically inject its sub-operators into the scope it is applied on. Thereby the names of the sub-operators are used as variable names. Those operators can be extracted again in the contained operator graph by using an OperatorExtractor. So it is possible to parameterize a combined operator with custom operators.</Description>
655                                          <OperatorGraph Type="HeuristicLab.Core.OperatorGraph, HeuristicLab.Core-3.2" GUID="1ebe7445-5e05-4e43-9ded-4378c1dd06f7">
656                                            <Operators>
657                                              <SequentialProcessor Type="HeuristicLab.Operators.SequentialProcessor, HeuristicLab.Operators-3.2" GUID="f9c977a0-8541-45bd-b976-e823747d50f1" Name="SequentialProcessor">
658                                                <SubOperators>
659                                                  <SequentialSubScopesProcessor Type="HeuristicLab.Operators.SequentialSubScopesProcessor, HeuristicLab.Operators-3.2" GUID="4222f0af-e1d1-43de-a9ca-037bf70b86de" Name="SequentialSubScopesProcessor">
660                                                    <SubOperators>
661                                                      <SequentialProcessor Type="HeuristicLab.Operators.SequentialProcessor, HeuristicLab.Operators-3.2" GUID="fa3c3f5d-8762-4b71-b5a3-17c9dd3e999e" Name="SequentialProcessor">
662                                                        <SubOperators>
663                                                          <LeftSelector Type="HeuristicLab.Selection.LeftSelector, HeuristicLab.Selection-3.2" GUID="84acf365-59e3-427a-931f-bf69671f16a0" Name="LeftSelector">
664                                                            <SubOperators />
665                                                            <VariableInfos>
666                                                              <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="2503d668-b49f-4d75-a274-fffdd8ee6e45" ActualName="CopySelected" FormalName="CopySelected" Description="Copy or move selected sub-scopes" DataType="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" Kind="In" Local="True" />
667                                                              <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="a3f1c919-a815-4266-846a-35004a8f7f36" ActualName="Random" FormalName="Random" Description="Pseudo random number generator" DataType="HeuristicLab.Core.IRandom, HeuristicLab.Core-3.2" Kind="In" Local="False" />
668                                                              <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="53fb85e2-8be1-412b-99fa-592c04862431" ActualName="Elites" FormalName="Selected" Description="Number of selected sub-scopes" DataType="HeuristicLab.Data.IntData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
669                                                            </VariableInfos>
670                                                            <Variables>
671                                                              <Variable Type="HeuristicLab.Core.Variable, HeuristicLab.Core-3.2" GUID="6e1d4bc1-c58b-4b4c-9ab8-ba852ef799aa" Name="CopySelected">
672                                                                <Value Type="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" GUID="16847e9e-14c9-4984-a707-0de4278a238a">False</Value>
673                                                              </Variable>
674                                                            </Variables>
675                                                          </LeftSelector>
676                                                          <RightReducer Type="HeuristicLab.Selection.RightReducer, HeuristicLab.Selection-3.2" GUID="7e62e047-0dfd-49e6-acee-709e9600744a" Name="RightReducer">
677                                                            <SubOperators />
678                                                            <VariableInfos />
679                                                            <Variables />
680                                                          </RightReducer>
681                                                        </SubOperators>
682                                                        <VariableInfos />
683                                                        <Variables />
684                                                      </SequentialProcessor>
685                                                      <SequentialProcessor Type="HeuristicLab.Operators.SequentialProcessor, HeuristicLab.Operators-3.2" GUID="221b1882-c59b-429d-bbe5-4492dcfb7be1" Name="SequentialProcessor">
686                                                        <SubOperators>
687                                                          <RightSelector Type="HeuristicLab.Selection.RightSelector, HeuristicLab.Selection-3.2" GUID="2d730498-85b7-425c-9300-75bbf76f1131" Name="RightSelector">
688                                                            <SubOperators />
689                                                            <VariableInfos>
690                                                              <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="03d9f109-699b-4b6d-9f43-1de8c197561d" ActualName="CopySelected" FormalName="CopySelected" Description="Copy or move selected sub-scopes" DataType="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" Kind="In" Local="True" />
691                                                              <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="2807916c-5982-4bee-9fca-080493e25263" ActualName="Random" FormalName="Random" Description="Pseudo random number generator" DataType="HeuristicLab.Core.IRandom, HeuristicLab.Core-3.2" Kind="In" Local="False" />
692                                                              <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="a94353f0-f67b-49ca-b0f7-d8f24b67a0cd" ActualName="Elites" FormalName="Selected" Description="Number of selected sub-scopes" DataType="HeuristicLab.Data.IntData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
693                                                            </VariableInfos>
694                                                            <Variables>
695                                                              <Variable Type="HeuristicLab.Core.Variable, HeuristicLab.Core-3.2" GUID="cc5a5f29-e945-4410-b7b3-b8cdc5da80f9" Name="CopySelected">
696                                                                <Value Type="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" GUID="a93542a0-0b82-4dee-b462-1899d01b1fbb">False</Value>
697                                                              </Variable>
698                                                            </Variables>
699                                                          </RightSelector>
700                                                          <LeftReducer Type="HeuristicLab.Selection.LeftReducer, HeuristicLab.Selection-3.2" GUID="f6704145-70a3-41c0-8e45-116570331e53" Name="LeftReducer">
701                                                            <SubOperators />
702                                                            <VariableInfos />
703                                                            <Variables />
704                                                          </LeftReducer>
705                                                        </SubOperators>
706                                                        <VariableInfos />
707                                                        <Variables />
708                                                      </SequentialProcessor>
709                                                    </SubOperators>
710                                                    <VariableInfos />
711                                                    <Variables />
712                                                  </SequentialSubScopesProcessor>
713                                                  <MergingReducer Type="HeuristicLab.Selection.MergingReducer, HeuristicLab.Selection-3.2" GUID="ae8d0700-8029-410e-a80f-986f72d1ab05" Name="MergingReducer">
714                                                    <SubOperators />
715                                                    <VariableInfos />
716                                                    <Variables />
717                                                  </MergingReducer>
718                                                  <Sorter Type="HeuristicLab.Operators.Sorter, HeuristicLab.Operators-3.2" GUID="02dea3a9-b32f-4ec3-bbe9-d2a50314f4aa" Name="Sorter">
719                                                    <SubOperators />
720                                                    <VariableInfos>
721                                                      <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="0139bae9-107a-4a82-abd3-b9e25bbb78d9" ActualName="Maximization" FormalName="Descending" Description="Sort in descending order" DataType="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
722                                                      <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="9792b7ac-47ed-45ff-840d-a2f97058de93" ActualName="Quality" FormalName="Value" Description="Sorting value" DataType="HeuristicLab.Data.DoubleData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
723                                                    </VariableInfos>
724                                                    <Variables />
725                                                  </Sorter>
726                                                </SubOperators>
727                                                <VariableInfos />
728                                                <Variables />
729                                              </SequentialProcessor>
730                                              <SequentialSubScopesProcessor GUID="4222f0af-e1d1-43de-a9ca-037bf70b86de" />
731                                              <SequentialProcessor GUID="fa3c3f5d-8762-4b71-b5a3-17c9dd3e999e" />
732                                              <LeftSelector GUID="84acf365-59e3-427a-931f-bf69671f16a0" />
733                                              <RightReducer GUID="7e62e047-0dfd-49e6-acee-709e9600744a" />
734                                              <SequentialProcessor GUID="221b1882-c59b-429d-bbe5-4492dcfb7be1" />
735                                              <RightSelector GUID="2d730498-85b7-425c-9300-75bbf76f1131" />
736                                              <LeftReducer GUID="f6704145-70a3-41c0-8e45-116570331e53" />
737                                              <MergingReducer GUID="ae8d0700-8029-410e-a80f-986f72d1ab05" />
738                                              <Sorter GUID="02dea3a9-b32f-4ec3-bbe9-d2a50314f4aa" />
739                                            </Operators>
740                                            <InitialOperator GUID="f9c977a0-8541-45bd-b976-e823747d50f1" />
741                                          </OperatorGraph>
742                                        </CombinedOperator>
743                                        <QualityLogger Type="HeuristicLab.Logging.QualityLogger, HeuristicLab.Logging-3.2" GUID="b41c9845-f2be-4090-b185-1405d2afbb31" Name="Village QualityLogger">
744                                          <SubOperators />
745                                          <VariableInfos>
746                                            <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="8fa04144-e6eb-40e0-8215-000713f8ba75" ActualName="Quality" FormalName="Quality" Description="Quality value of a solution" DataType="HeuristicLab.Data.DoubleData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
747                                            <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="5f1f65e3-e856-4152-b809-9c2ab01aca97" ActualName="VillageQualityLog" FormalName="QualityLog" Description="Log of best, average and worst quality values" DataType="HeuristicLab.Data.ItemList, HeuristicLab.Data-3.2" Kind="New, Out, In" Local="False" />
748                                          </VariableInfos>
749                                          <Variables />
750                                        </QualityLogger>
751                                        <BestAverageWorstQualityCalculator Type="HeuristicLab.Logging.BestAverageWorstQualityCalculator, HeuristicLab.Logging-3.2" GUID="8d85c138-82e6-4daf-990f-d32fbdd862f4" Name="VillageBestAverageWorstQualityCalculator">
752                                          <SubOperators />
753                                          <VariableInfos>
754                                            <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="9d07f7a0-61b2-4cee-bf13-dc18677d80eb" ActualName="Quality" FormalName="Quality" Description="Quality value of a solution" DataType="HeuristicLab.Data.DoubleData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
755                                            <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="86294089-0db1-4b44-9a74-7552d2c09359" ActualName="Maximization" FormalName="Maximization" Description="Maximization problem" DataType="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
756                                            <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="2fb71af6-b246-4eae-9abb-49369cc2acbf" ActualName="VillageBestQuality" FormalName="BestQuality" Description="Quality value of best solution" DataType="HeuristicLab.Data.DoubleData, HeuristicLab.Data-3.2" Kind="New, Out" Local="False" />
757                                            <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="c40f36e1-9362-4498-beab-86accbe4040b" ActualName="VillageAverageQuality" FormalName="AverageQuality" Description="Average quality value" DataType="HeuristicLab.Data.DoubleData, HeuristicLab.Data-3.2" Kind="New, Out" Local="False" />
758                                            <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="e234e262-0b1e-4bca-a354-e3cab1246f2c" ActualName="VillageWorstQuality" FormalName="WorstQuality" Description="Quality value of worst solution" DataType="HeuristicLab.Data.DoubleData, HeuristicLab.Data-3.2" Kind="New, Out" Local="False" />
759                                          </VariableInfos>
760                                          <Variables />
761                                        </BestAverageWorstQualityCalculator>
762                                        <GreaterThanComparator Type="HeuristicLab.Operators.GreaterThanComparator, HeuristicLab.Operators-3.2" GUID="e61cb427-da7f-4205-b40d-d0a91949b5d1" Name="SelPressGreaterThanComparator">
763                                          <SubOperators />
764                                          <VariableInfos>
765                                            <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="ce2f4e8a-b699-4d27-9e00-beca3172f647" ActualName="SelectionPressure" FormalName="LeftSide" Description="Variable on the left side of the comparison" DataType="HeuristicLab.Core.IItem, HeuristicLab.Core-3.2" Kind="In" Local="False" />
766                                            <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="e8e7352b-4783-47b3-8669-2b35bcb25da3" ActualName="MaximumSelectionPressure" FormalName="RightSide" Description="Variable on the right side of the comparison" DataType="HeuristicLab.Core.IItem, HeuristicLab.Core-3.2" Kind="In" Local="False" />
767                                            <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="af02652c-2aef-4142-957f-ac7ea1898ec4" ActualName="SelPressCondition" FormalName="Result" Description="Result of the comparison" DataType="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" Kind="New, Out" Local="False" />
768                                          </VariableInfos>
769                                          <Variables />
770                                        </GreaterThanComparator>
771                                        <ConditionalBranch Type="HeuristicLab.Operators.ConditionalBranch, HeuristicLab.Operators-3.2" GUID="76855e6f-1d63-442e-ba67-34aef9d6c348" Name="ConditionalBranch">
772                                          <SubOperators>
773                                            <VariableInjector Type="HeuristicLab.Operators.VariableInjector, HeuristicLab.Operators-3.2" GUID="0450758a-3d3d-4e29-bb72-f9ddfee23fc5" Name="VillageTerminator (VariableInjector)">
774                                              <SubOperators />
775                                              <VariableInfos>
776                                              </VariableInfos>
777                                              <Variables>
778                                                <Variable Type="HeuristicLab.Core.Variable, HeuristicLab.Core-3.2" GUID="92d0a432-0126-453c-99a5-37bf9fcebc74" Name="VillageTerminated">
779                                                  <Value Type="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" GUID="9dbddd4d-a546-4727-82d4-dbca06d5e1f5">True</Value>
780                                                </Variable>
781                                              </Variables>
782                                            </VariableInjector>
783                                          </SubOperators>
784                                          <VariableInfos>
785                                            <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="53e6a8da-1778-4be9-8745-3d995f34fa27" ActualName="SelPressCondition" FormalName="Condition" Description="A boolean variable that decides the branch" DataType="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
786                                          </VariableInfos>
787                                          <Variables />
788                                        </ConditionalBranch>
789                                      </SubOperators>
790                                      <VariableInfos />
791                                      <Variables />
792                                    </SequentialProcessor>
793                                  </SubOperators>
794                                  <VariableInfos>
795                                    <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="e5697687-bac9-4b7e-adb0-c86d7164d958" ActualName="VillageTerminated" FormalName="Condition" Description="A boolean variable that decides the branch" DataType="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
796                                  </VariableInfos>
797                                  <Variables />
798                                </ConditionalBranch>
799                              </SubOperators>
800                              <VariableInfos />
801                              <Variables />
802                            </UniformSequentialSubScopesProcessor>
803                            <BestAverageWorstQualityCalculator Type="HeuristicLab.Logging.BestAverageWorstQualityCalculator, HeuristicLab.Logging-3.2" GUID="5bb89726-2403-48f3-b36a-f63a57da1296" Name="BestAverageWorstQualityCalculator">
804                              <SubOperators />
805                              <VariableInfos>
806                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="1c14712b-ef9d-4ad9-bba5-e89d395cad7e" ActualName="VillageBestQuality" FormalName="Quality" Description="Quality value of a solution" DataType="HeuristicLab.Data.DoubleData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
807                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="c0c7b69f-c34e-4229-b009-507b5ae5924f" ActualName="Maximization" FormalName="Maximization" Description="Maximization problem" DataType="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
808                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="2991130f-dde1-4736-b922-65f75fac258e" ActualName="BestBestQuality" FormalName="BestQuality" Description="Quality value of best solution" DataType="HeuristicLab.Data.DoubleData, HeuristicLab.Data-3.2" Kind="New, Out" Local="False" />
809                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="ba61c2e4-0450-46a9-bf53-49f6b36ac66a" ActualName="AverageBestQuality" FormalName="AverageQuality" Description="Average quality value" DataType="HeuristicLab.Data.DoubleData, HeuristicLab.Data-3.2" Kind="New, Out" Local="False" />
810                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="0470ca01-ba2e-412d-b99b-447fd9c89472" ActualName="WorstBestQuality" FormalName="WorstQuality" Description="Quality value of worst solution" DataType="HeuristicLab.Data.DoubleData, HeuristicLab.Data-3.2" Kind="New, Out" Local="False" />
811                              </VariableInfos>
812                              <Variables />
813                            </BestAverageWorstQualityCalculator>
814                            <ProgrammableOperator Type="HeuristicLab.Operators.Programmable.ProgrammableOperator, HeuristicLab.Operators.Programmable-3.2" GUID="314ee955-6617-463f-b167-df3b75f3996f" Name="QualitiesDataCollector">
815                              <SubOperators />
816                              <VariableInfos>
817                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="ddd7367e-67f8-465a-8349-3fe5c8932d18" ActualName="QualitiesValues" FormalName="QualitiesValues" Description="" DataType="HeuristicLab.Data.ItemList, HeuristicLab.Data-3.2" Kind="New, Out" Local="False" />
818                              </VariableInfos>
819                              <Variables />
820                              <Description>An operator that can be programmed for arbitrary needs.</Description>
821                              <Code>ItemList qualities = new ItemList();
822for (int i = 0; i &lt; scope.SubScopes.Count; i++) {
823  qualities.Add((DoubleData)scope.SubScopes[i].GetVariableValue&lt;DoubleData&gt;("VillageBestQuality", false).Clone());
824}
825
826QualitiesValues.Add(qualities);</Code>
827                            </ProgrammableOperator>
828                            <LinechartInjector Type="HeuristicLab.Logging.LinechartInjector, HeuristicLab.Logging-3.2" GUID="512a597a-3f9b-4cb8-bf42-26d184c441ef" Name="QualitiesLinechartInjector">
829                              <SubOperators />
830                              <VariableInfos>
831                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="e122c945-8cae-481a-90a3-a0fca2b8edc0" ActualName="InitialVillages" FormalName="NumberOfLines" Description="Number of lines the linechart consists of" DataType="HeuristicLab.Data.IntData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
832                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="b851b52e-2c3c-4bb1-b5dc-daa6ea23e579" ActualName="QualitiesValues" FormalName="Values" Description="Item list holding the values of the linechart" DataType="HeuristicLab.Data.ItemList, HeuristicLab.Data-3.2" Kind="In" Local="False" />
833                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="6c308764-4df5-4e9a-955b-2c4cce221be9" ActualName="Quality Linechart" FormalName="Linechart" Description="Object representing a linechart" DataType="HeuristicLab.Logging.Linechart, HeuristicLab.Logging-3.2" Kind="New, Out" Local="False" />
834                              </VariableInfos>
835                              <Variables />
836                            </LinechartInjector>
837                            <ProgrammableOperator Type="HeuristicLab.Operators.Programmable.ProgrammableOperator, HeuristicLab.Operators.Programmable-3.2" GUID="5bd6c6dd-8673-4e57-8a12-8693dc938114" Name="SelPressDataCollector">
838                              <SubOperators />
839                              <VariableInfos>
840                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="e57eb5b1-5cd9-49b7-8a35-2ea169c6f87e" ActualName="SelPressValues" FormalName="SelPressValues" Description="" DataType="HeuristicLab.Data.ItemList, HeuristicLab.Data-3.2" Kind="New, Out" Local="False" />
841                              </VariableInfos>
842                              <Variables />
843                              <Description>An operator that can be programmed for arbitrary needs.</Description>
844                              <Code>ItemList selpress = new ItemList();
845for (int i = 0; i &lt; scope.SubScopes.Count; i++) {
846  selpress.Add((DoubleData)scope.SubScopes[i].GetVariableValue&lt;DoubleData&gt;("SelectionPressure", false).Clone());
847}
848
849SelPressValues.Add(selpress);</Code>
850                            </ProgrammableOperator>
851                            <LinechartInjector Type="HeuristicLab.Logging.LinechartInjector, HeuristicLab.Logging-3.2" GUID="3a59c3fa-9c94-4990-a68a-eb77f3ad6b18" Name="SelPressLinechartInjector">
852                              <SubOperators />
853                              <VariableInfos>
854                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="10632d9b-c7fd-4571-9268-a5f7c4870a32" ActualName="InitialVillages" FormalName="NumberOfLines" Description="Number of lines the linechart consists of" DataType="HeuristicLab.Data.IntData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
855                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="e3768184-5f21-45e3-b6f3-f0820118cb40" ActualName="SelPressValues" FormalName="Values" Description="Item list holding the values of the linechart" DataType="HeuristicLab.Data.ItemList, HeuristicLab.Data-3.2" Kind="In" Local="False" />
856                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="9f39bf0b-8506-4ab5-803f-3dc14c6511b1" ActualName="SelectionPressureLinechart" FormalName="Linechart" Description="Object representing a linechart" DataType="HeuristicLab.Logging.Linechart, HeuristicLab.Logging-3.2" Kind="New, Out" Local="False" />
857                              </VariableInfos>
858                              <Variables />
859                            </LinechartInjector>
860                            <DataCollector Type="HeuristicLab.Operators.DataCollector, HeuristicLab.Operators-3.2" GUID="3cb36834-cd25-412c-b4bc-b71d00fb1cff" Name="EvalSolDataCollector">
861                              <SubOperators />
862                              <VariableInfos>
863                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="c7ee6e56-1cf8-47d4-8bab-216fd771501b" ActualName="VariableNames" FormalName="VariableNames" Description="Names of variables whose values should be collected" DataType="HeuristicLab.Data.ItemList`1[[HeuristicLab.Data.StringData, HeuristicLab.Data-3.2]], HeuristicLab.Data-3.2" Kind="In" Local="True" />
864                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="14166c29-e447-422e-9597-00394004c729" ActualName="EvalSolsValues" FormalName="Values" Description="Collected values" DataType="HeuristicLab.Data.ItemList, HeuristicLab.Data-3.2" Kind="New, Out, In" Local="False" />
865                              </VariableInfos>
866                              <Variables>
867                                <Variable Type="HeuristicLab.Core.Variable, HeuristicLab.Core-3.2" GUID="94dcfb83-4766-44c5-82f9-bba427217c33" Name="VariableNames">
868                                  <Value Type="HeuristicLab.Data.ItemList`1[[HeuristicLab.Data.StringData, HeuristicLab.Data-3.2]], HeuristicLab.Data-3.2" GUID="bb4a7111-2d3e-4679-a14d-fd9705c0c8d1">
869                                    <StringData Type="HeuristicLab.Data.StringData, HeuristicLab.Data-3.2" GUID="7136d3e4-4ae7-485f-a1d5-207e06ff3a1a">EvaluatedSolutions</StringData>
870                                  </Value>
871                                </Variable>
872                              </Variables>
873                            </DataCollector>
874                            <LinechartInjector Type="HeuristicLab.Logging.LinechartInjector, HeuristicLab.Logging-3.2" GUID="7e91eb70-f738-490b-93de-2b75d30d4eb5" Name="Evaluated Solutions LinechartInjector">
875                              <SubOperators />
876                              <VariableInfos>
877                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="a1f6c64f-ab27-41b3-9bc1-cf66d5b67bcf" ActualName="NumberOfLines" FormalName="NumberOfLines" Description="Number of lines the linechart consists of" DataType="HeuristicLab.Data.IntData, HeuristicLab.Data-3.2" Kind="In" Local="True" />
878                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="c5396571-e33e-42b1-a93d-58fad2ad3ac9" ActualName="EvalSolsValues" FormalName="Values" Description="Item list holding the values of the linechart" DataType="HeuristicLab.Data.ItemList, HeuristicLab.Data-3.2" Kind="In" Local="False" />
879                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="7d138203-5f23-42f5-bf6e-b3e28792e33f" ActualName="Evaluated Solutions" FormalName="Linechart" Description="Object representing a linechart" DataType="HeuristicLab.Logging.Linechart, HeuristicLab.Logging-3.2" Kind="New, Out" Local="False" />
880                              </VariableInfos>
881                              <Variables>
882                                <Variable Type="HeuristicLab.Core.Variable, HeuristicLab.Core-3.2" GUID="ea4619dc-1017-4ee0-8b37-ee9b4be4ef27" Name="NumberOfLines">
883                                  <Value Type="HeuristicLab.Data.IntData, HeuristicLab.Data-3.2" GUID="d36dc81d-567d-4437-a80d-060d44b1f0a4">1</Value>
884                                </Variable>
885                              </Variables>
886                            </LinechartInjector>
887                            <Counter Type="HeuristicLab.Operators.Counter, HeuristicLab.Operators-3.2" GUID="05c3e2e2-e5d4-4840-863c-b1f2da940fd5" Name="Counter">
888                              <SubOperators />
889                              <VariableInfos>
890                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="d1154ce4-0df4-4a34-a7be-f19b8f65d018" ActualName="Generations" FormalName="Value" Description="Counter value" DataType="HeuristicLab.Data.IntData, HeuristicLab.Data-3.2" Kind="Out, In" Local="False" />
891                              </VariableInfos>
892                              <Variables />
893                            </Counter>
894                            <LessThanComparator Type="HeuristicLab.Operators.LessThanComparator, HeuristicLab.Operators-3.2" GUID="c6e2757c-12d3-46a1-a2d5-0e485486b99e" Name="GenerationsLessThanComparator">
895                              <SubOperators />
896                              <VariableInfos>
897                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="c4e38324-65da-4ac1-85a0-c4f77d2751ad" ActualName="Generations" FormalName="LeftSide" Description="" DataType="HeuristicLab.Core.IItem, HeuristicLab.Core-3.2" Kind="In" Local="False" />
898                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="a54a1762-d226-4ede-b181-b466be8a5db3" ActualName="MaximumGenerations" FormalName="RightSide" Description="" DataType="HeuristicLab.Core.IItem, HeuristicLab.Core-3.2" Kind="In" Local="False" />
899                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="648c5e2b-0c9b-4c1c-ad1a-10ba4473413d" ActualName="GenerationsCondition" FormalName="Result" Description="" DataType="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" Kind="New, Out" Local="False" />
900                              </VariableInfos>
901                              <Variables />
902                            </LessThanComparator>
903                            <ConditionalBranch Type="HeuristicLab.Operators.ConditionalBranch, HeuristicLab.Operators-3.2" GUID="348a7eba-f344-4bbe-b5cb-f9b3cd40d8ac" Name="GenerationsConditionalBranch">
904                              <SubOperators>
905                                <SequentialProcessor Type="HeuristicLab.Operators.SequentialProcessor, HeuristicLab.Operators-3.2" GUID="06aa4776-b650-4186-ba32-5515044d06d4" Name="SequentialProcessor">
906                                  <SubOperators>
907                                    <ProgrammableOperator Type="HeuristicLab.Operators.Programmable.ProgrammableOperator, HeuristicLab.Operators.Programmable-3.2" GUID="cfeeabb5-989f-4834-bba2-4864f1a07f03" Name="AlternateRearrangementCondition">
908                                      <SubOperators />
909                                      <VariableInfos>
910                                        <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="96cf694a-29bf-429e-9c0d-780071e167f8" ActualName="AlternateRearrangementCondition" FormalName="Result" Description="" DataType="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" Kind="New, Out" Local="False" />
911                                        <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="cb112a46-f1a1-489f-8d9f-d8a731727794" ActualName="MaximumGenerations" FormalName="MaximumGenerations" Description="" DataType="HeuristicLab.Data.IntData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
912                                        <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="480d815a-2436-4f0a-920d-e59a5331849a" ActualName="Generations" FormalName="Generations" Description="" DataType="HeuristicLab.Data.IntData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
913                                        <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="e44c6214-66dd-4426-a626-08f9cef3d439" ActualName="InitialVillages" FormalName="InitialVillages" Description="" DataType="HeuristicLab.Data.IntData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
914                                      </VariableInfos>
915                                      <Variables />
916                                      <Description>An operator that can be programmed for arbitrary needs.</Description>
917                                      <Code>int tmp = MaximumGenerations.Data / InitialVillages.Data;
918Result.Data = (Generations.Data % tmp == 0);</Code>
919                                    </ProgrammableOperator>
920                                    <ConditionalBranch Type="HeuristicLab.Operators.ConditionalBranch, HeuristicLab.Operators-3.2" GUID="fc224bb0-04f9-4440-8922-8f27da94250e" Name="AlternateRearrangment (ConditionalBranch)">
921                                      <SubOperators>
922                                        <SequentialProcessor Type="HeuristicLab.Operators.SequentialProcessor, HeuristicLab.Operators-3.2" GUID="5b0e439b-a8a1-4b84-80de-8a888f5165a0" Name="SequentialProcessor">
923                                          <SubOperators>
924                                            <ProgrammableOperator Type="HeuristicLab.Operators.Programmable.ProgrammableOperator, HeuristicLab.Operators.Programmable-3.2" GUID="6a5a223d-6bc8-45c4-a8a1-6285dbbc27f2" Name="Count villages open (ProgrammableOperator)">
925                                              <SubOperators />
926                                              <VariableInfos>
927                                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="776dca50-5d88-4791-86c6-c7c95dc23f72" ActualName="VillagesOpen" FormalName="VillagesOpen" Description="" DataType="HeuristicLab.Data.IntData, HeuristicLab.Data-3.2" Kind="New, Out" Local="False" />
928                                              </VariableInfos>
929                                              <Variables />
930                                              <Description>An operator that can be programmed for arbitrary needs.</Description>
931                                              <Code>VillagesOpen.Data = 0;
932for (int i = 0; i &lt; scope.SubScopes.Count; i++) {
933  if (!scope.SubScopes[i].GetVariableValue&lt;BoolData&gt;("VillageClosed", false).Data) {
934    VillagesOpen.Data += 1;
935  }
936}</Code>
937                                            </ProgrammableOperator>
938                                            <GreaterOrEqualThanComparator Type="HeuristicLab.Operators.GreaterOrEqualThanComparator, HeuristicLab.Operators-3.2" GUID="723284e5-7684-41a1-ad51-036936d75031" Name="At least 2 villages still open (GreaterOrEqualThanComparator)">
939                                              <SubOperators />
940                                              <VariableInfos>
941                                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="96cf4c48-76f1-4152-b3b4-8289d982b037" ActualName="VillagesOpen" FormalName="LeftSide" Description="Variable on the left side of the comparison" DataType="HeuristicLab.Core.IItem, HeuristicLab.Core-3.2" Kind="In" Local="False" />
942                                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="97e89125-2b42-49d4-a5fe-5a274798e28c" ActualName="Two" FormalName="RightSide" Description="Variable on the right side of the comparison" DataType="HeuristicLab.Core.IItem, HeuristicLab.Core-3.2" Kind="In" Local="True" />
943                                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="da3ef8a5-d102-420e-a43e-389f79bb341d" ActualName="VillagesOpenCondition" FormalName="Result" Description="Result of the comparison" DataType="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" Kind="New, Out" Local="False" />
944                                              </VariableInfos>
945                                              <Variables>
946                                                <Variable Type="HeuristicLab.Core.Variable, HeuristicLab.Core-3.2" GUID="d32209d8-fd33-41e0-8078-5bb6c7ab32c1" Name="Two">
947                                                  <Value Type="HeuristicLab.Data.IntData, HeuristicLab.Data-3.2" GUID="9b715488-b775-452c-8f0a-3ca6b7524d74">2</Value>
948                                                </Variable>
949                                              </Variables>
950                                            </GreaterOrEqualThanComparator>
951                                            <ConditionalBranch Type="HeuristicLab.Operators.ConditionalBranch, HeuristicLab.Operators-3.2" GUID="fdefe088-14b5-46b5-b945-105a56fa869e" Name="Villages left for merging (ConditionalBranch)">
952                                              <SubOperators>
953                                                <SequentialProcessor Type="HeuristicLab.Operators.SequentialProcessor, HeuristicLab.Operators-3.2" GUID="ef9c1b6e-1706-471a-a993-5a0775d27a15" Name="SequentialProcessor">
954                                                  <SubOperators>
955                                                    <ProgrammableOperator Type="HeuristicLab.Operators.Programmable.ProgrammableOperator, HeuristicLab.Operators.Programmable-3.2" GUID="91a47d64-768d-4521-8fe9-594a74695f4f" Name="SASEGASARearrangement (ProgrammableOperator)">
956                                                      <SubOperators />
957                                                      <VariableInfos>
958                                                        <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="bffbe68b-2905-4a25-9b9a-7fd825e07d2e" ActualName="nomeaning" FormalName="nomeaning" Description="ignore this, just to include HeuristicLab.Data among the usings" DataType="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" Kind="In" Local="True" />
959                                                        <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="50f67a72-a79a-4887-8cf8-1b46866e6897" ActualName="Random" FormalName="Random" Description="" DataType="HeuristicLab.Random.MersenneTwister, HeuristicLab.Random-3.2" Kind="In" Local="False" />
960                                                      </VariableInfos>
961                                                      <Variables>
962                                                        <Variable Type="HeuristicLab.Core.Variable, HeuristicLab.Core-3.2" GUID="5f8d7d85-27c0-438a-98f4-f07e7a54409a" Name="nomeaning">
963                                                          <Value Type="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" GUID="37ff004b-14cb-431e-9e8e-b0a205c799f3">False</Value>
964                                                        </Variable>
965                                                      </Variables>
966                                                      <Description>Performs the SASEGASA rearrangement</Description>
967                                                      <Code>List&lt;IScope&gt; villages = new List&lt;IScope&gt;();
968List&lt;IScope&gt; openVillages = new List&lt;IScope&gt;();
969while (scope.SubScopes.Count &gt; 0) {
970  villages.Add(scope.SubScopes[0]);
971  if (!scope.SubScopes[0].GetVariableValue&lt;BoolData&gt;("VillageClosed", false).Data) {
972    openVillages.Add(scope.SubScopes[0]);
973  }
974  scope.RemoveSubScope(scope.SubScopes[0]);
975}
976
977int close = Random.Next(openVillages.Count);
978openVillages[close].GetVariable("VillageClosed").Value = new BoolData(true);
979// needs to be set to true, in case of the alternate rearrangement
980openVillages[close].GetVariable("VillageTerminated").Value = new BoolData(true);
981
982if (openVillages.Count == 2) {
983  int open = ((close == 0) ? (1) : (0));
984  while (openVillages[close].SubScopes.Count &gt; 0) {
985    IScope s = openVillages[close].SubScopes[0];
986    openVillages[close].RemoveSubScope(s);
987    openVillages[open].AddSubScope(s);
988  }
989  openVillages[open].GetVariable("VillageTerminated").Value = new BoolData(false);
990} else {
991  List&lt;IScope&gt; population = new List&lt;IScope&gt;();
992  for (int i = 0; i &lt; openVillages.Count; i++) {
993    while (openVillages[i].SubScopes.Count &gt; 0) {
994      IScope s = openVillages[i].SubScopes[0];
995      openVillages[i].RemoveSubScope(s);
996      population.Add(s);
997    }
998  }
999  openVillages.RemoveAt(close);
1000  int popPerVillage = population.Count / openVillages.Count;
1001  int rest = population.Count % openVillages.Count;
1002  for (int i = 0; i &lt; openVillages.Count; i++) {
1003    for (int j = 0; j &lt; popPerVillage; j++) {
1004      openVillages[i].AddSubScope(population[0]);
1005      population.RemoveAt(0);
1006    }
1007    if (rest &gt; 0) {
1008      openVillages[i].AddSubScope(population[0]);
1009      population.RemoveAt(0);
1010      rest--;
1011    }
1012    openVillages[i].GetVariable("VillageTerminated").Value = new BoolData(false);
1013  }
1014  if (population.Count != 0) throw new InvalidOperationException("Must be Murphy's law!");
1015}
1016
1017for (int i = 0; i &lt; villages.Count; i++) {
1018  scope.AddSubScope(villages[i]);
1019}</Code>
1020                                                    </ProgrammableOperator>
1021                                                    <ProgrammableOperator Type="HeuristicLab.Operators.Programmable.ProgrammableOperator, HeuristicLab.Operators.Programmable-3.2" GUID="e07c7ac8-a68e-476b-98af-9e5b5836ef9b" Name="Linearly adjust CompFactor (ProgrammableOperator)">
1022                                                      <SubOperators />
1023                                                      <VariableInfos>
1024                                                        <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="5061bf8e-e9f8-404e-b789-61442e4782e6" ActualName="ComparisonFactor" FormalName="ComparisonFactor" Description="" DataType="HeuristicLab.Data.DoubleData, HeuristicLab.Data-3.2" Kind="Out, In" Local="False" />
1025                                                        <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="dae93f44-72ce-459a-86ba-142a98473895" ActualName="MinComparisonFactor" FormalName="MinComparisonFactor" Description="" DataType="HeuristicLab.Data.DoubleData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
1026                                                        <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="6ee77737-c354-4573-a2cb-2cbfca6ca81a" ActualName="MaxComparisonFactor" FormalName="MaxComparisonFactor" Description="" DataType="HeuristicLab.Data.DoubleData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
1027                                                        <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="7f198754-def3-4532-b00f-0593a7d5fb10" ActualName="VillagesOpen" FormalName="VillagesOpen" Description="" DataType="HeuristicLab.Data.IntData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
1028                                                        <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="667f3676-8e50-4e2f-871b-2b5b83f18241" ActualName="InitialVillages" FormalName="InitialVillages" Description="" DataType="HeuristicLab.Data.IntData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
1029                                                      </VariableInfos>
1030                                                      <Variables />
1031                                                      <Description>An operator that can be programmed for arbitrary needs.</Description>
1032                                                      <Code>ComparisonFactor.Data = MinComparisonFactor.Data + (MaxComparisonFactor.Data - MinComparisonFactor.Data) * (InitialVillages.Data - (VillagesOpen.Data - 1)) / InitialVillages.Data;</Code>
1033                                                    </ProgrammableOperator>
1034                                                    <UniformSequentialSubScopesProcessor Type="HeuristicLab.Operators.UniformSequentialSubScopesProcessor, HeuristicLab.Operators-3.2" GUID="7ffb3b4a-43cd-454a-8bb6-44cce3ae3eb0" Name="UniformSequentialSubScopesProcessor">
1035                                                      <SubOperators>
1036                                                        <Sorter Type="HeuristicLab.Operators.Sorter, HeuristicLab.Operators-3.2" GUID="74e99b99-83e8-42d6-a96b-4207d09a3363" Name="Sorter">
1037                                                          <SubOperators />
1038                                                          <VariableInfos>
1039                                                            <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="820ca239-3430-4bb7-bf10-1c9d395732bc" ActualName="Maximization" FormalName="Descending" Description="Sort in descending order" DataType="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
1040                                                            <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="02889f38-b9d2-4610-b788-deea8c04a2e9" ActualName="Quality" FormalName="Value" Description="Sorting value" DataType="HeuristicLab.Data.DoubleData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
1041                                                          </VariableInfos>
1042                                                          <Variables />
1043                                                        </Sorter>
1044                                                      </SubOperators>
1045                                                      <VariableInfos />
1046                                                      <Variables />
1047                                                    </UniformSequentialSubScopesProcessor>
1048                                                    <SequentialProcessor GUID="e671bf75-b474-452c-9836-8d76ac5c7024" />
1049                                                  </SubOperators>
1050                                                  <VariableInfos />
1051                                                  <Variables />
1052                                                </SequentialProcessor>
1053                                                <EmptyOperator Type="HeuristicLab.Operators.EmptyOperator, HeuristicLab.Operators-3.2" GUID="a84706b0-3f86-4fc0-aa78-d78371223c37" Name="Algorithm Terminates">
1054                                                  <SubOperators />
1055                                                  <VariableInfos />
1056                                                  <Variables />
1057                                                </EmptyOperator>
1058                                              </SubOperators>
1059                                              <VariableInfos>
1060                                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="6ccdbc9b-e93a-4887-b95e-c91879e729a4" ActualName="VillagesOpenCondition" FormalName="Condition" Description="A boolean variable that decides the branch" DataType="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
1061                                              </VariableInfos>
1062                                              <Variables />
1063                                            </ConditionalBranch>
1064                                          </SubOperators>
1065                                          <VariableInfos />
1066                                          <Variables />
1067                                        </SequentialProcessor>
1068                                        <SequentialProcessor Type="HeuristicLab.Operators.SequentialProcessor, HeuristicLab.Operators-3.2" GUID="27f2a7c6-3188-4ded-9741-dc21a81561cb" Name="SequentialProcessor">
1069                                          <SubOperators>
1070                                            <ProgrammableOperator Type="HeuristicLab.Operators.Programmable.ProgrammableOperator, HeuristicLab.Operators.Programmable-3.2" GUID="c6daeb54-10e1-4b92-be86-b0c81efd9a6e" Name="Check all villages terminated (ProgrammableOperator)">
1071                                              <SubOperators />
1072                                              <VariableInfos>
1073                                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="7132c9a2-f523-41e5-be79-21ffaaa8c4e6" ActualName="VillagesTerminatedCondition" FormalName="Result" Description="A computed variable" DataType="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" Kind="New, Out" Local="False" />
1074                                              </VariableInfos>
1075                                              <Variables />
1076                                              <Description>An operator that can be programmed for arbitrary needs.</Description>
1077                                              <Code>Result.Data = true;
1078for (int i = 0; i &lt; scope.SubScopes.Count; i++) {
1079  if (!scope.SubScopes[i].GetVariableValue&lt;BoolData&gt;("VillageTerminated", false).Data) {
1080    Result.Data = false;
1081    break;
1082  }
1083}</Code>
1084                                            </ProgrammableOperator>
1085                                            <ConditionalBranch Type="HeuristicLab.Operators.ConditionalBranch, HeuristicLab.Operators-3.2" GUID="6cd71fc0-375c-405a-bc7b-064c7d673356" Name="AllVillagesTerminatedCondition (ConditionalBranch)">
1086                                              <SubOperators>
1087                                                <SequentialProcessor GUID="5b0e439b-a8a1-4b84-80de-8a888f5165a0" />
1088                                                <SequentialProcessor GUID="e671bf75-b474-452c-9836-8d76ac5c7024" />
1089                                              </SubOperators>
1090                                              <VariableInfos>
1091                                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="4c6786f9-0769-48db-85a7-56cf6833fefc" ActualName="VillagesTerminatedCondition" FormalName="Condition" Description="A boolean variable that decides the branch" DataType="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
1092                                              </VariableInfos>
1093                                              <Variables />
1094                                            </ConditionalBranch>
1095                                          </SubOperators>
1096                                          <VariableInfos />
1097                                          <Variables />
1098                                        </SequentialProcessor>
1099                                      </SubOperators>
1100                                      <VariableInfos>
1101                                        <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="85da99f8-1346-4c31-a6f0-e926b11924b5" ActualName="AlternateRearrangementCondition" FormalName="Condition" Description="A boolean variable that decides the branch" DataType="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
1102                                      </VariableInfos>
1103                                      <Variables />
1104                                    </ConditionalBranch>
1105                                  </SubOperators>
1106                                  <VariableInfos />
1107                                  <Variables />
1108                                </SequentialProcessor>
1109                                <EmptyOperator GUID="a84706b0-3f86-4fc0-aa78-d78371223c37" />
1110                              </SubOperators>
1111                              <VariableInfos>
1112                                <VariableInfo Type="HeuristicLab.Core.VariableInfo, HeuristicLab.Core-3.2" GUID="cae53f63-b04d-4fda-ae09-51c02bb6fa8e" ActualName="GenerationsCondition" FormalName="Condition" Description="A boolean variable that decides the branch" DataType="HeuristicLab.Data.BoolData, HeuristicLab.Data-3.2" Kind="In" Local="False" />
1113                              </VariableInfos>
1114                              <Variables />
1115                            </ConditionalBranch>
1116                          </SubOperators>
1117                          <VariableInfos />
1118                          <Variables />
1119                        </SequentialProcessor>
1120                        <SequentialProcessor GUID="db0927fa-35be-481d-88ba-51b99901d825" />
1121                        <CombinedOperator GUID="7ff9388b-f063-499b-a950-c5e955c04588" />
1122                        <SequentialSubScopesProcessor GUID="f2cd7f6f-51f2-40d0-96ae-c9f69c7f7a68" />
1123                        <EmptyOperator GUID="778cba10-fcf8-4c63-b6d1-ee6410abb9b8" />
1124                        <CombinedOperator GUID="215c5230-4d7a-4fd5-8a7c-5dba1803b5b9" />
1125                        <OffspringSelector GUID="30aaaa86-728d-412a-8d14-73f3d55d2145" />
1126                        <CombinedOperator GUID="5833a3e8-f678-49a5-8dc6-77c293018d31" />
1127                        <QualityLogger GUID="b41c9845-f2be-4090-b185-1405d2afbb31" />
1128                        <BestAverageWorstQualityCalculator GUID="8d85c138-82e6-4daf-990f-d32fbdd862f4" />
1129                        <GreaterThanComparator GUID="e61cb427-da7f-4205-b40d-d0a91949b5d1" />
1130                        <LinechartInjector GUID="512a597a-3f9b-4cb8-bf42-26d184c441ef" />
1131                        <ProgrammableOperator GUID="314ee955-6617-463f-b167-df3b75f3996f" />
1132                        <LinechartInjector GUID="3a59c3fa-9c94-4990-a68a-eb77f3ad6b18" />
1133                        <Counter GUID="05c3e2e2-e5d4-4840-863c-b1f2da940fd5" />
1134                        <LessThanComparator GUID="c6e2757c-12d3-46a1-a2d5-0e485486b99e" />
1135                        <ConditionalBranch GUID="348a7eba-f344-4bbe-b5cb-f9b3cd40d8ac" />
1136                        <SequentialProcessor GUID="06aa4776-b650-4186-ba32-5515044d06d4" />
1137                        <EmptyOperator GUID="a84706b0-3f86-4fc0-aa78-d78371223c37" />
1138                        <GreaterOrEqualThanComparator GUID="723284e5-7684-41a1-ad51-036936d75031" />
1139                        <UniformSequentialSubScopesProcessor GUID="02014d99-bb65-4a0f-a7f4-fe561adcfc07" />
1140                        <SequentialProcessor GUID="cc9c8812-ebe7-409d-a5c5-d95cc98f6274" />
1141                        <BestAverageWorstQualityCalculator GUID="5bb89726-2403-48f3-b36a-f63a57da1296" />
1142                        <ProgrammableOperator GUID="5bd6c6dd-8673-4e57-8a12-8693dc938114" />
1143                        <ConditionalBranch GUID="76855e6f-1d63-442e-ba67-34aef9d6c348" />
1144                        <VariableInjector GUID="0450758a-3d3d-4e29-bb72-f9ddfee23fc5" />
1145                        <ConditionalBranch GUID="47af5926-daa2-42df-8d28-30f50a34b6ab" />
1146                        <EmptyOperator GUID="89ff5c5a-4d9d-4a3b-a28e-b488a600fa7d" />
1147                        <ProgrammableOperator GUID="c6daeb54-10e1-4b92-be86-b0c81efd9a6e" />
1148                        <ConditionalBranch GUID="6cd71fc0-375c-405a-bc7b-064c7d673356" />
1149                        <ProgrammableOperator GUID="6a5a223d-6bc8-45c4-a8a1-6285dbbc27f2" />
1150                        <SequentialProcessor GUID="5b0e439b-a8a1-4b84-80de-8a888f5165a0" />
1151                        <ConditionalBranch GUID="fdefe088-14b5-46b5-b945-105a56fa869e" />
1152                        <SequentialProcessor GUID="ef9c1b6e-1706-471a-a993-5a0775d27a15" />
1153                        <ProgrammableOperator GUID="91a47d64-768d-4521-8fe9-594a74695f4f" />
1154                        <UniformSequentialSubScopesProcessor GUID="7ffb3b4a-43cd-454a-8bb6-44cce3ae3eb0" />
1155                        <Sorter GUID="74e99b99-83e8-42d6-a96b-4207d09a3363" />
1156                        <ProgrammableOperator GUID="e07c7ac8-a68e-476b-98af-9e5b5836ef9b" />
1157                        <DataCollector GUID="3cb36834-cd25-412c-b4bc-b71d00fb1cff" />
1158                        <LinechartInjector GUID="7e91eb70-f738-490b-93de-2b75d30d4eb5" />
1159                        <ProgrammableOperator GUID="cfeeabb5-989f-4834-bba2-4864f1a07f03" />
1160                        <SequentialProcessor GUID="27f2a7c6-3188-4ded-9741-dc21a81561cb" />
1161                        <ConditionalBranch GUID="fc224bb0-04f9-4440-8922-8f27da94250e" />
1162                      </Operators>
1163                      <InitialOperator GUID="e671bf75-b474-452c-9836-8d76ac5c7024" />
1164                    </OperatorGraph>
1165                  </CombinedOperator>
1166                </SubOperators>
1167                <VariableInfos />
1168                <Variables />
1169              </SequentialProcessor>
1170              <CombinedOperator GUID="c9822e01-3104-4dd0-b758-84b3637e0992" />
1171              <CombinedOperator GUID="f3449247-393a-4f43-b654-18697fa84440" />
1172              <CombinedOperator GUID="54222d09-aad8-462c-81e1-ac16168ec6b5" />
1173            </Operators>
1174            <InitialOperator GUID="800b00bb-9d70-4ebe-9da5-851c7ff113ed" />
1175          </OperatorGraph>
1176        </CombinedOperator>
1177        <ProportionalSelector GUID="38f4fc68-620a-4f14-b433-20497dffb0d0" />
1178      </Operators>
1179      <InitialOperator GUID="d5a557db-fb50-41c5-b99d-57f951c78dfd" />
1180    </OperatorGraph>
1181    <GlobalScope Type="HeuristicLab.Core.Scope, HeuristicLab.Core-3.2" GUID="d2cdf477-3792-4b36-aa3f-d6a62d117a2b" Name="Global">
1182      <Variables />
1183      <Aliases />
1184      <SubScopes />
1185    </GlobalScope>
1186    <ExecutionStack>
1187      <AtomicOperation Type="HeuristicLab.Core.AtomicOperation, HeuristicLab.Core-3.2" GUID="0d2513dc-b26e-4d0f-b1a7-054d70832eea">
1188        <Operator GUID="d5a557db-fb50-41c5-b99d-57f951c78dfd" />
1189        <Scope GUID="d2cdf477-3792-4b36-aa3f-d6a62d117a2b" />
1190      </AtomicOperation>
1191    </ExecutionStack>
1192    <ExecutionTime>00:00:00</ExecutionTime>
1193    <Priority>Normal</Priority>
1194  </SequentialEngine>
1195</Root>