如何应用随机交叉(算术/分散/两点)在使用自动生成的文件从优化遗传算法工具箱?

7视图(30天)
我准备了一个代码在MATLAB优化工具箱似乎给予公平的结果不同的优化函数,但目前,准确性是高度依赖于交叉选择的类型。
利用不同的交叉和提高效率,我想申请一个随机交叉每次迭代后即算术,分散或两点。我怎么能这样做呢?
7评论
沃尔特·罗伯森
沃尔特·罗伯森 2020年8月11日
选择= optimoptions(选项,“CrossoverFcn”@MyCustomCrossover)
函数varargout = MyCustomCrossover(变长度输入宗量)
crossfcns = {@crossoverarithmetic, @crossoverheuristic、@crossoveritnermediate @crossoverscattered, @crossoversinglepoint, @crossovertwopoint};
选择= crossfcns{兰迪(长度(crossfcns))};
[varargout{}): =选择(变长度输入宗量{:});
结束

登录置评。

接受的答案

沃尔特·罗伯森
沃尔特·罗伯森 2021年1月25日
选择= optimoptions(选项,“CrossoverFcn”@MyCustomCrossover)
函数varargout = MyCustomCrossover(变长度输入宗量)
crossfcns = {@crossoverarithmetic, @crossoverheuristic、@crossoveritnermediate @crossoverscattered, @crossoversinglepoint, @crossovertwopoint};
选择= crossfcns{兰迪(长度(crossfcns))};
[varargout{}): =选择(变长度输入宗量{:});
结束

答案(1)

Sulaymon Eshkabilov
Sulaymon Eshkabilov 2020年8月11日
看到屏幕截图在附件。你应该选择从下拉选项哪个交叉功能适合你的任务。
3评论
Ankur沙
Ankur沙 2021年1月25日
编辑:Ankur沙 2021年1月25日
嗨,是的工作完美的代码。我试图标记你的回答接受但做不到。道歉的困惑……你能看看这个问题https://in.mathworks.com/matlabcentral/answers/725727-how-to-find-function-and-variable-value-at-each-iteration-for-genetic-algorithm-with-parallel-comput?s_tid=prof_contriblnk

登录置评。

类别

找到更多的在和迭代解算器输出显示帮助中心文件交换

下载188bet金宝搏

社区寻宝

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

开始狩猎!