Changeset 5683 for trunk/sources/HeuristicLab.Operators
- Timestamp:
- 03/15/11 10:55:15 (14 years ago)
- Location:
- trunk/sources
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources
- Property svn:mergeinfo changed
/branches/SuccessProgressAnalysis (added) merged: 5370,5372,5379,5492-5493,5682
- Property svn:mergeinfo changed
-
trunk/sources/HeuristicLab.Operators/3.3/StochasticMultiBranch.cs
r5445 r5683 49 49 get { return (ILookupParameter<IRandom>)Parameters["Random"]; } 50 50 } 51 public ValueParameter<BoolValue> TraceSelectedOperatorParameter { 52 get { return (ValueParameter<BoolValue>)Parameters["TraceSelectedOperator"]; } 53 } 54 public ValueLookupParameter<StringValue> SelectedOperatorParameter { 55 get { return (ValueLookupParameter<StringValue>)Parameters["SelectedOperator"]; } 56 } 51 57 52 58 public DoubleArray Probabilities { 53 59 get { return ProbabilitiesParameter.Value; } 54 60 set { ProbabilitiesParameter.Value = value; } 61 } 62 63 [StorableHook(HookType.AfterDeserialization)] 64 private void AfterDeserializationHook() { 65 #region Backwards Compatibility 66 if (!Parameters.ContainsKey("SelectedOperator")) { 67 Parameters.Add(new ValueLookupParameter<StringValue>("SelectedOperator", "If the TraceSelectedOperator flag is set, the name of the operator is traced in this parameter.")); 68 } 69 if (!Parameters.ContainsKey("TraceSelectedOperator")) { 70 Parameters.Add(new ValueParameter<BoolValue>("TraceSelectedOperator", "Indicates, if the selected operator should be traced.", new BoolValue(false))); 71 } 72 #endregion 55 73 } 56 74 … … 68 86 Parameters.Add(new ValueLookupParameter<DoubleArray>("Probabilities", "The array of relative probabilities for each operator.", new DoubleArray())); 69 87 Parameters.Add(new LookupParameter<IRandom>("Random", "The random number generator to use.")); 88 Parameters.Add(new ValueLookupParameter<StringValue>("SelectedOperator", "If the TraceSelectedOperator flag is set, the name of the operator is traced in this parameter.")); 89 Parameters.Add(new ValueParameter<BoolValue>("TraceSelectedOperator", "Indicates, if the selected operator should be traced.", new BoolValue(false))); 70 90 } 71 91 … … 116 136 } 117 137 IOperator successor = null; 138 int index = -1; 118 139 var checkedOperators = Operators.CheckedItems; 119 140 if (checkedOperators.Count() > 0) { … … 127 148 if (sum > r) { 128 149 successor = indexedItem.Value; 150 index = indexedItem.Index; 129 151 break; 130 152 } … … 133 155 OperationCollection next = new OperationCollection(base.Apply()); 134 156 if (successor != null) { 157 if (TraceSelectedOperatorParameter.Value.Value) 158 SelectedOperatorParameter.ActualValue = new StringValue(index + ": " + successor.Name); 159 135 160 if (CreateChildOperation) 136 161 next.Insert(0, ExecutionContext.CreateChildOperation(successor)); 137 162 else next.Insert(0, ExecutionContext.CreateOperation(successor)); 163 } else { 164 if (TraceSelectedOperatorParameter.Value.Value) 165 SelectedOperatorParameter.ActualValue = new StringValue(""); 138 166 } 139 167 return next;
Note: See TracChangeset
for help on using the changeset viewer.