Mathematica > 数学和算法 > 最优化 > FindMinimum >
Mathematica > 数学和算法 > 图与网络 > 图编程 > 最优化 > FindMinimum >
Mathematica > 可视化与图形 > 图与网络 > 图编程 > 最优化 > FindMinimum >

FindMinimum

FindMinimum
搜索 f 的局部极小值,从一个自动选定的点开始.
FindMinimum
搜索 f 的局部最小值,初始值是 .
FindMinimum
搜索多元函数的局部最小值.
FindMinimum
搜索约束条件 cons 下局部最小值.
FindMinimum
初始值在约束条件定义的区域内.
  • FindMinimum 返回 形式的列表,其中 是找到的 f 最小值,且 是要找的 x 值.
  • 如果变量的初始值是以列表形式给出,变量值采用相同维数的列表.
  • 约束条件 cons 可以包含方程、等式或这些表达式的逻辑组合.
  • FindMinimum 首先局部化所有变量值,然后计算符号变量 f,然后重复进行计算数值结果.
  • FindMinimum 作为 x 的前 2 个值搜索 f 的局部最小值,避免使用导数.
  • FindMinimum 搜索局部最小值,如果 x 超出了 的范围,停止搜索.
  • 除了当 fcons 都是线性的,FindMinimum 的结果可能是局部的,但不是全局的最小数.
  • 在默认情况下,所有变量都假定为实数.
  • 对于线性 fconsxIntegers 可以用来指定一个变量仅采用整数值.
  • 可以给出下列选项:
AccuracyGoalAutomatic搜索的准确度
EvaluationMonitorNonef 计算时,计算的表达式
GradientAutomaticf 梯度分量的列表
MaxIterationsAutomatic使用最大迭代数
MethodAutomatic使用的方式
PrecisionGoalAutomatic搜索的精度
StepMonitorNone每个步骤计算的表达式
WorkingPrecisionMachinePrecision内部计算的精度
搜索一个局部最小值,初始值为
提取 的局部最小值:
求局部最小值,初始值为 ,在约束条件 下:
求一个线性函数的最小值,在线性和整数条件下:
搜索一个局部最小值,初始值为
In[1]:=
Click for copyable input
Out[1]=
In[2]:=
Click for copyable input
Out[2]=
提取 的局部最小值:
In[3]:=
Click for copyable input
Out[3]=
 
求局部最小值,初始值为 ,在约束条件 下:
In[1]:=
Click for copyable input
Out[1]=
 
求一个线性函数的最小值,在线性和整数条件下:
In[1]:=
Click for copyable input
Out[1]=
不同的初始值,您可以获得不同的局部最小值:
一个 2 元函数的最小值,初始值为
限制在一个圆盘内的局部最小值:
不提供初始值:
对线性目标和约束条件,加上整数约束条件:
可以指定 Or 约束条件:
这指定收敛规则
这指定收敛规则 ,在缺省的机器精度计算中不可能达到:
设置一个高 WorkingPrecision,使过程收敛:
绘制收敛于局部最小值:
使用一个给定的梯度; 自动地计算 Hessian:
同时提供梯度和 Hessian:
在这个例子中,用缺省的基于导数的方式会有困难:
在这些例子中,不需要导数的直接搜索方式会有帮助:
NMinimize 也可以使用直接搜索方式的范围:
在求传统 Rosenbrock 函数最小值中,FindMinimum 采用的步骤:
设置工作精度为 ;缺省情况下 AccuracyGoalPrecisionGoal 设置为
优化资产配置:从 1973 年到 1994 年,长期债券和 S&P 500 指数的周年申报表 () 分析:
计算均值和协方差:
为了减少波动,实现了10 %的回报,通过组合股票和债券,两个资产最优的百分比是:
FindMinimum 尽可能返回一个局部最小值,NMinimize 尽可能求一个全局最小值:
Minimize 求全局最小值,并在无穷精度下计算:
FindMinimum 给出最小值和产生最小值的点:
FindArgMin 给出最小值的位置:
FindMinValue 给出最小值:
用机器精度算法,甚至具有平滑最小值的函数看起来会崎岖不平的:
超出机器精度通常可以避免这类的问题:
如果限定区域为空,算法不会收敛:
如果最小值不是有限的,算法不会收敛:
整数的线性程序算法仅对机器数问题有效:
某些时候提供一个适当的初始值,对收敛算法会有帮助:
符号计算函数可能很耗时:
限制函数定义可防止符号计算:
版本 1 的新功能 | 版本 6 修改功能
Ask a question about this page  |  Suggest an improvement  |  Leave a message for the team
格式:   HTML  |  CDF