ConicOptimization
ConicOptimization[f,cons,vars]
求可最小化受锥约束条件 cons 限制的线性目标函数 f 的变量 vars 的值.
ConicOptimization[…,"prop"]
指定应返回解的属性 "prop".
更多信息和选项
- 锥优化亦称为线性锥优化或线性锥规划.
- 锥优化包括许多其他形式的优化,包括线性优化、线性分式优化、二次优化、二阶锥优化,半定优化和几何优化.
- 锥优化是一个凸优化问题,可以使用实数、整数或复数变量全局有效地求解.
- 锥优化求的是能解原问题的 :
-
最小化 受限于约束条件 其中 - 集合 应是维度为 的真凸锥. 常见的 的锥规范和与 (VectorGreaterEqual[{x,0},κj]) 相对应的集合为:
-
{"NonNegativeCone", m} 使得 成立的 {"NormCone", m} 使得 成立的 {"SemidefiniteCone", m} 对称正半定矩阵 "ExponentialCone" 使得 成立的 "DualExponentialCone" 使得 或 成立的 {"PowerCone",α} 使得 成立的 {"DualPowerCone",α} 使得 成立的 - 当目标函数取实数值时,ConicOptimization 在内部将 转换为实变量 (其中 ,),对 的问题进行求解.
- 变量指定 vars 应该是一个列表,其中的元素按以下形式给出变量:
-
v 名称为 的变量,维度由推断而得 v∈Reals 实标量变量 v∈Integers 整数标量变量 v∈Complexes 复标量变量 v∈ℛ 限制在几何区域 内的向量变量 v∈Vectors[n,dom] 或 中的向量变量 v∈Matrices[{m,n},dom] 或 中的矩阵变量 - 可用以下形式指定约束条件 cons:
-
LessEqual 标量不等式 GreaterEqual 标量不等式 VectorLessEqual 向量不等式 VectorGreaterEqual 向量不等式 Equal 向量或标量等式 Element 凸域或区域元素 - 对于 ConicOptimization[f,cons,vars],可在约束条件中包括形式为 parval 的参数方程,以定义在 f 或 cons 中使用的参数,其中 par 不在 vars 中,val 是数值或数值数组. »
- 原始最小化问题有相关的最大化问题,即拉格朗日对偶问题. 对偶最大值始终小于或等于原始最小值,因此它给出了下限. 对偶最大值点提供了有关原问题的信息,包括最小值对约束条件变化的敏感性. »
- 锥优化有对偶问题: »
-
最大化 受限于约束条件 其中 , 是 的对偶锥 - 可能的解的属性 "prop" 包括: »
-
"PrimalMinimizer" 一个最小化 的变量值列表 "PrimalMinimizerRules" 最小化 的变量值 vars={v1,…} "PrimalMinimizerVector" 最小化 的向量 "PrimalMinimumValue" 最小值 "DualMaximizer" 最大化 的向量 "DualMaximumValue" 对偶最大值 "DualityGap" 对偶值和原始最优值之间的差 "Slack" 将不等式约束条件转换为等式约束条件的向量 "ConstraintSensitivity" 对约束条件扰动的敏感性 "ObjectiveVector" 线性目标向量 "ConicConstraints" 标准形式的锥约束条件列表 "ConicConstraintConeSpecifications" 锥 的规范列表 "ConicConstraintConeDimensions" 锥约束条件中锥的维度列表 "ConicConstraintAffineLists" 锥约束条件中仿射变换的矩阵、向量对列表 {"prop1","prop2",…} 几个解的属性 - 可给出以下选项:
-
MaxIterations Automatic 使用的最大迭代次数 Method Automatic 使用的方法 PerformanceGoal $PerformanceGoal 优化的目标 Tolerance Automatic 内部比较采用的容差 - 选项 Method->method 可用来指定使用的方法. 可用的方法包括:
-
Automatic 自动选择方法 "SCS" SCS 劈分圆锥求解器 "CSDP" CSDP 半定优化求解器 "DSDP" DSDP 半定优化求解器 "MOSEK" 商用 MOSEK 凸优化求解器 "Gurobi" 商用 Gurobi 线性和二次优化求解器 "Xpress" 商业 Xpress 线性和二次优化求解器 - 计算受限于 MachinePrecision.
范例
打开所有单元关闭所有单元基本范例 (3)
范围 (35)
基本用法 (11)
可用 VectorGreaterEqual:表示几个线性不等式约束条件:
用 v>= 或 \[VectorGreaterEqual] 输入向量不等式符号 :
为了避免 中无意的 threading,可使用 Inactive[Plus]:
VectorGreaterEqual 表示相对于的 "NonNegativeCone" 锥不等式:
为了明确指定锥的维度,请使用 {"NonNegativeCone",n}:
用向量变量 和 Indexed[x,i] 指定单个分量:
用 Vectors[n] 在未明确给定时指定向量变量的维度:
用 NonNegativeReals () 指定非负约束条件:
整数变量 (4)
用 Integers 指定整数域约束:
用 Vectors[n,Integers] 在向量变量上指定整数域约束:
用 NonNegativeIntegers () 指定非负整数域约束:
用 NonPositiveIntegers () 指定非正整数域约束:
复变量 (5)
用 Complexes 指定复变量:
原始模型属性 (4)
对偶模型属性 (3)
敏感性属性 (3)
支持的凸锥 (5)
选项 (11)
Method (8)
PerformanceGoal (1)
PerformanceGoal 选项的默认值为 $PerformanceGoal:
用 PerformanceGoal"Quality" 获取更准确的结果:
用 PerformanceGoal"Speed" 可更快获得结果,但要以质量为代价:
应用 (29)
基本模型转换 (13)
最大化受约束条件 限制的 . 对目标函数取负求解最大化问题:
在圆心位于 、半径为 的圆盘上最小化 . 将目标函数 转换为线性函数 ,额外限制条件为 ,等价于 :
也可用 Norm 表示圆盘约束条件:
在正五边形上最小化 . 用 将目标函数转换为线性函数,额外限制条件为 :
最小化 . 通过使用辅助变量 ,目标函数被转换为最小化受约束条件 限制的 :
最小化受约束条件 限制的 . 通过使用两个辅助变量 ,将问题转换为最小化受约束条件 限制的:
最小化 . 通过使用辅助变量 ,将问题转换为最小化受约束条件 限制的 :
最小化受约束条件 限制的 ,其中 为非递减函数,因而可代之以最小化 . 对于两个问题,原始最小值点 将保持不变. 考虑最小化受约束条件 限制的 :
在圆心位于 、半径为 的圆盘上最小化 . 通过使用辅助变量 ,目标函数被转换为最小化受额外约束条件 限制的 :
在圆心位于 、半径为 的圆盘上最小化 . 通过使用辅助变量 ,将问题转换为最小化受约束条件 限制的 :
约束条件 等价于 . 可用 "PowerCone" 通过 来表示:
通过使用辅助变量 ,将问题转换为最小化受约束条件 限制的 :
可用 "PowerCone" 约束条件来表示. 因为当且仅当 时 ,用 限制 ,其中 给出 :
求最小化对称矩阵的最大特征值的 ,该特征值线性依赖于决策变量 ,. 可将该问题表述为线性矩阵不等式,因为 等价于 ,其中 是 的第 个特征值. 对于线性矩阵函数 :
可用正交矩阵 将实对称矩阵 对角化,以使得 . 因而当且仅当 时 . 由于任一 ,取 ,,因而当且仅当 时 . 进行数值仿真以表明这些式子是等价的:
最小化受约束条件 限制的 ,当 时假定 . 通过使用辅助变量 ,目标函数变为最小化 以使得 :
舒尔补条件表明如果 ,则当且仅当 时分块矩阵 . 因此当且仅当 时 . 用 Inactive Plus 来构建约束条件以避免 threading:
对于二次集合 ,其中包括椭球、二次锥体和抛物面,确定 是否成立, 其中 为对称矩阵, 为向量, 为标量:
假定集合 i 为全维 (full dimensional) 集合,S-procedure 表明当且仅当有一些非负数 存在使得 成立时 才成立. 图示有非负数 存在:
数据拟合问题 (5)
通过使用辅助变量 ,转换后的目标函数为最小化受约束条件 限制的 :
用三次曲线拟合离散数据,以使数据的第一个和最后一个点位于曲线上:
用 DesignMatrix 构建矩阵:
通过最小化 求系数 . 通过使用辅助变量 ,转换后的目标函数为最小化受约束条件 限制的 :
由于 ,因此使用辅助变量 . 问题被转换为最小化受约束条件 限制的 :
二次项 ,其中 是对 进行 Cholesky 分解所得的下三角矩阵:
用 DesignMatrix 构建矩阵 ,对于基 :
几何问题 (5)
求圆心位于 和 、半径为 1 的两个圆盘之间的最小距离. 令 为第一个圆盘上的点. 令 为第二个圆盘上的点. 目标是最小化 . 通过使用辅助变量 ,转换后的目标函数为最小化受约束条件 限制的 :
可用 BoundingRegion 高效求出最小包含球:
令 为 上的一个点. 令 为 上的一个点. 目标是最小化 . 通过使用辅助变量 ,转换后的目标函数为最小化受约束条件 限制的 :
根据分隔超平面定理,与约束条件 相关的对偶问题将给出超平面的法线:
凸多边形的每个线段可被表示为半平面 相交的地方. 提取线性不等式:
求凸多边形的 analytic center. analytic center 是能最大化到限制边界的距离的乘积的点:
凸多边形的每个线段可被表示为半平面 相交的地方. 提取线性不等式:
目标是最大化 . 对目标函数取 并取负,转换后的目标函数为 :
分类问题 (3)
对于此分隔问题,第 1 组点必须满足 ,第 2 组点必须满足 :
目标是最小化 ,它给出的是 和 之间距离的两倍. 通过使用辅助变量 ,目标函数被转换为约束条件 :
用 DesignMatrix 构建两组点的二次多项式数据矩阵:
对于此分隔问题,第 1 组必须满足 ,第 2 组必须满足 :
通过最小化 找出分隔多项式. 通过使用辅助变量 ,转换后的目标函数为最小化受额外约束条件 限制的 :
将给定的点集 分成不同的组. 可通过最小化 找出每组的中心 来完成,其中 是给定的局部核, 是给定的惩罚参数:
核 为使得 ,否则 成立的 -近邻 () 函数. 对于此问题,选择 :
通过使用辅助变量 ,目标函数被转换为最小化受约束条件 限制的 :
最优控制问题 (1)
可使用梯形法近似要最小化的函数积分. 离散目标函数变为受额外约束条件 限制的 :
可用 Indexed 指定初始约束条件 :
通过使用辅助变量 ,目标函数被转换为最小化受约束条件 限制的 :
将离散化结果转换为 InterpolatingFunction:
设施选址问题 (1)
属性和关系 (8)
ConicOptimization 给出目标函数的全局最小值:
Minimize 给出锥优化问题的全局精确结果:
NMinimize 可用全局方法获得近似结果:
FindMinimum 可用局部方法获得近似结果:
SemidefiniteOptimization 是 ConicOptimization 的特例:
SecondOrderConeOptimization 是 ConicOptimization 的特例:
可能存在的问题 (6)
通常可以用 Tolerance 选项控制对约束条件的违反:
最小值点为 Indeterminate:
最小值点为 Indeterminate:
、 的位于 5*10-10 ±10-6 上下的结果将符合容差 10-6,当去掉缩放后可产生的最大错误为:
即便理论上两边都是实数,只使用 Less 也是不可行的:
文本
Wolfram Research (2019),ConicOptimization,Wolfram 语言函数,https://reference.wolfram.com/language/ref/ConicOptimization.html (更新于 2020 年).
CMS
Wolfram 语言. 2019. "ConicOptimization." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2020. https://reference.wolfram.com/language/ref/ConicOptimization.html.
APA
Wolfram 语言. (2019). ConicOptimization. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/ConicOptimization.html 年