Global optimization using genetic algorithm

1 visualización (últimos 30 días)
Sata
Sata el 23 de Oct. de 2012
I use ff2n function to generate the input for my function. For the example of ff2n(4), some sample input rows are:
1 0 1 0
1 1 0 0
0 0 1 1
...
...
Based on the input from ff2n(4), a total of 16 scalar values will be generated for my function. If I sorted the 16 scalar values generated, I will be able to find the minimum value.
Can I use GA to find the minimum value for my function based on the following commands?
>> [x fval exitflag] = ga(@my_fun, 2)
My input values are fixed, which are 0 and 1. Can I consider the total number of variables as 2? Is it possible for me to get the following sample output:
x = 1 1 0 0
fval = 0.12345
exitflag = 1
If this GA command is inapplicable, please give me some suggestions how can I use GA to solve my problem.
Alternatively, in order to get the x and fval values, can I use the optimization toolbox by choosing GA solver, enter my fitness function, put 2 as number of variables and run it?

Respuestas (1)

Alan Weiss
Alan Weiss el 23 de Oct. de 2012
You might do well to read the documentation on ga with integer constraints. If I understand you, for this case you have n = 4 dimensions, not 2, because there are 4 design variables. Each design variable is binary, so is integer valued with a lower bound of 0 and an upper bound of 1.
Alan Weiss
MATLAB mathematical toolbox documentation
  4 comentarios
Sata
Sata el 1 de Nov. de 2012
Editada: Sata el 5 de Nov. de 2012
Hi Alan,
1) I agreed with you that this is a problem of 4-dimensional with each component given as one of the two different values. What is the different to use my actual real numbers for variable x (3.98765) and y (4.98765) instead of using binary numbers of 0 and 1 to map?
2) Basically my 0 < x < 5 and 0 < y < 5, if we map it with binary number with lb = 0 and ub = 1, does it match?
3) Sorry, can you explain further about the mapping example you mentioned earlier:
y = x0 + (x1 - x0)*x
y = 3.98765 + (4.98765 - 3.98765)*x --> what information can I get?
4) Can somebody answer my previous (Q3) regarding mutation operator? i.e. what do I do if mutation is inapplicable in my problem..
Sata
Sata el 6 de Nov. de 2012
.

Iniciar sesión para comentar.

Categorías

Más información sobre Genetic Algorithm en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by