Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/09/16 14:55:10 (7 years ago)
Author:
bburlacu
Message:

#2679: Use an item list for models in the goal seeking problems instead of an item collection. Update encoding instead of creating a new one when inputs are changed.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.GoalSeekingProblem/HeuristicLab.GoalSeekingProblem/3.4/SingleObjectiveGoalSeekingProblem.cs

    r14338 r14379  
    5151      get { return (IValueParameter<CheckedItemList<GoalParameter>>)Parameters[GoalsParameterName]; }
    5252    }
    53     public IFixedValueParameter<ItemCollection<IRegressionModel>> ModelsParameter {
    54       get { return (IFixedValueParameter<ItemCollection<IRegressionModel>>)Parameters[ModelsParameterName]; }
     53    public IFixedValueParameter<ItemList<IRegressionModel>> ModelsParameter {
     54      get { return (IFixedValueParameter<ItemList<IRegressionModel>>)Parameters[ModelsParameterName]; }
    5555    }
    5656    #endregion
     
    139139      Parameters.Add(new ValueParameter<CheckedItemList<InputParameter>>(InputsParameterName));
    140140      Parameters.Add(new ValueParameter<CheckedItemList<GoalParameter>>(GoalsParameterName));
    141       Parameters.Add(new FixedValueParameter<ItemCollection<IRegressionModel>>(ModelsParameterName, new ItemCollection<IRegressionModel>()));
     141      Parameters.Add(new FixedValueParameter<ItemList<IRegressionModel>>(ModelsParameterName, new ItemList<IRegressionModel>()));
    142142      EncodingParameter.Hidden = true;
    143143      EvaluatorParameter.Hidden = true;
     
    176176    }
    177177
    178     private void ModelCollection_ItemsChanged(object sender, CollectionItemsChangedEventArgs<IRegressionModel> e) {
     178    private void ModelCollection_ItemsChanged(object sender, CollectionItemsChangedEventArgs<IndexedItem<IRegressionModel>> e) {
    179179      if (e.Items == null || !e.Items.Any()) return;
    180180      GoalSeekingUtil.UpdateInputs(InputsParameter.Value, Models, InputParameterChanged);
    181       Encoding = GoalSeekingUtil.CreateEncoding(ActiveInputs);
     181      GoalSeekingUtil.UpdateEncoding(Encoding, ActiveInputs);
    182182      dataset = Inputs.Any() ? new ModifiableDataset(Inputs.Select(x => x.Name), Inputs.Select(x => new List<double> { x.Value })) : new ModifiableDataset();
    183183      GoalSeekingUtil.UpdateTargets(GoalsParameter.Value, Models, GoalParameterChanged);
     
    190190      if (inputs.ItemChecked(inputParameter) != inputParameter.Active)
    191191        inputs.SetItemCheckedState(inputParameter, inputParameter.Active);
    192       Encoding = GoalSeekingUtil.CreateEncoding(ActiveInputs);
     192      GoalSeekingUtil.UpdateEncoding(Encoding, ActiveInputs);
    193193    }
    194194
Note: See TracChangeset for help on using the changeset viewer.