Skip to content
View Lunaaaalj's full-sized avatar

Highlights

  • Pro

Block or report Lunaaaalj

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Lunaaaalj/README.md
Eduardo Luna. Applied mathematics and data science, Tecnológico de Monterrey.

Quantitative modelling for operational decisions under uncertainty: spatial risk, resource allocation and stochastic planning. Undergraduate in Data Science and Mathematics at Tecnológico de Monterrey.

Practice. Raw data is immutable; every derived table and figure is regenerated from versioned code. Formulations are specified in LaTeX before implementation and, where tractable, validated against an exact solution. Solvers are written in C++; analysis and modelling in Python; editor tooling in Lua.

Current work. Chance-constrained optimisation and metaheuristics for reforestation planning; hierarchical Bayesian models for spatial count data; dataset distillation for convolutional networks.

Methods by project

Method GeoStats RefInit Casa Monarca GBM CNN MSED
Hierarchical Bayesian models ●
Spatial statistics ●
Mixed-integer programming ● ●
Chance constraints ●
Metaheuristics ●
Monte Carlo simulation ●
Differential equations ●
Regression ● ●
Deep learning ●
Implementation Python C++ Python Python Python Python

Libraries. PyMC, statsmodels, scikit-learn, SciPy, pandas, GeoPandas, PySAL, Pyomo with GLPK, TensorFlow and Keras, Dear ImGui.
Tooling. uv, CMake, Quarto, LaTeX, Jupyter, Streamlit, Weights & Biases, Neovim.


GeoStats

Hexagonal density map of traffic incidents in central Monterrey. Density concentrates along a central corridor; the highest-percentile cells are marked in red.

Fig. 1. Traffic incidents recorded by INEGI (ATUS), 2019–2024, aggregated to 1 km hexagonal cells over central Monterrey, from 379,294 geocoded records. Red cells are the top percentile (≥ 2,277 records each). Generated from the repository's processed data.

Problem. Identify where traffic risk concentrates across the 18 municipalities of the Monterrey metropolitan area, who bears its cost, and how predictable it is.
Method. Reproducible INEGI pipeline to Parquet; 2,241-cell hexagonal grid; spatial autocorrelation; hierarchical model forecasting incidents per cell for 2027.
Stack. Python, GeoPandas, PySAL, PyMC, statsmodels.
Output. Interactive presentation and model application.

Stochastic_RefInit

Two staggered planting grids. Random species assignment produces 182 same-genus contacts; competition-aware assignment produces 57.

Fig. 2. Illustrative comparison on a staggered (tresbolillo) grid: ten species in four genera under equal quotas, assigned at random and by a greedy competition-aware rule. Red edges mark same-genus neighbours. The project itself solves this with a memetic algorithm and tabu search.

Problem. Reforest 30 polygons along the Dominica–Charcas transmission line (San Luis Potosí) with ten native species at 658 plants/ha: determine purchase quantities that meet the target with probability at least 1 − α within budget, and arrange species to minimise competition.
Method. Chance-constrained purchasing model; memetic algorithm with tabu search for spatial arrangement, benchmarked against an exact integer program.
Stack. C++, CMake, Dear ImGui and ImPlot desktop application; Python and LaTeX for analysis and reporting.
Output. Planning tool for CONAFOR technicians. Project site.

Optimización de recursos, Casa Monarca

Sparsity pattern of a mixed-integer program with 1,092 variables and 934 constraints, showing time-staged diagonal blocks.

Fig. 3. Nonzero structure of the mixed-integer program as formulated: 30 ingredients, 7 days, 3 meals, 12 dishes. Columns are variable blocks; rows are constraint families. Recipe coefficients are schematic; every other block follows the published constraints.

Problem. Minimise weekly food-purchasing cost for approximately 100 residents of a migrant shelter, subject to a fixed budget, commercial lot sizes, scheduled donations and inventory continuity.
Method. Mixed-integer linear program with Big-M menu scheduling and inventory balance, solved with GLPK.
Stack. Python, Pyomo, Streamlit, LaTeX.
Output. Web application operated by shelter staff.

Neovim

The environment in which the work above is written is maintained as a public configuration, from which two plugins have been extracted and published.

The Stochastic_RefInit command-line entry point in C++, open in a translucent terminal: a file tree on the left, buffer tabs and a symbol breadcrumb above the code, fold markers in the gutter and a status line below.

Fig. 4. The configuration editing src/main.cpp of Stochastic_RefInit with clangd: file tree, buffer tabs, symbol breadcrumb and fold column. Screenshot from the nvim repository.

nvim. Neovim 0.11 on lazy.nvim, with about 70 plugin specifications and language servers configured through the native vim.lsp.config API. Three subsystems are written from scratch: a PDF viewer drawn with the kitty graphics protocol, with SyncTeX in both directions and pages recoloured to the active theme; Claude Code sessions held in ordinary terminal buffers; and shell-integrated terminals that record each command's directory, exit status and output, so that compiler errors can be sent to the quickfix list. Jupyter notebooks open as plain text through jupytext and execute in live kernels through molten.nvim.
upstream.nvim. A full-screen GitHub interface built on the gh CLI, covering issues, pull requests, review requests and CI runs. Every call is asynchronous and bounded by a timeout; responses are cached and served stale-while-revalidate. Read-only at v0.1.
projectrc.nvim. Per-project settings edited in a floating window. Values that other tools read are written to those tools' own files (.clang-format, .clangd), so the shell, CI and the editor agree; settings that execute commands are ignored until the file is trusted through vim.secure.

Further work
Repository Subject
random_walk_simulator Vectorised Monte Carlo under geometric Brownian motion; VaR and CVaR
NeuralNetworksTeamEnvironment 104-class image classification with distribution-matching dataset distillation
MSED Regression-derived ODE systems (RK4) for demographic and economic series
LaTeX_Notes Typeset notes in mathematical methods for physics and multivariate statistics
snake_game, cvector C with ncurses; generic dynamic array

Activity

Contribution streak

Contact

LinkedIn Email

Figures are generated by assets/build.py.

Pinned Loading

  1. Stochastic_RefInit Stochastic_RefInit Public

    Development of Stochastic optimization algorithms to favor reforestation initiatives.

    C++ 1

  2. nvim nvim Public

    My personal nvim configurations

    Lua

  3. MA2003B.102.07 MA2003B.102.07 Public

    Repositorio del projecto del curso de analisis multivariado

    TeX 1 1

  4. LaTeX_Notes LaTeX_Notes Public

    Typeset lecture notes and self-study material in mathematics, physics and statistics.

    TeX

  5. GeoStats GeoStats Public

    Análisis de colisiones de trafico en la zona metropolitana de monterrey

    Jupyter Notebook

  6. Optimizacion-de-recursos Optimizacion-de-recursos Public

    Un modelo para optimizar el úso de recursos para la adquisición de insumos de una organización benéfica.

    TeX