并行计算是什么优化工具箱吗?
并行优化功能
并行计算的技术是使用多个处理器在一个单一的问题。使用并行计算的原因是速度计算。
以下优化工具箱™解决者可以自动分配数值梯度估计的目标函数和非线性约束函数多个处理器:
fmincon
fminunc
fgoalattain
fminimax
fsolve
lsqcurvefit
lsqnonlin
这些连接器使用并行梯度估计在下列条件:
你有一个许可证并行计算工具箱™软件。
的选项
SpecifyObjectiveGradient
被设置为假
,或者,如果有一个非线性约束函数,选择SpecifyConstraintGradient
被设置为假
。自假
这些选项的默认值,您不需要设置;只是不让他们两个真正的
。并行计算是启用的
parpool
,一个并行计算工具箱函数。的选项
UseParallel
被设置为真正的
。此选项的默认值假
。
当这些条件,解决并行计算梯度估计。
请注意
即使并行运行,偶尔会调用目标和解决非线性约束函数连续在主机上。因此,确保你的函数没有假设是否在串行或并行计算。
并行梯度估计
一个解决子程序可以自动并行计算:子程序估计目标函数和约束函数的梯度。这个计算是计算函数值在当前位置附近的点x。从本质上讲,计算
在哪里
f代表目标或约束功能
e我单位向量方向吗
Δ我一步的大小吗e我方向
估计∇f(x)同时,优化工具箱解决分配的评价(f(x+Δ我e我)- - -f(x))/Δ我额外的处理器。
平行的中央差异
你可以选择梯度估计中央有限差异而不是默认的向前有限的差异。基本的中心有限差分公式
这需要两倍的功能评估提出有限的差异,但通常是更准确的。中央有限差异并行工作一模一样向前有限的差异。
使中央通过使用有限的差异optimoptions
设置FiniteDifferenceType
选项“中央”
。使用有限的差异,设置FiniteDifferenceType
选项“前进”
。
嵌套并行功能
解决采用并行计算工具箱函数parfor
(并行计算工具箱)执行并行梯度估计。parfor
不能并行工作,从另一个parfor
循环。因此,你不能同时使用并行梯度估计和并行功能在你的目标或约束功能。
请注意
文档建议不使用parfor
或parfeval
当调用仿真软件金宝app®;看到在parfor使用sim函数(金宝app模型)。因此,您可能会遇到问题,优化并行仿真软件模拟使用并行解算器的内置功能。金宝app
例如,假设你的目标函数userfcn
调用parfor
,你想叫fmincon
在一个循环中。还假设的条件并行梯度评价fmincon
,鉴于并行优化功能,感到满意。当parfor并行运行显示了三种情况:
最外层的循环
parfor
。只是循环并行运行。最外层的
parfor
循环在fmincon
。只有fmincon
并行运行。最外层的
parfor
循环在userfcn
。userfcn
可以使用parfor
并行执行。
当parfor并行运行