Modelación y Simulación 2025
Este es un curso introductorio a la modelación y simulación computacional, y en general al cómputo científico. Tiene como objetivo cubrir algunos temas relacionados con métodos numéricos computacionales, y se estudian algoritmos para cálculo científico y su implementación computacional. Se estudian tres grandes temas:
(1) Optimización numérica continua y discreta.
(2) Modelación continua y discreta, principalmente mediante EDO.
(3) Simulación de fenómenos mediante distribuciones de probabilidad.
La primera parte del curso se enfoca en introducir temas de optimización numérica. Iniciamos formulando problemas de programación lineal, y sus propiedades, e introducimos el algoritmo Simplex. Veremos aplicaciones de programación lineal en problemas de transporte y problemas de asignación. En seguida, hacemos una revisión de algunos métodos de optimización no lineal, principalmente los métodos de gradiente, así como métodos de la familia de gradiente conjugado y métodos quasi-Newton. El tema culmina una introducción a algunos métodos de optimización combinatoria y discreta, como por ejemplo los algoritmos genéticos, y algoritmos evolutivos y de partículas.
En el segundo bloque, estudiamos modelos de ecuaciones diferenciales y sistemas de ecuaciones diferenciales: estudiamos algunas EDO y EDP clásicas, desde el enfoque de la construcción del modelo diferencial. Aprederemos algunas técnicas para analizar cualitativamente los modelos diferenciales, y aprenderemos algoritmos numéricos para la solución de EDOs y sistemas de EDOs. Introducimos algunos elementos de modelación con EPDs y un algoritmo de diferencias finitas para su solución numérica. En esta parte aplicamos las EDO y las EDP para modelar y simular fenómenos de dinámica de poblaciones, modelos ecológicos y modelos de difusión, aplicados a diferentes contextos.
En la parte final del curso hacemos uso de distribuciones de probabilidad, para modelar aquellos fenómenos en los que interviene algún componente estocástico. Abordaremos algoritmos numéricos para la generación de muestras aleatorias de distribuciones de probabilidad, y aplicaremos estos algoritmos al estudio de ciertos problemas de modelación. Hacemos una revisión de teoría de colas, y cómo simularlas de forma computacional. Finalmente, introducimos algunos métodos de estadística bayesiana para simulación.
Importante!! El curso cuenta con una parte práctica extensiva, en la que el estudiante implementará en código computacional cada uno de los algoritmos estudiados. Parte fundamental del curso consiste en utilizar las herramientas aprendidas en varios proyectos aplicados donde se trabajará con datos reales y comunicar los resultados mediante reportes técnicos y seminarios.
Prerrequisitos
Se recomienda que los estudiantes antes del curso estén habituados con los temas:
- Cálculo en una y varias variables
- Álgebra lineal y álgebra matricial
- Ecuaciones diferenciales ordinarias
- Probabilidad y estadística
- Un curso de Programación.
Programa del curso
Horario
- Martes de 16:30 a 18:50 CIT-301, y Jueves de 17:20 a 18:50 CIT-215.
Office Hours
- Martes o jueves de 19:00 a 19:45.
Material del curso
No. | Fecha | Tópicos | Recursos |
---|---|---|---|
01 | 03.07.2025 | Inicio del curso. Motivación de cómputo científico. Aula 01 |
|
02 | 08.07.2025 | Programación Lineal. Región factible. Forma estándar. | Taha, Cap. 1 Matousek-Gärner, Cap. 4 |
03 | 10.07.2025 | Variables básicas y no-básicas. Algoritmo Simplex. | Taha, Cap. 2 y 3 Matousek-Gärner, Cap. 5 Simplex.xlsx |
04 | 15.07.2025 | Formulación de problemas de PL. Uso de Julia o Python. | Ejemplo1.ipynb Ejemplo3.ipynb Ejemplo_Fábrica.ipynb |
L1 | 17.07.2025 | Lab 01. | Lab 01 Entrega: 24 de julio |
05 | 22.07.2025 | Problemas de transporte. Problemas de asignación. |
Asignment.ipynb Transport.ipynb |
06 | 24.07.2025 | Métodos iterativos para calcular raíces: Bisección, Secante, método de Newton-Raphson. | Burden-Faires, Secciones 2.1 a 2.4 |
07 | 29.07.2025 | Método de Newton en varias variables. |
Burden-Faires, Sección 10.2 |
L2 | 29.07.2025 | Lab 02. | Lab 02 Entrega: 5 de agosto |
08 | 31.08.2025 | Optimización 1-dimensional. Aula 08 |
|
09 | 07.08.2025 | Optimización continua. Tipos de mínimos. Aula 09 |
|
10 | 12.08.2025 | Descenso gradiente. Gradiente estocástico. Aula 10 |
Stochastic Gradient Descent (SGD) |
11 | 12.08.2025 | Gradiente conjugado. Métodos Quasi-Newton: SR1, DPF, BFGS. Aula 11 Aula 12 | |
L3 | 14.08.2025 | Lab 03. | Lab 03 datos_lab3.csv Entrega: 21 de agosto |
12 | 19.08.2025 | Optimización discreta. Representación. Aula 14 |
|
13 | 19.08.2025 | Algoritmos genéticos (GA). Aula 15 |
|
14 | 21.08.2025 | Operadores de cruce y de mutación. Ejemplos GA. |
Operadores para TSP Larrañaga et al. |
L4 | 26.08.2025 | Lab 04. | Lab 04 Entrega: 2 de septiembre. |
15 | 28.08.2025 | Búsqueda local, Hill-Climbing. Aula 18 |
|
16 | 28.08.2025 | Enfriamiento simulado (Simulated annealing). Aula 19 |
|
17 | 02.09.2025 | Ecuaciones diferenciales. Existencia y unicidad de soluciones. | Apuntes EDO |
18 | 04.09.2025 | Análisis cualitativo de EDO de 1er orden. |
Análisis Cualitativo |
19 | 04.09.2025 | Campos de vectores. |
|
20 | 09.09.2025 | Método de las isóclinas. Ecuaciones autónomas. |
|
L5 | 11.09.2025 | Lab 05. | Lab 05 Entrega: 25 de septiembre. |
21 | 23.09.2025 |
Proyectos
Durante el curso se realizarán dos proyectos.
No. | Fecha | Tópicos | Recursos |
---|---|---|---|
1 | 26.08.2025 | Proyecto - Algoritmos Genéticos + LP | Proyecto 1 Entrega: 07 de octubre. |
2 | 07.10.2025 | Presentación del proyecto. | |
3 | 10.10.2025 | Entrega de código e informe final. |
Referencias
Textos:
Referencias adicionales:
-
J. Matousek, B. Gärtner, (2007). Understanding and Using Linear Programming.
-
R. Burden, A. Burden, D. J. Faires (2017). Análisis numérico.
-
M. Martcheva (2010). An Introduction to Mathematical Epidemiology.
-
C. Robert y G. Casella (2004). Monte Carlo Statistical Methods.
-
B. Zeigler, A. Muzy y E. Kofman (2019). Theory of Modeling and Simulation.
-
J. A. Sokolowski y C. M. Banks (2010). Modeling and Simulation Fundamentals.