【问题标题】:Integer String Initial Population in MATLABMATLAB中的整数字符串初始种群
【发布时间】:2014-03-18 02:11:06
【问题描述】:

我正在尝试在 MATLAB 中创建一个 GA 整数群体,其中每个个体都是一串随机数 1-8,而不重复任何数字。 我知道以下会创建随机排列的数字1 -8

A = randperm(8)

我想知道如何创建一个创建此类人口的函数。

【问题讨论】:

    标签: matlab genetic-algorithm


    【解决方案1】:

    randpermused to work 的方式是 sortrand。我们可以用同样的方法来做,但是用多列来获取人口:

    >> N = 8;  % length of random string
    >> P = 10; % population
    >> [~,AA]=sort(rand(N,P))
    AA =
         5     6     7     6     1     4     7     8     3     2
         8     7     6     5     4     2     4     3     2     3
         6     3     1     8     8     5     8     1     5     8
         3     4     8     1     7     6     2     7     4     7
         4     2     5     4     6     1     1     4     1     4
         2     5     2     3     3     8     3     6     6     6
         1     1     3     2     2     3     6     5     8     1
         7     8     4     7     5     7     5     2     7     5
    

    【讨论】:

    • 单个字符串(即单行)应该有数字 1 到 8 的排列。这是因为每一行将代表布局中设施的排列。如果您能帮助我开发这样的产品,我将不胜感激。
    • @Kandwe 上面的每一列都是你所追求的。如果您希望在行上使用它,那么您的答案就是转置 (AA')。
    猜你喜欢
    • 1970-01-01
    • 2019-01-03
    • 1970-01-01
    • 2016-06-30
    • 2011-12-11
    • 1970-01-01
    • 1970-01-01
    • 2023-01-31
    相关资源
    最近更新 更多