surrogateopt:点索引不支持这种类型的变量。万博1manbetx

4视图(30天)
我想我在脚本中使用函数surrogateopt提交计算机集群。我不想画出解决进展。为了说明问题,我有,我将使用玩具代码“Minimization_test.m”:
minobj = @ (xj) (xj + 2) ^ 2;
lbe = [-20];
宇部= [20];
选择= optimoptions (@surrogateopt,“PlotFcn”[],“MaxFunctionEvaluations”,600);
xj = surrogateopt (minobj lbe、宇部[],选择)
这个脚本正常工作在我的电脑(matlab 2020)和集群(matlab 2020)如果创建交互式matlab会话。
然而,我得到一个错误,如果我要求作业调度程序粘执行该脚本很多。我粘脚本读取很多:
# ! / bin / bash
# SBATCH - t 1:00:00
# SBATCH——mem = 1 g
# SBATCH - j matlab
# SBATCH - o slurm.out
Matlab / R2020a模块加载
matlab -nojvm -nodisplay -singleCompThread - r Minimization_test
如果我提交这份工作,我得到以下错误输出文件:
点索引不支持这种类型的变量。万博1manbetx
globaloptim.bmo.solver误差
globaloptim.bmo.createSolver误差
在globaloptim.bmo错误。BlackboxModelOptimizer(第92行)
自我=
globaloptim.bmo.createSolver(自我,昂贵,磅,乌兰巴托,intcon选项);
错误surrogateopt > createController(第329行)
控制器=
globaloptim.bmo.BlackboxModelOptimizer(贵,磅,乌兰巴托,intcon选项);
错误surrogateopt(第292行)
控制器= createController (objconstr、磅、乌兰巴托、intcon选项);
错误Minimization_test(第5行)
xj = surrogateopt (minobj lbe、宇部[],选择)
9日评论
Farhad Omidvar
Farhad Omidvar 2020年9月22日
谢谢你,沃尔特,建议。
看到他们之前,我提交的工作运行在MATLAB / 2020 (2018 b版本insteaad)和神奇的有固定的问题。

登录置评。

接受的答案

沃尔特·罗伯森
沃尔特·罗伯森 2020年9月22日
删除-nojvm解决问题(目前原因不明。)
1评论
丹尼尔Rischawy
丹尼尔Rischawy 2020年10月27日
不幸的是我也有同样的问题。但是我得到的错误如果我和并行计算通常在Matlab2019a运行代理。随机错误的出现在大约200 - 300的迭代。示例任务代理,然而,没有造成任何问题。因此我认为它应该与我的目标函数或并行计算,但我不明白为什么发生错误的原因和随机。原因可能是我使用的Java版本或Matlab版本吗?提前谢谢。
问候

登录置评。

更多的答案(0)

类别

找到更多的在代理优化帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!