上一篇博客介绍了双层优化的基本原理和使用KKT条件求解双层优化的方法:
双层优化入门(1)—基本原理与求解方法
这篇博客将介绍使用yalmip的双层优化问题的求解方法。
1.KKT函数
通过调用yalmip工具箱中的KKT函数,可以直接求出优化问题的KKT条件,省去自己手动写的步骤,函数用法如下:
[KKTsystem, details] = kkt(Constraint,Objective,z)
其中z表示优化变量,KKTsystem存储KKT条件的约束表达式,details是一个结构体变量,用于存储KKT条件的细节。以上一篇博客中双层优化问题的下层优化问题为例:
Matlab代码:
%% 目标函数和约束条件 x=sdpvar(1); y=sdpvar(1); Constraints=[-3*x+y