Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm MATLAB遗传算法中的约束-不仅仅是输入约束_Algorithm_Matlab_Optimization_Genetic Algorithm_Black Box Testing - Fatal编程技术网

Algorithm MATLAB遗传算法中的约束-不仅仅是输入约束

Algorithm MATLAB遗传算法中的约束-不仅仅是输入约束,algorithm,matlab,optimization,genetic-algorithm,black-box-testing,Algorithm,Matlab,Optimization,Genetic Algorithm,Black Box Testing,你好 我正在使用全局优化工具箱在MATLAB中使用遗传算法。我在这方面很有经验。我的问题如下: 如何指定不仅依赖于输入变量的约束。即可能是输出函数或中间变量的约束。 注:该系统的输出通过“黑箱”计算(这是PSS正弦模拟) 在这个阶段,我一直在使用一种变通方法——当输出不在约束范围内时,使适应度函数成为一个非常高的值。寻找更优雅的解决方案 多谢各位 Elvis您可以将嵌套函数用于目标函数和约束函数。这将允许您拥有目标函数和约束函数都可见的MATLAB变量(输入变量除外) 使用嵌套函数,以便在目标函

你好

我正在使用全局优化工具箱在MATLAB中使用遗传算法。我在这方面很有经验。我的问题如下:

如何指定不仅依赖于输入变量的约束。即可能是输出函数或中间变量的约束。

注:该系统的输出通过“黑箱”计算(这是PSS正弦模拟)

在这个阶段,我一直在使用一种变通方法——当输出不在约束范围内时,使适应度函数成为一个非常高的值。寻找更优雅的解决方案

多谢各位


Elvis

您可以将嵌套函数用于目标函数和约束函数。这将允许您拥有目标函数和约束函数都可见的MATLAB变量(输入变量除外)


使用嵌套函数,以便在目标函数和约束函数中使用运行模拟的结果。它还显示了如何检查是否需要再次运行模拟,如果使用输入变量的新值调用目标函数或约束函数,这是必要的。

某种形式的惩罚不也是Matlab的
ga
处理约束的方式吗?更重要的是,惩罚方法是否有效,或者结果是否经常违反约束?结果是否可以写成常量乘以输入变量的向量?否则,我会说,你目前的解决方案不能改进太多。