Está en la página 1de 5

1

Tarea No. 4 - Algoritmos genéticos y


programación lineal
Rodrigo A. Franco Luna1 , rodrigo_franco@utp.edu.co

Resumen—En este documento de muestra el desa- metodología de los GA trata de simular la evolución
rrollo de la tarea No. 4, correspondiente a los capítulos de un conjunto de cromosomas buscando que todos
de Algoritmos genéticos y Programación lineal , este tengan un alto desempeño, pero desde un punto
consta de 2 ejercicio donde se sintetiza concepto del
capítulo 14 (Algoritmos genéticos), y 15, 16 y 17 de vista a parte, los GA no son mas que técnicas
(Método Simplex) del libro guía. heurísticas probabilistas basadas en una funcion de
desempeño.
Index Terms—Algoritmos genéticos con codificación
binaria, Algoritmos genéticos con codificación real, las diferentes técnicas de GE se basan en su
cromosomas, población, programación lineal, método codificación, y las que se tratarán en este documento
simplex, dual simplex. son básicamente dos, la primera es la codificación
binaria cuyo alfabeto ∈ 0, 1, y la codificación real
I. A LGORITMOS G ENÉTICOS cuyo alfabeto ∈ R, y siempre esta dentro del
En los métodos de optimización vistos anterior- conjunto factible de Ω.
mente, se evidencio una dependencia especial a Ambas comparten la misma metodología, solo
ciertas características de la función objetivo, como que debido a su codificación difieren en la forma de
por ejemplo; que la función pertenezca a C 1 y C 2 , aplicar a los cromosomas las operaciones de cada
y que la matriz Hessiana evaluada en el punto xk paso asociado a la metodología.
sea positiva definida (F (xk ) > 0) para garantizar la Los Algoritmos Genéticos parten de una defini-
propiedad descendente del gradiente, posteriormen- ción de un conjunto de elementos (cromosomas) P o
te se mostraron métodos que aproximan la matriz distribuidos sobre Ω con probabilidad uniforme, a
hessiana para poder usar métodos como el de New- este conjunto se le conoce como población inicial,
ton (llamados Cuasi-Newton). Ahora, considere la cada cromosoma tiene codificado un punto dentro
función de Ω, ya sea con una cadena binaria o con un
numero real.
f : RN → R Posterior mente, se usa la función objetivo como
una medida de desempeño, es decir, para definir
Cuyo gradiente y matriz hessiana no se pueden cuales con los cromosomas dentro de la población
calcular analíticamente, no podrá ser optimizada por mejor adaptados, este paso se realiza simplemente
lo métodos basados en gradiente, lo cual implica la evaluando la decodificación del cromosoma en la
implementación de un método que permita optimi- función f (x) (función objetivo), por lo comentado
zar (encontrar un minimizador o un maximizador) anteriormente, la solución al problema de optimiza-
sin la necesidad de que f (x) pertenezca a C 1 y C 2 . ción con GA busca el cromosoma mejor adaptado,
Uno de los métodos se conoce como Algoritmos es decir, cuya evaluación en la función objetivo
genéticos (Genetic Algorithm - GA), esta meto- sea la máxima posible, por tanto, los GA son un
dología recibe su nombre de la genética, pues la método de optimización que maximiza la función
1 - Estudiante de Maestría en Ingeniería Eléctrica, Universidad objetivo, por tanto la solución de un problema de
Tecnológica de Pereira minimización se puede llevar a la maximización de
2

−f (x).
f(x)

Después de medir el desempeño de la población,


cada individuo de ella tiene un desempeño asociado, 10
y dicha información se utilizará para definir el nu- 5
mero de veces que dicho individuo se puede cruzar,
0
de tal forma que el sumar todas las descendencias
de los cromosomas a los cuales se les halla definido −5

el número de cruces sume el mismo número de la −10


1
población inicial. 1
0 0.5
0
−0.5
−1 −1
Sea la función f (x)

−f(x)

10

−5
f (x) = (x2 − x1 )4 + 12x1 x2 − x1 + x2 − 3
−10
1
1
0 0.5
0
−0.5
−1 −1

Y su conjunto probable Figura 1. Función f (x) (sup.)y −f (x) (inf.)

Como se observa en la figura 1, f (x) tiene un


mínimo en Ω, por tanto para usar los GA se debe
usar la función −f (x).

Ω = x ∈ R2 : −1 ≤ x1 ≤ 1 ∧ −1 ≤ x2 ≤ 1


I-A. GA digitales

En la figura 1 se muestra la gráfica de la función Se genera la población inicial dentro de Ω, esto


f (x) en Ω. se muestra en la figura 2.
3

Generación− −1 Generación− −20


1 1

0.8 0.8

0.6 0.6

0.4 0.4

0.2 0.2
X2

X2
0 0

−0.2 −0.2

−0.4 −0.4

−0.6 −0.6

−0.8 −0.8

−1 −1
−1 −0.5 0 0.5 1 −1 −0.5 0 0.5 1
X1 X1

Figura 2. Población inicial Figura 4. Generación 20

A cada iteración del algoritmo se le llama gene-


ración, y cada generación debe intentar converger
Generación− −30
al máximo de la función de costo, en la figura 3, 4 1
y 5, se muestra la evolución del algoritmo a las 10, 0.8
20 y 30 generaciones respectivamente. 0.6

0.4

0.2
X2

−0.2

−0.4
Generación− −10
1
−0.6
0.8
−0.8
0.6
−1
−1 −0.5 0 0.5 1
0.4 X
1

0.2

Figura 5. Generación 30 - final


X2

−0.2

−0.4

−0.6

−0.8

−1
−1 −0.5 0 0.5 1
X
1 Como se observa, en cada iteración el algoritmo
converge al máximo de la función, en la figura 6 se
Figura 3. Generación 10 muestra la evolución de todas las generaciones.
4

Evolución de los Cromosomas en Ω II. P ROGRAMACIÓN LINEAL


8
La programación lineal introduce el concepto de
6 optimización con restricciones, las cuales son unas
limitaciones en los rangos de valores que pueden
4
tomar las variables.
Desempeño

2
II-A. Ejercicio 15.8:
0
Solucione el siguiente programa lineal gráfica-
mente:
−2
Peor
Mejor
Maximice 2x1 + 5x2
Promedio
−4
0 5 10 15 20 25 
Generaciones
 0 ≤ x1 ≤ 4

Sujeto a 0 ≤ x2 ≤ 6
Figura 6. Evolución del Algoritmo Genético - Digital 
x1 + x2 ≤ 8

En la figura 6 se muestra que el GA converge En la figura 8 se muestra la solución del sistema


al máximo de la función (linea azul), la linea roja mostrado con las restricciones.
muestra el peor desempeño dado en esa generación
y la linea verde muestra el promedio de los prome- 9
dios, al final la linea azul muestra cual es el valor 8
del máximo desempeño de la población. 7

Maximizador
6
I-B. GA Reales
5
Al igual que en el caso digital, para el caso real
X2

4
también se genera una población inicial, y de la
3
misma manera aplicando la reglas de la evolución
2
de los cromosomas, por tanto el comportamiento de
la generaciones es similar al mostrado en la figura 1

3,4y 5, en la figura 7 se muestra la evolución de el 0

GA Real. −1
−1 0 1 2 3 4 5
X1

Evolución de los Cromosomas en Ω


7
Figura 8. Solucion gráfica del problema Simplex
6

5
II-B. Ejercicio 15.9:
4
Para este punto se propone realizar la optimiza-
3
Desempeño

ción de un circuito eléctrico para garantizar que


2
se genere la máxima transferencia de energía en
1
presencia de restricciones para el sistema, para la
0
cual se obtienen los siguientes resultados.
−1
Peor
La máxima potencia transferida es de 60.0 vatios
−2 Mejor La solución para I1 es 4.0 Amper
Promedio
−3
0 5 10 15 20 25
La solución para I2 es 2.0 Amper
Generaciones La solución para I3 es 2.0 Amper
La solución para I4 es 0.0 Amper
Figura 7. Evolución del Algoritmo Genético - Reales La solución para I5 es 2.0 Amper
5

III. C ONCLUSIONES
Los algoritmos genéticos son una opción para
la maximización de funciones a las que es
complejo obtener su matriz hessiana, sin em-
bargo, no son optmimos por que estan basados
en un conjunto de reglas eurísticas basadas
en probabilidades, lo cual no permite que
sean funcionales computacionalmente, gene-
ralmente métodos como los GA se usan para
encontrar un mejor punto para inicializar un
algoritmo de verdad.
Los métodos Simplex permiten obtener opti-
mización de funciones lineales con restriccio-
nes, los modelos canónicos permiten acoplar
los problemas a los metodos Simplex.

R EFERENCIAS
[1] Apuntes de clase Introducción a la Optimización - Maestría
en Ingeniería Eléctrica, Universidad Tecnológica de Pereira.
[2] Chong y Zak. An introduction to Optimization. Capitulo 8,9
y 11.

También podría gustarte