SemidefiniteOptimization

SemidefiniteOptimization[f,cons,vars]

求可最小化受半定约束条件 cons 限制的线性目标函数 f 的变量 vars 的值.

SemidefiniteOptimization[c,{a0,a1,,ak}]

求可最小化受线性矩阵不等式约束条件 a_0+a_1 x_1+...+a_k x_k>=_(TemplateBox[{n}, SemidefiniteConeList])0 限制的量 的向量 .

SemidefiniteOptimization[,"prop"]

指定应返回解的属性 "prop".

更多信息和选项

  • SemidefiniteOptimization 亦称为半定规划 (SDP) 和混合整数半定规划 (MISDP).
  • 半定优化是一种凸优化问题,可以用实数、整数或复变量高效全局求解.
  • 半定优化求的是能解原始问题的
  • 最小化
    受限于约束条件a_(0)+a_(1) x_(1)+...+a_(k) x_(k)>=_(TemplateBox[{n}, SemidefiniteConeList])0
    其中
  • 矩阵 必须是对称的 矩阵.
  • 混合整数半定优化求能解以下问题的
  • 最小化
    受限于约束条件a_(0)+a_(1) x_(1)+...+a_(k_r) x_(k_r)+a_(k_r+1)y_1+...+a_(k_r+k_i)y_(k_i)>=_(TemplateBox[{n}, SemidefiniteConeList])0
    其中
  • 当目标函数为实数时,SemidefiniteOptimization 通过在内部将 x in TemplateBox[{}, Complexes]^n 转换为实变量 来求解,其中 . 可以用埃尔米特矩阵 指定线性矩阵不等式.
  • 变量指定 vars 应该是一个列表,其中的元素按以下形式给出变量:
  • v名称为 的变量,维度由推断而得
    vReals实标量变量
    vIntegers整数标量变量
    vComplexes复标量变量
    v仅限于几何区域 的向量变量
    vVectors[n,dom] 中的向量变量
    vMatrices[{m,n},dom] 中的矩阵变量
  • 可用以下形式指定约束条件 cons
  • LessEqual标量不等式
    GreaterEqual标量不等式
    VectorLessEqual向量不等式
    VectorGreaterEqual向量不等式
    Equal标量或向量等式
    Element凸域或区域元素
  • 对于 SemidefiniteOptimization[f,cons,vars],可在约束条件中包括形式为 parval 的参数方程,以定义在 fcons 中使用的参数,其中 par 不在 vars 中,val 是数值或数值数组. »
  • 原始最小化问题有相关的最大化问题,即拉格朗日对偶问题. 对偶最大值始终小于或等于原始最小值,因此它给出了下限. 对偶最大值点提供了有关原始问题的信息,包括最小值对约束条件变化的敏感性. »
  • 半定优化有对偶问题: »
  • 最大化-TemplateBox[{Tr, paclet:ref/Tr}, RefLink, BaseStyle -> {2ColumnTableMod}][a_0.lambda]
    受限于约束条件TemplateBox[{Tr, paclet:ref/Tr}, RefLink, BaseStyle -> {2ColumnTableMod}][a_j.lambda]=c_j,j=1,..., k,lambda>=_(TemplateBox[{n}, SemidefiniteConeList])0
    其中
  • 可能的解的属性 "prop" 包括:
  • "PrimalMinimizer"一个最小化目标函数的变量值列表
    "PrimalMinimizerRules"最小化 的变量值 vars={v1,}
    "PrimalMinimizerVector"最小化 的向量
    "PrimalMinimumValue"原始最小值
    "DualMaximizer"最大化 -TemplateBox[{Tr, paclet:ref/Tr}, RefLink, BaseStyle -> {3ColumnTableMod}][a_0.lambda] 的矩阵
    "DualMaximumValue"-TemplateBox[{Tr, paclet:ref/Tr}, RefLink, BaseStyle -> {3ColumnTableMod}][a_0.lambda^*]对偶最大值
    "DualityGap"-TemplateBox[{Tr, paclet:ref/Tr}, RefLink, BaseStyle -> {3ColumnTableMod}][a_0.lambda^*] - c.x^*对偶值和原始最优值之间的差
    "Slack"把不等式约束条件转换成等式的矩阵
    "ConstraintSensitivity"
    对约束条件扰动的敏感度
    "ObjectiveVector"线性目标向量
    "ConstraintMatrices"约束矩阵列表
    {"prop1","prop2",} 解的几个属性
  • 可给出以下选项:
  • MaxIterationsAutomatic使用的最大迭代次数
    Method Automatic使用的方法
    PerformanceGoal $PerformanceGoal优化的目标
    Tolerance Automatic内部比较使用的误差
  • 选项 Method->method 可用于指定使用的方法. 可用的方法包括:
  • Automatic自动选择方法
    "CSDP"CSDP 半定优化求解器
    "DSDP"DSDP 半定优化求解器
    "SCS"SCS 分裂圆锥求解器
    "MOSEK"商用 MOSEK 凸优化求解器
  • 计算受限于 MachinePrecision.

范例

打开所有单元关闭所有单元

基本范例  (3)

在线性不等式约束  a_(0)+a_(1)x_1+a_(2) x_2_(TemplateBox[{2}, SemidefiniteConeList])0 下最小化

最优点是在约束定义的区域内最小的

在线性矩阵不等式约束  a_(0)+a_(1)x_1+a_(2) x_2_(TemplateBox[{2}, SemidefiniteConeList])0 下最小化

使用带有目标向量和约束矩阵的等价公式:

最小化受约束条件  a_(0)+a_(1)x_1+a_(2) x_2_(TemplateBox[{2}, SemidefiniteConeList])0,x_1 in Z,x_2 in R 限制的

将等价公式与目标向量和约束矩阵一起使用:

范围  (29)

基本用途  (13)

在约束条件 下最小化

当矩阵 是正半定时最小化

求解:

在线性矩阵不等式约束 a_1 x+a_2 y+a_0_(TemplateBox[{2}, SemidefiniteConeList])0 下最小化

约束的左手边可以计算格式给出:

用目标向量和约束矩阵表示问题:

使用向量变量

使用向量变量 Inactive[Plus] 避免意外的线程:

使用向量变量 和参数方程避免意外的线程:

使用向量变量 Indexed[x,i] 指定单个分量:

在不明确时,使用 Vectors[n] 指定向量变量的维度:

多个线性不等式约束可用 VectorGreaterEqual 表示:

使用 v>=\[VectorGreaterEqual] 输入向量不等式符号

使用标量不等式的等价格式:

使用向量变量 和向量不等式:

使用 NonNegativeReals () 指定非负约束:

使用向量不等式的等价格式:

可以使用格式 TemplateBox[{{{a, ., x}, +, b}}, Norm]<=alpha.x+beta 的二阶圆锥约束:

可以使用 格式 a.x+b_(TemplateBox[{}, NormConeString])0"NormCone" 约束:

整数变量  (4)

使用 Integers 指定整数域约束:

使用 Vectors[n,Integers] 指定向量变量的整数域约束:

使用 NonNegativeIntegers () 指定非负整数域约束:

使用 NonPositiveIntegers () 指定非正整数域约束:

复数变量  (2)

使用 Complexes 指定复数变量:

在线性矩阵不等式中,约束矩阵可以是埃尔米特矩阵或实对称矩阵:

线性矩阵不等式中的变量需要为实数才能使总和保持为埃尔米特:

原始模型属性  (3)

约束为 (x 1; 1 y)_(TemplateBox[{2}, SemidefiniteConeList])0 时最小化函数

获取作为向量的原始最小化器:

获取最小化值:

提取目标向量:

提取约束矩阵:

为直接输入使用提取的目标向量和约束矩阵:

在最小化器 的不等式 g(x)_(TemplateBox[{n}, SemidefiniteConeList])0 的松弛性由 给定:

提取最小化器并约束矩阵:

验证松弛矩阵满足

对偶模型属性  (3)

约束为 时最小化

对偶问题是在约束 Tr[a_i.y]⩵c_i,i=1,..., k,y0 下最大化 -Tr[a_0.y]

由于强对偶性,原始最小值和对偶最大值相同:

这相当于对偶间隙为零. 一般来说,在最优点 c.x^*<=Tr[a_0.y]

使用从原始问题中提取约束矩阵构建对偶问题:

提取目标向量和约束矩阵:

对偶问题是在约束 下,最大化

使用解的属性直接获取对偶最大值和对偶最大器:

"DualMaximumValue" 是:

可用如下方法获取 "DualMaximizer"

敏感性属性  (4)

使用 "ConstraintSensitivity" 找到由于约束扰动导致优化值的改变:

敏感性是一个矩阵:

考虑新的约束 ,其中, 是扰动:

近似新优化值是:

比较直接求解扰动问题:

根据敏感矩阵元素改变优化值:

在负敏感元素位置,正扰动会减小优化值:

在正敏感元素位置,正扰动会增加优化值:

使用西尔维斯特 (Sylvester) 的半定性标准符号式表达扰动的约束:

使用此格式,可以精确地在 0 附近找到作为参数函数的最小值:

使用相对于参数的最小值的导数制作对称矩阵:

这是由 "ConstraintSensitivity" 属性给定的扰动的敏感性:

约束灵敏度也可以作为对偶最大化器的负数获得:

选项  (8)

Method  (5)

默认方法 "CSDP" 是内点方法:

"DSDP" 是其他内点方法:

"SCS" 使用分裂圆锥求解器方法:

不同的方法会有不同的容差,它会影响准确度和精度:

计算精确和近似解:

"CSDP""DSDP" 默认容差:

"SCS" 的默认容差:

当默认方法 "CSDP" 产生一条信息,首先尝试 "DSDP"

在这种情况下,"DSDP" 成功找到了一个好的解决方案:

带有 10-3 默认容差的 "SCS" 是另一种可尝试的方法:

"SCS" 的结果质量通常可以通过较小的 Tolerance 来改善:

PerformanceGoal  (1)

选项 PerformanceGoal 的默认值是 $PerformanceGoal

使用 PerformanceGoal"Quality" 获取更精确的结果:

使用 PerformanceGoal"Speed" 更快获取结果,但代价是质量:

比较时间:

"Speed" 目标给出一个少一些准确的结果:

Tolerance  (2)

更小的 Tolerance 设置给出更精确的结果:

Minimize 计算精确的最小值:

计算带有不同 Tolerance 设置的最小值的误差:

根据容差可视化最小值误差的变化:

更小 Tolerance 设置给出更精确的结果,但花更长时间计算:

更小容差花时更长:

更严格的容差给出了更精确的答案:

应用  (33)

基本的模型变换  (13)

最大化 受限于  (-x 1; 1 -y)_(TemplateBox[{2}, SemidefiniteConeList])0. 通过负向目标函数求解最大化问题:

负向原始最小值获取对应的最大值:

求最小化对称矩阵的最大特征值的 ,对称矩阵线性依赖于决策变量 , . 该问题可以作为线性矩阵不等式被公式化,因为 等价于 ,其中, 的第 个特征值. 定义线性矩阵函数

实对称矩阵 可用正交矩阵 对角化,所以 . 因此 当且仅当 . 既然,任何 都接受 ,因此 当且仅当 . 数值模拟显示这些公式是等价的:

导致的问题:

运行 Monte Carlo 仿真检查结果的合理性:

求最大化对称矩阵 最小特征值的 ,对称矩阵线性依赖于决策变量 . 定义线性矩阵函数

问题可以作为线性矩阵不等式被公式化,因为 等价于 ,其中, 的第 个特征值. 为了最大化 ,先最小化

运行 Monte Carlo 仿真检查结果的合理性:

求最小化对称矩阵 的最大和最小特征值之间差的 ,对称矩阵线性依赖于决策变量 . 定义线性矩阵函数

该问题可以作为线性矩阵不等式被公式化,因为 等价于 ,其中, 的第 个特征值. 求解由此产生的问题:

在这种情况下,最小和最大特征值巧合,差值为 0:

通过对对称矩阵 取线性绝对特征值最小化最大的

最大的特征值满足 lambda I-A(x,y)>=_(TemplateBox[{2}, SemidefiniteConeList])0. 最大绝对值的负 特征值是最大的 特征值并满足 lambda I+A(x,y)>=_(TemplateBox[{2}, SemidefiniteConeList])0

求最小化 线性矩阵 中最大奇异值

的最大奇异值 最大特征值的平方根,而且根据前面的例子,它满足 或等价于 (sigma I A(x,y); A(x,y)^T sigma I)_(TemplateBox[{5}, SemidefiniteConeList])0

绘制结果:

最小化 . 使用辅助变量 ,把问题转换为最小化 ,因此 . 这个与 一样:

Schur 补充条件表示,如果 ,则块矩阵 当且仅当 . 因此,当 ,当 ,使得 必须为 0:

直接使用约束 ,并自动转换成半定格式:

最小化 受限于 ,假设 ,当 . 使用辅助变量 ,目标是最小化 ,使得

检查 蕴涵

使用 Schur 补充条件, 当且仅当 (t alpha.x+beta; alpha.x+beta gamma.x+delta )_(TemplateBox[{2}, SemidefiniteConeList])0. 使用 Inactive[Plus] 构建约束避免线程:

对于二次集 ,其包括椭球、二次锥和抛物线,确定是否 ,其中, 是对称矩阵, 是向量, 是标量:

假设集合 是全维的,S-进程表明 当且仅当存在一些非负数 使得 视觉上存在非负

因为 λ0,因此

最小化 受限于 (x 1; 1 y)_(TemplateBox[{2}, SemidefiniteConeList])0. 把目标 转换成带有额外约束 的线性函数 ,其等于

最小化 受限于 (x 1; 1 y)_(TemplateBox[{2}, SemidefiniteConeList])0. 使用 和额外约束 把目标转换成线性函数:

最小化 受限于 (x 1; 1 y)_(TemplateBox[{2}, SemidefiniteConeList])0. 把目标转换成带有额外约束 的线性函数 ,其等于

最小化 受限于 ,其中,通过最小化 是一个非递减函数. 原始最小化 将保持不变. 考虑最小化 ,受限于  (x 1; 1 y)_(TemplateBox[{2}, SemidefiniteConeList])0:

真正的最小值可以通过应用 的最小值获取:

数据拟合问题  (5)

通过最小化拟合离散数据集的 TemplateBox[{{{a, ., c}, -, b}}, Norm] 求五阶多项式的系数

选择多项式基并使用 DesignMatrix 构建输入矩阵和输出向量:

使用辅助变量 ,目标被转换成最小化 使得 ,其等于 基本模型变换所示:

比较数据的拟合:

通过使用切比雪夫基最小化 TemplateBox[{{{a, ., x}, -, b}, infty}, Norm2]=max_i|a_i.x-b| 找到在对数比例上变化的离散数据的近似函数:

选择切比雪夫基础函数计算在随机数据点上的值:

因为数据是对数比例,直接数据拟合并不理想. 所以把问题转换成最小化 . 使用辅助变量 ,最小化 使得 . 该约束等价于

求近似函数的系数:

导致的拟合是:

可视化拟合:

数据拟合可以直接使用 Fit 获得. 然而,没有对数转换的话在近似函数中会有显著的振荡:

用平方和多项式 表示双变量多项式

目标是找到 使得 ,其中, 是单项式的向量:

构建对称矩阵

的多项式系数并确保它们是相等的:

的元素:

二次项 ,其中, 是从 的 Cholesky 分解获得的下三角矩阵:

与给定的多项式比较平方和多项式:

基数约束最小二乘:最小化 ,使得 最多有 个非零元素:

为决策向量,如果 ,则 非零. 决策约束条件为:

为了模拟约束条件 ,选择一个大的常数 ,使得

使用辅助变量 ,目标被转换为最小化 ,使得 ,相当于

求解基数约束最小二乘问题:

也可以用 Fit 通过 正则化更高效地完成子集选择. 首先,找到最多使用 个基函数的正则化参数的范围:

正则化拟合中的非零项:

求只含有这些基本项的拟合:

从候选函数集中找到最佳函数子集,以近似给定数据:

近似函数为 :

在最后的近似中最多使用 5 个基函数:

与未选择的函数关联的系数必须为零:

求最佳函数子集:

将所得近似与给定数据相比较:

几何问题  (6)

求可包围一组点的圆心位于 、半径为 的最小圆盘:

对于每个点 ,必须满足约束条件 TemplateBox[{{c, -, {p, _, i}}}, Norm]<=r, i=1,2,...,n. 该约束条件等价于 . 在构建约束条件时使用 Inactive

通过最小化半径 找到包围圆盘:

可视化该区域:

可通过 BoundingRegion 找到面积最小的包围圆盘:

通过最小化面积求参数化为 {x:TemplateBox[{{{a, ., x}, +, b}}, Norm]<=1} 的、可包围一组点的最小椭圆:

每个点 必须满足约束条件 TemplateBox[{{{a, ., {p, _, i}}, +, b,  }}, Norm]<=1, i=1,2,...,n

面积与 成正比. 应用单调函数 Log,要最小化的函数变为 . 这相当于最小化 -Tr(a)

把参数化的椭圆转换成显式格式

可以用 BoundingRegion 求边界椭圆(面积不一定最小):

最优椭圆有更小的面积:

通过最小化体积求参数化为 {x:TemplateBox[{{{a, ., x}, +, b}}, Norm]<=1} 的、可包围一组三维点的最小椭圆:

每个点 必须满足约束条件 TemplateBox[{{{a, ., {p, _, i}}, +, b,  }}, Norm]<=1, i=1,2,...,n

最小化体积等价于最小化 ,它等价于最小化 -Tr(a)

把参数化椭圆转换成显式格式

可以用 BoundingRegion 求边界椭球(体积不一定最小):

求参数化为 {x=C.y+d :TemplateBox[{y}, Norm]<=1} 的、可放入凸多边形内的面积最大的椭圆:

凸多边形的每个边可以表示为半平面 的交点:

把参数化应用到半平面给出 sup{(a_i.C).y:TemplateBox[{y}, Norm]<=1}+a_i.d<=b_i. 其中 sup{(a_i.C).y:TemplateBox[{y}, Norm]<=1}=sup{TemplateBox[{{{a, _, i}, ., C}}, Norm]TemplateBox[{y}, Norm]Cos(theta):TemplateBox[{y}, Norm]<=1}=TemplateBox[{{{a, _, i}, ., C}}, Norm]. 因此,约束条件为  TemplateBox[{{{a, _, i}, ., C}}, Norm]+a_i.d<= b_i,它等价于

最小化面积等于最小化 ,它等价于最小化 -Tr(C)

把参数化椭圆转换成显式格式

求由 给定的包围三个椭圆(形式为 )的圆盘的中心 和半径

通过 S-procedure,可得出当且仅当 ,圆盘才包含椭圆:

目的是最小化由 给定的半径 . 使用辅助变量 ,目标变为最小化使得 ,可以写为

求圆盘的中心和半径:

圆盘为:

把椭圆的二次格式转换成显式格式

可视化结果:

验证椭球是否是另一个形式为 的椭球的子集:

通过 S-procedure,可得出当且仅当 ,椭圆 2 才是椭圆 1 的子集::

检查条件是否满足:

把椭球转换为显式格式并确认椭圆 2 在椭圆 1 内:

移动椭球 2 使其与椭球 1 重叠:

测试显示问题是不可行的,表明椭球 2 不是椭球 1 的子集:

分类问题  (2)

求分隔两组点 的椭圆:

如果想要分隔两组点,集合 1 必须满足 . 集合 2 必须满足

求分隔椭球的系数:

可视化结果:

求可分隔两组点 的最接近于圆的椭圆:

如果想要分隔两组点,集合 1 必须满足 ,集合 2 必须满足

对于尽可能接近于圆的椭圆,约束条件为

通过最小化 求分隔椭圆的系数:

可视化结果:

图问题  (3)

使用半定优化可计算的 Lovász 数被用作硬计算图不变量的边界:

Lovász 数是图的香农容量的上界:

根据 Lovász 三明治理论:

的 Lovász 数 给出,其中,,对于 . 可以写成对偶半定格式:, ,受限于 ,否则为 0:

比较 GraphData 中确切的 Lovász 数值:

求当没有精确值时, 的近似结果:

求随机图的

矩阵切割问题确定图的顶点 的子集 ,从 跨到补集 的边的权重 之和被最大化. 对于 ,让 ,对于 ,让 . 最大化 ,其中, 是图的拉普拉斯矩阵:

对于较小的情况,最大切割问题可以被精确地解决,但是对于较大的图来说,这是不切实际的,因为一般来说,这个问题具有NP-完备复杂度:

问题最小化 ,其中,Y=x.TemplateBox[{x}, Transpose] 是对称秩-1正半定矩阵,对于每个 ,等价于 ,其中, 是在第 个对角位置为 1 ,其他为 0 的矩阵. 为了使解决方案切实可行,求解松弛问题,其中,秩-1 条件被消除. 对于该 ,通过随机舍入构建切割: 分解 Y=U TemplateBox[{U}, Transpose],令 是单位范数的均匀分布的随机向量,并且令 . 对于演示,显示松驰值的函数被定义, 中舍入值和带有顶点的图显示为红色:

使用之前显示的程序查找近似最大切割,并与确切结果进行比较:

找到网格图的最大切割:

找到随机图的最大切割:

比较彼得森图的松弛和精确算法的时间:

求指定的图(顶点为 )的子集 ,使得从 到补集 的边的权重 的和最大化. 指定图:

目标是最大化 ,其中 Y=x.TemplateBox[{x}, Transpose] 是对称的 rank-1 正半定矩阵, 是图的拉普拉斯矩阵:

对于 ,设 ,对于 ;则

去除 rank-1 矩阵的假设,对产生的最大割问题进行求解:

提取子集

显示图的子集:

控制和动力系统问题  (3)

显示线性动力系统 对任何初始条件都是渐近稳定的. 当且仅当存在一个正定矩阵 使得 ,其中, 被称为 Lyapunov 函数,则认为该系统是稳定的:

微分 Lyapunov 函数 给出 . 因此,稳定条件是

求矩阵

的特征值均是负数,制作矩阵负定,证明稳定性:

由于系统的解析解是 ,因此在数值上验证任何系统在任何初始条件下都将变为零. 对于此模拟,取 :

找到一个控制器 ,使得闭环系统 稳定:

使用 Lyapunov 稳定性定理,目标是找到矩阵 使之满足稳定性约束 . 令 ,第一个约束成为适当的半定约束

找到矩阵

控制矩阵可以计算为

如果 的特征值的实部为负,则闭环系统是稳定的:

执行数字计算以查看系统是否稳定:

找到动力系统 的 Lyapunov 函数:

目标是找到 使得 ,其中 是单项式的向量:

构造矩阵

为了稳定性,

匹配系数,使得它们对于 都是正的,对于 是负的:

找到矩阵

Lyapunov 函数由下式给出:

可视化 Lyapunov 函数. 函数的最小位置与吸引子的位置匹配:

结构优化问题  (1)

设计一个最小重量的桁架,一端固定在墙上,必须能够承受另一端的负载:

可以用 link 和节点对桁架进行建模. 每个节点通过 link 连接到相邻节点. 指定节点位置

指定锚定到墙上的节点:

指定要施加负载的节点:

指定通过 link 相互连接的节点,并计算每个 link 的长度:

可视化未优化的桁架:

link 为圆杆. 每个 link 必须从一组横截面为 的圆杆中选择. 设 为每个link 的决策变量,如果 ,则圆杆 被选中. 对于 link ,面积被定义为 . 目标是最小化重量:

选择圆杆的约束条件为:

每个link 只能选择一个圆杆. 二进制约束条件为:

给出不是锚定点的节点的索引:

系统的刚度矩阵由 给出,其中 是节点的总数, 是锚定的节点的数量, 是所有 link 的集合. 如果 ,向量 ;如果 ,否则为 0:

为整个系统的受力向量. 在每个没有被锚定的节点处,受力为 . 在节点 处施加力:

为任何节点处允许的最大的挠度. 设 为节点 的位移;那么,如果 ,则有 ,其中 是与 link 关联的刚度矩阵:

收集所有变量:

求桁架的最优结构:

提取构成最优桁架的 link:

可视化最优桁架. 对于构成最优桁架的 link,基于使用的圆杆的面积对其着色:

属性和关系  (8)

SemidefiniteOptimization 给出了目标函数的全局最小值:

在可行区域上绘制具有最小值的目标函数:

Minimize 为半定问题提供全局精确结果:

SemidefiniteOptimization 相比:

NMinimize 用于使用全局方法获得不精确的结果:

FindMinimum 可用于使用局部方法获取不精确的结果:

ConicOptimizationSemidefiniteOptimization 更通用:

SecondOrderConeOptimizationSemidefiniteOptimization 的一个特例:

QuadraticOptimizationSemidefiniteOptimization 的一个特例:

使用辅助变量 并使用附加约束 最小化

LinearOptimizationSemidefiniteOptimization 的一个特例:

可能存在的问题  (5)

最优点的约束条件应满足容差:

使用默认选项时,约束条件的容差为 10-8:

空集或不可行问题的最小值被定义为 :

最小值点是 Indeterminate:

无界集合或无界问题的最小值为

最小值点是 Indeterminate:

混合整数问题的对偶相关解属性可能不可用:

尽管约束矩阵可以是埃尔米特矩阵,但变量必须是实数:

Vectors[n] 自动运算为 Vectors[n,Complexes]

对于规范中没有复数的问题,向量变量 v Vectors[n] 被认为是实值的;否则,您需要明确地将域指定为 Vectors[n,Reals]

Wolfram Research (2019),SemidefiniteOptimization,Wolfram 语言函数,https://reference.wolfram.com/language/ref/SemidefiniteOptimization.html (更新于 2020 年).

文本

Wolfram Research (2019),SemidefiniteOptimization,Wolfram 语言函数,https://reference.wolfram.com/language/ref/SemidefiniteOptimization.html (更新于 2020 年).

CMS

Wolfram 语言. 2019. "SemidefiniteOptimization." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2020. https://reference.wolfram.com/language/ref/SemidefiniteOptimization.html.

APA

Wolfram 语言. (2019). SemidefiniteOptimization. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/SemidefiniteOptimization.html 年

BibTeX

@misc{reference.wolfram_2024_semidefiniteoptimization, author="Wolfram Research", title="{SemidefiniteOptimization}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/SemidefiniteOptimization.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_semidefiniteoptimization, organization={Wolfram Research}, title={SemidefiniteOptimization}, year={2020}, url={https://reference.wolfram.com/language/ref/SemidefiniteOptimization.html}, note=[Accessed: 22-November-2024 ]}