Simulación Computacional - 602904
Objetivos
General
Entender el concepto de simulación.
Específicos
Entender el concepto de simulación de eventos discretos.
Metodología
xxxxx
Contenido
Simulación para analizar modelos estocásticos
Introducción a la Simulación [Ross13] Chap1
Fundamentos de Probabilidad [Ross13] Chap. 2
Números aleatorios [Ross13] Chap. 3
Generación de Variables Aleatorias [Rios00] Cap. 3, [Rios08] Cap. 3
Generación de Variables Aleatorias Discretas [Ross99] Cap. 4, [Rios08] Sec. 3.3
Generación de Variables Aleatorias Continuas [Ross99] Cap. 5, [Rios08] Sec. 3.2
Simulación de Eventos Discretos [Ross99] Cap. 6, [Ross13] Chap. 7, [Rios00] Cap. 4, [Rios08] Cap. 5
Análisis estadístico de datos simulados [Ross99] Cap. 7, [Ross13] Chap. 8
Técnicas de reducción de la varianza [Ross99] Cap. 8, [Ross13] Chap. 9, [Rios00] Cap. 8, [Rios08], Cap. 9
Técnicas de validación estadística [Ross99] Cap. 8, [Ross13] Chap. 11
Simulación de Sistemas Dinámicos
xxx
Registro de curso: Formulario de Inscripción
Programación
Semana
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
16
16
17
17
18
18
19
19
19
20
20
21
21
22
22
Clase
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
39
40
41
42
43
44
Fecha
Febrero 6
Febrero 8
Febrero 13
Febrero 15
Febrero 20
Febrero 22
Febrero 27
Marzo 1
Marzo 6
Marzo 8
Marzo 13
Marzo 15
Marzo 20
Marzo 22
Marzo 27
Marzo 29
Abril 3
Abril 5
Abril 10
Abril 12
Abril 17
Abril 19
Abril 24
Abril 26
Mayo 1
Mayo 3
Mayo 8
Mayo 10
Mayo 15
Mayo 17
Mayo 22
Mayo 24
Mayo 29
Mayo 31
Junio 5
Junio 7
Junio 12
Junio 14
Junio 15
Junio 19
Junio 21
Junio 26
Junio 28
Julio 3
Julio 5
Tema
Presentación del curso [slides]
Introducción a la Simulación Computacional [slides]
Ejemplo Simulación Monte Carlo y método numérico para integración numérica.
Repaso de Probabilidad [Cap 2, Ross99]
Números aleatorios. [slides]
Generadores de números pseudoaletorios (MidSquare y Congruencial Mixto).
Lectura complementaria: [Mancilla00]
No hubo clase por anormalidad académica
No hubo clase por anormalidad académica
No hubo clase por anormalidad académica
No hubo clase por anormalidad académica
Generación de distribución de probabilidad, concepto de media y varianza.
Simulación: Probabilidad, Estadística, Histograma
Generación de variables aleatorias discretas. Método de la transformada inversa
Lectura: [Isaacson14] Cap. 1 y 3
Ejemplo uso de generación de números pseudoaleatorios para calcular el el valor de pi
Festivo
Números aleatorios. Uso de números aleatorios para evaluar integrales [Ross99]
1er Parcial
Entregas
T1: Comparar Simulación de Monte Carlo y método numérico del Trapecio (Implementarlo en Python en un Notebook de Jupyter)
T3: Implementación de generadores de números pseudoaleatorios (MidSquare, Congruencial Mixto)
T2: Ejercicios 1, 3, 5, 6, 8, 9, 11, 19 (Cap 2, Ross99)
T4: Implementar método de la inversión para generación de variables aleatorias discretas
T5: Calcular y graficar pi/4 [Ejemplo 3a. Cap 3. Ross99, Ross13]
T6: Ejercicios 1 - 6 (Cap3, Ross99) en Notebook de Jupyter (IPython)
T7: Generación de v.a. discretas
1. Implementar el método para la generación de v.a. Poisson (Sec. 4.2, Ross99)
2. Implementar el método para la generación de v.a. Binomiales (Sec. 4.3, Ross99)
3. Implementar la técnica de aceptación y rechazo para la generación de v.a. Discretas (Sec. 4.4, Ross99)
4. Implementar el método de composición para la generación de v.a. Discretas (Sec. 4.4, Ross99)
5. Ejercicios 1, 3, 4, 7 (Cap. 4, Ross99)
T8: Taller de implementación de contrastes de uniformidad y aleatoriedad (Ver Notebook ).
Borrador propuesta de proyecto
T9: Simulación de un sistema simple de colas con una entrada y un servidor, donde las llegadas son los números de clientes en una unidad de tiempo con distribución Exponencial con parámetro \lambda y numero de clientes atendidos por unidad de tiempo del servidor con distribución normal con parámetros \mu, \sigma. Para calcular tiempos promedios de los clientes en cola, en el servidor y en el sistema.
T10: Implementar una red de colas de un Centro de Diagnóstico Automotriz que emiten la revisión técnico-mecánica [Sec. 5.5.2 Ross08]
T11: Tutorial SimPy in 10 minutes en Notebook de Jupyter (IPython)
T12: Taller de Caso de uso de eventos discretos: Bank Renege
T13: Taller de Netlogo. Implementar colonia de hormigas para encontrar la ruta óptima.
Generación de Variables aleatorias discretas. [slides]
Generación de v.a. Poisson, Generación de v.a. Binomiales, La técnica de aceptación y rechazo, Método de composición
Introducción Test para números aleatorios. I
Semana Santa
Semana Santa
Avance I Proyecto - PechaKucha
1er Parcial
Propuestas de proyectos de semestre de Simulación Computacional
Festivo
Introducción a simulación de eventos discretos: Ejemplo sistema simple de colas
2do Parcial
Avance I Proyecto - PechaKucha
Avance II Proyecto - Poster
Calamidad domestica
Calamidad domestica
Simulación por medio de eventos discretos
2do Parcial
Introducción a SimPy (http://simpy.readthedocs.io/en/latest/index.html)
http://simpy.readthedocs.io/en/latest/simpy_intro/index.html
Festivo
(Fin de Clases)
Sustentación (Presentación y Demo) - Artículo Científico del Proyecto
Exámen Final
Avance II Proyecto - Poster
Fabio González. Guía para la construcción de un poster. 2004
2do Parcial
Practica de Modelado y Simulación - Universidad Central - Bogotá
Festivo
(Fin de Clases)
Festivo
Sustentación (Presentación y Demo) - Artículo Científico del Proyecto
Calificación Compañeros
Festivo
Examen Final
Solución Examen Final - Notebook
(Entrega de Notas)
Horario de clases
Lunes y Miércoles de 8 am a 10 am (Sala MCA Edificio Albert Einstein)
Lugar de atención a estudiantes
Sala 1 de Profesores FCBI, Centro de Investigaciones FCBI o Laboratorio Grupo GITECX
Evaluación
1er corte 30%
1er Parcial 15% -
Marzo 27Abril 17Taller(es) 10%
Quices 5%
2do corte 30%
2do Parcial 15% -
Mayo 8Mayo 24Junio 5Taller(es) 10%
Quices 5%
3er corte 40%
Examén Final 15% -
Junio 7Junio 28Proyecto 25%
Avance I 5% (PechaKucha) -
Abril 17Mayo 8Avance II 5% (Poster) -
Mayo 15Mayo 31Junio 12Sustentación Proyecto (Presentación y Demo) 10% -
Junio 5Junio 28Artículo 5% (LaTeX) -
Junio 5Junio 28
Bibliografía
[Rios08] RIOS, David, RIOS, Sixto, MARTÍN, Jacinto. Simulación, Métodos y aplicaciones. 2da Edición. Editorial Alfaomega, 2008 [url]
[Rios00] RIOS, David, RIOS, Sixto, MARTÍN, Jacinto. Simulación, Métodos y aplicaciones. Editorial Alfaomega, 2000
[Ross13] Ross, Sheldon.: Simulation, 5th ed. Academic Press, 2013
[Ross99] Ross, Sheldon.: Simulación, 2da Edición. Pearson Press, 1999
[Banks10] BANKS, Jerry, CARSON III, John S, NELSON, Barry. Discrete-Event System Simulation. (Fifth Edition). Prentice-Hall, 2010.
[Averill07] AVERILL M, Law, KELTON, W. David. Simulation Modeling and Analysis. 4th ed. Editorial Mc. Graw-Hill; 2007.
[Coss93] COSS, Raul. Simulación: un enfoque práctico. Editorial Limusa, 1993.
[Banks98] Jerry Banks, “Handbook of Simulation: Principles, Methodology, Advances, Applications, and Practice”, John Wiley & Sons, Inc., 1998.
MOOCs
Coursera - Simulation and modeling of natural processes: https://es.coursera.org/learn/modeling-simulation-natural-processes
Conferencias, charlas, etc.
Videolectures: http://videolectures.net/site/search/?q=simulation
Otros Recursos
Tutoriales LaTeX en Overleaf (Inglés):
https://www.overleaf.com/latex/learn/free-online-introduction-to-latex-part-1#.WKxKzhIrKRs
https://www.overleaf.com/latex/learn/free-online-introduction-to-latex-part-2#.WKxLFhIrKRs
https://www.overleaf.com/latex/learn/free-online-introduction-to-latex-part-3#.WKxLKhIrKRs
Aprender Python (Libro): http://www.diveintopython3.net/
Tutorial de Python en línea: http://www.learnpython.org/
Curso de Python en Coursera: https://es.coursera.org/learn/python
Documentación Python: https://docs.python.org/
IDE Python en línea: https://repl.it/languages/python3
Tutorial Git: http://blog.santiagobasulto.com.ar/programacion/2011/11/27/tutorial-de-git-en-espanol.html
Sublime text 3: http://www.sublimetext.com/3
Descargar Anaconda: http://continuum.io/downloads
Notebook viewer online - Para compartir Notebooks de IPython o Jupyter: http://nbviewer.ipython.org/
Anaconda Python IDE con Sublime text 3: http://damnwidget.github.io/anaconda/
Sublime 3 como IDE para Python: https://realpython.com/blog/python/setting-up-sublime-text-3-for-full-stack-python-development/
Tutorial Markdown: http://www.markdown-tutorial.com/
Software de simulación:
Palabos - Open-source CFD solver based on the lattice Boltzmann method: http://www.palabos.org/
Lecturas complementarias
[Mancilla00] Alfonso Manuel Mancilla Herrera. Números aleatorios. Historia, teoría y aplicaciones. Ingeniería y Desarrollo 2000, (8) URL: http://www.redalyc.org/articulo.oa?id=85200804
[Isaacson14] Walter Isaacson. Los innovadores: Los genios que inventaron el futuro. DEBATE, 2014. 608 págs. ISBN 9788499924663 [amazon][youtube][reseña]
Películas recomendadas
Hidden Figures (Talentos Ocultos): https://www.youtube.com/watch?v=Q_BZrkilZAw
Notas