Most engineering design optimization problems are complex and expensive multi-objective optimization problems with multiple constraints. This paper proposes an improved surrogate-based multi-objective optimization algorithm (SBMO) using an adaptive weight vector generation method to address them. The main idea of the improved SBMO is to update the weight vectors of sub-problems adaptively according to the shape of the current Pareto front (PF) at each iteration while using SBMO to obtain Pareto optimal solutions. First, the improved SBMO decomposes a multi-objective optimization problem into a set of single-objective optimization sub-problems and builds surrogate models for each objective. Second, solutions are obtained by solving the acquisition problems for the sub-problems under the infill-sampling criteria. Third, all the solutions obtained will be evaluated and used to update the surrogate models to share the search information. At each iteration, the improved SBMO will divide the topology of the current PF evenly and select random points between the segment points. Well-distributed weight vectors will be generated based on the random points. This weight vector generation method can significantly improve the distribution of Pareto optimal solutions. The studies on benchmark test instances and aerodynamic design optimization of an airfoil indicate that the improved SBMO can obtain Pareto optimal solutions with better distribution than SBMO in a small number of sample points, and offers great potential to solve an expensive multi-objective optimization problem.