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

时间:2013-06-07 07:46:01

标签: algorithm matlab optimization genetic-algorithm black-box-testing

美好的一天

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

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

注意:此系统的输出是从“黑匣子”计算的(这是PSS SINCAL模拟)。

在这个阶段,我一直在使用一种解决方法 - 当输出不在约束范围内时,使适应度函数具有很高的值。寻找更优雅的解决方案。

谢谢

埃尔维斯

1 个答案:

答案 0 :(得分:0)

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

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