public void Initialize()
        {
            Optimization.Random r         = d_state.Random;
            List <uint>         activeSet = new List <uint>();
            List <MutationSet>  sets      = d_state.MutationSets;

            // Initialize active parameter set randomly
            for (int i = 0; i < sets.Count; ++i)
            {
                MutationSet s = sets[i];

                int num = s.Count - 1;
                int idx = (int)System.Math.Round(r.Range(0, num));

                activeSet.Add((uint)idx);
            }

            foreach (Particle particle in this)
            {
                particle.ActiveSet.Clear();
                particle.ActiveSet.AddRange(activeSet);
                particle.UpdateParameterSet();
            }
        }
 public State()
 {
     Settings = new Dictionary <string, string>();
     Random   = new Optimization.Random();
 }