主要内容

并行计算是什么优化工具箱吗?

并行优化功能

并行计算的技术是使用多个处理器在一个单一的问题。使用并行计算的原因是速度计算。

以下优化工具箱™解决者可以自动分配数值梯度估计的目标函数和非线性约束函数多个处理器:

  • fmincon

  • fminunc

  • fgoalattain

  • fminimax

  • fsolve

  • lsqcurvefit

  • lsqnonlin

这些连接器使用并行梯度估计在下列条件:

  • 你有一个许可证并行计算工具箱™软件。

  • 的选项SpecifyObjectiveGradient被设置为,或者,如果有一个非线性约束函数,选择SpecifyConstraintGradient被设置为。自这些选项的默认值,您不需要设置;只是不让他们两个真正的

  • 并行计算是启用的parpool,一个并行计算工具箱函数。

  • 的选项UseParallel被设置为真正的。此选项的默认值

当这些条件,解决并行计算梯度估计。

请注意

即使并行运行,偶尔会调用目标和解决非线性约束函数连续在主机上。因此,确保你的函数没有假设是否在串行或并行计算。

并行梯度估计

一个解决子程序可以自动并行计算:子程序估计目标函数和约束函数的梯度。这个计算是计算函数值在当前位置附近的点x。从本质上讲,计算

f ( x ) ( f ( x + Δ 1 e 1 ) f ( x ) Δ 1 , f ( x + Δ 2 e 2 ) f ( x ) Δ 2 , , f ( x + Δ n e n ) f ( x ) Δ n ] ,

在哪里

  • f代表目标或约束功能

  • e单位向量方向吗

  • Δ一步的大小吗e方向

估计f(x)同时,优化工具箱解决分配的评价(f(xe)- - -f(x))/Δ额外的处理器。

平行的中央差异

你可以选择梯度估计中央有限差异而不是默认的向前有限的差异。基本的中心有限差分公式

f ( x ) ( f ( x + Δ 1 e 1 ) f ( x Δ 1 e 1 ) 2 Δ 1 , , f ( x + Δ n e n ) f ( x Δ n e n ) 2 Δ n ]

这需要两倍的功能评估提出有限的差异,但通常是更准确的。中央有限差异并行工作一模一样向前有限的差异。

使中央通过使用有限的差异optimoptions设置FiniteDifferenceType选项“中央”。使用有限的差异,设置FiniteDifferenceType选项“前进”

嵌套并行功能

解决采用并行计算工具箱函数parfor(并行计算工具箱)执行并行梯度估计。parfor不能并行工作,从另一个parfor循环。因此,你不能同时使用并行梯度估计和并行功能在你的目标或约束功能。

请注意

文档建议不使用parforparfeval当调用仿真软件金宝app®;看到在parfor使用sim函数(金宝app模型)。因此,您可能会遇到问题,优化并行仿真软件模拟使用并行解算器的内置功能。金宝app

例如,假设你的目标函数userfcn调用parfor,你想叫fmincon在一个循环中。还假设的条件并行梯度评价fmincon,鉴于并行优化功能,感到满意。当parfor并行运行显示了三种情况:

  1. 最外层的循环parfor。只是循环并行运行。

  2. 最外层的parfor循环在fmincon。只有fmincon并行运行。

  3. 最外层的parfor循环在userfcnuserfcn可以使用parfor并行执行。

当parfor并行运行

Parfor只能在最外层循环并行运行

另请参阅

||