Beispiel #1
0
                                     "best fit: %.4f" % (np.log(fitness_vector[best_index])),
                                     "index: %d" % best_index,
                                     "MSE: %.4f" % GenAlg.SquareLoss(best_fitness)])

        print(informLine_temp)
        informLines.append(informLine_temp)
        saveLog(log_name, GA, informLines, date_round) # Save iteration information after every iteration
        
        if (GA.criteria(best_fitness) == "converge"): 
            print("The algorithm meets its criteria, therefore stopped. ")
            informLine_best = "Best fitness value: %.4f" % global_best_fitness
            print(informLine_best)
            informLines += ["The algorithm meets its criteria, therefore stopped. "]
            informLines += [informLine_best]
            
            initial_bezier_airfoil = GenAlg.BezierFitForOne(initial_best_airfoil)
            best_bezier_airfoil = GenAlg.BezierFitForOne(global_best_airfoil)
            plotList = [initial_bezier_airfoil, best_bezier_airfoil]
            GenAlg.plotBestFig(plotList, int((gen+1)/10))
            for i in range(len(pop_new)): optim_dict[str(i+1)] = pop_new[i]
            break
        # Save reesults every 10 eopchs
        if ((gen+1) % 10 == 0):
            informLine_best = "Best fitness value: %.4f" % global_best_fitness
            print(informLine_best)
            informLines += [informLine_best]
            
            initial_bezier_airfoil = GenAlg.BezierFitForOne(initial_best_airfoil)
            best_bezier_airfoil = GenAlg.BezierFitForOne(global_best_airfoil)
#            print(global_best_airfoil[0:4,:])
            plotList = [initial_bezier_airfoil, best_bezier_airfoil]