FindArgMin

FindArgMin[f,x]

给出 f 的一个局部最小值的坐标 xmin.

FindArgMin[f,{x,x0}]

给出 f 的一个局部最小值的坐标 xmin,通过从点 x=x0 开始搜索求出.

FindArgMin[f,{{x,x0},{y,y0},}]

给出多元函数的一个局部最小值的坐标 {xmin,ymin,}.

FindArgMin[{f,cons},{{x,x0},{y,y0},}]

给出约束 cons 下的一个局部最小值的坐标.

FindArgMin[{f,cons},{x,y,}]

在约束定义的区域内的一个点开始.

更多信息和选项

  • FindArgMin[,{x,y,}] 实际上等价于 {x,y,}/.Last[FindMinimum[,{x,y,},].
  • 如果一个变量的起点以列表形式给出,则变量值采用有相同维的列表.
  • 约束条件 cons 可以包含方程、等式或这些表达式的逻辑组合.
  • 约束条件 cons 可以是下列任意的逻辑组合:
  • lhs==rhs方程
    lhs>rhs 或者 lhs>=rhs 不等式
    {x,y,}reg范围指定
  • FindArgMin 首先局部化所有变量值,然后计算符号变量 f,然后重复进行计算数值结果.
  • FindArgMin 有属性 HoldAll,并实际上用 Block 局部化变量.
  • FindArgMin[f,{x,x0,x1}]x0x1 作为 x 的前 2 个值搜索 f 的局部最小值,避免使用导数.
  • FindArgMin[f,{x,x0,xmin,xmax}] 搜索局部极大值,如果 x 超出了 xminxmax 的范围,停止搜索.
  • 除了当 fcons 都是线性的,FindArgMin 的结果可能是局部的,但不是全局的最小数.
  • 在默认情况下,所有变量都假定为实数.
  • 对于线性 fconsxIntegers 可以用来指定一个变量仅采用整数值.
  • FindArgMin 具有和 FindMinimum 相同的选项.
  • 所有选项的列表

范例

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

基本范例  (4)

求出点 {x},在该点一元函数 2x^2+3x-5 有一个最小值:

求出点 {x,y},在该点函数 Sin[x]Sin[2y] 有一个最小值:

求出一个点,在该点函数在约束条件下有一个最小值:

在一个几何区域上,求函数的最小值所在的点:

绘制图线:

范围  (12)

在不同起点下,得到不同局部最小值的坐标:

x=2y=2 点开始,二元变量函数的一个局部极小值的坐标:

约束在一个圆内的一个局部最小值的坐标:

不提供起点:

对于线性对象和约束条件,可以加上整数约束条件:

可以指定 Or 约束:

求一个范围内的最小值:

绘制图线:

求实现两个区域直接最小距离的点:

绘制图线:

的最小值,以使得矩形和椭圆仍然相交:

绘制图线:

求包含给定三个点的具有最小半径的圆盘:

绘制图线:

使用 Circumsphere 直接给出相同结果:

使用 指定 中的一个向量:

求两个区域之间的最短距离:

绘制图线:

选项  (7)

AccuracyGoal 和 PrecisionGoal  (2)

下面指定收敛规则 TemplateBox[{{{x, _, k}, -, {x, ^, *}}}, Norm]<=max(10^(-9),10^(-8)TemplateBox[{{x, _, k}}, Norm])TemplateBox[{{del , {f, (, {x, _, k}, )}}}, Norm]<=10^(-9)

下面指定收敛规则 TemplateBox[{{{x, _, k}, -, {x, ^, *}}}, Norm]<=max(10^(-20),10^(-18)TemplateBox[{{x, _, k}}, Norm])TemplateBox[{{del , {f, (, {x, _, k}, )}}}, Norm]<=10^(-20)

提高 WorkingPrecision,将使得过程收敛:

EvaluationMonitor  (1)

绘制收敛于局部最小值:

Gradient  (1)

下面用给定梯度,自动计算 Hessian:

下面用提供的梯度和 Hessian:

Method  (1)

在这个例子中,用默认的基于导数的方式会有困难:

在这些例子中,不需要导数的直接搜索方式会有帮助:

NMinimize 也可以使用直接搜索方式的范围:

StepMonitor  (1)

在求函数的最小值过程中, FindArgMin 采用的步长:

WorkingPrecision  (1)

设置工作精度为 ;默认情况下 AccuracyGoalPrecisionGoal 设置为

属性和关系  (1)

FindMinimum 给出最小点和最小点的值:

FindArgMin 给出最小值的坐标:

FindMinValue 给出最小点的值:

可能存在的问题  (4)

如果限定区域为空,算法不会收敛:

如果最小值不是有限的,算法不会收敛:

整数的线性程序算法仅对机器数问题有效:

某些时候提供一个适当的初始值,对收敛算法会有帮助:

Wolfram Research (2008),FindArgMin,Wolfram 语言函数,https://reference.wolfram.com/language/ref/FindArgMin.html (更新于 2014 年).

文本

Wolfram Research (2008),FindArgMin,Wolfram 语言函数,https://reference.wolfram.com/language/ref/FindArgMin.html (更新于 2014 年).

CMS

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

APA

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

BibTeX

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

BibLaTeX

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