File Exchange

image thumbnail

Simple example of genetic algorithm for optimization problems

version 1.0 (2.75 KB) by

It is used to generate useful solutions to optimization and search problems.

4.33333
3 Ratings

63 Downloads

Updated

View License

It is used to generate useful solutions to optimization and search problems. Genetic algorithms belong to the larger class of evolutionary algorithms, which generate solutions to optimization problems using techniques inspired by natural evolution, such as inheritance, mutation, selection, and crossover.

function [p_min, iter, f]=genetic_algorithm (func, numMaxInd, numF, numMaxGen, pRepr, pRecom, pMut, pImm, numVariabili, limLow, limUp, tolerance)

% Output variables:
% - p_min: it's the minimum point of the objective function;
% - iter: it's the final iteration number;
% - f: it's the objective function value in the minimum point.
%
% Input variables:
% - func: it's the handle of the objective function to minimize (example: f_obj=@(x) function(x) where x is the variables vector);
% - numMaxInd: Number of individuals (number of initial points);
% - numF: Number of sons for each generation;
% - numMaxGen: Max number of generations (number of max iterations);
% - pRepr: Reproduction probability;
% - pRecom: Ricombination probability;
% - pMut: Mutation probability;
% - pImm: Immigration probability;
% - numVariabili: it's the number of the function variables.
% - limLow: it's the low bound for the initial points;
% - limUp: it's the high bound for the initial points;
% - tolerance: it's the tolerance error for the stop criterion.

Comments and Ratings (7)

Felicia Wong

Can someone explain how I might choose a suitable value for the immigration probability?
and also how immigration probability is different from mutation probability?

denemerido

mesela genetic_algorithm(@(x)x.^2,10,10,10,10,10,10,10,1,3,6,.01) girince
ans =

         0
    3.8074
    3.8074
    3.9044
    3.9044
    4.2532
    4.2532
    4.2532
    4.2685
    4.6174
alıyorsun.

David

David (view profile)

how do you input values to see the results? how can you use that to optimize a wind farm with a simple unidirection wind? thanks

bhagyesh

plz give example of how to give inputs to it!!!

elsayed adawy

k bl.k bk

Giacomo

MATLAB Release
MATLAB 7.11 (R2010b)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video