Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/19/10 16:05:27 (14 years ago)
Author:
svonolfe
Message:

Added MoveEvaluator to the Knapsack problem (#917)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Problems.Knapsack/3.3/Knapsack.cs

    r3116 r3124  
    235235      OnVisualizerChanged();
    236236    }
     237    void OneBitflipMoveParameter_ActualNameChanged(object sender, EventArgs e) {
     238      string name = ((ILookupParameter<OneBitflipMove>)sender).ActualName;
     239      foreach (IOneBitflipMoveOperator op in Operators.OfType<IOneBitflipMoveOperator>()) {
     240        op.OneBitflipMoveParameter.ActualName = name;
     241      }
     242    }
    237243    #endregion
    238244
     
    274280        ParameterizeOperators();
    275281      }
     282
     283      InitializeMoveGenerators();
     284    }
     285    private void InitializeMoveGenerators() {
     286      foreach (IOneBitflipMoveOperator op in Operators.OfType<IOneBitflipMoveOperator>()) {
     287        if (op is IMoveGenerator) {
     288          op.OneBitflipMoveParameter.ActualNameChanged += new EventHandler(OneBitflipMoveParameter_ActualNameChanged);
     289        }
     290      }
    276291    }
    277292    private void ParameterizeOperators() {
     
    283298        op.BinaryVectorParameter.ActualName = SolutionCreator.BinaryVectorParameter.ActualName;
    284299      }
     300      foreach (IBinaryVectorMoveOperator op in Operators.OfType<IBinaryVectorMoveOperator>()) {
     301        op.BinaryVectorParameter.ActualName = SolutionCreator.BinaryVectorParameter.ActualName;
     302      }
     303      foreach (IKnapsackMoveEvaluator op in Operators.OfType<IKnapsackMoveEvaluator>()) {
     304        op.KnapsackCapacityParameter.ActualName = KnapsackCapacityParameter.Name;
     305        op.PenaltyParameter.ActualName = PenaltyParameter.Name;
     306        op.WeightsParameter.ActualName = WeightsParameter.Name;
     307        op.ValuesParameter.ActualName = ValuesParameter.Name;
     308      }
    285309    }
    286310    #endregion
Note: See TracChangeset for help on using the changeset viewer.