El documento describe un algoritmo genético para ordenar personas en una sala de cine de manera óptima basado en sus simpatías y antipatías. El algoritmo genera una población inicial aleatoria, evalúa la aptitud de cada individuo basado en un método de fitness, selecciona individuos usando una rueda de ruleta y aplica operadores genéticos como cruce parcial y mutación para generar una nueva población. El proceso se repite durante varias generaciones hasta alcanzar la convergencia. El documento explica los detalles del algorit
DEFINICIÓN DE TÉRMINOS
Agente de retención.- El agente de retención es el adquiriente del bien mueble o inmueble, usuario del servicio o quien encarga la construcción, que ha sido designado como tal por la Sunat mediante Resolución de Superintendencia. Los sujetos designados como agentes de retención actuarán o dejarán de actuar como tales, según sea el caso, a partir del momento que indique la mencionada Resolución.
Cobranza coactiva.- Es el procedimiento que emplea la SUNAT para exigir al contribuyente el cumplimiento con sus deudas tributarias pendientes de pago. El procedimiento se inicia con la notificación de la Resolución de Ejecución Coactiva (REC).
Compensación.-La compensación es un modo de extinguir las obligaciones que tiene lugar cuando dos personas son deudoras la una de la otra, con el efecto, por ministerio de la ley, de extinguir las dos deudas hasta el importe menor.
Contribuyentes.- Se define contribuyente tributario como aquella persona física con derechos y obligaciones, frente a un ente público, derivados de los tributos. Es quien está obligado a soportar patrimonialmente el pago de los tributos (impuestos, tasas o contribuciones especiales), con el fin de financiar al Estado. Además es una figura propia de las relaciones [derecho tributario o de impuestos. Se determina y define en concreto de acuerdo con la ley de cada país. El contribuyente es, en sentido general, el sujeto pasivo en Derecho tributario, siendo el (sujeto activo) el Estado, a través de la administración.
Crédito fiscal.- Es el impuesto soportado, entre otros documentos, en las facturas de proveedores, facturas de compras, notas de débito y de crédito recibidas que acrediten las adquisiciones o la utilización de servicios efectuados en el período tributario respectivo.
Débito fiscal.- Es el Impuesto al Valor Agregado (IVA) recargado en las boletas, facturas, liquidaciones, notas de débito y notas de crédito emitidas por el concepto de ventas y servicios efectuados en el período tributario respectivo.
Declaración jurada.- Se denomina declaración jurada a la manifestación personal, verbal o escrita, donde se asegura la veracidad de esa misma declaración bajo juramento ante autoridades administrativas o judiciales. Como consecuencia se presume como cierto lo señalado por el declarante hasta que se pueda acreditar lo contrario.
Derechos aduaneros.- El Derecho aduanero es una rama del Derecho tributario o fiscal, que se encarga de regular el tráfico de mercancías ya sea tratándose de importación o exportación, además de imponer sanciones a los particulares que incurran en infracciones hacia estas regulaciones.
Exoneración.- Es la liberación o dispensa usualmente temporal del pago de un tributo por disposición legal. En este caso si bien el supuesto de hecho se encuentra comprendido dentro del campo de aplicación del tributo se determina la exclusión del pago del mismo por un determinado pe
DEFINICIÓN DE TÉRMINOS
Agente de retención.- El agente de retención es el adquiriente del bien mueble o inmueble, usuario del servicio o quien encarga la construcción, que ha sido designado como tal por la Sunat mediante Resolución de Superintendencia. Los sujetos designados como agentes de retención actuarán o dejarán de actuar como tales, según sea el caso, a partir del momento que indique la mencionada Resolución.
Cobranza coactiva.- Es el procedimiento que emplea la SUNAT para exigir al contribuyente el cumplimiento con sus deudas tributarias pendientes de pago. El procedimiento se inicia con la notificación de la Resolución de Ejecución Coactiva (REC).
Compensación.-La compensación es un modo de extinguir las obligaciones que tiene lugar cuando dos personas son deudoras la una de la otra, con el efecto, por ministerio de la ley, de extinguir las dos deudas hasta el importe menor.
Contribuyentes.- Se define contribuyente tributario como aquella persona física con derechos y obligaciones, frente a un ente público, derivados de los tributos. Es quien está obligado a soportar patrimonialmente el pago de los tributos (impuestos, tasas o contribuciones especiales), con el fin de financiar al Estado. Además es una figura propia de las relaciones [derecho tributario o de impuestos. Se determina y define en concreto de acuerdo con la ley de cada país. El contribuyente es, en sentido general, el sujeto pasivo en Derecho tributario, siendo el (sujeto activo) el Estado, a través de la administración.
Crédito fiscal.- Es el impuesto soportado, entre otros documentos, en las facturas de proveedores, facturas de compras, notas de débito y de crédito recibidas que acrediten las adquisiciones o la utilización de servicios efectuados en el período tributario respectivo.
Débito fiscal.- Es el Impuesto al Valor Agregado (IVA) recargado en las boletas, facturas, liquidaciones, notas de débito y notas de crédito emitidas por el concepto de ventas y servicios efectuados en el período tributario respectivo.
Declaración jurada.- Se denomina declaración jurada a la manifestación personal, verbal o escrita, donde se asegura la veracidad de esa misma declaración bajo juramento ante autoridades administrativas o judiciales. Como consecuencia se presume como cierto lo señalado por el declarante hasta que se pueda acreditar lo contrario.
Derechos aduaneros.- El Derecho aduanero es una rama del Derecho tributario o fiscal, que se encarga de regular el tráfico de mercancías ya sea tratándose de importación o exportación, además de imponer sanciones a los particulares que incurran en infracciones hacia estas regulaciones.
Exoneración.- Es la liberación o dispensa usualmente temporal del pago de un tributo por disposición legal. En este caso si bien el supuesto de hecho se encuentra comprendido dentro del campo de aplicación del tributo se determina la exclusión del pago del mismo por un determinado pe
Es un trabajo de Informatica para presentarle a la licenciada, enviarle esta dirrecion a su correo electronico,para adquirir la nota para sumarle al aporte...
Presentación de los Sellos de Confianza, una iniciativa de la Cámara Argentina de Comercio Electrónico junto con el Instituto Latinoamericano de Comercio Electrónico eInstituto con el objetivo incentivar y generar una mayor y mejor oferta de productos y servicios online que cumplan con las buenas prácticas de los negocios por Internet generando una experiencia positiva en los consumidores.
Es un trabajo de Informatica para presentarle a la licenciada, enviarle esta dirrecion a su correo electronico,para adquirir la nota para sumarle al aporte...
Presentación de los Sellos de Confianza, una iniciativa de la Cámara Argentina de Comercio Electrónico junto con el Instituto Latinoamericano de Comercio Electrónico eInstituto con el objetivo incentivar y generar una mayor y mejor oferta de productos y servicios online que cumplan con las buenas prácticas de los negocios por Internet generando una experiencia positiva en los consumidores.
El efecto Zeeman, por el físico holandés Pieter Zeeman, es descrito como la división de una línea espectral en varios componentes cuando el elemento se coloca en la presencia de un campo magnético. Es análogo al efecto Stark, que ocurre cuando hay una división de una línea espectral en varios componentes de la presencia de un campo eléctrico. El efecto Zeeman es muy importante en aplicaciones tales como espectroscopía de resonancia magnética nuclear (RMN), la espectroscopia de resonancia electrónica de spin y espectroscopia Mössbauer. También puede ser utilizado para mejorar la precisión en la espectroscopía de absorción atómica.
Esto es debido a la interacción entre los niveles de energía magnéticos de un sistema y un campo magnético externo H. Se traduce en la rotura de la degeneración entre niveles de distinta proyección Sz: los Ms=-S son los alineados con el campo, y por tanto los estables, frente a los Ms=+S, que se oponen al campo, y son los más inestables. Se describe por el hamiltoniano modelo:
E. M. Boatman, G. C. Lisensky, and K. J. Nordell, .A Safer,
Easier, Faster Synthesis for CdSe Quantum Dot Nanocrystals,"
J. Chem. Educ., 82, 1697-1699 (2005)
Shechtman, D., Blech, I., Gratias, D., and Cahn, J.W. (1984) Metallic
phase with long-range orientational order and no translational
symmetry, Phys. Rev. Lett. 53(20):1951-1954.
Las capacidades sociomotrices son las que hacen posible que el individuo se pueda desenvolver socialmente de acuerdo a la actuación motriz propias de cada edad evolutiva del individuo; Martha Castañer las clasifica en: Interacción y comunicación, introyección, emoción y expresión, creatividad e imaginación.
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...JAVIER SOLIS NOYOLA
El Mtro. JAVIER SOLIS NOYOLA crea y desarrolla el “ROMPECABEZAS DE ECUACIONES DE 1ER. GRADO OLIMPIADA DE PARÍS 2024”. Esta actividad de aprendizaje propone retos de cálculo algebraico mediante ecuaciones de 1er. grado, y viso-espacialidad, lo cual dará la oportunidad de formar un rompecabezas. La intención didáctica de esta actividad de aprendizaje es, promover los pensamientos lógicos (convergente) y creativo (divergente o lateral), mediante modelos mentales de: atención, memoria, imaginación, percepción (Geométrica y conceptual), perspicacia, inferencia, viso-espacialidad. Esta actividad de aprendizaje es de enfoques lúdico y transversal, ya que integra diversas áreas del conocimiento, entre ellas: matemático, artístico, lenguaje, historia, y las neurociencias.
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
El Mtro. JAVIER SOLIS NOYOLA, crea y desarrolla ACERTIJO: «CARRERA OLÍMPICA DE SUMA DE LABERINTOS». Esta actividad de aprendizaje lúdico que implica de cálculo aritmético y motricidad fina, promueve los pensamientos lógico y creativo; ya que contempla procesos mentales de: PERCEPCIÓN, ATENCIÓN, MEMORIA, IMAGINACIÓN, PERSPICACIA, LÓGICA LINGUISTICA, VISO-ESPACIAL, INFERENCIA, ETCÉTERA. Didácticamente, es una actividad de aprendizaje transversal que integra áreas de: Matemáticas, Neurociencias, Arte, Lenguaje y comunicación, etcétera.
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
A01213521 cine maximos
1. Tarea 12: Asientos de cine
M3019. Modelación de Sistemas Físicos
Abraham Prado
A01213521
Monterrey, Nuevo León.
27 de marzo del 2012
Resumen
En el presente reporte se programa el método de
algoritmos genéticos con cruce parcial de Goldsberg,
mutación y selección por el método de ruleta para el
ordenamiento de personas en una sala de cine , se
presenta un análisis de la evolución de la aptitud de
la población conforme avanzan las generaciones y se
realizan análisis de convergencia en ambos métodos.
Palabras Clave: Algoritmos genéticos - Inteli-
gencia Artificial - Optimización estocástica
Índice
1. Introducción 1
2. Teoría 2
2.1. Método de Algoritmos genéticos . . . . . . . . 2
2.1.1. Resumen histórico . . . . . . . . . . . . 2
2.2. Algoritmo . . . . . . . . . . . . . . . . . . . . . 2
2.2.1. Diagrama de flujo . . . . . . . . . . . . 2
2.2.2. Descripción del algoritmo . . . . . . . . 2
2.3. Fitness . . . . . . . . . . . . . . . . . . . . . . . 3
2.3.1. Fitness puro . . . . . . . . . . . . . . . 3
2.3.2. Fitness estandarizado . . . . . . . . . . 3
2.4. Selección . . . . . . . . . . . . . . . . . . . . . . 3
2.4.1. Rueda de ruleta . . . . . . . . . . . . . . 3
2.5. Cruce de población . . . . . . . . . . . . . . . . 3
2.5.1. Cruce de un punto . . . . . . . . . . . . 3
2.5.2. Cruce parcial de Goldsberg . . . . . . . 3
2.6. Mutación . . . . . . . . . . . . . . . . . . . . . 4
3. Explicación del Código 4
4. Análisis de resultados 5
4.1. Gráficas de la evolución de los parámetros . . 6
4.1.1. Máximo comfort . . . . . . . . . . . . . 6
4.1.2. Comfort promedio . . . . . . . . . . . . 6
5. Conclusiones 7
6. Bibliografía 7
7. Apéndices 8
1. Introducción
Dentro de métodos numéricos se halla un conjunto de
técnicas que se basan en la inteligencia artificial. Este tipo
de técnicas están diseñadas para resolver problemas mucho
más complejos y sofisticados. La inteligencia artificial se
vale de métodos estocásticos, es decir, métodos aleatorios
controlados, para solucionar problemas complejos. Al invo-
lucrar variables aleatorias, la solución óptima nunca estará
asegurada y solo se podrían hablar de probabilidades. A
pesar de esto estas estrategias han sido utilizadas con gran
éxito en la física y la matemática computacional.
Algoritmos genéticos, no solo sirve para sistemas conti-
nuos, sino que también puede ser utilizado en variables dis-
cretas con restricciones muy específicas. Un ejemplo de esto
el el famoso problema del viajero. En dicho problema hay
que modificar el método de cruce tradicional, para evitar
que aparezcan soluciones fuera de las restricciones dadas.
Se hará una optimización social en base a una serie de sim-
patías y antipatías de un grupo de personas que irán al cine
y se sentaran en una sola fila. Esto es puede verse como un
símil a la física de partículas.
1
2. 2 TEORÍA
2. Teoría
2.1. Método de Algoritmos genéticos
2.1.1. Resumen histórico
En los años 1970, de la mano de John Henry Holland,
surgió una de las líneas más prometedoras de la inteligen-
cia artificial, la de los algoritmos genéticos . Son llamados
así porque se inspiran en la evolución biológica y su base
genético-molecular. Estos algoritmos hacen evolucionar una
población de individuos sometiéndola a acciones aleatorias
semejantes a las que actúan en la evolución biológica (mu-
taciones y recombinaciones genéticas), así como también a
una Selección de acuerdo con algún criterio, en función del
cual se decide cuáles son los individuos más adaptados, que
sobreviven, y cuáles los menos aptos, que son descartados.
Es incluido dentro de los algoritmos evolutivos, que incluyen
también las estrategias evolutivas, la programación evoluti-
va y la programación genética. Dentro de esta última se han
logrado avances curiosos:
Un algoritmo genético es un método de búsqueda dirigi-
da basada en probabilidad. Bajo una condición muy débil
(que el algoritmo mantenga elitismo, es decir, guarde siem-
pre al mejor elemento de la población sin hacerle ningún
cambio) se puede demostrar que el algoritmo converge en
probabilidad al óptimo. En otras palabras, al aumentar el
número de iteraciones, la probabilidad de tener el óptimo
en la población tiende a 1 (uno).
2.2. Algoritmo
El algoritmo básico usado se describe en el siguiente dia-
grama de flujo:
2.2.1. Diagrama de flujo
Genera po-
blación inicial
Inicio
Calcular
comfort
Siguiente
generación
Criterio
de conver-
gen-
cia=true
Resultado
Fin
Rueda
de ruleta
PMX
Goldsberg
Mutación
N
N-n
N-n
n
no
Sí
2.2.2. Descripción del algoritmo
Inicialización: Se genera aleatoriamente la población
inicial, que está constituida por un conjunto de cromo-
somas los cuales representan las posibles soluciones del
problema. En caso de no hacerlo aleatoriamente, es im-
portante garantizar que dentro de la población inicial,
se tenga la diversidad estructural de estas soluciones
para tener una representación de la mayor parte de la
población posible o al menos evitar la convergencia pre-
matura.
Evaluación: A cada uno de los cromosomas de esta po-
blación se aplicará la función de aptitud para saber qué
tan buena es la solución que se está codificando.
Condición de término El AG se deberá detener
cuando se alcance la solución óptima, pero ésta general-
mente se desconoce, por lo que se deben utilizar otros
2
3. 2.3 Fitness 2 TEORÍA
criterios de detención. Normalmente se usan dos crite-
rios: correr el AG un número máximo de iteraciones
(generaciones) o detenerlo cuando no haya cambios en
la población. Mientras no se cumpla la condición de tér-
mino se hace lo siguiente:
Selección Después de saber la aptitud de cada cromo-
soma se procede a elegir los cromosomas que serán cru-
zados en la siguiente generación. Los cromosomas con
mejor aptitud tienen mayor probabilidad de ser selec-
cionados.
Recombinación La recombinación es el principal ope-
rador genético, representa la reproducción sexual, opera
sobre dos cromosomas a la vez para generar dos descen-
dientes donde se combinan las características de ambos
cromosomas padres.
Mutación modifica al azar parte del cromosoma de
los individuos, y permite alcanzar zonas del espacio de
búsqueda que no estaban cubiertas por los individuos
de la población actual.
Reemplazo una vez aplicados los operadores genéticos,
se seleccionan los mejores individuos para conformar la
población de la generación siguiente
2.3. Fitness
2.3.1. Fitness puro
Es la medidad de ajuste natural al problema. El valor de
bondad de un individuo i en un tiempo t es:
r(i, t) =
Nc
X
j=1
|s(i, j) − c(i, j)| (1)
Donde para cada caso j s(i, j) es el valor deseado , c(i, j) es
el valor obtenido y Nc es el número de casos.
2.3.2. Fitness estandarizado
El ajuste es:
s(i, t) =
r(i, t) : minimización
rmax − r(i, t) : maximización
(2)
En casos de maximización se resta de rmax el fitness pu-
ro. En casos de minimización se emplea el fitness puro. Por
lo tanto, en una generación t , un individuo i será siempre
mejor que j si se verifica s(i, t) s(j, t)
2.4. Selección
2.4.1. Rueda de ruleta
También denominado selección basada en rangos, con-
siste en asignar a cada individuo una porción de la ruleta
que es proporcional a su fitness. Luego, hacemos rodar la
ruleta y el favorecido es seleccionado para ser padre en la
próxima generación.
El algoritmo de rueda de ruleta es el siguiente:
sumF = suma de todos los fitness
sumR = rand(0, 1)sumF
sumP = 0, j = 0
Repetir
j = j + 1
sumP = sumP + fitness_j
Hasta (sumP ≥ sumR)
Seleccionado= j
Las áreas asignadas para los individuos buenos son pro-
porcionalmente mayores pero hay tantos individuos medio-
cres que su área total es muy significativa. La selección no
favorece suficientemente a los buenos individuos.
2.5. Cruce de población
2.5.1. Cruce de un punto
Es la más sencilla de las técnicas de cruce. Una vez se-
leccionados dos individuos se cortan sus cromosomas por
un punto seleccionado aleatoriamente para generar dos seg-
mentos diferenciados en cada uno de ellos: la cabeza y la
cola. Se intercambian las colas entre los dos individuos pa-
ra generar los nuevos descendientes. De esta manera ambos
descendientes heredan información genética de los padres,
tal y como puede verse en la figura
Figura 1: Esquema de cruce de un punto
2.5.2. Cruce parcial de Goldsberg
El cruce parcial implementado en este reporte es el de
Goldsberg, que consiste en hacer dos cortes en el cromosoma
del padre y de la madre, los cortes se intercambian entre si,
y luego se halla la relación que existe entre los demás genes
para intercambiar el resto de la información. Lo anterior se
ilustra en la figura 2:
Figura 2: Esquema de cruce parcial (PMX)
3
4. F3019. Modelación de Sistemas Físicos 4 ITESM Campus Monterrey
El cruce usado se ilustra en la figura 3, en el corte to-
mado de la madre se buscan sus valores en el cromosoma
del padre, y estos valores se intercambian con los valores del
corte del padre. De manera igual se hace el cambio de genes
en la madre.
Figura 3: Esquema de cruce parcial modificado
2.6. Mutación
Con la probabilidad de mutación, se muta a los hijos
cambiando posiciones en los cromosomas. Si no hay muta-
ción, se hacen copia de los parientes. La mutación cambia
uno de los valores de un bit de un cromosoma, introdu-
ciendo un factor de diversificación evitando la obtención de
óptimos locales.
3. Explicación del Código
Se consideraron los siguientes aspectos en la selección de
parámetros:
Se usaron de 500 a 1000 generaciones en la convergencia
del método.
Se uso una población de 20 a 40 individuos.
El número de personas es de 20.
La probabilidad de mutación se escogió de 0.002 .
La probabilidad de cruce se decidió tomar de 0.75 .
La función de fitness no se modifico.
El número de individuos que pasa a la siguiente gene-
ración es del 50
El criterio de paro se tomo en base al número de pasos.
El criterio de convergencia final se basa en el número de
repeticiones del mejor individuo.
El factor de mutación se tomo de 0.02.
El número de mutaciones se tomo de uno.
La función fitness es la suma de la simpatía que hay en-
tre dos individuos para todos los individuos presentes en la
sala:
for i=1:popsize,
for j=1:num_people −1 ; cost(i)= cost(i)+ ...
fa1*simpatias(pop(i,j), pop(i,j+1)); end
for j=1:num_people −2; cost(i)= cost(i)+...
fa2*simpatias(pop(i,j), pop(i,j+2)); end
for j=1:num_people −3; cost(i)= cost(i)+...
fa3*simpatias(pop(i,j), pop(i,j+3)); end
for j=1:num_people −4; cost(i)= cost(i)+...
fa4*simpatias(pop(i,j), pop(i,j+3)); end
end
Donde fa1 , fa2 , fa3 y fa4 son los factores de cercanía que
existen entre las personas.
Los parámetros iniciales del programa son:
Cuadro 1: Parámetros sugeridos para el programa
popsize num_pasos num_people mut_rate selection
20-50 700 20 0.15 0.5
La población se inicializo de manera aleatoria con los siguien-
tes comandos:
popsize= [10 20 30 40 50]; num_people= 20;
num_pasos=num_pasos(2) ;
popsize= popsize(5) ;
pop = zeros(popsize,num_people);
pop(1,:) = (1:num_people);
for k = 2:popsize ;
pop(k,:) = randperm(num_people);
end
El código de rueda de ruleta se baso en la implementada por
Haupt (2004) 1
. Al aplicar rueda de ruleta se calcularon los
pesos(prob) y se creó una función de distribución de probabi-
lidad odds, posteriormente se giro la ruleta y se determinan
los índices(newin) de los padres seleccionados. El número de
individios que se seleccionan es del 50 %
totalfit=sum(cost);
prob=cost/ totalfit;
prob=cumsum(prob);
rns=sort(rand(popsize,1));
fitin=1; newin=1;
while newin≤0.5*popsize
if fitin size(pop,2);
newin=popsize; fitin= popsize−1 ;
end
if (rns(newin)prob(fitin))
pop(newin,:)=pop(fitin,:);
newin=newin+1; fitin=fitin+1;
else
newin=newin+1; fitin=fitin+1;
end
end
1Haupt R. L. Haupt S. E.(2004) . Appendix II. Binary genetic algorithm. Practical genetic algorithms,second edition (211-219). Wiley-
Interscience . A John Wiley Sons , Inc., Publication
4
5. F3019. Modelación de Sistemas Físicos 5 ITESM Campus Monterrey
M es el número de cruces y keep es la cantidad de individuos
que se decide que pasen de generación en generación.
El cruce parcial de Goldsberg se baso en http://read.pudn.
com/downloads110/sourcecode/math/457248/MATLAB%E9%
81%97%E4%BC%A0%E7%AE%97%E6%B3%95PMX%E5%8F%98%E6%
8D%A2%E7%9A%84%E6%BA%90%E4%BB%A3%E7%A0%81.m__.htm y
se modifico de manera sugerida por 2
. El algoritmo consiste
en crear dos cadenas , uno de la madre y uno del padre,
posteriormente se buscan los genes de la cadena de la madre
en el padre y se intercambian con los genes en la cadena del
padre:
for ii= corte1: corte2
hijo1(ii)=...
temp_padre(find(temp_padre==temp_madre(ii)));
hijo1(find(temp_padre==temp_madre(ii))) =...
temp_padre(ii);
hijo2(ii)=...
temp_madre(find(temp_madre==temp_padre(ii)));
hijo2(find(temp_madre==temp_padre(ii)))=...
temp_madre(ii);
ii=ii+1;
end
Para validar los hijos se uso el comando repval crea-
do por Sheppard (2007) http://www.mathworks.com/
matlabcentral/newsreader/view_thread/30051 y si no
cumplen la condición se dejan los cromosomas intactos.
Se crean dos hijos(hijo1, hijo2) nuevos cada vez que se manda
llamar la función PMX_5(padre,madre) en cada generación.
La mutación se implementó intercambiando dos personas
aleatorias de individuo aleatorio:
for ic = 1:nmut ;
row1=ceil(rand*(popsize−1))+1;
col1=ceil(rand*npar);
col2=ceil(rand*npar);
temp=pop(row1,col1);
pop(row1,col1)=pop(row1,col2);
pop(row1,col2)=temp;
end
El número de mutaciones por generación nmut es proporcio-
nal a la razón de mutación mut_rate y al número de bits en
el cromosoma Nt.
El criterio de convergencia inicial y final se tomo en base al
número de veces que se repite el valor máximo de comfort
alcanzado a lo largo de las generaciones:
[RV, NR, POS, IR]=repval(maxc(1:ii));
if ¬isempty(NR); NR = NR(end) ; end
if NRceil(0.04*num_pasos) (maxc(ii)− maxc(ii−3))6= 0 ;
num_gen(kk)=ii; kk=kk+1; end
if NRceil(0.45*num_pasos) ;
break
else end
Donde num_gen cuenta la generación donde se observan los
primeros criterios de convergencia.
4. Análisis de resultados
La ruleta usada tiene la distribución de la siguiente figura:
Figura 4: Comfort máximo num_pasos = 500 ,popsize = 20.
En la tabla 2 se muestra el comfort máximo donde se cumple el criterio de convergencia final y el mejor individuo asociado
para distintos valores de población y 700 generaciones:
Tabla 2. Solución al problema de los asientos de cine con distintos tamaños de población
f_sol popsize x_sol
1296 20 9 15 7 2 20 1 3 16 18 19 5 13 6 17 11 12 14 8 4 10
1254 30 17 18 2 14 3 4 8 19 12 1 5 9 7 20 16 11 13 15 6 10
1303 40 20 1 2 11 3 9 8 5 10 14 4 12 15 18 16 13 19 6 17 7
1326 50 9 4 8 12 14 10 18 7 16 20 1 13 19 17 5 6 2 11 3 15
En la siguiente tabla se muestra para distintos valores población el número de generación donde se observan los primeros
criterios de convergencia:
2Göktürk Ücóluk (1997). Genetic Algorithm Solution of the TSP Avoiding Special Crossover and Mutation. Cycle p. 57-62 . Ankara, Turkey
5
6. F3019. Modelación de Sistemas Físicos 6 ITESM Campus Monterrey
Tabla 3. Generaciones donde se observa convergencia inicial
popsize num_gen
20 241 289
30 120 162 205 329 380
40 42 43 134 192
50 60 137
En la tabla 4 se muestran valores de como fue evolucionando el mejor individuo con una población de 50 para 700 generaciones:
Tabla 4. Evolución del mejor individuo para num_pasos = 700 y popsize = 50
3 4 8 12 14 10 7 18 16 20 1 13 19 17 5 6 9 11 2 15
3 4 8 12 14 10 18 7 16 20 1 13 19 17 5 6 9 11 2 15
5 14 8 20 4 12 3 9 13 7 11 6 17 1 15 2 10 18 19 16
6 18 3 19 11 2 1 9 20 14 15 12 8 4 10 17 5 13 7 16
9 4 8 12 14 10 18 7 16 20 1 13 19 17 5 6 2 11 3 15
10 4 8 14 6 5 20 7 1 15 12 13 2 18 3 19 9 16 11 17
Finalmente , se tabulo la evolución del comfort máximo para distintos valores de población
Tabla 5. Evolución del máximo comfort para diferentes tamaños de población
popsize maxc_un
20 859 1040 1049 1061 1093 1110 1189 1221 1258 1296
30 0 1005 1021 1070 1126 1160 1178 1188 1241 1247 1254
40 0 967 983 1100 1147 1159 1210 1214 1225 1303
50 0 952 1074 1195 1238 1266 1326
4.1. Gráficas de la evolución de los paráme-
tros
4.1.1. Máximo comfort
La convergencia del método se ilustra en las siguientes gráficas
tomando tamaños de población de 20 y 50 respectivamente:
Figura 5: Comfort máximo num_pasos = 500 ,popsize = 20.
En la gráfica de arriba no se implemento el criterio de con-
vergencia final por lo que corre el número de pasos total dado
por el usuario.
Figura 6: Comfort máximo num_pasos = 700 ,popsize = 50.
4.1.2. Comfort promedio
Finalmente se ilustra el comportamiento del comfort prome-
dio a lo largo de las generaciones:
6
7. F3019. Modelación de Sistemas Físicos 7 ITESM Campus Monterrey
Figura 7: Comfort promedio num_pasos = 500 ,popsize =
20.
5. Conclusiones
En conclusión, se pudo modelar el problema de los asientos de
cine con algoritmos genéticos, se codifico el problema como un
problema de permutación. No obstante se requieren más si-
mulaciones para afinar el comfort final , de acuerdo al criterio
de convergencia final , el número de valores repetidos del má-
ximo comfort alcanzado si se logra. Correr el programa PMX
requiere mucho tiempo , no obstante es muy robusto respecto
a las entradas. El programa PMX_5 sigue la sugerencia de
Göktürk Ücóluk que evita tener que hallar la relación de ma-
peo entre los cromosomas, por lo que es más fácil de extender
el programa a más genes.
Los valores de comfort alcanzados para distintos valores de
población convergen al valor final deseado en el rango de 1296-
1326 sin tener que correr el número de generaciones impuesto
por el usuario.
El valor recomendado para ordenar a las personas en el cine
es: (9 4 8 12 14 10 18 7 16 20 1 13 19 17 5 6 2 11 3 15)
6. Bibliografía
[1] Guevara, E. : Optimización con Algoritmos Genéticos
[Presentación de PowerPoint]. Recuperada de la base de
datos del curso de Modelación de Sistemas Físicos en
Blackboard.
[2] R2011b MathWorks Documentation.
[3] Haupt, Randy L. Genetic algorithms in electromagnetics.
New Jersey : Wiley, 2007.
[4] Mitchell, Melanie, An introduction to genetic algorithms.
Cambridge, Mass. : MIT Press, c1996
[5] Michalewicz, Zbigniew. Genetic algorithms + data struc-
tures = evolution programs. Berlin ;
[6] Haupt R. L. Haupt S. E.(2004) . Appendix II. Binary
genetic algorithm. Practical genetic algorithms, second
edition (211-219). Wiley- Interscience . A John Wiley
Sons , Inc., Publication
[7] Göktürk Ücóluk (1997). Genetic Algorithm Solution of
the TSP Avoiding Special Crossover and Mutation. Cycle
p. 57-62 . Ankara, Turkey
[8] http://read.pudn.com/downloads110/sourcecode/
math/457248/MATLAB%E9%81%97%E4%BC%A0%E7%AE%97%
E6%B3%95PMX%E5%8F%98%E6%8D%A2%E7%9A%84%E6%BA%
90%E4%BB%A3%E7%A0%81.m__.htm
7