Algoritmos Genéticos con Python
Реклама. ООО «ЛитРес», ИНН: 7719571260.
Оглавление
Álvaro Rodríguez. Algoritmos Genéticos con Python
Algoritmos Genéticos con Python
¿Por qué algoritmos genéticos en el ámbito de la ingeniería?
Objetivos y estructura del libro
Prerrequisitos para seguir el libro
Código. Descripción del código
Repositorio
Descripción del código
Algoritmos y operadores de referencia
Librerías necesarias
Agradecimientos
Sobre los autores y datos de contacto
I Parte 1: Introducción a los algoritmos genéticos
1.1 Introducción a los algoritmos genéticos
1.2 Primeros pasos mediante un problema sencillo
1.3 Definición del problema y generación de la población inicial
1.3.1 Creación del problema
1.3.2 Creación de la plantilla del individuo
1.3.3 Crear individuos aleatorios y población inicial
1.4 Función objetivo y operadores genéticos
1.4.1 Función objetivo
1.5 Operadores genéticos
1.6 Últimos pasos: Algoritmo genético como caja negra
1.6.1 Configuración algoritmo genético
1.6.2 Resultados del algoritmo genético
1.7 ¿Cómo conseguir resultados consistentes?
1.8 Convergencia del algoritmo
1.9 Exploración versus explotación en algoritmos genéticos
1.10 Código completo y lecciones aprendidas
1.11 Para seguir aprendiendo
2.1 Introducción al problema del viajero
2.2 Definición del problema y generación de la población inicial
2.2.1 Creación del problema y plantilla para el individuo
2.2.2 Crear individuos aleatorios y población inicial
2.3 Función objetivo y operadores genéticos
2.3.1 Función objetivo
2.3.2 Operadores genéticos
2.4 Selección del algoritmo genético
2.5 Últimos pasos
2.5.1 Configuración del algoritmo genético µ + λ
2.6 Comprobar la convergencia del algoritmo en problemas complejos
2.7 Ajuste de los hiperparámetros: Probabilidades de cruce y mutación
2.8 Acelerando la convergencia del algoritmo: El tamaño del torneo
2.9 Acelerando la convergencia del algoritmo: Aplicar elitismo
2.10 Complejidad del problema: P vs NP
2.11 Código completo y lecciones aprendidas
2.12 Para seguir aprendiendo
3.1 Introducción a las funciones de benchmark
3.2 Aprendiendo a usar las funciones de benchmark: Formulación del problema
3.2.1 Función h1
3.2.2 Función Ackley
3.2.3 Función Schwefel
3.3 Definición del problema y generación de la población inicial
3.4 Función objetivo y operadores genéticos
3.4.1 Función objetivo
3.4.2 Operadores genéticos
3.5 Código completo
3.6 Evaluación de algunas funciones de benchmark
3.6.1 Función h1
3.6.2 Función Ackley
3.6.3 Función Schwefel
3.7 Ajuste de los hiperparámetros de los operadores genéticos
3.8 Lecciones aprendidas
3.9 Para seguir aprendiendo
4.1 Introducción a los problemas con múltiples objetivos
4.2 Introducción a la Pareto dominancia
4.3 Selección del algoritmo genético
4.4 El problema de la suma de subconjuntos con múltiples objetivos
4.4.1 Formulación del problema
4.4.2 Definición del problema y generación de la población inicial
4.4.3 Definición del problema y plantilla del individuo
4.4.4 Función objetivo y operadores genéticos
Función objetivo
Operadores genéticos
4.4.5 Últimos pasos: Ejecución del algoritmo multiobjetivo
4.4.6 Configuración del algoritmo genético multiobjetivo
Representación del frente de Pareto
4.4.7 Algunos apuntes sobre los algoritmos genéticos con múltiples objetivos
4.4.8 Código completo
4.5 Funciones de benchmark con múltiples objetivos
4.5.1 Definición del problema y población inicial
4.5.2 Función objetivo y operadores genéticos
4.5.3 Ejecución del algoritmo multiobjetivo
4.5.4 Representación del frente de Pareto
4.5.5 Ajuste de los hiperpámetros de los operadores genéticos
4.5.6 Código completo
4.6 Lecciones aprendidas
4.7 Para seguir aprendiendo
II Parte 2: Algoritmos genéticos para ingeniería
5.1 Introducción
5.2 Formulación del problema
5.2.1 Recursos renovables
5.2.2 Unidades despachables
5.2.3 Sistema de almacenamiento de energía
5.2.4 Balance de potencia
5.3 Problema con un objetivo: Minimizar el coste de operación
5.3.1 Definición del problema y generación de la población inicial
5.3.2 Operadores genéticos
5.3.3 Función objetivo
5.3.4 Ejecución del algoritmo
5.3.5 Resultados obtenidos
5.4 Problema con múltiples objetivos: Minimizando el coste de operación y el ciclado de la batería
5.4.1 Definición del problema, población inicial y operadores genéticos
5.4.2 Función objetivo
5.4.3 Ejecución del algoritmo
5.4.4 Resultados obtenidos
5.5 Código completo y lecciones aprendidas
5.6 Para seguir aprendiendo
6.1 Introducción
6.2 Formulación del problema
Perfil del terreno
Trazado de la planta
6.2.1 Modelado de la central micro-hidráulica
Prestaciones de la planta
Factibilidad de la planta
6.3 Problema con un objetivo: Minimizando el coste de instalación
6.3.1 Definición del problema y generación de la población inicial
6.3.2 Operadores genéticos
6.3.3 Función objetivo o de fitness
6.3.4 Ejecución del algoritmo
6.3.5 Resultados obtenidos
6.4 Problema con múltiples objetivos: Minimizando el coste de instalación y maximizando la potencia generada
6.4.1 Definición del problema, población inicial y operadores genéticos
6.4.2 Función objetivo o de fitness
6.4.3 Ejecución del algoritmo
6.4.4 Resultados obtenidos
6.5 Código completo y lecciones aprendidas
6.6 Para seguir aprendiendo
7.1 Introducción
7.2 Formulación del problema
7.3 Problema con un objetivo: Maximizando el número de puntos cubiertos
7.3.1 Definición del problema y generación de la población inicial
7.3.2 Operadores genéticos
7.3.3 Función objetivo
7.3.4 Ejecución del algoritmo
7.3.5 Resultados obtenidos
7.4 Problema con múltiples objetivos: maximizando el número de puntos cubiertos y la redundancia
7.4.1 Definición del problema, población inicial y operadores genéticos
7.4.2 Función objetivo
7.4.3 Ejecución del algoritmo
7.4.4 Resultados obtenidos
7.5 Código completo y lecciones aprendidas
7.6 Para seguir aprendiendo
Epílogo
A.1 Introducción a las secuencias en Python
A.2 Slicing en secuencias y operadores genéticos de deap
A.3 Operador de comparación en secuencias
B.1 Procesamiento paralelo con el módulo multiprocessing
B.2 Procesamiento paralelo con el módulo Scoop
Отрывок из книги
Algoritmos Genéticos con Python
Un enfoque práctico para resolver problemas de ingeniería
.....
4.5.2 Función objetivo y operadores genéticos
4.5.3 Ejecución del algoritmo multiobjetivo
.....