运筹系列49:JuMP解决锥优化问题示例

下图中标着SOCP、QP的solver,可以用来做锥优化,一般我们用ECOS、SCS等,使用Ipopt可以解决QP问题。
运筹系列49:JuMP解决锥优化问题示例

1 second-order cone优化

运筹系列49:JuMP解决锥优化问题示例
对偶问题为(其中C*是C的对偶锥):
运筹系列49:JuMP解决锥优化问题示例
下面是一个例子:求u0u_0在锥K上的投影。则模型为:
运筹系列49:JuMP解决锥优化问题示例
并且uKu\in K。对问题进行转化,然后使用迭代求法:
运筹系列49:JuMP解决锥优化问题示例
运筹系列49:JuMP解决锥优化问题示例

2 Exponential Cone优化

下面是线性约束条件下的熵最小。
运筹系列49:JuMP解决锥优化问题示例
对比指数锥的标准形式:
运筹系列49:JuMP解决锥优化问题示例
转化为:
运筹系列49:JuMP解决锥优化问题示例
求解结果如下:
运筹系列49:JuMP解决锥优化问题示例

3 Positive Semidefinite Cone优化

下面的例子是要求找出对称矩阵的最大特征值:
运筹系列49:JuMP解决锥优化问题示例
标准格式如下:
运筹系列49:JuMP解决锥优化问题示例
代码如下:
运筹系列49:JuMP解决锥优化问题示例

4 内点法求解

使用Ipopt工具,用内点法进行求解。
运筹系列49:JuMP解决锥优化问题示例

下面是个一个例子:

求 C={x|A1⋅x≤b1} 和 D={x|A2⋅x≤b2}的距离:
运筹系列49:JuMP解决锥优化问题示例