Documentos de Académico
Documentos de Profesional
Documentos de Cultura
//Ingresar datos
Definir matriz_distancias;
Definir matriz_pasajeros;
Definir min_lineas;
Definir max_lineas;
Definir prob_cruce;
Definir prob_mutacion;
Definir cant_bloques;
Definir iteraciones;
Definir cant_individuos //Un individuo es una posible soluci�n al problema,
es una matriz bidimensional de n lineas, las lineas son matrices de nodos;
Funcion GenerarIndividuo
Se genera aleatoriamente(desde min_lineas hasta max_lineas) la cantidad
de lineas del individuo;
Se genera aleatoriamente los bloques o nodos (deacuerdo con la
cant_bloques) por cada linea del individuo;
Retorna Individuo(Matriz bidimensional);
FinFuncion
Funcion ValidarIndividuo(individuo)
Si el individuo tiene lineas repetidas
Retorna Falso;
FinSi
Si todos los bloques no son recorridos
Retorna Falso;
FinSi
Si las lineas no se conectan
Retorna Falso;
FinSi
Retorna Verdadero;
FinFuncion
Funcion mutar(individuo)
Se muta aleatoriamente segun prob_mutacion;
Se elige aleatoriamente la linea del individuo a mutar;
Se genera aleatoriamente la nueva cantidad de bloques o nodos
(deacuerdo con la cant_bloques);
Se reemplaza la linea mutada
Retorna individuo;
FinFuncion
Funcion fitness(individuo)
//Funcion a optimizar deacuerdo la cantidad de pasajeros y las
distancias entre bloques
FinFuncion