Changeset 17695 for branches/2521_ProblemRefactoring/HeuristicLab.Problems.VehicleRouting/3.4/VehicleRoutingProblem.cs
- Timestamp:
- 07/23/20 16:21:55 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2521_ProblemRefactoring/HeuristicLab.Problems.VehicleRouting/3.4/VehicleRoutingProblem.cs
r17513 r17695 70 70 get { return (OptionalValueParameter<VRPSolution>)Parameters["BestKnownSolution"]; } 71 71 } 72 public IConstrainedValueParameter<IVRPCreator> SolutionCreatorParameter {73 get { return (IConstrainedValueParameter<IVRPCreator>)Parameters["SolutionCreator"]; }74 }75 IParameter IHeuristicOptimizationProblem.SolutionCreatorParameter {76 get { return SolutionCreatorParameter; }77 }78 72 public IValueParameter<IVRPEvaluator> EvaluatorParameter { 79 73 get { return (IValueParameter<IVRPEvaluator>)Parameters["Evaluator"]; } … … 106 100 IEvaluator IHeuristicOptimizationProblem.Evaluator { 107 101 get { return this.Evaluator; } 108 }109 110 ISolutionCreator IHeuristicOptimizationProblem.SolutionCreator {111 get { return SolutionCreatorParameter.Value; }112 }113 public IVRPCreator SolutionCreator {114 get { return SolutionCreatorParameter.Value; }115 set { SolutionCreatorParameter.Value = value; }116 102 } 117 103 #endregion … … 126 112 Parameters.Add(new OptionalValueParameter<VRPSolution>("BestKnownSolution", "The best known solution of this VRP instance.")); 127 113 128 Parameters.Add(new ConstrainedValueParameter<IVRPCreator>("SolutionCreator", "The operator which should be used to create new VRP solutions."));129 114 Parameters.Add(new ValueParameter<IVRPEvaluator>("Evaluator", "The operator which should be used to evaluate VRP solutions.")); 130 115 … … 154 139 155 140 #region Events 156 public event EventHandler SolutionCreatorChanged;157 private void OnSolutionCreatorChanged() {158 EventHandler handler = SolutionCreatorChanged;159 if (handler != null) handler(this, EventArgs.Empty);160 }161 141 public event EventHandler EvaluatorChanged; 162 142 private void OnEvaluatorChanged() { … … 184 164 BestKnownSolutionParameter.ValueChanged += new EventHandler(BestKnownSolutionParameter_ValueChanged); 185 165 EvaluatorParameter.ValueChanged += new EventHandler(EvaluatorParameter_ValueChanged); 186 SolutionCreatorParameter.ValueChanged += new EventHandler(SolutionCreatorParameter_ValueChanged);187 166 } 188 167 … … 225 204 EvaluatorParameter.Value = ProblemInstance.SolutionEvaluator; 226 205 227 OnSolutionCreatorChanged();228 206 OnEvaluatorChanged(); 229 207 OnOperatorsChanged(); … … 236 214 AttachProblemInstanceEventHandlers(); 237 215 238 OnSolutionCreatorChanged();239 216 OnEvaluatorChanged(); 240 217 … … 242 219 } 243 220 244 private void SolutionCreatorParameter_ValueChanged(object sender, EventArgs e) {245 OnSolutionCreatorChanged();246 }247 221 private void EvaluatorParameter_ValueChanged(object sender, EventArgs e) { 248 222 if (ProblemInstance != null) … … 252 226 253 227 private void InitializeOperators() { 254 var solutionCreatorParameter = SolutionCreatorParameter as ConstrainedValueParameter<IVRPCreator>;255 solutionCreatorParameter.ValidValues.Clear();256 257 228 Operators.Clear(); 258 229 … … 266 237 267 238 IVRPCreator defaultCreator = null; 268 foreach (IVRPCreator creator in Operators.Where(o => o is IVRPCreator)) {239 /*foreach (IVRPCreator creator in Operators.Where(o => o is IVRPCreator)) { 269 240 solutionCreatorParameter.ValidValues.Add(creator); 270 241 if (creator is Encodings.Alba.RandomCreator) 271 242 defaultCreator = creator; 272 } 243 }*/ 273 244 Operators.Add(new AlbaLambdaInterchangeLocalImprovementOperator()); 274 if (defaultCreator != null)275 solutionCreatorParameter.Value = defaultCreator; 245 /*if (defaultCreator != null) 246 solutionCreatorParameter.Value = defaultCreator;*/ 276 247 } 277 248 … … 287 258 if (ProblemInstance != null) { 288 259 foreach (ISingleObjectiveImprovementOperator op in Operators.OfType<ISingleObjectiveImprovementOperator>()) { 289 op.SolutionParameter.ActualName = SolutionCreator.VRPToursParameter.ActualName;260 //op.SolutionParameter.ActualName = SolutionCreator.VRPToursParameter.ActualName; 290 261 op.SolutionParameter.Hidden = true; 291 262 } 292 263 foreach (ISingleObjectivePathRelinker op in Operators.OfType<ISingleObjectivePathRelinker>()) { 293 op.ParentsParameter.ActualName = SolutionCreator.VRPToursParameter.ActualName;264 //op.ParentsParameter.ActualName = SolutionCreator.VRPToursParameter.ActualName; 294 265 op.ParentsParameter.Hidden = true; 295 266 } 296 267 foreach (ISolutionSimilarityCalculator op in Operators.OfType<ISolutionSimilarityCalculator>()) { 297 op.SolutionVariableName = SolutionCreator.VRPToursParameter.ActualName;268 //op.SolutionVariableName = SolutionCreator.VRPToursParameter.ActualName; 298 269 op.QualityVariableName = ProblemInstance.SolutionEvaluator.QualityParameter.ActualName; 299 270 var calc = op as VRPSimilarityCalculator;
Note: See TracChangeset
for help on using the changeset viewer.