## 2 Optimization Method  
### Optimization Implementation  
The whole process involves a multi-objective optimization algorithm program, a finite-element simulation and data interaction among different pieces of software. It is well known that MATLAB has a powerful programming function and numerical computation ability, while Abaqus has powerful finite-element modeling and simulation functions. This optimization method combines the powerful functions of these two pieces of software to realize the structural parameter optimization. Since the kernel language of Abaqus is Python and Python languages can be conveniently run by MATLAB, Python is necessary for realizing the data interaction between them. Specifically, extracting the data from the results database of Abaqus as well as rewriting the modelling file with different values of the structural parameters are completed via Python codes. In this paper, the main program is implemented through MATLAB (MathWorks Inc., R2017a, Natick, MA, USA), and a non-dominated sorting genetic algorithm is used as the multi-objective optimization algorithm. The population consisted of mirror structure optimization parameters, and the chromosome length is determined according to the number of optimization parameters and constraints. When calculating the objective values corresponding to the individuals, the relevant structural parameters are obtained based on these different individuals by converting the binary values into decimal values, and then the values are assigned to the corresponding parameters in the modeling file to update the model into the Python language (Python Software Foundation. Python LanguageReference, version 3.4.0 Available at [[http://www.python.org](http://www.python.org)]([http://www.python.org](http://www.python.org)), accessed on 17 March 2014). Subsequently, Abaqus (Dassault Systemes Simulia Corp., Version 6.9, Paris, France) is called upon to perform the simulation calculations, and the results are then obtained, which are further processed to obtain the corresponding objective values. In each generation, the optimal individuals and the optimal objective values are acquired with the non-dominated sorting method. After this, the next generation population is obtained through selection, crossover and mutation operations, and then the process of calculating the objective values is repeated. After multiple iterations, the final solution set consisting of the optimal objective values are obtained, and this is the Pareto optimal solution set. Accordingly, the designer may select  
The main steps are as follows:  
1. Determine the optimization parameters, constraints and objective functions for the optimization problem;
2. Generate the modelling file by using the recording macro file function of Abaqus or scripting the file directly to model the structure, divide the mesh, define the material properties, determine the cell type, establish the analysis step, apply the load and boundary conditions, and submit the computation process;
3. Write codes for extracting the required data from the results database of Abaqus and then input these codes following up those in the above modelling file. Up to this point, the modelling file may complete the whole process of simulating the deformation for the mirror model with the determined structural parameters;
4. Run the modelling file in Abaqus and save the results;
5. Input the results into the objective function to calculate the objective values for population classification. According to the non-dominated sorting method, the Pareto optimal individuals are then selected for this generation;
6. Retain the optimal individuals and input them into the next generation population. Meanwhile, perform the crossover and mutation operations on the old population to obtain the new generation population;
7. By converting binary values to decimal values, the new optimization parameters are generated based on the new population. Then, rewrite the modelling file in Python codes to assign the new optimization parameters of the structure;
8.