Common Algorithms for Solving Bilevel Programming Problems
Widely used algorithms for bilevel programming problems include vertex enumeration algorithms, direct search methods, descent methods, and non-numerical optimization approaches (such as simulated annealing and genetic algorithms). The genetic algorithm approach involves: encoding upper-level decision variables, substituting them into the lower-level model, solving for lower-level decision variable values to compute fitness values for the upper level, then performing crossover, mutation, and selection operations to ultimately obtain the optimal solution through iterative population evolution.