Index: trunk/HeuristicLab.ExactOptimization/3.3/HeuristicLab.ExactOptimization-3.3.csproj
===================================================================
--- branches/2931_OR-Tools_LP_MIP/HeuristicLab.ExactOptimization/3.3/HeuristicLab.ExactOptimization-3.3.csproj	(revision 16745)
+++ trunk/HeuristicLab.ExactOptimization/3.3/HeuristicLab.ExactOptimization-3.3.csproj	(revision 16910)
@@ -44,5 +44,5 @@
   <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
     <DebugSymbols>true</DebugSymbols>
-    <OutputPath>bin\x86\Debug\</OutputPath>
+    <OutputPath>..\..\bin\</OutputPath>
     <DefineConstants>DEBUG;TRACE</DefineConstants>
     <DebugType>full</DebugType>
@@ -60,5 +60,5 @@
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
-    <OutputPath>bin\x86\Release\</OutputPath>
+    <OutputPath>..\..\bin\</OutputPath>
     <DefineConstants>TRACE</DefineConstants>
     <Optimize>true</Optimize>
@@ -77,5 +77,5 @@
   <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
     <DebugSymbols>true</DebugSymbols>
-    <OutputPath>bin\x64\Debug\</OutputPath>
+    <OutputPath>..\..\bin\</OutputPath>
     <DefineConstants>DEBUG;TRACE</DefineConstants>
     <DebugType>full</DebugType>
@@ -93,5 +93,5 @@
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
-    <OutputPath>bin\x64\Release\</OutputPath>
+    <OutputPath>..\..\bin\</OutputPath>
     <DefineConstants>TRACE</DefineConstants>
     <Optimize>true</Optimize>
@@ -114,12 +114,10 @@
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\..\bin\Google.OrTools.dll</HintPath>
+      <Private>False</Private>
     </Reference>
     <Reference Include="HEAL.Attic, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\..\bin\HEAL.Attic.dll</HintPath>
-    </Reference>
-    <Reference Include="HeuristicLab.OrTools-7.0.0, Version=6.10.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\..\bin\HeuristicLab.OrTools-7.0.0.dll</HintPath>
+      <Private>False</Private>
     </Reference>
     <Reference Include="System" />
@@ -191,60 +189,75 @@
       <Project>{887425B4-4348-49ED-A457-B7D2C26DDBF9}</Project>
       <Name>HeuristicLab.Analysis-3.3</Name>
+      <Private>False</Private>
     </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.Collections\3.3\HeuristicLab.Collections-3.3.csproj">
       <Project>{958B43BC-CC5C-4FA2-8628-2B3B01D890B6}</Project>
       <Name>HeuristicLab.Collections-3.3</Name>
+      <Private>False</Private>
     </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.Common.Resources\3.3\HeuristicLab.Common.Resources-3.3.csproj">
       <Project>{0E27A536-1C4A-4624-A65E-DC4F4F23E3E1}</Project>
       <Name>HeuristicLab.Common.Resources-3.3</Name>
+      <Private>False</Private>
     </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.Common\3.3\HeuristicLab.Common-3.3.csproj">
       <Project>{A9AD58B9-3EF9-4CC1-97E5-8D909039FF5C}</Project>
       <Name>HeuristicLab.Common-3.3</Name>
+      <Private>False</Private>
     </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.Core\3.3\HeuristicLab.Core-3.3.csproj">
       <Project>{C36BD924-A541-4A00-AFA8-41701378DDC5}</Project>
       <Name>HeuristicLab.Core-3.3</Name>
+      <Private>False</Private>
     </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.Data\3.3\HeuristicLab.Data-3.3.csproj">
       <Project>{BBAB9DF5-5EF3-4BA8-ADE9-B36E82114937}</Project>
       <Name>HeuristicLab.Data-3.3</Name>
+      <Private>False</Private>
     </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.Encodings.BinaryVectorEncoding\3.3\HeuristicLab.Encodings.BinaryVectorEncoding-3.3.csproj">
       <Project>{66D249C3-A01D-42A8-82A2-919BC8EC3D83}</Project>
       <Name>HeuristicLab.Encodings.BinaryVectorEncoding-3.3</Name>
+      <Private>False</Private>
     </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.Encodings.PermutationEncoding\3.3\HeuristicLab.Encodings.PermutationEncoding-3.3.csproj">
       <Project>{DBECB8B0-B166-4133-BAF1-ED67C3FD7FCA}</Project>
       <Name>HeuristicLab.Encodings.PermutationEncoding-3.3</Name>
+      <Private>False</Private>
     </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.Optimization\3.3\HeuristicLab.Optimization-3.3.csproj">
       <Project>{14AB8D24-25BC-400C-A846-4627AA945192}</Project>
       <Name>HeuristicLab.Optimization-3.3</Name>
+      <Private>False</Private>
     </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.Parameters\3.3\HeuristicLab.Parameters-3.3.csproj">
       <Project>{56F9106A-079F-4C61-92F6-86A84C2D84B7}</Project>
       <Name>HeuristicLab.Parameters-3.3</Name>
+      <Private>False</Private>
     </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\3.3\HeuristicLab.PluginInfrastructure-3.3.csproj">
       <Project>{94186A6A-5176-4402-AE83-886557B53CCA}</Project>
       <Name>HeuristicLab.PluginInfrastructure-3.3</Name>
+      <Private>False</Private>
     </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.Problems.Knapsack\3.3\HeuristicLab.Problems.Knapsack-3.3.csproj">
       <Project>{E10F395F-C8A6-48AD-B470-9AA7A1F43809}</Project>
       <Name>HeuristicLab.Problems.Knapsack-3.3</Name>
+      <Private>False</Private>
     </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.Problems.Programmable\3.3\HeuristicLab.Problems.Programmable-3.3.csproj">
       <Project>{EE07BFF8-B23D-41F5-8AD7-AC9598D7A2C9}</Project>
       <Name>HeuristicLab.Problems.Programmable-3.3</Name>
+      <Private>False</Private>
     </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.Problems.TravelingSalesman\3.3\HeuristicLab.Problems.TravelingSalesman-3.3.csproj">
       <Project>{D767C38D-8014-46B0-9A32-03A3AECCE34A}</Project>
       <Name>HeuristicLab.Problems.TravelingSalesman-3.3</Name>
+      <Private>False</Private>
     </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.Scripting\3.3\HeuristicLab.Scripting-3.3.csproj">
       <Project>{21977CC3-1757-4B3B-87BD-FF817AAA900F}</Project>
       <Name>HeuristicLab.Scripting-3.3</Name>
+      <Private>False</Private>
     </ProjectReference>
   </ItemGroup>
Index: trunk/HeuristicLab.ExactOptimization/3.3/LinearProgramming/Algorithms/Solvers/Base/IncrementalLinearSolver.cs
===================================================================
--- branches/2931_OR-Tools_LP_MIP/HeuristicLab.ExactOptimization/3.3/LinearProgramming/Algorithms/Solvers/Base/IncrementalLinearSolver.cs	(revision 16745)
+++ trunk/HeuristicLab.ExactOptimization/3.3/LinearProgramming/Algorithms/Solvers/Base/IncrementalLinearSolver.cs	(revision 16910)
@@ -88,5 +88,4 @@
     public override void Reset() {
       base.Reset();
-      stopwatch.Reset();
       executionTime = TimeSpan.Zero;
     }
@@ -114,5 +113,5 @@
           return;
 
-        stopwatch.Start();
+        stopwatch.Restart();
         Solve(problemDefinition, results, IntermediateTimeLimit);
         stopwatch.Stop();
Index: trunk/HeuristicLab.ExactOptimization/3.3/LinearProgramming/Algorithms/Solvers/Base/LinearSolver.cs
===================================================================
--- branches/2931_OR-Tools_LP_MIP/HeuristicLab.ExactOptimization/3.3/LinearProgramming/Algorithms/Solvers/Base/LinearSolver.cs	(revision 16745)
+++ trunk/HeuristicLab.ExactOptimization/3.3/LinearProgramming/Algorithms/Solvers/Base/LinearSolver.cs	(revision 16910)
@@ -47,4 +47,13 @@
     protected IFixedValueParameter<TextValue> solverSpecificParametersParam;
 
+    public static string LogDirectory { get; }
+
+    static LinearSolver() {
+      var solver = new Solver("", Solver.OptimizationProblemType.CbcMixedIntegerProgramming);
+      LogDirectory = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName());
+      Directory.CreateDirectory(LogDirectory);
+      solver.InitLogging(Assembly.GetExecutingAssembly().Location, LogDirectory);
+    }
+
     public LinearSolver() {
       Parameters.Add(problemTypeParam =
@@ -165,5 +174,6 @@
 
         if (!solver.SetSolverSpecificParametersAsString(SolverSpecificParameters))
-          throw new ArgumentException("Solver specific parameters could not be set.");
+          throw new ArgumentException("Solver specific parameters could not be set. " +
+            $"For details, see the log files in '{LogDirectory}'.");
 
         resultStatus = (ResultStatus)solver.Solve(parameters);
@@ -225,9 +235,10 @@
         solver = new Solver(Name, optimizationProblemType, libraryName ?? string.Empty);
       } catch {
-        throw new InvalidOperationException($"Could not create {optimizationProblemType}.");
+        solver = null;
       }
 
       if (solver == null)
-        throw new InvalidOperationException($"Could not create {optimizationProblemType}.");
+        throw new InvalidOperationException($"Could not create {optimizationProblemType}. " +
+          $"For details, see the log files in '{LogDirectory}'.");
 
       solver.SuppressOutput();
Index: trunk/HeuristicLab.ExactOptimization/3.3/LinearProgramming/Algorithms/Solvers/GlopSolver.cs
===================================================================
--- branches/2931_OR-Tools_LP_MIP/HeuristicLab.ExactOptimization/3.3/LinearProgramming/Algorithms/Solvers/GlopSolver.cs	(revision 16745)
+++ trunk/HeuristicLab.ExactOptimization/3.3/LinearProgramming/Algorithms/Solvers/GlopSolver.cs	(revision 16910)
@@ -34,5 +34,5 @@
 
     public GlopSolver() {
-      problemTypeParam.Value = (EnumValue<ProblemType>)problemTypeParam.Value.AsReadOnly();
+      problemTypeParam.Value = (EnumValue<ProblemType>)new EnumValue<ProblemType>(ProblemType.LinearProgramming).AsReadOnly();
       SolverSpecificParameters =
         "# for file format, see Protocol Buffers text format (https://developers.google.com/protocol-buffers/docs/overview#whynotxml)" + Environment.NewLine +
Index: trunk/HeuristicLab.ExactOptimization/3.3/LinearProgramming/Problems/FileBasedLinearProblemDefinition.cs
===================================================================
--- branches/2931_OR-Tools_LP_MIP/HeuristicLab.ExactOptimization/3.3/LinearProgramming/Problems/FileBasedLinearProblemDefinition.cs	(revision 16745)
+++ trunk/HeuristicLab.ExactOptimization/3.3/LinearProgramming/Problems/FileBasedLinearProblemDefinition.cs	(revision 16910)
@@ -23,4 +23,5 @@
 using System.IO;
 using Google.OrTools.LinearSolver;
+using HEAL.Attic;
 using HeuristicLab.Common;
 using HeuristicLab.Common.Resources;
@@ -29,5 +30,4 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HEAL.Attic;
 
 namespace HeuristicLab.ExactOptimization.LinearProgramming {
@@ -50,5 +50,5 @@
         "Google OR-Tools Protocol Buffers Files (*.bin;*.prototxt)|*.bin;*.prototxt|" +
         "All Files (*.*)|*.*";
-      fileNameParam.Value.PathChanged += (o, e) => {
+      fileNameParam.Value.StringValue.ValueChanged += (o, e) => {
         if (File.Exists(FileName)) {
           fileContent = File.ReadAllBytes(FileName);
Index: trunk/HeuristicLab.ExactOptimization/3.3/LinearProgramming/Problems/LinearProblem.cs
===================================================================
--- branches/2931_OR-Tools_LP_MIP/HeuristicLab.ExactOptimization/3.3/LinearProgramming/Problems/LinearProblem.cs	(revision 16745)
+++ trunk/HeuristicLab.ExactOptimization/3.3/LinearProgramming/Problems/LinearProblem.cs	(revision 16910)
@@ -26,4 +26,5 @@
 using System.Reflection;
 using Google.OrTools.LinearSolver;
+using HEAL.Attic;
 using HeuristicLab.Common;
 using HeuristicLab.Core;
@@ -31,5 +32,4 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HEAL.Attic;
 
 namespace HeuristicLab.ExactOptimization.LinearProgramming {
@@ -44,6 +44,6 @@
     public LinearProblem() {
       Parameters.Remove(Parameters["Operators"]);
-      Parameters.Add(problemDefinitionParam = new ValueParameter<ILinearProblemDefinition>("Model",
-        new ProgrammableLinearProblemDefinition(), false));
+      Parameters.Add(problemDefinitionParam = new ValueParameter<ILinearProblemDefinition>("Model", "The linear programming problem",
+        new ProgrammableLinearProblemDefinition()) { GetsCollected = false });
     }
 
@@ -137,5 +137,6 @@
 
       if (!exportSuccessful)
-        throw new InvalidDataException("Model could not be exported.");
+        throw new InvalidOperationException($"Model could not be exported. " +
+          $"For details, see the log files in '{LinearSolver.LogDirectory}'.");
     }
 
