Free cookie consent management tool by TermsFeed Policy Generator

Changeset 5213


Ignore:
Timestamp:
01/05/11 02:05:05 (14 years ago)
Author:
cneumuel
Message:

#1260

  • changed HiveEngine to be compatible with recent changes of engine
Location:
branches/HeuristicLab.Hive-3.3/sources/HeuristicLab.Hive
Files:
17 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.Hive-3.3/sources/HeuristicLab.Hive/HeuristicLab.Hive.ExperimentManager/3.3/Jobs/OptimizerJob.cs

    r5179 r5213  
    253253
    254254    protected virtual void optimizer_Stopped(object sender, EventArgs e) {
    255       optimizer.Prepare(); // reduce memory consumption
     255      // optimizer.Prepare(); // reduce memory consumption --> problem is that it resets executiontime which avoids statistics on server
    256256      OnJobStopped();
    257257    }
  • branches/HeuristicLab.Hive-3.3/sources/HeuristicLab.Hive/HeuristicLab.Hive.ExperimentManager/3.3/app.config

    r5181 r5213  
    2929    </bindings>
    3030    <client>
    31       <endpoint address="net.tcp://services.heuristiclab.com:8000/Hive-3.3/ClientService.svc" binding="netTcpBinding" bindingConfiguration="ClientTcpStreamedEndpoint" contract="HeuristicLab.Hive.Contracts.Interfaces.IClientFacade" name="ClientTcpStreamedEndpoint">
     31      <endpoint address="net.tcp://christoph:9001/Hive-3.3/ClientService.svc" binding="netTcpBinding" bindingConfiguration="ClientTcpStreamedEndpoint" contract="HeuristicLab.Hive.Contracts.Interfaces.IClientFacade" name="ClientTcpStreamedEndpoint">
    3232        <identity>
    33           <dns value="services.heuristiclab.com"/>
     33          <dns value="localhost"/>
    3434        </identity>
    3535      </endpoint>
    36       <endpoint address="http://services.heuristiclab.com/Hive-3.3/ClientService.svc" binding="wsHttpBinding" bindingConfiguration="ClientHttpEndpoint" contract="HeuristicLab.Hive.Contracts.Interfaces.IClientFacade" name="ClientHttpEndpoint">
     36      <endpoint address="http://christoph/Hive-3.3/ClientService.svc" binding="wsHttpBinding" bindingConfiguration="ClientHttpEndpoint" contract="HeuristicLab.Hive.Contracts.Interfaces.IClientFacade" name="ClientHttpEndpoint">
    3737        <identity>
    38           <certificate encodedValue="AwAAAAEAAAAUAAAAwK1+2oAmcy/mI2P2QjyiJRh0y60gAAAAAQAAACoCAAAwggImMIIBj6ADAgECAhAIkseQ2EEhgU720qJA61gqMA0GCSqGSIb3DQEBBAUAMCQxIjAgBgNVBAMTGXNlcnZpY2VzLmhldXJpc3RpY2xhYi5jb20wHhcNMTAwNTExMTExNDAyWhcNMzkxMjMxMjM1OTU5WjAkMSIwIAYDVQQDExlzZXJ2aWNlcy5oZXVyaXN0aWNsYWIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq26Bwmwc7k+4W30qLQ2j+FInEL5BuH6opDY6CSlrtt3xQS/anrhvpbf3QghLDVINzcHkzbPmm/SguG4F85QLB6xO+tJaOvRo0iEK5g3c307vMIru7FJwk/OhplEQ5J1hbDgL3zOJlrWlgtqRVxCtVdF3XroI9BctOt1NkeKv9ewIDAQABo1kwVzBVBgNVHQEETjBMgBCjbgdYd4j5JgUuJ1Wo/GxroSYwJDEiMCAGA1UEAxMZc2VydmljZXMuaGV1cmlzdGljbGFiLmNvbYIQCJLHkNhBIYFO9tKiQOtYKjANBgkqhkiG9w0BAQQFAAOBgQAb/2xk2uQad68shSPl/uixWgvFI8WkxOTBopOLaLtDxwCeZ3mWVHdV9VnixHtThubnEBXAhYOCQSIXWtQuXFWO+gH3YyjTRJY5kTmXyuvBRTn3/so5SrQ7Rdlm9hf6E5YVX3tCjAy7ybUyaDUkQfmH5vmvgvpMzRfsJ1qhnUpJiQ=="/>
     38          <certificate encodedValue="AwAAAAEAAAAUAAAAozaKcSPdw1Cdd57hw9mr3eCjxTIgAAAAAQAAAPIBAAAwggHuMIIBW6ADAgECAhBhrVLVbjrtvUe4zWuGbVeuMAkGBSsOAwIdBQAwFDESMBAGA1UEAxMJbG9jYWxob3N0MB4XDTEwMTAxMjA2NTYyNloXDTM5MTIzMTIzNTk1OVowFDESMBAGA1UEAxMJbG9jYWxob3N0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDFM6bQUgvCnsnBO9TZnOrC6x1riE2pXUzU6H38GYot674WNfir82fMh9+ojWSY/CiMzExcNWFtC3i8BG7giLYVwSanuwQ8QyRFYq3g5UMqdlm4/aof/4QMmS+SuRDsa8F4lbvdS9zBVFiyyUNYzlzO/rY08DrkCgx4X2IQGOvixwIDAQABo0kwRzBFBgNVHQEEPjA8gBCjMn9uvzNhU2c//E3RSYmUoRYwFDESMBAGA1UEAxMJbG9jYWxob3N0ghBhrVLVbjrtvUe4zWuGbVeuMAkGBSsOAwIdBQADgYEADIf8as2VBfZEpwb/GuVifvPTR0Ud+dTCwTjBdMymqjNR5NTSi408DifssSTBVGIi7xkWbQDlQQHOZmVqVFoqfNbGrtm9w1MSK24HAEMXr0WFBltvldGKCvtYnZqf377qU5gq7IBXcJZi87bZ2l1M3icr6RJo4fIbnZOa5M430aw="/>
    3939        </identity>
    4040      </endpoint>
    4141    </client>
    42    
     42
    4343  </system.serviceModel>
    4444<startup><supportedRuntime version="v2.0.50727"/></startup></configuration>
  • branches/HeuristicLab.Hive-3.3/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Console/3.3/app.config

    r5181 r5213  
    2626    </bindings>
    2727    <client>
    28       <endpoint address="http://services.heuristiclab.com/Hive-3.3/ServerConsoleService.svc" behaviorConfiguration="ServerConsoleBehaviour" binding="wsHttpBinding" bindingConfiguration="ServerConsoleHttpEndpoint" contract="HeuristicLab.Hive.Contracts.Interfaces.IServerConsoleFacade" name="ServerConsoleHttpEndpoint">
     28      <endpoint address="http://christoph/Hive-3.3/ServerConsoleService.svc" behaviorConfiguration="ServerConsoleBehaviour" binding="wsHttpBinding" bindingConfiguration="ServerConsoleHttpEndpoint" contract="HeuristicLab.Hive.Contracts.Interfaces.IServerConsoleFacade" name="ServerConsoleHttpEndpoint">
    2929        <identity>
    30           <certificate encodedValue="AwAAAAEAAAAUAAAAwK1+2oAmcy/mI2P2QjyiJRh0y60gAAAAAQAAACoCAAAwggImMIIBj6ADAgECAhAIkseQ2EEhgU720qJA61gqMA0GCSqGSIb3DQEBBAUAMCQxIjAgBgNVBAMTGXNlcnZpY2VzLmhldXJpc3RpY2xhYi5jb20wHhcNMTAwNTExMTExNDAyWhcNMzkxMjMxMjM1OTU5WjAkMSIwIAYDVQQDExlzZXJ2aWNlcy5oZXVyaXN0aWNsYWIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq26Bwmwc7k+4W30qLQ2j+FInEL5BuH6opDY6CSlrtt3xQS/anrhvpbf3QghLDVINzcHkzbPmm/SguG4F85QLB6xO+tJaOvRo0iEK5g3c307vMIru7FJwk/OhplEQ5J1hbDgL3zOJlrWlgtqRVxCtVdF3XroI9BctOt1NkeKv9ewIDAQABo1kwVzBVBgNVHQEETjBMgBCjbgdYd4j5JgUuJ1Wo/GxroSYwJDEiMCAGA1UEAxMZc2VydmljZXMuaGV1cmlzdGljbGFiLmNvbYIQCJLHkNhBIYFO9tKiQOtYKjANBgkqhkiG9w0BAQQFAAOBgQAb/2xk2uQad68shSPl/uixWgvFI8WkxOTBopOLaLtDxwCeZ3mWVHdV9VnixHtThubnEBXAhYOCQSIXWtQuXFWO+gH3YyjTRJY5kTmXyuvBRTn3/so5SrQ7Rdlm9hf6E5YVX3tCjAy7ybUyaDUkQfmH5vmvgvpMzRfsJ1qhnUpJiQ=="/>
     30          <certificate encodedValue="AwAAAAEAAAAUAAAAozaKcSPdw1Cdd57hw9mr3eCjxTIgAAAAAQAAAPIBAAAwggHuMIIBW6ADAgECAhBhrVLVbjrtvUe4zWuGbVeuMAkGBSsOAwIdBQAwFDESMBAGA1UEAxMJbG9jYWxob3N0MB4XDTEwMTAxMjA2NTYyNloXDTM5MTIzMTIzNTk1OVowFDESMBAGA1UEAxMJbG9jYWxob3N0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDFM6bQUgvCnsnBO9TZnOrC6x1riE2pXUzU6H38GYot674WNfir82fMh9+ojWSY/CiMzExcNWFtC3i8BG7giLYVwSanuwQ8QyRFYq3g5UMqdlm4/aof/4QMmS+SuRDsa8F4lbvdS9zBVFiyyUNYzlzO/rY08DrkCgx4X2IQGOvixwIDAQABo0kwRzBFBgNVHQEEPjA8gBCjMn9uvzNhU2c//E3RSYmUoRYwFDESMBAGA1UEAxMJbG9jYWxob3N0ghBhrVLVbjrtvUe4zWuGbVeuMAkGBSsOAwIdBQADgYEADIf8as2VBfZEpwb/GuVifvPTR0Ud+dTCwTjBdMymqjNR5NTSi408DifssSTBVGIi7xkWbQDlQQHOZmVqVFoqfNbGrtm9w1MSK24HAEMXr0WFBltvldGKCvtYnZqf377qU5gq7IBXcJZi87bZ2l1M3icr6RJo4fIbnZOa5M430aw="/>
    3131        </identity>
    3232      </endpoint>
  • branches/HeuristicLab.Hive-3.3/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/Facades/ClientFacade.cs

    r5153 r5213  
    2929using HeuristicLab.Hive.Contracts.ResponseObjects;
    3030using HeuristicLab.Hive.Server.DataAccess;
     31using System.ServiceModel;
    3132
    3233namespace HeuristicLab.Hive.Server.Core {
     34  [ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall, ConcurrencyMode = ConcurrencyMode.Multiple)]
    3335  public class ClientFacade : IClientFacade {
    3436
  • branches/HeuristicLab.Hive-3.3/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/Facades/ServerConsoleFacade.cs

    r5153 r5213  
    2828using HeuristicLab.Hive.Contracts.ResponseObjects;
    2929using HeuristicLab.Hive.Server.DataAccess;
     30using System.ServiceModel;
    3031
    3132namespace HeuristicLab.Hive.Server.Core {
     33  [ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall, ConcurrencyMode = ConcurrencyMode.Multiple)]
    3234  public class ServerConsoleFacade : IServerConsoleFacade {
    3335    private ISlaveManager slaveManager = ServiceLocator.GetSlaveManager();
  • branches/HeuristicLab.Hive-3.3/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/SlaveCommunicator.cs

    r5179 r5213  
    228228    /// </summary>
    229229    private bool IsAllowedToSendJobs() {
    230       return lifecycleManager.JobsCurrentlyTransferring < ApplicationConstants.MAX_JOB_TRANSFER_COUNT;
     230      return true; // try out without limit
     231      //return lifecycleManager.JobsCurrentlyTransferring < ApplicationConstants.MAX_JOB_TRANSFER_COUNT;
    231232    }
    232233
  • branches/HeuristicLab.Hive-3.3/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/WcfService.cs

    r5093 r5213  
    249249    public event EventHandler<ProcessHeartBeatCompletedEventArgs> ProcessHeartBeatCompleted;
    250250    public void ProcessHeartBeatSync(HeartBeatData hbd) {
    251       using (Disposable<SlaveFacade.ISlaveFacade> service = ServiceLocator.Instance.StreamedSlaveFacadePool.GetService()) {
     251      using (Disposable<SlaveFacade.ISlaveFacade> service = ServiceLocator.Instance.SlaveFacadePool.GetService()) {
    252252        Logger.Debug("STARTING: sending heartbeat");
    253253        var res = service.Obj.ProcessHeartBeat(hbd);
  • branches/HeuristicLab.Hive-3.3/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/app.config

    r5181 r5213  
    2727    </bindings>
    2828    <client>
    29       <endpoint address="http://services.heuristiclab.com/Hive-3.3/SlaveService.svc" binding="wsHttpBinding" bindingConfiguration="SlaveHttpEndpoint" contract="SlaveFacade.ISlaveFacade" name="SlaveHttpEndpoint">
     29      <endpoint address="http://christoph/Hive-3.3/SlaveService.svc" binding="wsHttpBinding" bindingConfiguration="SlaveHttpEndpoint" contract="SlaveFacade.ISlaveFacade" name="SlaveHttpEndpoint">
    3030        <identity>
    31           <certificate encodedValue="AwAAAAEAAAAUAAAAwK1+2oAmcy/mI2P2QjyiJRh0y60gAAAAAQAAACoCAAAwggImMIIBj6ADAgECAhAIkseQ2EEhgU720qJA61gqMA0GCSqGSIb3DQEBBAUAMCQxIjAgBgNVBAMTGXNlcnZpY2VzLmhldXJpc3RpY2xhYi5jb20wHhcNMTAwNTExMTExNDAyWhcNMzkxMjMxMjM1OTU5WjAkMSIwIAYDVQQDExlzZXJ2aWNlcy5oZXVyaXN0aWNsYWIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq26Bwmwc7k+4W30qLQ2j+FInEL5BuH6opDY6CSlrtt3xQS/anrhvpbf3QghLDVINzcHkzbPmm/SguG4F85QLB6xO+tJaOvRo0iEK5g3c307vMIru7FJwk/OhplEQ5J1hbDgL3zOJlrWlgtqRVxCtVdF3XroI9BctOt1NkeKv9ewIDAQABo1kwVzBVBgNVHQEETjBMgBCjbgdYd4j5JgUuJ1Wo/GxroSYwJDEiMCAGA1UEAxMZc2VydmljZXMuaGV1cmlzdGljbGFiLmNvbYIQCJLHkNhBIYFO9tKiQOtYKjANBgkqhkiG9w0BAQQFAAOBgQAb/2xk2uQad68shSPl/uixWgvFI8WkxOTBopOLaLtDxwCeZ3mWVHdV9VnixHtThubnEBXAhYOCQSIXWtQuXFWO+gH3YyjTRJY5kTmXyuvBRTn3/so5SrQ7Rdlm9hf6E5YVX3tCjAy7ybUyaDUkQfmH5vmvgvpMzRfsJ1qhnUpJiQ=="/>
     31          <certificate encodedValue="AwAAAAEAAAAUAAAAozaKcSPdw1Cdd57hw9mr3eCjxTIgAAAAAQAAAPIBAAAwggHuMIIBW6ADAgECAhBhrVLVbjrtvUe4zWuGbVeuMAkGBSsOAwIdBQAwFDESMBAGA1UEAxMJbG9jYWxob3N0MB4XDTEwMTAxMjA2NTYyNloXDTM5MTIzMTIzNTk1OVowFDESMBAGA1UEAxMJbG9jYWxob3N0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDFM6bQUgvCnsnBO9TZnOrC6x1riE2pXUzU6H38GYot674WNfir82fMh9+ojWSY/CiMzExcNWFtC3i8BG7giLYVwSanuwQ8QyRFYq3g5UMqdlm4/aof/4QMmS+SuRDsa8F4lbvdS9zBVFiyyUNYzlzO/rY08DrkCgx4X2IQGOvixwIDAQABo0kwRzBFBgNVHQEEPjA8gBCjMn9uvzNhU2c//E3RSYmUoRYwFDESMBAGA1UEAxMJbG9jYWxob3N0ghBhrVLVbjrtvUe4zWuGbVeuMAkGBSsOAwIdBQADgYEADIf8as2VBfZEpwb/GuVifvPTR0Ud+dTCwTjBdMymqjNR5NTSi408DifssSTBVGIi7xkWbQDlQQHOZmVqVFoqfNbGrtm9w1MSK24HAEMXr0WFBltvldGKCvtYnZqf377qU5gq7IBXcJZi87bZ2l1M3icr6RJo4fIbnZOa5M430aw="/>
    3232        </identity>
    3333      </endpoint>
    34       <endpoint address="net.tcp://services.heuristiclab.com:8000/Hive-3.3/SlaveService.svc" binding="netTcpBinding" bindingConfiguration="SlaveTcpStreamedEndpoint" contract="SlaveFacade.ISlaveFacade" name="SlaveTcpStreamedEndpoint">
     34      <endpoint address="net.tcp://christoph:9001/Hive-3.3/SlaveService.svc" binding="netTcpBinding" bindingConfiguration="SlaveTcpStreamedEndpoint" contract="SlaveFacade.ISlaveFacade" name="SlaveTcpStreamedEndpoint">
    3535        <identity>
    36           <dns value="services.heuristiclab.com"/>
     36          <dns value="localhost"/>
    3737        </identity>
    3838      </endpoint>
  • branches/HeuristicLab.Hive-3.3/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/ConfigurationManager/UptimeManager.cs

    r5000 r5213  
    2626using System.Xml.Serialization;
    2727using HeuristicLab.Calendar;
     28using HeuristicLab.Hive.Contracts.ResponseObjects;
    2829using HeuristicLab.Hive.Contracts.BusinessObjects;
    29 using HeuristicLab.Hive.Contracts.ResponseObjects;
    3030
    3131namespace HeuristicLab.Hive.Slave.Core.ConfigurationManager {
  • branches/HeuristicLab.Hive-3.3/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/HeuristicLab.Hive.Slave.Core-3.3.csproj

    r5179 r5213  
    8989    </Reference>
    9090    <Reference Include="System" />
    91     <Reference Include="System.Core">
    92       <RequiredTargetFramework>3.5</RequiredTargetFramework>
    93     </Reference>
    94     <Reference Include="System.Runtime.Serialization">
    95       <RequiredTargetFramework>3.0</RequiredTargetFramework>
    96     </Reference>
    97     <Reference Include="System.ServiceModel">
    98       <RequiredTargetFramework>3.0</RequiredTargetFramework>
    99     </Reference>
    100     <Reference Include="System.Xml.Linq">
    101       <RequiredTargetFramework>3.5</RequiredTargetFramework>
    102     </Reference>
    103     <Reference Include="System.Data.DataSetExtensions">
    104       <RequiredTargetFramework>3.5</RequiredTargetFramework>
    105     </Reference>
    106     <Reference Include="System.Data" />
     91    <Reference Include="System.Runtime.Serialization" />
     92    <Reference Include="System.ServiceModel" />
    10793    <Reference Include="System.Xml" />
    10894  </ItemGroup>
     
    155141      <Name>HeuristicLab.DataAccess-3.3</Name>
    156142    </ProjectReference>
     143    <ProjectReference Include="..\..\HeuristicLab.Hive.Contracts\3.3\HeuristicLab.Hive.Contracts-3.3.csproj">
     144      <Project>{134F93D7-E7C8-4ECD-9923-7F63259A60D8}</Project>
     145      <Name>HeuristicLab.Hive.Contracts-3.3</Name>
     146    </ProjectReference>
    157147    <ProjectReference Include="..\..\HeuristicLab.Hive.Slave.Common\3.3\HeuristicLab.Hive.Slave.Common-3.3.csproj">
    158148      <Project>{89F4BC52-C174-481E-9BD2-3814171020E8}</Project>
    159149      <Name>HeuristicLab.Hive.Slave.Common-3.3</Name>
    160     </ProjectReference>
    161     <ProjectReference Include="..\..\HeuristicLab.Hive.Contracts\3.3\HeuristicLab.Hive.Contracts-3.3.csproj">
    162       <Project>{134F93D7-E7C8-4ECD-9923-7F63259A60D8}</Project>
    163       <Name>HeuristicLab.Hive.Contracts-3.3</Name>
    164150    </ProjectReference>
    165151    <ProjectReference Include="..\..\HeuristicLab.Hive.JobBase\3.3\HeuristicLab.Hive.JobBase-3.3.csproj">
  • branches/HeuristicLab.Hive-3.3/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.ExecutionEngine/3.3/Executor.cs

    r5153 r5213  
    3434  public class Executor : MarshalByRefObject, IDisposable {
    3535    public Guid JobId { get; set; }
    36     public IJob Job { get; set; }
     36
     37    protected IJob job;
     38    public IJob Job {
     39      get { return job; }
     40      set {
     41        if (job != value) {
     42          job = value;
     43        }
     44      }
     45    }
    3746    public MessageContainer.MessageType CurrentMessage { get; set; }
    3847
  • branches/HeuristicLab.Hive-3.3/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.ExecutionEngine/3.3/HeuristicLab.Hive.Slave.ExecutionEngine-3.3.csproj

    r5179 r5213  
    9595      <RequiredTargetFramework>3.5</RequiredTargetFramework>
    9696    </Reference>
    97     <Reference Include="System.Xml.Linq">
    98       <RequiredTargetFramework>3.5</RequiredTargetFramework>
    99     </Reference>
    10097    <Reference Include="System.Data.DataSetExtensions">
    10198      <RequiredTargetFramework>3.5</RequiredTargetFramework>
    10299    </Reference>
    103100    <Reference Include="System.Data" />
    104     <Reference Include="System.Xml" />
    105101  </ItemGroup>
    106102  <ItemGroup>
  • branches/HeuristicLab.Hive-3.3/sources/HeuristicLab.Hive/HeuristicLab.HiveEngine/3.3/HiveEngine.cs

    r5153 r5213  
    1414using System.Threading;
    1515using HeuristicLab.Random;
     16using System.Threading.Tasks;
    1617
    1718namespace HeuristicLab.HiveEngine {
     
    2223  [Item("Hive Engine", "Engine for parallel execution on the hive. You need enable `Parallel` for at least one operator in your operator graph to have all childoperations parallelized. Also those childoperations must not have sideeffects on a higher scope.")]
    2324  public class HiveEngine : Engine {
     25    private CancellationToken cancellationToken;
     26
    2427    [Storable]
    2528    private IOperator currentOperator;
     
    4447    #endregion
    4548
    46     protected override void ProcessNextOperation() {
    47       currentOperator = null;
    48       IOperation next = ExecutionStack.Pop();
    49       OperationCollection coll = next as OperationCollection;
     49    protected override void Run(CancellationToken cancellationToken) {
     50      this.cancellationToken = cancellationToken;
     51      Run(ExecutionStack);
     52    }
    5053
    51       while (coll != null) {
    52         if (coll.Parallel) {
    53           IDictionary<IOperation, OperationJob> jobs = new Dictionary<IOperation, OperationJob>();
    54           foreach (IOperation op in coll) {
    55             jobs.Add(op, new OperationJob(op));
     54    private void Run(object state) {
     55      Stack<IOperation> executionStack = (Stack<IOperation>)state;
     56      IOperation next;
     57      OperationCollection coll;
     58      IAtomicOperation operation;
     59
     60      while (ExecutionStack.Count > 0) {
     61        cancellationToken.ThrowIfCancellationRequested();
     62
     63        next = ExecutionStack.Pop();
     64        if (next is OperationCollection) {
     65          coll = (OperationCollection)next;
     66          if (coll.Parallel) {
     67            IDictionary<IOperation, OperationJob> jobs = new Dictionary<IOperation, OperationJob>();
     68            foreach (IOperation op in coll) {
     69              jobs.Add(op, new OperationJob(op));
     70            }
     71
     72            ExecuteOnHive(jobs);
     73
     74            foreach (var kvp in jobs) {
     75              if (kvp.Key is IAtomicOperation) {
     76                ReIntegrateScope(kvp.Value.Operation as IAtomicOperation, kvp.Key as IAtomicOperation);
     77              } else if (kvp.Key is OperationCollection) {
     78                OperationCollection ocoll = (OperationCollection)kvp.Key;
     79                for (int i = ocoll.Count - 1; i >= 0; i--)
     80                  if (ocoll[i] != null) executionStack.Push(ocoll[i]);
     81              }
     82            }
     83          } else {
     84            for (int i = coll.Count - 1; i >= 0; i--)
     85              if (coll[i] != null) executionStack.Push(coll[i]);
    5686          }
     87        } else if (next is IAtomicOperation) {
     88          operation = (IAtomicOperation)next;
     89          try {
     90            next = operation.Operator.Execute((IExecutionContext)operation, cancellationToken);
     91          }
     92          catch (Exception ex) {
     93            ExecutionStack.Push(operation);
     94            if (ex is OperationCanceledException) throw ex;
     95            else throw new OperatorExecutionException(operation.Operator, ex);
     96          }
     97          if (next != null) ExecutionStack.Push(next);
    5798
    58           ExecuteOnHive(jobs);
    59 
    60           foreach (var kvp in jobs) {
    61             if (kvp.Key is IAtomicOperation) {
    62               ReIntegrateScope(kvp.Value.Operation as IAtomicOperation, kvp.Key as IAtomicOperation);
    63             } else if (kvp.Key is OperationCollection) {
    64               // todo
    65             }
     99          if (operation.Operator.Breakpoint) {
     100            Log.LogMessage(string.Format("Breakpoint: {0}", operation.Operator.Name != string.Empty ? operation.Operator.Name : operation.Operator.ItemName));
     101            Pause();
    66102          }
    67         } else {
    68           for (int i = coll.Count - 1; i >= 0; i--)
    69             ExecutionStack.Push(coll[i]);
    70         }
    71         next = ExecutionStack.Count > 0 ? ExecutionStack.Pop() : null;
    72         coll = next as OperationCollection;
    73       }
    74 
    75       IAtomicOperation operation = next as IAtomicOperation;
    76       if (operation != null) {
    77         try {
    78           currentOperator = operation.Operator;
    79           ExecutionStack.Push(operation.Operator.Execute((IExecutionContext)operation));
    80         }
    81         catch (Exception ex) {
    82           ExecutionStack.Push(operation);
    83           OnExceptionOccurred(new OperatorExecutionException(operation.Operator, ex));
    84           Pause();
    85         }
    86         if (operation.Operator.Breakpoint) {
    87           Log.LogMessage(string.Format("Breakpoint: {0}", operation.Operator.Name != string.Empty ? operation.Operator.Name : operation.Operator.ItemName));
    88           Pause();
    89103        }
    90104      }
     
    123137    private void ExecuteOnHive(IDictionary<IOperation, OperationJob> jobDict) {
    124138      Log.LogMessage(string.Format("Executing {0} operations on the hive.", jobDict.Count));
    125       IDictionary<Guid, IOperation> jobIds = new Dictionary<Guid, IOperation>();
    126       JobResultList results;
     139      try {
     140        IDictionary<Guid, IOperation> jobIds = new Dictionary<Guid, IOperation>();
     141        JobResultList results;
    127142
    128       using (Disposable<IClientFacade> service = ServiceLocator.Instance.StreamedClientFacadePool.GetService()) {
    129         List<JobDto> jobs = new List<JobDto>();
    130         foreach (var kvp in jobDict) {
    131           // shuffle random variable to avoid the same random sequence in each operation
    132           IRandom random = FindRandomParameter(kvp.Key as IExecutionContext);
    133           if (random != null)
    134             random.Reset(random.Next());
     143        using (Disposable<IClientFacade> service = ServiceLocator.Instance.StreamedClientFacadePool.GetService()) {
     144          List<JobDto> jobs = new List<JobDto>();
     145          foreach (var kvp in jobDict) {
     146            // shuffle random variable to avoid the same random sequence in each operation
     147            IRandom random = FindRandomParameter(kvp.Key as IExecutionContext);
     148            if (random != null)
     149              random.Reset(random.Next());
    135150
    136           var groups = ResourceIds.Split(';');
    137           SerializedJob serializedJob = new SerializedJob();
    138           serializedJob.SerializedJobData = SerializedJob.Serialize(kvp.Value);
    139           serializedJob.JobInfo = new JobDto();
    140           serializedJob.JobInfo.State = JobState.Offline;
    141           serializedJob.JobInfo.CoresNeeded = 1;
    142           serializedJob.JobInfo.PluginsNeeded = ApplicationManager.Manager.Plugins.Select(x => new HivePluginInfoDto { Name = x.Name, Version = x.Version }).ToList();
    143           ResponseObject<JobDto> response = service.Obj.AddJobWithGroupStrings(serializedJob, groups);
    144           jobs.Add(response.Obj);
    145           jobIds.Add(response.Obj.Id, kvp.Key);
    146         }
    147         results = service.Obj.GetJobResults(jobIds.Keys).Obj;
    148       }
    149 
    150       while (!results.All(
    151           x => x.State == JobState.Finished ||
    152           x.State == JobState.Failed ||
    153           x.State == JobState.Aborted)) {
    154         Thread.Sleep(5000);
    155         using (Disposable<IClientFacade> service = ServiceLocator.Instance.StreamedClientFacadePool.GetService()) {
     151            var groups = ResourceIds.Split(';');
     152            SerializedJob serializedJob = new SerializedJob();
     153            serializedJob.SerializedJobData = SerializedJob.Serialize(kvp.Value);
     154            serializedJob.JobInfo = new JobDto();
     155            serializedJob.JobInfo.State = JobState.Offline;
     156            serializedJob.JobInfo.CoresNeeded = 1;
     157            serializedJob.JobInfo.PluginsNeeded = ApplicationManager.Manager.Plugins.Select(x => new HivePluginInfoDto { Name = x.Name, Version = x.Version }).ToList();
     158            ResponseObject<JobDto> response = service.Obj.AddJobWithGroupStrings(serializedJob, groups);
     159            jobs.Add(response.Obj);
     160            jobIds.Add(response.Obj.Id, kvp.Key);
     161          }
    156162          results = service.Obj.GetJobResults(jobIds.Keys).Obj;
    157163        }
     164
     165        while (!results.All(
     166            x => x.State == JobState.Finished ||
     167            x.State == JobState.Failed ||
     168            x.State == JobState.Aborted)) {
     169          Thread.Sleep(5000);
     170          using (Disposable<IClientFacade> service = ServiceLocator.Instance.ClientFacadePool.GetService()) {
     171            results = service.Obj.GetJobResults(jobIds.Keys).Obj;
     172          }
     173        }
     174
     175        // all finished
     176        using (Disposable<IClientFacade> service = ServiceLocator.Instance.ClientFacadePool.GetService()) {
     177          foreach (Guid jobId in jobIds.Keys) {
     178            SerializedJob serializedJob = service.Obj.GetLastSerializedResult(jobId).Obj;
     179            OperationJob operationJob = SerializedJob.Deserialize<OperationJob>(serializedJob.SerializedJobData);
     180            jobDict[jobIds[jobId]] = operationJob;
     181          }
     182        }
     183
     184        // delete jobs
     185        using (Disposable<IClientFacade> service = ServiceLocator.Instance.ClientFacadePool.GetService()) {
     186          foreach (Guid jobId in jobIds.Keys) {
     187            service.Obj.DeleteJob(jobId);
     188          }
     189        }
     190
     191        Log.LogMessage(string.Format("Operations on the hive finished.", jobDict.Count));
    158192      }
    159 
    160       // all finished
    161       using (Disposable<IClientFacade> service = ServiceLocator.Instance.StreamedClientFacadePool.GetService()) {
    162         foreach (Guid jobId in jobIds.Keys) {
    163           SerializedJob serializedJob = service.Obj.GetLastSerializedResult(jobId).Obj;
    164           OperationJob operationJob = SerializedJob.Deserialize<OperationJob>(serializedJob.SerializedJobData);
    165           jobDict[jobIds[jobId]] = operationJob;
    166         }
     193      catch (Exception e) {
     194        Log.LogException(e);
     195        throw e;
    167196      }
    168 
    169       // delete jobs
    170       using (Disposable<IClientFacade> service = ServiceLocator.Instance.StreamedClientFacadePool.GetService()) {
    171         foreach (Guid jobId in jobIds.Keys) {
    172           service.Obj.DeleteJob(jobId);
    173         }
    174       }
    175 
    176       Log.LogMessage(string.Format("Operations on the hive finished.", jobDict.Count));
    177197    }
    178 
    179     public override void Pause() {
    180       base.Pause();
    181       if (currentOperator != null) currentOperator.Abort();
    182     }
    183     public override void Stop() {
    184       base.Stop();
    185       if (currentOperator != null) currentOperator.Abort();
    186     }
    187 
    188198  }
    189199}
  • branches/HeuristicLab.Hive-3.3/sources/HeuristicLab.Hive/HeuristicLab.HiveEngineTest/HeuristicLab.HiveEngineTest.csproj

    r5153 r5213  
    1111    <RootNamespace>HeuristicLab.HiveEngineTest</RootNamespace>
    1212    <AssemblyName>HeuristicLab.HiveEngineTest</AssemblyName>
    13     <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
     13    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
    1414    <TargetFrameworkProfile>
    1515    </TargetFrameworkProfile>
     
    7070  <ItemGroup>
    7171    <Reference Include="ALGLIB-2.5.0">
    72       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\ALGLIB-2.5.0.dll</HintPath>
     72      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\ALGLIB-2.5.0.dll</HintPath>
    7373    </Reference>
    7474    <Reference Include="ALGLIB-3.1.0">
    75       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\ALGLIB-3.1.0.dll</HintPath>
     75      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\ALGLIB-3.1.0.dll</HintPath>
    7676    </Reference>
    7777    <Reference Include="Google.ProtocolBuffers-0.9.1">
    78       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\Google.ProtocolBuffers-0.9.1.dll</HintPath>
     78      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\Google.ProtocolBuffers-0.9.1.dll</HintPath>
    7979    </Reference>
    8080    <Reference Include="HeuristicLab.ALGLIB-2.5.0">
    81       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.ALGLIB-2.5.0.dll</HintPath>
     81      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.ALGLIB-2.5.0.dll</HintPath>
    8282    </Reference>
    8383    <Reference Include="HeuristicLab.ALGLIB-3.1.0">
    84       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.ALGLIB-3.1.0.dll</HintPath>
     84      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.ALGLIB-3.1.0.dll</HintPath>
    8585    </Reference>
    8686    <Reference Include="HeuristicLab.Algorithms.DataAnalysis-3.3">
    87       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Algorithms.DataAnalysis-3.3.dll</HintPath>
     87      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Algorithms.DataAnalysis-3.3.dll</HintPath>
    8888    </Reference>
    8989    <Reference Include="HeuristicLab.Algorithms.DataAnalysis.Views-3.3">
    90       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Algorithms.DataAnalysis.Views-3.3.dll</HintPath>
     90      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Algorithms.DataAnalysis.Views-3.3.dll</HintPath>
    9191    </Reference>
    9292    <Reference Include="HeuristicLab.Algorithms.EvolutionStrategy-3.3">
    93       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Algorithms.EvolutionStrategy-3.3.dll</HintPath>
     93      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Algorithms.EvolutionStrategy-3.3.dll</HintPath>
    9494    </Reference>
    9595    <Reference Include="HeuristicLab.Algorithms.GeneticAlgorithm-3.3">
    96       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Algorithms.GeneticAlgorithm-3.3.dll</HintPath>
     96      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Algorithms.GeneticAlgorithm-3.3.dll</HintPath>
    9797    </Reference>
    9898    <Reference Include="HeuristicLab.Algorithms.LocalSearch-3.3">
    99       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Algorithms.LocalSearch-3.3.dll</HintPath>
     99      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Algorithms.LocalSearch-3.3.dll</HintPath>
     100    </Reference>
     101    <Reference Include="HeuristicLab.Algorithms.NSGA2-3.3">
     102      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Algorithms.NSGA2-3.3.dll</HintPath>
    100103    </Reference>
    101104    <Reference Include="HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm-3.3">
    102       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm-3.3.dll</HintPath>
     105      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm-3.3.dll</HintPath>
    103106    </Reference>
    104107    <Reference Include="HeuristicLab.Algorithms.SimulatedAnnealing-3.3">
    105       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Algorithms.SimulatedAnnealing-3.3.dll</HintPath>
     108      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Algorithms.SimulatedAnnealing-3.3.dll</HintPath>
    106109    </Reference>
    107110    <Reference Include="HeuristicLab.Algorithms.TabuSearch-3.3">
    108       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Algorithms.TabuSearch-3.3.dll</HintPath>
     111      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Algorithms.TabuSearch-3.3.dll</HintPath>
    109112    </Reference>
    110113    <Reference Include="HeuristicLab.Analysis-3.3">
    111       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Analysis-3.3.dll</HintPath>
     114      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Analysis-3.3.dll</HintPath>
    112115    </Reference>
    113116    <Reference Include="HeuristicLab.Analysis.Views-3.3">
    114       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Analysis.Views-3.3.dll</HintPath>
    115     </Reference>
    116     <Reference Include="HeuristicLab.Calendar-3.3">
    117       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Calendar-3.3.dll</HintPath>
     117      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Analysis.Views-3.3.dll</HintPath>
    118118    </Reference>
    119119    <Reference Include="HeuristicLab.Clients.Common-3.3">
    120       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Clients.Common-3.3.dll</HintPath>
     120      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Clients.Common-3.3.dll</HintPath>
    121121    </Reference>
    122122    <Reference Include="HeuristicLab.CodeEditor-3.3">
    123       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.CodeEditor-3.3.dll</HintPath>
     123      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.CodeEditor-3.3.dll</HintPath>
    124124    </Reference>
    125125    <Reference Include="HeuristicLab.Collections-3.3">
    126       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Collections-3.3.dll</HintPath>
     126      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Collections-3.3.dll</HintPath>
    127127    </Reference>
    128128    <Reference Include="HeuristicLab.Common-3.3">
    129       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Common-3.3.dll</HintPath>
     129      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Common-3.3.dll</HintPath>
    130130    </Reference>
    131131    <Reference Include="HeuristicLab.Common.Resources-3.3">
    132       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Common.Resources-3.3.dll</HintPath>
     132      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Common.Resources-3.3.dll</HintPath>
    133133    </Reference>
    134134    <Reference Include="HeuristicLab.Core-3.3">
    135       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Core-3.3.dll</HintPath>
     135      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Core-3.3.dll</HintPath>
    136136    </Reference>
    137137    <Reference Include="HeuristicLab.Core.Views-3.3">
    138       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Core.Views-3.3.dll</HintPath>
     138      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Core.Views-3.3.dll</HintPath>
    139139    </Reference>
    140140    <Reference Include="HeuristicLab.Data-3.3">
    141       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Data-3.3.dll</HintPath>
     141      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Data-3.3.dll</HintPath>
    142142    </Reference>
    143143    <Reference Include="HeuristicLab.Data.Views-3.3">
    144       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Data.Views-3.3.dll</HintPath>
     144      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Data.Views-3.3.dll</HintPath>
    145145    </Reference>
    146146    <Reference Include="HeuristicLab.DebugEngine-3.3">
    147       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.DebugEngine-3.3.dll</HintPath>
     147      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.DebugEngine-3.3.dll</HintPath>
    148148    </Reference>
    149149    <Reference Include="HeuristicLab.Encodings.BinaryVectorEncoding-3.3">
    150       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Encodings.BinaryVectorEncoding-3.3.dll</HintPath>
     150      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Encodings.BinaryVectorEncoding-3.3.dll</HintPath>
    151151    </Reference>
    152152    <Reference Include="HeuristicLab.Encodings.IntegerVectorEncoding-3.3">
    153       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Encodings.IntegerVectorEncoding-3.3.dll</HintPath>
     153      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Encodings.IntegerVectorEncoding-3.3.dll</HintPath>
    154154    </Reference>
    155155    <Reference Include="HeuristicLab.Encodings.PermutationEncoding-3.3">
    156       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Encodings.PermutationEncoding-3.3.dll</HintPath>
     156      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Encodings.PermutationEncoding-3.3.dll</HintPath>
    157157    </Reference>
    158158    <Reference Include="HeuristicLab.Encodings.PermutationEncoding.Views-3.3">
    159       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Encodings.PermutationEncoding.Views-3.3.dll</HintPath>
     159      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Encodings.PermutationEncoding.Views-3.3.dll</HintPath>
    160160    </Reference>
    161161    <Reference Include="HeuristicLab.Encodings.RealVectorEncoding-3.3">
    162       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Encodings.RealVectorEncoding-3.3.dll</HintPath>
     162      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Encodings.RealVectorEncoding-3.3.dll</HintPath>
    163163    </Reference>
    164164    <Reference Include="HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.3">
    165       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.3.dll</HintPath>
     165      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.3.dll</HintPath>
    166166    </Reference>
    167167    <Reference Include="HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views-3.3">
    168       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views-3.3.dll</HintPath>
     168      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views-3.3.dll</HintPath>
    169169    </Reference>
    170170    <Reference Include="HeuristicLab.LibSVM-1.6.3">
    171       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.LibSVM-1.6.3.dll</HintPath>
     171      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.LibSVM-1.6.3.dll</HintPath>
    172172    </Reference>
    173173    <Reference Include="HeuristicLab.log4net-1.2.10.0">
    174       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.log4net-1.2.10.0.dll</HintPath>
     174      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.log4net-1.2.10.0.dll</HintPath>
    175175    </Reference>
    176176    <Reference Include="HeuristicLab.MainForm-3.3">
    177       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.MainForm-3.3.dll</HintPath>
     177      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.MainForm-3.3.dll</HintPath>
    178178    </Reference>
    179179    <Reference Include="HeuristicLab.MainForm.WindowsForms-3.3">
    180       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.MainForm.WindowsForms-3.3.dll</HintPath>
     180      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.MainForm.WindowsForms-3.3.dll</HintPath>
    181181    </Reference>
    182182    <Reference Include="HeuristicLab.Netron-3.0.2672.12446">
    183       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Netron-3.0.2672.12446.dll</HintPath>
     183      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Netron-3.0.2672.12446.dll</HintPath>
    184184    </Reference>
    185185    <Reference Include="HeuristicLab.Operators-3.3">
    186       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Operators-3.3.dll</HintPath>
     186      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Operators-3.3.dll</HintPath>
    187187    </Reference>
    188188    <Reference Include="HeuristicLab.Operators.Programmable-3.3">
    189       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Operators.Programmable-3.3.dll</HintPath>
     189      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Operators.Programmable-3.3.dll</HintPath>
    190190    </Reference>
    191191    <Reference Include="HeuristicLab.Operators.Views-3.3">
    192       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Operators.Views-3.3.dll</HintPath>
     192      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Operators.Views-3.3.dll</HintPath>
    193193    </Reference>
    194194    <Reference Include="HeuristicLab.Operators.Views.GraphVisualization-3.3">
    195       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Operators.Views.GraphVisualization-3.3.dll</HintPath>
     195      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Operators.Views.GraphVisualization-3.3.dll</HintPath>
    196196    </Reference>
    197197    <Reference Include="HeuristicLab.Optimization-3.3">
    198       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Optimization-3.3.dll</HintPath>
     198      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Optimization-3.3.dll</HintPath>
    199199    </Reference>
    200200    <Reference Include="HeuristicLab.Optimization.Operators-3.3">
    201       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Optimization.Operators-3.3.dll</HintPath>
     201      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Optimization.Operators-3.3.dll</HintPath>
    202202    </Reference>
    203203    <Reference Include="HeuristicLab.Optimization.Views-3.3">
    204       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Optimization.Views-3.3.dll</HintPath>
     204      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Optimization.Views-3.3.dll</HintPath>
    205205    </Reference>
    206206    <Reference Include="HeuristicLab.Optimizer-3.3">
    207       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Optimizer-3.3.dll</HintPath>
     207      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Optimizer-3.3.dll</HintPath>
     208    </Reference>
     209    <Reference Include="HeuristicLab.ParallelEngine-3.3">
     210      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.ParallelEngine-3.3.dll</HintPath>
    208211    </Reference>
    209212    <Reference Include="HeuristicLab.Parameters-3.3">
    210       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Parameters-3.3.dll</HintPath>
     213      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Parameters-3.3.dll</HintPath>
    211214    </Reference>
    212215    <Reference Include="HeuristicLab.Parameters.Views-3.3">
    213       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Parameters.Views-3.3.dll</HintPath>
     216      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Parameters.Views-3.3.dll</HintPath>
    214217    </Reference>
    215218    <Reference Include="HeuristicLab.Persistence-3.3">
    216       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Persistence-3.3.dll</HintPath>
     219      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Persistence-3.3.dll</HintPath>
    217220    </Reference>
    218221    <Reference Include="HeuristicLab.Persistence.GUI-3.3">
    219       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Persistence.GUI-3.3.dll</HintPath>
     222      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Persistence.GUI-3.3.dll</HintPath>
    220223    </Reference>
    221224    <Reference Include="HeuristicLab.PluginInfrastructure-3.3">
    222       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
     225      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
    223226    </Reference>
    224227    <Reference Include="HeuristicLab.Problems.ArtificialAnt-3.3">
    225       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.ArtificialAnt-3.3.dll</HintPath>
     228      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.ArtificialAnt-3.3.dll</HintPath>
    226229    </Reference>
    227230    <Reference Include="HeuristicLab.Problems.ArtificialAnt.Views-3.3">
    228       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.ArtificialAnt.Views-3.3.dll</HintPath>
     231      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.ArtificialAnt.Views-3.3.dll</HintPath>
    229232    </Reference>
    230233    <Reference Include="HeuristicLab.Problems.DataAnalysis-3.3">
    231       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.DataAnalysis-3.3.dll</HintPath>
     234      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.DataAnalysis-3.3.dll</HintPath>
    232235    </Reference>
    233236    <Reference Include="HeuristicLab.Problems.DataAnalysis.Classification-3.3">
    234       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.DataAnalysis.Classification-3.3.dll</HintPath>
     237      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.DataAnalysis.Classification-3.3.dll</HintPath>
    235238    </Reference>
    236239    <Reference Include="HeuristicLab.Problems.DataAnalysis.Classification.Views-3.3">
    237       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.DataAnalysis.Classification.Views-3.3.dll</HintPath>
     240      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.DataAnalysis.Classification.Views-3.3.dll</HintPath>
    238241    </Reference>
    239242    <Reference Include="HeuristicLab.Problems.DataAnalysis.Regression-3.3">
    240       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.DataAnalysis.Regression-3.3.dll</HintPath>
     243      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.DataAnalysis.Regression-3.3.dll</HintPath>
    241244    </Reference>
    242245    <Reference Include="HeuristicLab.Problems.DataAnalysis.Views-3.3">
    243       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.DataAnalysis.Views-3.3.dll</HintPath>
     246      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.DataAnalysis.Views-3.3.dll</HintPath>
    244247    </Reference>
    245248    <Reference Include="HeuristicLab.Problems.ExternalEvaluation-3.3">
    246       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.ExternalEvaluation-3.3.dll</HintPath>
     249      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.ExternalEvaluation-3.3.dll</HintPath>
    247250    </Reference>
    248251    <Reference Include="HeuristicLab.Problems.ExternalEvaluation.GP-3.3">
    249       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.ExternalEvaluation.GP-3.3.dll</HintPath>
     252      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.ExternalEvaluation.GP-3.3.dll</HintPath>
    250253    </Reference>
    251254    <Reference Include="HeuristicLab.Problems.ExternalEvaluation.GP.Views-3.3">
    252       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.ExternalEvaluation.GP.Views-3.3.dll</HintPath>
     255      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.ExternalEvaluation.GP.Views-3.3.dll</HintPath>
    253256    </Reference>
    254257    <Reference Include="HeuristicLab.Problems.ExternalEvaluation.Views-3.3">
    255       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.ExternalEvaluation.Views-3.3.dll</HintPath>
     258      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.ExternalEvaluation.Views-3.3.dll</HintPath>
    256259    </Reference>
    257260    <Reference Include="HeuristicLab.Problems.Knapsack-3.3">
    258       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.Knapsack-3.3.dll</HintPath>
     261      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.Knapsack-3.3.dll</HintPath>
    259262    </Reference>
    260263    <Reference Include="HeuristicLab.Problems.Knapsack.Views-3.3">
    261       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.Knapsack.Views-3.3.dll</HintPath>
     264      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.Knapsack.Views-3.3.dll</HintPath>
     265    </Reference>
     266    <Reference Include="HeuristicLab.Problems.MetaOptimization-3.3">
     267      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.MetaOptimization-3.3.dll</HintPath>
     268    </Reference>
     269    <Reference Include="HeuristicLab.Problems.MetaOptimization.Views-3.3">
     270      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.MetaOptimization.Views-3.3.dll</HintPath>
    262271    </Reference>
    263272    <Reference Include="HeuristicLab.Problems.OneMax-3.3">
    264       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.OneMax-3.3.dll</HintPath>
     273      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.OneMax-3.3.dll</HintPath>
    265274    </Reference>
    266275    <Reference Include="HeuristicLab.Problems.OneMax.Views-3.3">
    267       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.OneMax.Views-3.3.dll</HintPath>
     276      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.OneMax.Views-3.3.dll</HintPath>
    268277    </Reference>
    269278    <Reference Include="HeuristicLab.Problems.TestFunctions-3.3">
    270       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.TestFunctions-3.3.dll</HintPath>
     279      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.TestFunctions-3.3.dll</HintPath>
    271280    </Reference>
    272281    <Reference Include="HeuristicLab.Problems.TestFunctions.Views-3.3">
    273       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.TestFunctions.Views-3.3.dll</HintPath>
     282      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.TestFunctions.Views-3.3.dll</HintPath>
    274283    </Reference>
    275284    <Reference Include="HeuristicLab.Problems.TravelingSalesman-3.3">
    276       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.TravelingSalesman-3.3.dll</HintPath>
     285      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.TravelingSalesman-3.3.dll</HintPath>
    277286    </Reference>
    278287    <Reference Include="HeuristicLab.Problems.TravelingSalesman.Views-3.3">
    279       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.TravelingSalesman.Views-3.3.dll</HintPath>
     288      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.TravelingSalesman.Views-3.3.dll</HintPath>
    280289    </Reference>
    281290    <Reference Include="HeuristicLab.Problems.VehicleRouting-3.3">
    282       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.VehicleRouting-3.3.dll</HintPath>
     291      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.VehicleRouting-3.3.dll</HintPath>
    283292    </Reference>
    284293    <Reference Include="HeuristicLab.Problems.VehicleRouting.Views-3.3">
    285       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.VehicleRouting.Views-3.3.dll</HintPath>
     294      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.VehicleRouting.Views-3.3.dll</HintPath>
    286295    </Reference>
    287296    <Reference Include="HeuristicLab.ProtobufCS-0.9.1">
    288       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.ProtobufCS-0.9.1.dll</HintPath>
     297      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.ProtobufCS-0.9.1.dll</HintPath>
    289298    </Reference>
    290299    <Reference Include="HeuristicLab.Random-3.3">
    291       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Random-3.3.dll</HintPath>
     300      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Random-3.3.dll</HintPath>
    292301    </Reference>
    293302    <Reference Include="HeuristicLab.Selection-3.3">
    294       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Selection-3.3.dll</HintPath>
     303      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Selection-3.3.dll</HintPath>
    295304    </Reference>
    296305    <Reference Include="HeuristicLab.SequentialEngine-3.3">
    297       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.SequentialEngine-3.3.dll</HintPath>
     306      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.SequentialEngine-3.3.dll</HintPath>
    298307    </Reference>
    299308    <Reference Include="HeuristicLab.SharpDevelop-3.1.1.5327">
    300       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.SharpDevelop-3.1.1.5327.dll</HintPath>
     309      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.SharpDevelop-3.1.1.5327.dll</HintPath>
    301310    </Reference>
    302311    <Reference Include="HeuristicLab.Tracing-3.3">
    303       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Tracing-3.3.dll</HintPath>
     312      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Tracing-3.3.dll</HintPath>
    304313    </Reference>
    305314    <Reference Include="HeuristicLab.Visualization.ChartControlsExtensions-3.3">
    306       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Visualization.ChartControlsExtensions-3.3.dll</HintPath>
     315      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Visualization.ChartControlsExtensions-3.3.dll</HintPath>
    307316    </Reference>
    308317    <Reference Include="HeuristicLab.WinFormsUI-2.3.1">
    309       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.WinFormsUI-2.3.1.dll</HintPath>
     318      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.WinFormsUI-2.3.1.dll</HintPath>
    310319    </Reference>
    311320    <Reference Include="ICSharpCode.NRefactory">
    312       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\ICSharpCode.NRefactory.dll</HintPath>
     321      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\ICSharpCode.NRefactory.dll</HintPath>
    313322    </Reference>
    314323    <Reference Include="ICSharpCode.SharpDevelop.Dom">
    315       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\ICSharpCode.SharpDevelop.Dom.dll</HintPath>
     324      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\ICSharpCode.SharpDevelop.Dom.dll</HintPath>
    316325    </Reference>
    317326    <Reference Include="ICSharpCode.SharpZipLib">
    318       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\ICSharpCode.SharpZipLib.dll</HintPath>
     327      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\ICSharpCode.SharpZipLib.dll</HintPath>
    319328    </Reference>
    320329    <Reference Include="ICSharpCode.TextEditor">
    321       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\ICSharpCode.TextEditor.dll</HintPath>
     330      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\ICSharpCode.TextEditor.dll</HintPath>
    322331    </Reference>
    323332    <Reference Include="LibSVM-1.6.3">
    324       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\LibSVM-1.6.3.dll</HintPath>
     333      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\LibSVM-1.6.3.dll</HintPath>
    325334    </Reference>
    326335    <Reference Include="log4net">
    327       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\log4net.dll</HintPath>
     336      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\log4net.dll</HintPath>
    328337    </Reference>
    329338    <Reference Include="Mono.Cecil">
    330       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\Mono.Cecil.dll</HintPath>
     339      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\Mono.Cecil.dll</HintPath>
    331340    </Reference>
    332341    <Reference Include="Netron.Diagramming.Core-3.0.2672.12446">
    333       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\Netron.Diagramming.Core-3.0.2672.12446.dll</HintPath>
     342      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\Netron.Diagramming.Core-3.0.2672.12446.dll</HintPath>
    334343    </Reference>
    335344    <Reference Include="System" />
     
    340349    <Reference Include="System.Xml" />
    341350    <Reference Include="WeifenLuo.WinFormsUI.Docking-2.3.1">
    342       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\WeifenLuo.WinFormsUI.Docking-2.3.1.dll</HintPath>
     351      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\WeifenLuo.WinFormsUI.Docking-2.3.1.dll</HintPath>
    343352    </Reference>
    344353    <Reference Include="ZedGraph">
    345       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\ZedGraph.dll</HintPath>
     354      <HintPath>..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\ZedGraph.dll</HintPath>
    346355    </Reference>
    347356  </ItemGroup>
  • branches/HeuristicLab.Hive-3.3/sources/HeuristicLab.Hive/HeuristicLab.HiveEngineTest/Program.cs

    r5153 r5213  
    2424
    2525      pm.Run(pm.Applications.Where(x => x.Name == "TestApp").SingleOrDefault());
    26      
    27 
    2826    }
    2927  }
     
    3533      ContentManager.Initialize(new PersistenceContentManager());
    3634      ServiceLocator.Instance.ClientFacadePool.UserName = "cneumuel";
    37       ServiceLocator.Instance.ClientFacadePool.Password = "YouWillNeverKnow";
     35      ServiceLocator.Instance.ClientFacadePool.Password = "cneumuel";
    3836      ServiceLocator.Instance.StreamedClientFacadePool.UserName = "cneumuel";
    39       ServiceLocator.Instance.StreamedClientFacadePool.Password = "YouWillNeverKnow";
     37      ServiceLocator.Instance.StreamedClientFacadePool.Password = "cneumuel";
    4038
    4139      GeneticAlgorithm ga = new GeneticAlgorithm();
     
    4543      ga.MaximumGenerations.Value = 3;
    4644
    47       EngineAlgorithm alg = (EngineAlgorithm)ga.CreateUserDefinedAlgorithm();
    48       var op = (UniformSubScopesProcessor)((AlgorithmOperator)alg.OperatorGraph.Operators.ElementAt(2)).OperatorGraph.Operators.ElementAt(8);
    49       op.Parallel.Value = true;
     45      ga.Start();
    5046
    51       alg.Start();
    52 
    53       while (alg.ExecutionState != Core.ExecutionState.Stopped) {
     47      while (ga.ExecutionState != Core.ExecutionState.Stopped && ga.ExecutionState != Core.ExecutionState.Paused) {
    5448        Thread.Sleep(2000);
    5549        Console.Clear();
    56         Console.WriteLine(string.Join(Environment.NewLine, alg.Results.Select(x => x.ToString()).ToArray()));
     50        Console.WriteLine(string.Join(Environment.NewLine, ga.Results.Select(x => x.ToString()).ToArray()));
    5751        Console.WriteLine("---");
    5852        Console.WriteLine("Log:");
    59         Console.WriteLine(string.Join(Environment.NewLine, alg.Engine.Log.Messages.ToArray()));
     53        Console.WriteLine(string.Join(Environment.NewLine, ga.Engine.Log.Messages.ToArray()));
    6054      }
     55      Console.WriteLine("finished: " + ga.ExecutionState);
    6156
    6257      Console.WriteLine("Storing...");
    63       ContentManager.Save((IStorableContent)alg, string.Format("result_{0}.hl", DateTime.Now.ToString("yy.MM.dd HH;mm;ss")), true);
     58      ContentManager.Save((IStorableContent)ga, string.Format("result_{0}.hl", DateTime.Now.ToString("yy.MM.dd HH;mm;ss")), true);
    6459      Console.WriteLine("Finished");
    6560    }
  • branches/HeuristicLab.Hive-3.3/sources/HeuristicLab.Hive/HeuristicLab.HiveEngineTest/app.config

    r5153 r5213  
    88    <bindings>
    99      <netTcpBinding>
    10         <binding name="ClientTcpStreamedEndpoint" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:30:00" sendTimeout="00:30:00" transactionFlow="false" transferMode="Streamed" transactionProtocol="OleTransactions" hostNameComparisonMode="StrongWildcard" listenBacklog="10" maxBufferPoolSize="524288" maxBufferSize="65536" maxConnections="10" maxReceivedMessageSize="104857600">
     10        <binding name="ClientTcpStreamedEndpoint" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:30:00" sendTimeout="00:30:00" transactionFlow="false" transferMode="Streamed" transactionProtocol="OleTransactions" hostNameComparisonMode="StrongWildcard" listenBacklog="10" maxBufferPoolSize="524288" maxBufferSize="65536" maxConnections="10" maxReceivedMessageSize="314572800">
    1111          <readerQuotas maxDepth="32" maxStringContentLength="104857600" maxArrayLength="104857600" maxBytesPerRead="104857600" maxNameTableCharCount="104857600"/>
    1212          <reliableSession ordered="true" inactivityTimeout="00:30:00" enabled="false"/>
     
    1818      </netTcpBinding>
    1919      <wsHttpBinding>
    20         <binding name="ClientHttpEndpoint" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:30:00" sendTimeout="00:30:00" bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxReceivedMessageSize="104857600" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
     20        <binding name="ClientHttpEndpoint" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:30:00" sendTimeout="00:30:00" bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxReceivedMessageSize="314572800" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
    2121          <readerQuotas maxDepth="32" maxStringContentLength="104857600" maxArrayLength="104857600" maxBytesPerRead="104857600" maxNameTableCharCount="104857600"/>
    2222          <reliableSession ordered="true" inactivityTimeout="00:30:00" enabled="false"/>
     
    2929    </bindings>
    3030    <client>
    31       <endpoint address="net.tcp://services.heuristiclab.com:8000/Hive-3.3/ClientService.svc" binding="netTcpBinding" bindingConfiguration="ClientTcpStreamedEndpoint" contract="HeuristicLab.Hive.Contracts.Interfaces.IClientFacade" name="ClientTcpStreamedEndpoint">
     31      <endpoint address="net.tcp://christoph:9001/Hive-3.3/ClientService.svc" binding="netTcpBinding" bindingConfiguration="ClientTcpStreamedEndpoint" contract="HeuristicLab.Hive.Contracts.Interfaces.IClientFacade" name="ClientTcpStreamedEndpoint">
    3232        <identity>
    33           <dns value="services.heuristiclab.com"/>
     33          <dns value="localhost"/>
    3434        </identity>
    3535      </endpoint>
    36       <endpoint address="http://services.heuristiclab.com/Hive-3.3/ClientService.svc" binding="wsHttpBinding" bindingConfiguration="ClientHttpEndpoint" contract="HeuristicLab.Hive.Contracts.Interfaces.IClientFacade" name="ClientHttpEndpoint">
     36      <endpoint address="http://christoph/Hive-3.3/ClientService.svc" binding="wsHttpBinding" bindingConfiguration="ClientHttpEndpoint" contract="HeuristicLab.Hive.Contracts.Interfaces.IClientFacade" name="ClientHttpEndpoint">
    3737        <identity>
    38           <certificate encodedValue="AwAAAAEAAAAUAAAAwK1+2oAmcy/mI2P2QjyiJRh0y60gAAAAAQAAACoCAAAwggImMIIBj6ADAgECAhAIkseQ2EEhgU720qJA61gqMA0GCSqGSIb3DQEBBAUAMCQxIjAgBgNVBAMTGXNlcnZpY2VzLmhldXJpc3RpY2xhYi5jb20wHhcNMTAwNTExMTExNDAyWhcNMzkxMjMxMjM1OTU5WjAkMSIwIAYDVQQDExlzZXJ2aWNlcy5oZXVyaXN0aWNsYWIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq26Bwmwc7k+4W30qLQ2j+FInEL5BuH6opDY6CSlrtt3xQS/anrhvpbf3QghLDVINzcHkzbPmm/SguG4F85QLB6xO+tJaOvRo0iEK5g3c307vMIru7FJwk/OhplEQ5J1hbDgL3zOJlrWlgtqRVxCtVdF3XroI9BctOt1NkeKv9ewIDAQABo1kwVzBVBgNVHQEETjBMgBCjbgdYd4j5JgUuJ1Wo/GxroSYwJDEiMCAGA1UEAxMZc2VydmljZXMuaGV1cmlzdGljbGFiLmNvbYIQCJLHkNhBIYFO9tKiQOtYKjANBgkqhkiG9w0BAQQFAAOBgQAb/2xk2uQad68shSPl/uixWgvFI8WkxOTBopOLaLtDxwCeZ3mWVHdV9VnixHtThubnEBXAhYOCQSIXWtQuXFWO+gH3YyjTRJY5kTmXyuvBRTn3/so5SrQ7Rdlm9hf6E5YVX3tCjAy7ybUyaDUkQfmH5vmvgvpMzRfsJ1qhnUpJiQ=="/>
     38          <certificate encodedValue="AwAAAAEAAAAUAAAAozaKcSPdw1Cdd57hw9mr3eCjxTIgAAAAAQAAAPIBAAAwggHuMIIBW6ADAgECAhBhrVLVbjrtvUe4zWuGbVeuMAkGBSsOAwIdBQAwFDESMBAGA1UEAxMJbG9jYWxob3N0MB4XDTEwMTAxMjA2NTYyNloXDTM5MTIzMTIzNTk1OVowFDESMBAGA1UEAxMJbG9jYWxob3N0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDFM6bQUgvCnsnBO9TZnOrC6x1riE2pXUzU6H38GYot674WNfir82fMh9+ojWSY/CiMzExcNWFtC3i8BG7giLYVwSanuwQ8QyRFYq3g5UMqdlm4/aof/4QMmS+SuRDsa8F4lbvdS9zBVFiyyUNYzlzO/rY08DrkCgx4X2IQGOvixwIDAQABo0kwRzBFBgNVHQEEPjA8gBCjMn9uvzNhU2c//E3RSYmUoRYwFDESMBAGA1UEAxMJbG9jYWxob3N0ghBhrVLVbjrtvUe4zWuGbVeuMAkGBSsOAwIdBQADgYEADIf8as2VBfZEpwb/GuVifvPTR0Ud+dTCwTjBdMymqjNR5NTSi408DifssSTBVGIi7xkWbQDlQQHOZmVqVFoqfNbGrtm9w1MSK24HAEMXr0WFBltvldGKCvtYnZqf377qU5gq7IBXcJZi87bZ2l1M3icr6RJo4fIbnZOa5M430aw="/>
    3939        </identity>
    4040      </endpoint>
     
    4343  </system.serviceModel>
    4444  <startup>
    45     <supportedRuntime version="v2.0.50727"/>
     45    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
    4646  </startup>
    4747</configuration>
  • branches/HeuristicLab.Hive-3.3/sources/HeuristicLab.Hive/PreBuildEvent.cmd

    r5181 r5213  
    44REM SET configfile=f005pc.hagenberg.fhooe.at - app.config
    55REM SET configfile=localhost - app.config
    6 SET configfile=services.heuristiclab.com - app.config
    7 REM SET configfile=christoph - app.config
     6REM SET configfile=services.heuristiclab.com - app.config
     7SET configfile=christoph - app.config
    88
    99IF EXIST "%configfile%" (
Note: See TracChangeset for help on using the changeset viewer.