X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?p=CreaPhase.git;a=blobdiff_plain;f=octave_packages%2Fga-0.10.0%2Fgacreationuniform.m;fp=octave_packages%2Fga-0.10.0%2Fgacreationuniform.m;h=a9956197bd795940737831b8bd7abda90f237ad5;hp=0000000000000000000000000000000000000000;hb=f5f7a74bd8a4900f0b797da6783be80e11a68d86;hpb=1705066eceaaea976f010f669ce8e972f3734b05 diff --git a/octave_packages/ga-0.10.0/gacreationuniform.m b/octave_packages/ga-0.10.0/gacreationuniform.m new file mode 100644 index 0000000..a995619 --- /dev/null +++ b/octave_packages/ga-0.10.0/gacreationuniform.m @@ -0,0 +1,65 @@ +## Copyright (C) 2008 Luca Favatella +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; If not, see . + +## -*- texinfo -*- +## @deftypefn{Function File} {@var{Population} =} gacreationuniform (@var{GenomeLength}, @var{FitnessFcn}, @var{options}) +## Create a random initial population with a uniform distribution. +## +## @strong{Inputs} +## @table @var +## @item GenomeLength +## The number of indipendent variables for the fitness function. +## @item FitnessFcn +## The fitness function. +## @item options +## The options structure. +## @end table +## +## @strong{Outputs} +## @table @var +## @item Population +## The initial population for the genetic algorithm. +## @end table +## +## @seealso{ga, gaoptimset} +## @end deftypefn + +## Author: Luca Favatella +## Version: 4.9 + +function Population = gacreationuniform (GenomeLength, FitnessFcn, options) + [LB(1, 1:GenomeLength) UB(1, 1:GenomeLength)] = \ + __ga_popinitrange__ (options.PopInitRange, GenomeLength); + + ## pseudocode + ## + ## Population = Delta * RandomPopulationBetween0And1 + Offset + Population(1:options.PopulationSize, 1:GenomeLength) = \ + ((ones (options.PopulationSize, 1) * (UB - LB)) .* \ + rand (options.PopulationSize, GenomeLength)) + \ + (ones (options.PopulationSize, 1) * LB); +endfunction + + +## number of input arguments +# TODO + +## number of output arguments +# TODO + +## type of arguments +# TODO + +# TODO