如果您有多核处理器,可以使用并行处理提高处理速度。您可以使用并行计算工具箱™许可证建立一个平行池。有关并行计算工具箱软件的描述,请参阅开始使用并行计算工具箱(并行计算工具箱)。
假设您有双核处理器,并希望使用并行计算。在命令行输入此代码。
parpool.
马铃薯®使用Multicore Processor开始一池工人。如果之前设置了非默认群集配置文件,则可以通过输入此代码来强制执行多核(本地)计算。
Parpool('当地的')
笔记
根据您的偏好,Matlab可以自动启动并行池。要启用此功能,请选择并行>并行偏好在里面环境小组在家选项卡,然后选择自动创建并行池。
设置求解器以使用并行处理。
求解器 | 命令行设置 |
---|---|
GA. |
|
gamultiobj. |
|
多层的 |
或者
|
帕累托研究 |
|
partminleswarm. |
|
Patternsearch. |
|
代理人孔 |
|
从R2019A开始,当你设置的时候使用指α.
选择真的
那Patternsearch.
内部覆盖了USECOMPLETEPOLL.
设置为真的
所以它并行轮询。
使用适用的求解器时选项
,适用的求解器自动使用并行计算。
停止并行计算优化,设置使用指α.
到错误的
。要停止所有并行计算,请输入此代码。
删除(GCP)
笔记
文档建议不要使用议案
或者Parfeval.
调用simulink时万博1manbetx®;看在Parcol中使用SIM功能(万博1manbetxSimulink)。因此,您可能会在使用Solver内置并行功能并行优化Simulink仿真时遇到问题。万博1manbetx
如果网络上有多个处理器,请使用并行计算工具箱功能和MATLAB并行服务器™软件建立并行计算。
确保您的系统配置正确以进行并行计算。请咨询系统管理员,或参阅并行计算工具箱文档。
通过输入此代码执行基本检查,其中教授
是您的集群配置文件。
Parpool(教授)
工人必须能够访问您的客观函数文件,如果适用,则可以访问您的非线性约束函数文件。完成其中一个步骤以确保访问:
使用该文件将文件分发给工人parpool.
(并行计算工具箱)附加的文件
争论。在这个例子中,objfun.m.m.
是您的客观函数文件,还有混乱
是您的非线性约束函数文件。
Parpool('附加的文件',{'objfun.m'那'constrfun.m'});
工人访问自己的文件副本。
为您的目标或约束函数文件提供网络文件路径。
pctrunonall('addpathnetwork_file_path.')
工作人员通过网络访问功能文件。
检查文件是否位于每个工人的路径上。
pctrunonall('哪一个文档名称')
文档名称未找到。
设置求解器以使用并行处理。
求解器 | 命令行设置 |
---|---|
GA. |
|
gamultiobj. |
|
多层的 |
或者
|
帕累托研究 |
|
partminleswarm. |
|
Patternsearch. |
|
代理人孔 |
|
从R2019A开始,当你设置的时候使用指α.
选择真的
那Patternsearch.
内部覆盖了USECOMPLETEPOLL.
设置为真的
所以它并行轮询。
建立并行计算环境后,可在您称之为时,适用的求解器自动使用并行计算选项
。
停止并行计算优化,设置使用指α.
到错误的
。要停止所有并行计算,请输入此代码。
删除(GCP)
笔记
文档建议不要使用议案
或者Parfeval.
调用Simulink时;万博1manbetx看在Parcol中使用SIM功能(万博1manbetxSimulink)。因此,您可能会在使用Solver内置并行功能并行优化Simulink仿真时遇到问题。万博1manbetx
有一个Patternsearch.
搜索函数并行运行或混合函数GA.
或者Simulannealbnd.
并行运行,执行以下操作。
Patternsearch.
在以下条件下使用并行搜索功能:
USECOMPLESESEARCH.
是真的
。
搜索方法不是@searchneldermead.
或者风俗
。
如果搜索方法是一个Patternsearch.
民意调查方法或拉丁超级搜索,使用指α.
是真的
。设置在命令行中优化选择
:
选项= Optimoptions('patternsearch'那'使用指平行',真的,......'USECOMPLESESEARCH',真的,'searchfcn',@ gpspositivebasis2n);
如果搜索方法是GA.
,搜索方法选项具有使用指α.
设置真的
。设置在命令行中优化选择
:
iterlim = 1;%迭代限制,指定#ga运行gaopt = Optimoptions('Ga'那'使用指平行',真的);选项= Optimoptions('patternsearch'那'searchfcn'那......{@ searchga,iterlim,gaopt});
GA.
那partminleswarm.
, 和Simulannealbnd.
可以有其他求解器在迭代之后或穿插着他们的迭代。这些其他求解器称为混合函数。有关使用混合函数的信息gamultiobj.
, 看与Gamultiobj并行计算。两个都Patternsearch.
和粉刺
可以是混合函数。您可以设置选项Patternsearch.
并行运行,或粉刺
估计并行梯度。
如上所述,设置混合函数的选项混合函数选项为了GA.
那混合函数为了partminleswarm.
, 或者混合函数选项为了Simulannealbnd.
。总结:
如果您的混合函数是Patternsearch.
创建Patternsearch.
选项:
杂交= Optimoptions('patternsearch'那'使用指平行',真的,......'USECOMPLETEPOLL',真的);
设定GA.
或者Simulannealbnd.
使用选项Patternsearch.
作为混合函数:
选项= Optimoptions('Ga'那'使用指平行',真的);GA的百分比选项= Optimoptions('Ga',选项,......'hybridfcn',{@ patternsearch,hybridopts});%或者,对于Simulannealbnd:选项= Optimoptions(@simulannealbnd,'hybridfcn',{@ patternsearch,hybridopts});
有关并行的更多信息Patternsearch.
, 看模式搜索。
如果您的混合函数是粉刺
:
创建粉刺
选项:
杂交= Optimoptions(@Fmincon,'使用指平行',真的,......'算法'那'内点');%您可以使用除信任区域反光之外的任何算法
设定GA.
或者Simulannealbnd.
使用选项粉刺
作为混合函数:
选项= Optimoptions('Ga'那'使用指平行',真的);选项= Optimoptions('Ga',选项,'hybridfcn',{@ fmincon,杂交});%或者,对于Simulannealbnd:选项= Optimoptions(@simulannealbnd,'hybridfcn',{@ fmincon,杂交});
有关并行的更多信息粉刺
, 看并行计算。
按照以下步骤测试您的问题是否正常运行。
尝试在没有并行计算的情况下解决问题,以确保它串行运行。确保此测试成功(提供正确的结果),然后再进行下一个测试。
放使用指α.
到真的
,并确保通过输入不存在并行池删除(GCP)
。要确保MATLAB不会创建并行池,请选择并行>并行偏好在里面环境小组在家标签,然后清除自动创建并行池。你的问题运行议案
串行,循环迭代以相反的顺序为了
环形。确保此测试成功(提供正确的结果),然后再进行下一个测试。
放使用指α.
到真的
,并使用并行池使用parpool.
。除非您有多核处理器或网络设置,否则此测试不会提高处理速度。此测试只是验证计算的正确性。
请记得使用拨打您的求解器选项
测试或使用并行功能的参数。