主要内容

什么是平行计算的优化工具箱

并行优化功能

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

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

  • 粉刺

  • Fminunc.

  • Fgoalattain

  • fminimax

  • FSOLVE.

  • lsqcurvefit.

  • lsqnonlin

这些求解器在以下条件下使用并行梯度估计:

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

  • 选项specifyobjectivegradient.被设置为错误的,或者,如果存在非线性约束函数,则选项specifyConstraintGRadient.被设置为错误的。自从错误的是这些选项的默认值,您不必设置它们;只是不要将它们设置为真正的

  • 并行计算已启用parpool.,并行计算工具箱功能。

  • 选项使用指α.被设置为真正的。此选项的默认值是错误的

当这些条件成立时,求解器并行计算估计的梯度。

笔记

即使在并行运行时,求助偶尔偶尔均串联呼叫主机机器的目标和非线性约束函数。因此,确保您的功能对是否在串行或并行评估时没有假设。

梯度的并行估计

一个求解器子程序可以自动计算:估计目标函数和约束函数的梯度的子例程。此计算涉及在当前位置附近的点处计算功能值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.一世方向

估计FX并行,优化工具箱溶剂分配评估FX一世E.一世) - - -FX)/δ一世额外的处理器。

并行中央差异

您可以选择具有由中央有限差别估计的渐变,而不是默认的前向有限差​​异。基本的中央有限差分公式是

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 ]

这需要两倍的函数评估,因为前向有限差​​异,但通常更准确。中央有限差异并行工作与前向有限差​​异完全相同。

通过使用使中心有限差分生效优化选择设置finitedifferenceType.选项“中央”。若要使用前向有限差分,请设置finitedifferenceType.选项'向前'

嵌套并行功能

求解器采用并行计算工具箱功能议案(并行计算工具箱)执行梯度的并行估计。议案从另一个人调用时不正常工作议案环形。因此,您不能同时使用目标或约束函数中的并行梯度估计和并行功能。

笔记

文档建议不要使用议案Parfeval.调用simulink时万博1manbetx®;看到在Parcol中使用SIM功能(万博1manbetxSimulink)。因此,您可能会在使用Solver内置并行功能并行优化Simulink仿真时遇到问题。万博1manbetx

例如,假设您的客观函数Userfcn.呼叫议案,你想打电话给我粉刺在一个循环中。并假设平行梯度求值的条件粉刺,如上所述并行优化功能,满意。当Parcor并行运行时显示了三种情况:

  1. 最外面的循环是议案。只有这个循环是并行运行的。

  2. 最外面的议案循环在粉刺。仅有的粉刺并行运行。

  3. 最外面的议案循环在Userfcn.Userfcn.可以使用议案在平行下。

当Parcor并行运行时

也可以看看

||