- Timestamp:
- 02/24/12 23:27:06 (13 years ago)
- Location:
- branches/GeneralizedQAP/HeuristicLab.Problems.GeneralizedQuadraticAssignment/3.3
- Files:
-
- 7 added
- 2 edited
- 17 moved
Legend:
- Unmodified
- Added
- Removed
-
branches/GeneralizedQAP/HeuristicLab.Problems.GeneralizedQuadraticAssignment/3.3/GeneralizedQuadraticAssignmentProblem.cs
r7480 r7523 38 38 [Creatable("Problems")] 39 39 [StorableClass] 40 public sealed class GeneralizedQuadraticAssignmentProblem : SingleObjectiveHeuristicOptimizationProblem<IGQAPEvaluator, IGQAPSolutionCreator>, IStorableContent, IProblemInstanceConsumer<IQAPInstance>, IProblemInstanceConsumer<ICTAPInstance>, IProblemInstanceConsumer<ITSPInstance>, IProblemInstanceConsumer<IATSPInstance> { 40 public sealed class GeneralizedQuadraticAssignmentProblem : SingleObjectiveHeuristicOptimizationProblem<IGQAPEvaluator, IGQAPSolutionCreator>, IStorableContent, 41 IProblemInstanceConsumer<IQAPInstance>, 42 IProblemInstanceConsumer<ICTAPInstance>, 43 IProblemInstanceConsumer<ITSPInstance>, 44 IProblemInstanceConsumer<IATSPInstance>, 45 IProblemInstanceConsumer<IGQAPInstance> { 41 46 42 47 public override Image ItemImage { … … 208 213 } 209 214 215 #region Problem Instance Consumptions 210 216 public bool LoadFrom(IQAPInstance instance) { 211 217 try { … … 330 336 } 331 337 338 public bool LoadFrom(IGQAPInstance instance) { 339 try { 340 Name = instance.Name; 341 Description = instance.Description; 342 343 Capacities = new DoubleArray(instance.Capacities); 344 Demands = new DoubleArray(instance.Demands); 345 InstallationCosts = new DoubleMatrix(instance.InstallationCosts); 346 Weights = new DoubleMatrix(instance.Weights); 347 Distances = new DoubleMatrix(instance.Distances); 348 TransportationCosts.Value = instance.TransportationCosts; 349 350 if (instance.BestKnownAssignment != null) { 351 EvaluateAndLoadAssignment(instance.BestKnownAssignment); 352 } else if (instance.BestKnownQuality.HasValue) { 353 BestKnownQuality = new DoubleValue(instance.BestKnownQuality.Value); 354 BestKnownSolution = null; 355 BestKnownSolutions = null; 356 } else { 357 BestKnownQuality = null; 358 BestKnownSolution = null; 359 BestKnownSolutions = null; 360 } 361 } catch { 362 return false; 363 } 364 return true; 365 } 366 #endregion 367 332 368 private void EvaluateAndLoadAssignment(int[] vector) { 333 369 EvaluateAndLoadAssignment(new IntegerVector(vector)); 334 370 } 335 371 private void EvaluateAndLoadAssignment(IntegerVector assignment) { 336 if (!IsConfigurationValid()) return; 372 if (!IsConfigurationValid()) { 373 BestKnownQuality = null; 374 BestKnownSolution = null; 375 BestKnownSolutions = null; 376 } 337 377 double flowDistanceQuality, installationQuality, overbookedCapacity; 338 378 GQAPEvaluator.Evaluate(assignment, Weights, Distances, InstallationCosts, Demands, Capacities, -
branches/GeneralizedQAP/HeuristicLab.Problems.GeneralizedQuadraticAssignment/3.3/HeuristicLab.Problems.GeneralizedQuadraticAssignment-3.3.csproj
r7505 r7523 99 99 <Compile Include="Evaluators\GQAPNMoveEvaluator.cs" /> 100 100 <Compile Include="GQAPAssignment.cs" /> 101 <Compile Include="Operators\Crossovers\CordeauCrossover.cs" /> 102 <Compile Include="SolutionCreators\GQAPSolutionCreator.cs" /> 103 <Compile Include="SolutionCreators\GQAPStochasticSolutionCreator.cs" /> 104 <Compile Include="SolutionCreators\GreedyRandomizedSolutionCreator.cs" /> 105 <Compile Include="SolutionCreators\RandomSolutionCreator.cs" /> 101 106 <None Include="Plugin.cs.frame" /> 102 107 <Compile Include="Evaluators\GQAPEvaluator.cs" /> … … 140 145 <Compile Include="Moves\StochasticNMoveMultiMoveGenerator.cs" /> 141 146 <Compile Include="Moves\StochasticNMoveSingleMoveGenerator.cs" /> 142 <Compile Include="Operators\ApproximateLocalSearch.cs" /> 143 <Compile Include="Operators\MultiGQAPCrossover.cs" /> 144 <Compile Include="Operators\GQAPPathRelinking.cs" /> 145 <Compile Include="Operators\GQAPStochasticSolutionCreator.cs" /> 146 <Compile Include="Operators\DemandEquivalentSwapEquipmentManipluator.cs" /> 147 <Compile Include="Operators\GQAPCrossover.cs" /> 148 <Compile Include="Operators\DiscreteLocationCrossover.cs" /> 149 <Compile Include="Operators\GQAPSolutionCreator.cs" /> 150 <Compile Include="Operators\GreedyRandomizedSolutionCreator.cs" /> 151 <Compile Include="Operators\MultiGQAPManipulator.cs" /> 152 <Compile Include="Operators\NMoveShakingOperator.cs" /> 153 <Compile Include="Operators\GQAPQualitySimilarityReducer.cs" /> 154 <Compile Include="Operators\RandomSolutionCreator.cs" /> 155 <Compile Include="Operators\RelocateEquipmentManipluator.cs" /> 156 <Compile Include="Operators\GQAPManipulator.cs" /> 157 <Compile Include="Operators\SwapEquipmentManipluator.cs" /> 158 <Compile Include="Operators\SwapLocationManipulator.cs" /> 147 <Compile Include="Operators\Crossovers\DiscreteLocationCrossover.cs" /> 148 <Compile Include="Operators\Crossovers\GQAPCrossover.cs" /> 149 <Compile Include="Operators\Crossovers\GQAPPathRelinking.cs" /> 150 <Compile Include="Operators\Crossovers\MultiGQAPCrossover.cs" /> 151 <Compile Include="Operators\LocalImprovers\ApproximateLocalSearch.cs" /> 152 <Compile Include="Operators\Manipulators\DemandEquivalentSwapEquipmentManipluator.cs" /> 153 <Compile Include="Operators\Manipulators\GQAPManipulator.cs" /> 154 <Compile Include="Operators\Manipulators\MultiGQAPManipulator.cs" /> 155 <Compile Include="Operators\Manipulators\RelocateEquipmentManipluator.cs" /> 156 <Compile Include="Operators\Manipulators\SwapEquipmentManipluator.cs" /> 157 <Compile Include="Operators\Manipulators\SwapLocationManipulator.cs" /> 158 <Compile Include="Operators\PopulationReducers\GQAPQualitySimilarityReducer.cs" /> 159 <Compile Include="Operators\Shakers\NMoveShakingOperator.cs" /> 159 160 <Compile Include="Plugin.cs" /> 160 161 <Compile Include="Properties\AssemblyInfo.cs" />
Note: See TracChangeset
for help on using the changeset viewer.