ParametricConvexOptimization

ParametricConvexOptimization[f,cons,vars,pars]

给出一个 ParametricFunction 对象,它能求出可最小化受含有参数 pars 的凸约束条件 cons 限制的凸目标函数 f 的变量 vars 的值.

ParametricConvexOptimization[,"prop"]

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

更多信息和选项

  • 参数化条件下的凸优化是针对凸函数的全局非线性优化,凸函数和凸约束条件均依赖于参数. 对于给定的参数值,求全局最优值.
  • 对许多不同的参数值进行优化时,通常会使用参数化条件下的凸优化. 给出的范例包括分析最佳值如何取决于参数,计算向量优化的最佳值的帕累托曲面以及用于随机优化的采样方法.
  • ParametricConvexOptimizationParametricFunction 对象的形式给出结果.
  • 如果 是凹的,ParametricConvexOptimization[-g,cons,vars,pars] 可用于最大化 g.
  • 对于给定参数 ,参数化条件下的凸优化给出可求解以下问题的
  • 最小化
    受以下约束条件限制
    其中x 的凸函数
  • 可将形为 的等式约束条件包括在 cons 中.
  • 约束条件 cons 只可包含取决于参数的约束条件 . 这些条件被用于将返回的 ParametricFunction 的定义域限制为满足这些约束条件的区域.
  • 在可能的情况下,使用符号敏感度和数字敏感度方法的组合来计算所得 ParametricFunction 对象关于参数的导数.
  • 变量和参数指定 varspars 都应该是列表,其中的元素应给出以下形式的变量或参数:
  • v名为 的维度由推断而得的变量或标量参数
    vReals实标量变量
    vIntegers整数标量变量
    vComplexes复标量变量
    v限制于几何区域 的向量变量
    vVectors[n,dom]TemplateBox[{}, Complexes]^n 中的向量变量
    vMatrices[{m,n},dom]TemplateBox[{}, Complexes]^(m x n) 中的矩阵变量
  • ParametricConvexOptimization 自动进行必要的转换,以找到求解最小化问题的高效方法.
  • 原始最小化问题有相关的最大化问题,即拉格朗日对偶问题. 对偶最大值始终小于或等于原始最小值,因此它给出了下限. 对偶最大值点提供了有关原始问题的信息,包括最小值对约束条件变化的敏感性.
  • 可能的解的属性 "prop" 包括:
  • "PrimalMinimizer"最小化 的变量值列表
    "PrimalMinimizerRules"最小化 的变量 vars={v1,} 的值
    "PrimalMinimizerVector"最小化 的向量
    "PrimalMinimumValue"最小值
    "DualMaximizer"最大化对偶问题的向量
    "DualMaximumValue"对偶最大值
    "DualityGap"对偶值和原始最优值之间的差
    "Slack"将不等式约束条件转化为等式约束条件的向量
    "ConstraintSensitivity"
    对约束条件扰动的敏感性
    {"prop1","prop2",} 解的几个属性
  • 可给出以下选项:
  • MaxIterationsAutomatic使用的最大迭代次数
    MethodAutomatic使用的方法
    PerformanceGoal$PerformanceGoal优化的目标
    ToleranceAutomatic内部比较采用的容差
    WorkingPrecisionMachinePrecision内部计算使用的精度
  • 选项 Methodmethod 可用来指定使用的方法. 可用的方法包括:
  • Automatic自动选择方法
    solver可能的情况下,对问题进行转化,以便使用 solver 求解问题
    "SCS"SCS (splitting conic solver)
    "CSDP"CSDP (COIN semidefinite programming)
    "DSDP"DSDP (semidefinite programming)
  • Methodsolver 可以用来指定使用特定的求解器,以便所用的对偶问题对应于适合于用 solver 求解的问题. 可能的求解器有 LinearOptimizationLinearFractionalOptimizationQuadraticOptimizationSecondOrderConeOptimizationSemidefiniteOptimizationConicOptimizationGeometricOptimization.
  • 默认情况下,求得的解由 ParametricFunction 缓存.
  • Method{method,"ParametricCaching"None} 可用于防止为节省内存对解进行缓存.

范例

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

基本范例  (2)

在约束条件集上绘制参数化函数的最小值:

最小化受线性约束条件限制的 TemplateBox[{{x, -, y}}, Abs]

范围  (32)

基本用法  (16)

最小化受含有参数 限制的

最小化受含有参数 限制的

最小化受含有参数 限制的

VectorLessEqual 一次性表示几个 LessEqual 不等式约束条件:

v<= 以紧凑格式输入向量不等式:

用标量不等式表示的等价格式:

VectorGreaterEqual 同时表示几个 GreaterEqual 不等式约束条件:

v>= 以紧凑格式输入向量不等式:

用标量和向量不等式的组合指定约束条件:

用标量不等式表示的等价格式:

用向量变量和向量不等式指定问题:

最小化受含有参数 的约束条件 限制的函数

Indexed 指定向量变量的分量,如 TemplateBox[{x, 1}, IndexedDefault]

用常参数方程指定目标函数和约束条件的系数:

最小化受含有参数 的约束条件 限制的函数

必要情况下用 Vectors[n,Reals] 指定向量变量的维度:

NonNegativeReals (TemplateBox[{}, NonNegativeReals]) 指定非负约束条件:

用向量不等式表示的等价格式:

NonPositiveReals (TemplateBox[{}, NonPositiveReals]) 指定非正约束条件:

Interval 指定边界:

Vectors[n,Reals] 指定向量参数:

指定参数的约束条件以确保可行性:

时无法满足约束条件:

指定参数的约束条件以确保目标函数和/或约束条件是凸的:

如果没有对参数指定额外的约束条件,无法确定凸性:

整数变量和参数  (6)

Integers 指定整数域约束条件:

可视化参数对最小值的依赖性:

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

NonNegativeIntegers () 指定非负整数域约束条件:

NonPositiveIntegers () 指定非正整数约束条件:

Integers 对参数指定整数域约束条件:

如果为参数提供了非整数值,则会发出一条消息:

Vectors[n,Integers] 指定向量变量参数的整数域:

复数变量和参数  (3)

Complexes 指定复变量和参数:

最小化含有复变量和复约束条件 的实目标函数 Re(z)

. 将约束条件展开为实的分量,则有:

指定含有向量参数 theta in Vectors[2,R] 的实值目标函数:

,求解问题:

Vectors[n,Complexes] 指定 -维复向量变量和参数:

参数化敏感性  (3)

绘制最小值关于参数的导数:

求最小二乘拟合系数对数据异常值的敏感性:

定义一个函数,给出作为测量值 的函数的拟合系数的残差、斜率和截距 {r,m,b}

显示数据与最小二乘拟合:

定义一个函数,给出关于第一个测量值的导数,并针对数据值进行计算:

定义一个函数,给出关于第五个测量值的导数,并针对数据值进行计算:

拟合对第五个值的敏感度远小于第一个值.

显示最小值点如何随目标向量 的方向变化而变化:

定义一个函数,获取最小值点关于 的 Jacobian 矩阵:

考虑方向 的参数化. 关于 的导数由 给出:

显示最小值点与关于 的导数向量,以及由 取个别值时的约束条件定义的凸区域:

导数向量与边界相切.

原始模型属性  (2)

对不同的参数 ,在圆盘 上最小化 Cos(3α)x+Sin(2α)y

获取规则形式的原始最小值点:

获取向量形式的原始最小值点:

显示最小值点的位置是如何随 变化的:

获取原始最小值:

绘制作为 的函数的最小值:

用上镜图变换获取原始最小值:

最小值点 处的不等式约束条件 的松弛由 给出:

提取最小值点和锥约束条件仿射列表:

验证松弛满足

对偶模型属性  (2)

最小化受含有参数 的约束条件 限制的

对偶问题是最大化受 限制的

由于强对偶性,原始最小值和对偶最大值重合:

这相当于对偶间隙为零. 一般情况下,在最优值点

用解的属性直接获取最大值和最大值点:

可用下式获取 "DualMaximizer"

对偶 maximizer 向量的组成与对偶圆锥的数量和维数匹配:

应用  (9)

迭代优化  (1)

求使得从 椭圆 到点 (1,2) 的距离尽可能小的参数

显示作为 的函数的距离:

求最小距离:

求含有最近的点的椭圆:

可视化两个点相对于椭圆盘的位置:

几何问题  (2)

最大化矩形的面积,其周长最多为 1,高宽比为

对函数取负,给出面积:

绘制作为 的函数的最大面积:

最大化最大面积:

不出所料,最佳形状是正方形. 注意该消息是因为函数的值是近似值,因此在最大值附近变化较大:

求半径为 1、圆心为 (,是一个向量参数) 的两个圆盘之间的最小距离. 令 为圆盘 1 上的一个点. 令 为圆盘 2 上的一个点. 目标是最小化受约束条件 限制的

例如,如果

现在绘制参数值取 之间的任意值时两个圆盘之间的最小距离:

数据拟合问题  (2)

求当样本误差 为正态分布时线性拟合系数的近似分布:

ParametricFunction 给出与特定误差值对应的拟合系数

生成 1000 个样本实例:

计算每个实例没有正则化的拟合系数,并求系数的分布:

显示分布的 PDF 以及数据的直方图:

与 L1 拟合相比较:

求最小化非线性离散数据的 拟合的残差的高斯宽度参数

用基 拟合数据:

将用 来近似函数:

构造一个给出残差的参数化函数:

显示作为 的函数的残差:

求最小残差:

获取与最小残差相对应的拟合系数:

显示拟合及数据:

最佳宽度基元素有明显的重叠:

投资组合优化  (1)

求如何在六只股票之间分配资本 ,在最大程度地降低风险的同时最大化回报:

回报为 ,其中 是由每只股票的预期回报值组成的向量:

风险由 给出; 为风险规避参数,且

目标是最大化收益,同时在指定的风险规避参数 的情况下最大程度地降低风险:

可用 模拟买卖股票对股票市场价格的影响,该模型通过上镜图变换用幂锥来模拟:

权重 必须大于 0,权重加上市场影响成本必须加起来为 1:

构建参数化函数:

为一系列风险规避参数计算收益和相应的风险:

范围 内最佳的 给出在收益和风险之间折衷的上限:

计算指定数量的风险规避参数的权重:

通过考虑市场成本,可以获得低风险规避参数的多样化投资组合,但是当风险规避参数较高时,由于购买分散程度较低的股票,市场影响成本占主导地位:

轨迹优化问题  (2)

最小化受 限制的 . 可使用梯形法则近似最小化函数积分. 离散化的目标函数为

可用有限差分离散化约束条件

可用 Indexed 函数表示约束条件

可用有限差分离散化约束条件,只使用了第一行和最后一行:

解离散化的轨迹问题:

针对一定范围内的参数 可视化结果:

针对一定范围内的参数 可视化二阶导数

求两点之间的最短路径,同时避开障碍物. 指定障碍物:

为了避免与障碍物的边相交,可对区域进行放大,但结果将对原始区域有效:

获取一组包围放大后的障碍物的线性不等式:

起始点由参数 给出,终点是固定的:

可用 个点离散化路径. 令 表示位置向量:

目标是最小化 . 令 . 目标函数被转化为

指定起点和终点约束条件:

相邻两点之间的距离不应太大:

如果 中至少有一个元素小于零,则点 在障碍物之外. 为了强制实行该约束条件,令 为决策变量, 的第 个元素,使得 ,则 足够大,可满足

对于不同的起点,生成求解优化问题的参数化函数:

计算并显示各种起点情况下的路径:

约束条件测试  (1)

定义一个函数,测试点是否属于由约束条件定义的集合:

设置函数测试点是否属于由 {x+ 2y<=1,TemplateBox[{{{, {{4, x}, ,, {5, y}}, }}}, Norm]<=6} 定义的集合:

原点被包含在内:

测试一组随机生成的点:

可能存在的问题  (1)

如果由于参数的原因而无法确定凸性,则无法形成参数化函数:

指定参数的约束条件,使凸性测试可以通过:

Wolfram Research (2020),ParametricConvexOptimization,Wolfram 语言函数,https://reference.wolfram.com/language/ref/ParametricConvexOptimization.html.

文本

Wolfram Research (2020),ParametricConvexOptimization,Wolfram 语言函数,https://reference.wolfram.com/language/ref/ParametricConvexOptimization.html.

CMS

Wolfram 语言. 2020. "ParametricConvexOptimization." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/ParametricConvexOptimization.html.

APA

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

BibTeX

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

BibLaTeX

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