【问题标题】:genetic algorithm with outer fitness function in MatlabMatlab中具有外部适应度函数的遗传算法
【发布时间】:2014-09-11 23:11:21
【问题描述】:

我正在尝试在 Matlab 应用程序中使用遗传算法来解决优化问题。我没有适应度函数。我拥有的是来自 Vensim 软件的模型。人口进入 Vensim 模型,输出为适应度函数。我们有 10 个染色体,有 10 个适应度函数值。我们可以在 Matlab 中使用什么样的命令来匹配每个适应度值与它自己的染色体。 例如: 我的新人口是:[1 2 3;4 5 6;7 8 9] 我的适应度函数值为:[100;200;300] 我想用 100 个值的适应度函数计算染色体(1,2,3)。或矩阵种群的第一行 = 矩阵适应度函数的第一行。

【问题讨论】:

    标签: matlab


    【解决方案1】:
    population = [1 2 3;4 5 6;7 8 9];
    fitness_function = [100;200;300];
    for ii = 1:length(fitness_function)
        chromosome = population(ii,:);
        fitness_value = fitness_function(ii);
        result = calculate(chromosome, fitness_value);
    end
    

    【讨论】:

    • :Thx,什么是人口变量?
    • @user3857554 哦,对不起……我的意思是从population 矩阵中选择一个染色体。
    • 我收到此错误消息:未定义函数 'calculate' 用于类型为“double”的输入参数。
    • 您需要仔细考虑您的问题,而不是简单地复制和粘贴代码。
    • 在此代码之后,我收到此错误:未定义函数“计算”用于“双”类型的输入参数。宁德=10; MAXGEN=1; NVAR=24;人口=修复(10000 *兰德(10,24));健身功能=修复(10000*兰德(10,1));对于 ii = 1:length(fitness_function) chrom = population(ii,:);健身值 = 健身功能(ii);结果 = 计算(铬,适应度值);结束
    猜你喜欢
    • 2020-05-12
    • 2023-02-20
    • 2011-04-07
    • 2011-10-07
    • 1970-01-01
    • 2011-12-21
    • 2017-09-26
    • 2018-04-10
    • 2012-04-27
    相关资源
    最近更新 更多