⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 7.htm

📁 遗传算法的详细描述文档,文档中附带一定的代码解释
💻 HTM
📖 第 1 页 / 共 5 页
字号:
       new_genera[second][i+1] = temp[2][i]; <br>

     } <br>

 } <br>

      for(j=1; j<=(int) P5/2; j++) <br>

 { <br>

   first = find_parent(live,pop_size); <br>

   second = find_parent(live,pop_size); <br>

   new_genera[first][1] = 1.0; <br>

   new_genera[second][1] = 1.0; <br>



   for(i=1; i<=x2_vari; i++) <br>

     { <br>

       temp[1][i] = new_genera[first][i+1]; <br>

       temp[2][i] = new_genera[second][i+1]; <br>

     } <br>

   oper5(temp[1],temp[2],STEP,rc,fin_mat); <br>

   for(i=1; i<=x2_vari; i++) <br>

     { <br>

       new_genera[first][i+1] = temp[1][i]; <br>

       new_genera[second][i+1] = temp[2][i]; <br>

     } <br>

 } <br>

      for(j=1; j<=P6; j++) <br>

 { <br>

   first = find_parent(live,pop_size); <br>

   new_genera[first][1] = 1.0; <br>

   for(i=1; i<=x2_vari; i++) <br>

     t_vec[i] = new_genera[first][i+1]; <br>

   oper6(t_vec,fin_mat,rc,generations,count_gener,B); <br>

   for(i=1; i<=x2_vari; i++) <br>

     new_genera[first][i+1] = t_vec[i]; <br>

 } <br>

 } <br>

      k = 1; <br>

      for(i=1; i<=pop_size; i++) <br>

 if(die[i] != 0) <br>

   { <br>

     while(new_genera[k][1] != 1.0) <br>

       k++; <br>

     for(j=1; j<=x2_vari; j++) <br>

       population[i][j] = new_genera[k][j+1]; <br>

     k++; <br>

   } <br>

      for(i=1; i<=pop_size; i++) <br>

 { <br>

          if(tot_eq != 0) <br>

     { <br>

   for(j=1; j<=x2_vari + tot_eq; j++) <br>

     X[j] = 0.0; <br>

   find_X(fin_mat,population[i],X,x2_vari,tot_eq,x1,x2,a1_b); <br>

   for(j=1; j<=x2_vari + tot_eq; j++) <br>

     print_pop[i][j] = X[j]; <br>

 } <br>

            else <br>

            for(j=1; j<=x2_vari; j++) <br>



              print_pop[i][j] = X[j] = population[i][j]; <br>

          eval[i] = evaluate(X); <br>

 } <br>

      sort(MinMax,eval,population,pop_size,x2_vari); <br>

      switch(MinMax) <br>

 { <br>

 case 0: <br>

   if(Teval > eval[1]) <br>

     { <br>

       fprintf(output,"Generation #%d; the current best value is %f\n",count <br>

_gener,eval[1]); <br>

       Teval = eval[1]; <br>

     } <br>

   break; <br>

 case 1: <br>

   if(Teval < eval[1]) <br>

     { <br>

       fprintf(output,"Generation #%d; the current best value is %f\n",count <br>

_gener,eval[1]); <br>

       Teval = eval[1]; <br>

     } <br>

   break; <br>

   break; <br>

      } <br>

      count_gener++; <br>

    }while(count_gener <= generations); <br>

  fprintf(output,"\n\nTHE FINAL BEST VALUE FOUND IS: %f\n\n\n",eval[1]); <br>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -