
Click the blue text above to follow us



1 Overview
Source:

This article optimizes the lift-to-drag ratio of airfoils using Genetic Algorithm (GA) and Simulated Annealing (SA) based on a pre-trained Convolutional Neural Network (CNN) as the evaluation function.

Abstract: Airfoil shape optimization is a fundamental part of airfoil design in the field of aerodynamic design. In this project, the optimization of the airfoil profile is achieved through genetic algorithms, using a pre-trained Convolutional Neural Network (CNN) as the fitness function to evaluate the lift-to-drag ratio (CL/Cd) based on original coordinate data from the UIUC airfoil database. Cubic interpolation and Bézier curve fitting methods are employed to generate smooth airfoil contour curves under certain geometric constraints. A derivative-free local search method is proposed to accelerate the optimization process and a certain number of airfoil individuals are selected to replicate new contours for the next generation. After attempting to optimize the airfoil using genetic algorithms, simulated annealing is also used to improve individual CL/Cd. The results show that the average performance of the airfoil improved by 3.8%; particularly in the genetic algorithm, we found that the pre-trained CNN and local search accelerated the overall optimization process by approximately 33%. Keywords: airfoil optimization, CNN, lift-to-drag ratio, derivative-free algorithms.
This study employs genetic algorithms and simulated annealing algorithms. The pre-trained Convolutional Neural Network (CNN) serves as the evaluation function, with the lift-to-drag ratio (CL/Cd) of each airfoil individual representing the core response of aerodynamic characteristics (as shown in Figure 1). Different algorithms have proven to be more effective under different conditions, with appropriate parameters and initial values defined, leading to observable improvements.


For detailed explanations, see Section 4.


2 Results




部分代码:clear;clc;load foilChange.mat;for i=1:9 figure;holdon;old=bezierPolyVal(foilRes(:,i));new=bezierPolyVal(foilRes(:,i+1)); plot(old(:,1), old(:,2),'r','LineWidth',1); plot(new(:,1), new(:,2),'b','LineWidth',1); xlabel('x'); ylabel('y'); ipr=(ratioRes(i,2)-ratioRes(i,1))/ratioRes(i,1); title(['Relative Ratio Improvement: ' num2str(ipr*100) '%']);set(gcf, 'Position', [100, 100, 1000, 400]) legend('Old Foil', 'New Foil'); saveas(gcf, [num2str(i) '.png']);end

3References
Some content in this article is sourced from the internet, and references will be noted. If there are any inaccuracies, please feel free to contact us for removal.




4 MATLAB Code, Data, and Article