导航

  • Determinant maximization
  • Q&A
  • References

Determinant maximization

给定两个椭球,求解行列式最大化问题
E1={x∣xTP1x≤1}E2={x∣xTP2x≤1}E_1=\{x\mid x^TP_1x\leq 1\}\\ E_2=\{x\mid x^TP_2x\leq 1\} E1​={x∣xTP1​x≤1}E2​={x∣xTP2​x≤1}
找到最小的椭球,xTPx≤1x^TPx\leq 1xTPx≤1使得其可以包含E1E_1E1​和E2E_2E2​.

By using the fact that the volume of the ellipsoid is proportional to det⁡(P)\det(P)det(P) and appling the S-procedure, it can be shown that is problem can be written as

max⁡det⁡Ps.t.{t1P1⪰Pt2P2⪰PP⪰01≥t1≥01≥t2≥0\max \det P\\ s.t. \begin{cases} t_1P_1\succeq P\\ t_2P_2\succeq P\\ P\succeq 0\\ 1\geq t_1\geq 0\\ 1\geq t_2\geq 0 \end{cases} maxdetPs.t.⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧​t1​P1​⪰Pt2​P2​⪰PP⪰01≥t1​≥01≥t2​≥0​
可以通过单调变形使得目标函数转为convex,但是这种方法需要使用SDPT3求解器

the objective function det⁡(P)\det(P)det(P), is not convex, but monotonic transformation can render this problem convex. One alternative is the logarthmic transform, leading to minimization of log⁡(det⁡(P))\log(\det(P))log(det(P)) instead, which only is supported if use SDPT3.

对于其他求解器,将目标函数转为−det⁡(P)1/m-\det(P)^{1/m}−det(P)1/m求解,其中mmm表示PPP的维度(the geometric mean of the eigenvalues, which is a monotonic function of the determinant). 函数det⁡(P)1/m\det(P)^{1/m}det(P)1/m为凹函数,该问题可以使用半正定规划和二阶锥规划求解.

%% max det(p)
n=2;
p1=randn(2); p1=p1*p1';
p2=randn(2); p2=p2*p2';
% 设置变量
t=sdpvar(2, 1);
p=sdpvar(n, n);% 设置约束
F=[1>=t >=0];
F=[F, t(1)*p1>=p];
F=[F, t(2)*p2>=p];% 求解
sol = optimize(F, -geomean(p));
x=sdpvar(2, 1);% plot
hold on;
plot(x'*value(p)*x<=1, [], 'b');
plot(x'*value(p1)*x<=1, [], 'r');
plot(x'*value(p2)*x<=1, [], 'g');
alpha(0.5);
hold off;

如果安装了SDPT3求解器,可以调用指令logdet建模.

This command can not be used in any other construction than in the objective function, compared to the geomean operator that can be used as any other variable in YALMIP, since it a so called nonlinear operator.

%% sdpt3
optimize(F, -logdet(p), sdpsettings('solver', 'sdpt3'));
x=sdpvar(2, 1);hold on;
plot(x'*value(p)*x<=1, [], 'b');
plot(x'*value(p1)*x<=1, [], 'r');
plot(x'*value(p2)*x<=1, [], 'g');
alpha(0.5);
hold off;

Note that if you use the logdet command but not explicitly select a solver that supports logdet terms natively, YALMIP will use det⁡(P)1/m\det(P)^{1/m}det(P)1/m as objective function instead anyway. However, if you have a mixed objective function such as trace(P)−log⁡det⁡(P)trace(P)-\log\det(P)trace(P)−logdet(P), you can only use SDPT3.

Q&A

References

Determinant maximization

【OR】YALMIP 行列式最大化相关推荐

  1. 学习中碰到的一些优化工具包和库

    1.linear svm 这个工具包目前用的比较多.例如面部特征点的回归方法中,学习线性回归的权重,例如:Face Alignment at 3000 FPS中: minWt∑i=1N||△s^ti− ...

  2. CVX文档(Release 2.2)(自翻中文)

    CVX用户指南(Release 2.2) Authors: Michael C. Grant, Stephen P. Boyd CVX Research, Inc. January 28,2020 翻 ...

  3. CVX用户指南之简介

    什么是 CVX? ‎CVX 是一个建模系统,用于构建和求解‎‎规范凸程序‎‎ (DCP).‎CVX 支持多种标准问题类型,包括线性和二次型‎‎程序‎‎(LP/QPs).二阶锥形程序 (SOCP) 和半 ...

  4. 智能体如何应对环境突变:快速感知和自适应

    南栖致力于推动强化学习在现实业务中的落地.在现实场景中,环境往往会不断变化,智能体无法适应变化后的环境,导致其决策失效. 为此,南栖仙策与南京大学团队提出了一种环境敏感的上下文策略学习(environ ...

  5. 推荐系统论文拾遗之1——行列式点过程(DPP)多样性控制

    推荐系统论文拾遗之1--DPP多样性控制 背景 解决方案 DPP多样性控制 工程实践 背景 推荐系统大多会经过召回.粗排.精排和策略层后展示给用户,精排中大多数是以CTR为基础目标的.当给一个用户推荐 ...

  6. 求解SDP问题—使用SeDuMi和YALMIP

    SDP(SemiDefinite Programing,半定规划)是凸优化(Convex Optimization)的一种,貌似近些年来比较热,反正这个东西常常出现在我看的论文中.论文里一般是把一个问 ...

  7. 鲁棒优化(5):通过yalmip中uncertain命令快速各类不确定集合下的鲁棒优化

    前言 之前的几篇鲁棒优化的文章,大致介绍了鲁棒优化基本原理,本文对原理部分不再赘述.如果对鲁棒优化基本原理还不了解的同学,建议先补上基础.言归正传,鲁棒优化作为经典的处理不确定性方法,深受大家的喜爱, ...

  8. 高斯混合模型和期望最大化的完整解释

    In the previous article, we described the Bayesian framework for linear regression and how we can us ...

  9. MATLAB+yalmip+cplex 整数规划

      整数规划问题的解决实践.本文将简单介绍整数规划问题是什么,如何配置环境以及如何在MATLAB上通过工具箱yalmip调用外部解析器cplex解决整数规划问题. 文章目录 1. 整数规划问题 2. ...

  10. SDP sedumi yalmip

    转自:http://hi.baidu.com/wbh200892268/item/173dffc94943781c50505840 SDP(SemiDefinite Programing,半定规划)是 ...

最新文章

  1. 【Netty】ByteBuf--Netty的数据容器
  2. Finacial professional
  3. SAP IBASE的创建实现逻辑
  4. mysql工具的使用_产品操作MySQL入门篇-工具使用
  5. WCF学习(五)数据契约之已知类型
  6. [转载]我的WafBypass之道(upload篇)
  7. 2016 版 Laravel 系列入门教程(三)【最适合中国人的 Laravel 教程】
  8. 【华为编程大赛】洞穴逃生
  9. python最优调配问题_Python实现的基于优先等级分配糖果问题算法示例
  10. Spring学习之AOP
  11. android用户界面之GridView教程实例汇总
  12. LSI SAS 3008配置操作
  13. pingback协议与traceback协议的区别
  14. 如何判断两物体加速度相等_高中物理知识点总结解题技巧:关联物体问题的求解方法...
  15. python3调用arcpy地理加权回归_多元地理加权回归软件使用和含义
  16. 对抗机器学习论文-Towards Deep Learning Models Resistant to Adversarial Attacks(PGD)
  17. LabVIEW如何打开Acrobat PDF文件
  18. Unity Run Time Gizmos
  19. 【Spring boot 项目实践】基于Spring boot 的外卖系统
  20. selenium使用小瓜子

热门文章

  1. 机房工程主要施工方法和机房工程验收
  2. 视频教程-WPS Office轻松办公(表格篇)-Office/WPS
  3. 在SQL Server中导入数据库(.mdf格式)
  4. Protel99SE 50个常见问题解决方法与技巧
  5. Pulling without specifying how to reconcile divergent branches is hint: discouraged. You can squelch
  6. HttpSession详解
  7. java messagedigest_Java MessageDigest.getInstance返回的实例非线程安全
  8. 大厂UI设计师vs前端工程师的沟通之道
  9. 金山毒霸喜新厌旧 推荐QQ电脑管家抛弃金山卫士?
  10. 破解版editPlus