随笔分类 - 电磁 JSOP
摘要:问题1: 启动JSOP后,Matlab报错如下: 错误使用 COM.CSTStudio_application/NewMWS 错误: 远程过程调用失败。 解决方案: 在关闭CST之后不要马上运行JSOP,稍等片刻再运行。 问题2: JSOP在运行时,CST卡死不动 解决方案: 等待几分钟后,CST会
阅读全文
摘要:打开shell/GA.m,在倒数第6行处添加两行代码 %添加以下两行代码!!! global bests; bests=[(1:gen)',(best_points(1:gen))']; [a,b]=min(ObjV); bestChrom=Chrom(b,:); x=bs2rv(bestChrom
阅读全文
摘要:在使用JSOP进行优化时,需要一些自定义的函数来实现特定的功能,这些函数建议用户自行编写。当然也可以使用本人的提供的函数,这些函数存放在文件夹custom中(见1.2 准备工作),具体信息如下。 Ku_Cal_bandwidth 该函数用于计算S曲线的带宽,调用方式为Ku_Cal_bandwidth
阅读全文
摘要:运行JSOP,开始优化吸波结构,经过100代进化后,进化曲线如下 可以看到,种群在大约第35代开始收敛,最终收敛于-5.2。打开interface/result.txt,我们可以看到每一代的所有个体、平均适应度和最佳个体。 打开result.txt,找到倒数第二行,可以看到最终优化出的个体。 若要对
阅读全文
摘要:在JSOP中,每进行完一次仿真,仿真结果就会保存到JSOP/interface/rtdata.txt中,接着JSOP根据函数文件JSOP/interface/fit_CST.m从rtdata.txt中提取个体的适应度值,提取完毕后将rtdata.txt清空,以便存放下一次仿真的结果。 fit_CST
阅读全文
摘要:我们使用JSOP对一个吸波结构进行优化,吸波结构如下图所示。 将吸波结构的文件absorber.cst放入文件夹JSOP/interface/中,打开usr.m,设置如下 %仿真设置 model_name='absorber.cst'; %CST模型名称 result_route='1D Resul
阅读全文
摘要:在上一节中,我们将适应度函数设定为Rastrigin函数,现在我们就通过JSOP来寻找该函数的全局最小值(JSOP默认寻找函数的最小值而非最大值)。 打开usr.m,相关参数设置如下 %仿真设置 model_name='test.cst'; %CST模型路径 result_route='1D Res
阅读全文
摘要:在JSOP中,我们通过文件JSOP/interface/fit.m来定义适应度函数。 在这里,我们以2.1节介绍的Rastrigin函数为适应度函数,fit.m的代码如下 function y=fit(x) y=testfunction(x(1),x(2)); end 在上图的第一行中,x可以表示一
阅读全文
摘要:在1.1中,我们介绍了JSOP的架构,其中最外层为接口,包括JSOP/interface/usr.m和JSOP/interface/fit.m 打开usr.m,我们可以看到,usr分为四个部分:仿真设置,变量设置,种群设置,其它设置。 仿真设置: 如果您是要优化一个已知的函数,则无需进行仿真设置,只
阅读全文
摘要:遗传算法是一种全局优化算法,但是也具有可能陷入局部极值的缺点。为了测试遗传算法的全局搜索能力,我们使用Rastrigin函数对其进行测试。 Rastrigin函数的表达式为 打开文件JSOP/shell/testfunction.m,可以看到该函数的代码 function y=testfunctio
阅读全文
摘要:1. 下载压缩包JSOPx.x.rar和custom.rar,解压得到文件夹JSOP和custom.其中custom包含了运行JSOP所需的一些自定义函数。 2. 打开Matlab,点击菜单栏中的设置路径。 3. 点击添加文件夹,将文件夹custom、JSOP\gatbx和JSOP\shell添加到
阅读全文
摘要:JSOP是一款基于遗传算法的Matlab优化程序,可用于寻找函数的全局最小值,也可用于CST电磁结构的参数优化。 JSOP的核心部分是MATLAB遗传算法工具箱,包含遗传算法的底层代码。第二层是shell,该层向下可调用核心层,向上可接收接口的指令。最外层是接口,用户可调用接口来使用JSOP。 一般
阅读全文