public void makeNewDecision(Base_ACO algorithm, DecisionArchive archive, Random rand, double xi) { double [] sigma = calcSigma(archive, xi); decision = new Decision(algorithm); decision.TermOrWeghtClassParams.AddRange(archive[l].TermOrWeghtClassParams); for (int j = 0; j < archive[l].TermOrWeghtClassParams.Count; j++) { decision.TermOrWeghtClassParams[j] = Base_ACO.BoxMullerTransform(sigma[j], decision.TermOrWeghtClassParams[j], rand); } }
public void FillRandom(double [] Params, Random rand, bool is_rand = true) { for (int i = 0; i < Params.Count(); i++) { if (is_rand) { TermOrWeghtClassParams.Add(Base_ACO.BoxMullerTransform(0.1 * Params[i], Params[i], rand)); } else { TermOrWeghtClassParams.Add(Params[i]); } } }