ProblemGenerator
ProblemGenerator
es un módulo de Julia diseñado para facilitar la creación y manipulación de problemas de optimización binivel. Este módulo proporciona herramientas para generar estructuras jerárquicas de optimización, definir funciones objetivo y restricciones, y configurar puntos estacionarios específicos.
¿Qué es un problema binivel?
Un problema binivel es un tipo de problema de optimización jerárquica que involucra dos niveles de toma de decisiones:
- Nivel superior (líder): Toma decisiones que influyen en el nivel inferior.
- Nivel inferior (seguidor): Responde a las decisiones del líder, optimizando sus propios objetivos.
Estos problemas son comunes en campos como economía, ingeniería y ciencias de la decisión, donde las interacciones entre diferentes actores deben modelarse matemáticamente.
Características principales de ProblemGenerator
- Transformación MPEC: Convierte problemas binivel en programas matemáticos con restricciones de complementariedad (MPEC) que sean estacionarios en el punto dado.
- Clasificación de puntos estacionarios:
- Fuertemente estacionario: Multiplicadores estrictamente positivos.
- M-estacionario: Multiplicadores no negativos con condiciones de complementariedad.
- C-estacionario: Relación multiplicativa no negativa entre parámetros.
- Interfaz intuitiva: Define variables, funciones objetivo y restricciones de manera sencilla utilizando la sintaxis de Julia y Symbolics.jl.
Primeros pasos
Instalación
Para instalar ProblemGenerator
, asegúrate de tener Julia instalado y ejecuta el siguiente comando en tu entorno:
using Pkg
Pkg.add("ProblemGenerator")
Documentación completa
Para obtener más detalles sobre las funciones y características del módulo, consulta las siguientes secciones: - Fundamentos teóricos: Conceptos matemáticos detrás de los problemas binivel. - Especificación técnica de funciones: Descripción detallada de las funciones principales. - Ejemplo completo: Un caso práctico paso a paso.
Contribuciones
¡Contribuciones son bienvenidas! Si deseas colaborar o reportar problemas, visita el repositorio oficial de ProblemGenerator
en GitHub.