SecondOrderConeOptimization
SecondOrderConeOptimization[f,cons,vars]
求可最小化受二阶锥与/或线性约束条件 cons 限制的线性目标函数 f 的变量 vars 的值.
SecondOrderConeOptimization[c,{{a1,b1,α1,β1},…,{ak,bk,αk,βk}}]
求可最小化受约束条件 限制的 的向量 .
SecondOrderConeOptimization[c,…,{dom1,dom2,…}]
SecondOrderConeOptimization[…,"prop"]
指定应返回解的属性 "prop".
更多信息和选项
- 二阶锥优化也被称为二阶锥规划 (SOCP) 和混合整数二阶锥规划 (MISOCP).
- 二阶锥优化被用于参数拟合和几何距离问题.
- 二阶锥优化是一个凸优化问题,可用实数、整数或复数变量高效地进行全局求解.
- 二阶锥优化求的是能解原始问题的 :
-
最小化 受限于约束条件 其中 - 混合整数二阶锥优化给出能求解问题的 和 :
-
最小化 受限于约束条件 其中 - 当目标函数取实数值时,SecondOrderConeOptimization 在内部将 转换为实变量 对问题进行求解(其中 ,).
- 变量规范 vars 应该是一个列表,其中的元素以下列形式之一给出变量:
-
v 名称为 和推断维度的变量 v∈Reals 实数标量变量 v∈Integers 整数标量变量 v∈Complexes 复标量变量 v∈ℛ 仅限于几何区域 的向量变量 v∈Vectors[n,dom] 或 中的向量变量 v∈Matrices[{m,n},dom] 或 中的矩阵变量 - 注意,线性约束可以用二阶约束表示. 方便起见,单个 0 被诠释为作为零条目的矩阵或向量的必需:
-
{ai,bi,0,0} 线性等式约束 {0,0,αi,βi} 线性不等式约束 - 可用以下形式指定约束条件 cons:
-
LessEqual 标量不等式 GreaterEqual 标量不等式 VectorLessEqual 向量不等式 VectorGreaterEqual 向量不等式 Equal 标量或向量等式 Element 凸域或区域元素 - 当 SecondOrderConeOptimization[f,cons,vars],格式 parval 的参数等式,其中,par 不在 vars 中,val 是数值或数值数组,可能被包含在约束中,定义在 f 或 cons 中使用的参数.
- 原始最小问题有相关的最大问题,即拉格朗日对偶问题. 对偶最大值总是小于或等于原始最小值,因此它提供下限. 对偶最大器提供关于原始问题的信息,包括在约束中最小值变化的敏感度.
- 二阶锥优化有对偶: » »
-
最大 受制于约束 域 - 对于二阶锥优化,总是保留强对偶性,意味着如果对原始最小问题有解,那么对偶最大问题也有解,对偶最大值等于原始最小值.
- 可能的解的属性 "prop" 包括:
-
"PrimalMinimizer" 一个最小化目标函数的变量值列表 "PrimalMinimizerRules" 最小化 的变量值 vars={v1,…} "PrimalMinimizerVector" 最小化 的向量 "PrimalMinimumValue" 最小值 "DualMaximizer" 最大对偶向量 "DualMaximumValue" 对偶最大值 "DualityGap" 对偶和原始优化值之差 "Slack" 把不等约束条件转换为等式的向量 "ConstraintSensitivity" 对约束扰动的敏感度 "ObjectiveVector" 线性目标向量 "SecondOrderConeConstraints" 约束条件的系数的列表 "LinearEqualityConstraints" 线性相等约束矩阵和向量 {"prop1","prop2",…} 解的几个属性 - 可以给出以下选项:
-
MaxIterations Automatic 使用的最大迭代次数 Method Automatic 使用的方法 PerformanceGoal $PerformanceGoal 优化的目标 Tolerance Automatic 内部比较使用的容差 - 选项 Method->method 可用于指定使用的方法. 可用的方法包括:
-
Automatic 自动选择方法 "SCS" SCS 分裂圆锥求解器 "CSDP" CSDP 半定优化求解器 "DSDP" DSDP 半定优化求解器 "PolyhedralApproximation" 使用多面体的近似约束 "MOSEK" 商用 MOSEK 凸优化求解器 "Gurobi" 商业 Gurobi 线性和二次优化求解器 "Xpress" 商业 Xpress 线性和二次优化求解器 - 计算受限于 MachinePrecision.
范例
打开所有单元关闭所有单元基本范例 (4)
范围 (27)
基本用途 (9)
使用解的属性 "PrimalMinimiumValue" 获取最小值:
使用 a 和 b 的常数参数方程,最小化受约束条件 限制的 :
用 VectorGreaterEqual () 和 VectorLessEqual () 指定约束条件:
最小化受 限制的 . 用 Inactive[Plus] 避免无意的逐项运算:
指定矩阵 和向量 为参数化方程,以避免使用 Inactive:
最小化受 限制的 . 用 NonNegativeReals 指定约束条件 :
整数变量 (4)
用 Integers 指定整数域约束条件:
用 Vectors[n,Integers] 指定向量变量的整数域约束条件:
用 NonNegativeIntegers () 指定非负整数域约束条件:
用 NonPositiveIntegers () 指定非正整数域约束条件:
复变量 (4)
原始模型属性 (3)
对偶模型属性 (3)
选项 (8)
Method (4)
应用 (35)
基本模型变换 (11)
最小化受约束条件 限制的 . 使用辅助变量 ,把问题转换为最小化受 限制的 :
最小化受约束条件 限制的 . 使用辅助变量 ,把问题转换为最小化受 限制的 :
最小化受约束条件 限制的 . 使用两个辅助变量 ,把问题转换成最小化受 限制的 :
最小化受约束条件 限制的 . 使用辅助变量 ,把问题转换成最小化受 限制的 :
SecondOrderConeOptimization 直接对 Abs 进行转换:
最小化受约束条件 限制的 . 使用辅助变量 ,把问题转换成最小化受 限制的 :
SecondOrderConeOptimization 直接对 Abs 进行变换:
最小化 . 使用辅助变量 ,把问题转换成最小化受约束条件 限制的 :
直接在约束条件中使用 Abs 会更快更准确:
最小化 . 使用辅助变量 ,把问题转换成最小化受约束条件 限制的 :
最小化受约束条件 限制的 ,其中, 是非递减函数,改为最小化 . 原始最小化点 对这两个问题保持一致. 考虑最小化受 限制的 :
几何问题 (6)
求中心在 (0,0) 和 (2,1),半径为 1 的两个圆盘间的最小距离. 使用辅助变量 ,把问题转换为最小化受 限制的 :
令 是 上的点. 令 是 上的点. 目标是最小化 . 使用辅助变量 ,将目标转换成最小化受 限制的 :
令 是 上的点. 令 是 上的点. 目标是最小化 . 使用辅助变量 ,将目标转换成最小化受 限制的 :
根据分隔超平面理论,与约束条件 关联的对偶将给出超平面的法线:
令 是 上的点. 令 是 上的点. 目标是最小化 . 使用辅助变量 ,将目标转换成最小化受 限制的 :
根据分隔超平面原理,与约束条件 关联的对偶将给出超平面的法线:
可通过 BoundingRegion 高效地找到最小包围圆盘:
可通过 BoundingRegion 高效地找到最小包含球:
设施位置问题 (3)
数据拟合问题 (6)
用 DesignMatrix 构建输入数据矩阵:
用基 求噪声数据的近似函数,使得第一个点和最后一个点位于曲线时:
通过最小化 ,求离散数据的鲁棒线性拟合,其中, 是已知的正则化参数:
也可以用函数 Fit 获取鲁棒 拟合:
也可以用 Fit 通过 正则化更高效地完成子集选择. 首先,找到最多使用 个基函数的正则化参数的范围:
分类问题 (2)
结构优化问题 (1)
投资组合优化 (1)
非负矩阵分解 (1)
投资问题 (3)
求要购买的四只股票的数量,以便获得至少 $1000 的股息并最小化风险. 与股票相关的预期收益值和协方差矩阵 为:
四只股票的单位价格为 $1. 每只股票最多可分配 $2500:
求要购买有卖空期权的四只股票的数量,以便获得至少 $1000 的股息并最小化风险:
卖空期权允许出售股票. 通过最小化风险 可得出买入/卖空股票的最佳数量:
可卖空第二只股票.通过卖空得到最少 $1000 收益所需的总投资为:
求从 20 只候选股票中选取六只股票的最佳组合,最小化风险的同时最大化回报:
设在股票 上的投资占总投资的百分比为 . 收益由 给出,其中 是由每只股票的预期收益值组成的向量:
属性和关系 (8)
SecondOrderConeOptimization 给出目标函数的全局最小值:
Minimize 给出二次优化问题的全局精确值:
NMinimize 可使用全局方法获取近似结果:
FindMinimum 可使用局部方法获取近似结果:
LinearOptimization 是 SecondOrderConeOptimization 的特例:
QuadraticOptimization 是 SecondOrderConeOptimization 的特例:
SemidefiniteOptimization 是 SecondOrderConeOptimization 的广义形式:
可能存在的问题 (5)
原因是 SecondOrderConeOptimization 求解的是 :
最小值点为 Indeterminate:
最小值点 Indeterminate:
即使在理论上两边都是实数,只使用 Less 是不可行的:
文本
Wolfram Research (2019),SecondOrderConeOptimization,Wolfram 语言函数,https://reference.wolfram.com/language/ref/SecondOrderConeOptimization.html (更新于 2020 年).
CMS
Wolfram 语言. 2019. "SecondOrderConeOptimization." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2020. https://reference.wolfram.com/language/ref/SecondOrderConeOptimization.html.
APA
Wolfram 语言. (2019). SecondOrderConeOptimization. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/SecondOrderConeOptimization.html 年