Beispiel #1
0
 /// <summary>
 /// 設定情報を表示します
 /// </summary>
 private void DisplaySettingInfo(ChromosomesType cht, SelectionType st, CrossOverType crt, MutationType mt, float mr, int size, int ittr)
 {
     SettingListBox.Items.Clear();
     SettingListBox.Items.Add($"染色体タイプ: {cht}");
     SettingListBox.Items.Add($"選択タイプ: {st}");
     SettingListBox.Items.Add($"交叉タイプ: {crt}");
     SettingListBox.Items.Add($"突然変異タイプ: {mt}");
     SettingListBox.Items.Add($"突然変異率: {mr} [%]");
     SettingListBox.Items.Add($"個体数: {size}");
     SettingListBox.Items.Add($"最大世代数: {ittr}");
 }
Beispiel #2
0
 public GASolverInfo(ChromosomesType chromosomesType, SelectionType selectionType, CrossOverType crossOverType, MutationType mutationType, float mutationRate, int initialPopulationSize, int geneLength, Func <List <int>, double> calcFunc)
 {
     ChromosomesType       = chromosomesType;
     SelectionType         = selectionType;
     CrossOverType         = crossOverType;
     MutationType          = mutationType;
     MutationRate          = mutationRate;
     InitialPopulationSize = initialPopulationSize;
     GeneLength            = geneLength;
     CalcFunc = calcFunc;
 }
        /// <summary>
        /// Return one of the implemented crossover types
        /// </summary>
        /// <param name="type"></param>
        /// <returns></returns>
        public static CrossOver GetCrossOver(CrossOverType type)
        {
            switch (type)
            {
            case CrossOverType.UNIFORM:
                return(new UniformCrossover());

            case CrossOverType.TWO_POINT:
                return(new TwoPointCrossover());

            default:
                return(new OnePointCrossover());
            }
        }