双层优化问题(Bilevel Programming Problems),最早由Stackelberg在1934年提出,具有层次性、独立性、冲突性、优先性和自主性等特点。对于复杂的非线性问题,简单的迭代法难以求解,通常需要借助KKT条件将其转化为单层优化问题。详细介绍了双层优化的理论基础和求解方法,并附带了Matlab代码,供读者学习参考。