Many-objective optimization problems are very common and important in real-world applications, and there exist few methods suitable for them. Therefore, many-objective optimization problems are focused on in this study, and a set-based genetic algorithm is presented to effectively solve them. First, each objective of the original optimization problem is transformed into a desirability function according to the preferred region defined by the decision-maker. Thereafter, the transformed problem is further converted to a bi-objective optimization one by taking hyper-volume and the decision-maker's satisfaction as the new objectives, and a set of solutions of the original optimization problem as the new decision variable. To tackle the converted bi-objective optimization problem using genetic algorithms, the crossover operator inside a set is designed based on the simplex method using solutions of the original optimization problem, and the crossover operator between sets is developed using the entropy of sets. In addition, the mutation operator of a set is presented to obey the Gaussian distribution and changes along with the decision-maker's preferences. The proposed method is tested on five benchmark many-objective optimization problems and compared with other six methods. The experimental results empirically demonstrate its effectiveness.