Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
06/28/17 22:55:27 (7 years ago)
Author:
abeham
Message:

#2775:

  • All single-objective operators inside IMultiOperators are now removed by the multi-objective problem
  • All multi-objective operators inside IMultiOperators are now removed by the single-objective problem
Location:
trunk/sources/HeuristicLab.Optimization/3.3/BasicProblems
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Optimization/3.3/BasicProblems/MultiObjectiveBasicProblem.cs

    r15080 r15084  
    7676      if (encoding != null && encoding.Operators.Any(x => x is ISingleObjectiveOperator && !(x is IMultiObjectiveOperator)))
    7777        encoding.Operators = encoding.Operators.Where(x => !(x is ISingleObjectiveOperator) || x is IMultiObjectiveOperator).ToList();
     78
     79      foreach (var multiOp in Encoding.Operators.OfType<IMultiOperator>()) {
     80        foreach (var soOp in multiOp.Operators.Where(x => x is ISingleObjectiveOperator).ToList()) {
     81          multiOp.RemoveOperator(soOp);
     82        }
     83      }
    7884    }
    7985
  • trunk/sources/HeuristicLab.Optimization/3.3/BasicProblems/SingleObjectiveBasicProblem.cs

    r15051 r15084  
    110110      if (encoding.Operators.Any(x => x is IMultiObjectiveOperator && !(x is ISingleObjectiveOperator)))
    111111        encoding.Operators = encoding.Operators.Where(x => !(x is IMultiObjectiveOperator) || x is ISingleObjectiveOperator).ToList();
     112
     113      foreach (var multiOp in Encoding.Operators.OfType<IMultiOperator>()) {
     114        foreach (var moOp in multiOp.Operators.Where(x => x is IMultiObjectiveOperator).ToList()) {
     115          multiOp.RemoveOperator(moOp);
     116        }
     117      }
    112118    }
    113119
Note: See TracChangeset for help on using the changeset viewer.