Saltar al contenido
Logotipo de Trainontech Trainontech

Electrónica y Sistemas Embebidos · EMB-114

Algoritmos genéticos aplicados a optimización

Codificación, selección, cruce y mutación para ajustar parámetros y planificar cuando no hay solución analítica.

Disponible Especialización 7 módulos · 32 clases

Formato asíncrono Ingeniería / Industria, Desarrollo Python

Lo que aprenderás

  • Codificar una solución candidata en un cromosoma adecuado al problema, sea binario, real o de permutación.
  • Diseñar una función de aptitud que refleje el objetivo real e incorpore las restricciones como penalización.
  • Aplicar operadores de selección por torneo, por ruleta y por rango valorando la presión selectiva de cada uno.
  • Implementar cruce y mutación coherentes con la codificación elegida sin generar soluciones inválidas.
  • Controlar la convergencia prematura con elitismo, diversidad y ajuste de las tasas de operador.
  • Comparar el resultado con una búsqueda aleatoria y con un método clásico para justificar el uso del algoritmo.

Contenido del curso

7 módulos · 32 clases en vídeo · práctica guiada en cada módulo

Módulo 1 · Optimización y espacio de búsqueda 4 clases
  • Problemas sin solución analítica
  • Espacio de búsqueda, óptimo local y óptimo global
  • Panorama de métodos y su encaje
  • Entorno de trabajo en Python
Módulo 2 · Codificación y aptitud 5 clases
  • Cromosoma binario, real y de permutación
  • Elegir la representación según el problema
  • Función de aptitud y objetivo real
  • Restricciones como penalización o como reparación
  • Escalado de la aptitud
Módulo 3 · Selección 5 clases
  • Selección por ruleta
  • Selección por torneo
  • Selección por rango
  • Presión selectiva y diversidad
  • Elitismo y sus riesgos
Módulo 4 · Cruce y mutación 5 clases
  • Cruce en uno y en varios puntos
  • Cruce uniforme y aritmético
  • Operadores para permutaciones
  • Mutación y tasa adecuada
  • Soluciones inválidas y cómo evitarlas
Módulo 5 · El algoritmo completo 5 clases
  • Bucle generacional y criterios de parada
  • Tamaño de población y coste de cómputo
  • Seguimiento de la mejor solución y de la media
  • Convergencia prematura y cómo detectarla
  • Paralelizar la evaluación de aptitud
Módulo 6 · Variantes y problemas multiobjetivo 4 clases
  • Objetivos en conflicto y frente de Pareto
  • Algoritmos multiobjetivo básicos
  • Búsqueda local combinada con la evolución
  • Comparación con recocido simulado y con enjambre
Módulo 7 · Caso práctico y validación 4 clases
  • Aplicación a un problema de ajuste o de planificación
  • Comparación con búsqueda aleatoria y con método clásico
  • Repetición con distintas semillas y variabilidad del resultado
  • Informe de resultados y límites del método

Requisitos

  • Programación en Python con soltura: clases, funciones y NumPy.
  • Un problema propio de optimización o ajuste al que aplicar lo aprendido, aunque el curso propone varios.
  • Nociones de estadística y de coste computacional.
  • Haber trabajado antes con simulación o con modelos de proceso resulta útil pero no imprescindible.

Descripción

Hay problemas en los que probar todas las combinaciones es inviable y no existe una fórmula que dé la respuesta: repartir tareas entre máquinas, ajustar los parámetros de un controlador, planificar rutas o dimensionar una instalación con varias restricciones cruzadas. La hoja de cálculo se queda corta y la intuición deja de ser suficiente.

Los algoritmos genéticos abordan ese tipo de problema explorando el espacio de soluciones por evolución. El curso construye uno desde cero en Python: codificación del cromosoma, función de aptitud con restricciones, selección, cruce y mutación, y control de la diversidad de la población. Cada componente se prueba sobre problemas conocidos antes de aplicarlo al caso propio.

El bloque final se ocupa de la honestidad del resultado: comparar con búsqueda aleatoria y con métodos clásicos, medir el coste de cómputo, repetir con distintas semillas y reconocer cuándo el algoritmo genético no es la herramienta adecuada. Encaja con el ajuste de controladores, con la planificación de producción y con problemas de diseño en ingeniería.

¿Para quién es este curso?

  • Ingeniería que dimensiona instalaciones o ajusta parámetros con muchas variables acopladas.
  • Perfiles de desarrollo que se enfrentan a problemas de asignación, planificación o rutas.
  • Personal técnico de producción que planifica turnos, cargas o secuencias con restricciones múltiples.
Disponible

Contenido ya grabado y publicado en el campus. Puedes empezar en cuanto te inscribas.

Código
EMB-114
Nivel
Especialización
Público
Ingeniería / Industria, Desarrollo
Entorno
Python

Este curso incluye

  • 32 clases en vídeo bajo demanda
  • Práctica en entornos web y simuladores, sin instalar nada
  • Tutorización en el campus
  • Acceso desde móvil, tableta y ordenador
  • Actualizaciones cuando cambia la versión de la herramienta
  • Certificado de finalización

Sigue aprendiendo

Cursos relacionados

EMB-115Electrónica y Sistemas Embebidos

Redes neuronales en ESP32

Entrenar fuera, inferir dentro: el flujo completo hasta el microcontrolador.

ESP32Python

Especialización 31 clases

EMB-116Electrónica y Sistemas Embebidos

LLM y RAG en sistemas embebidos: límites

Qué es posible hoy en un ESP32, qué exige un SBC y dónde está la frontera real.

ESP32Ollama

Especialización 31 clases

Próximamente

EMB-125Electrónica y Sistemas Embebidos

FreeRTOS en microcontroladores

Tareas, colas y semáforos para sistemas con requisitos temporales.

ESP32

Especialización 28 clases