marchel@sys:~$ exec ./projects/seir-covid19 --interactive --mode=simulation
// PROJECT_DETAIL — COMPUTATIONAL_EPIDEMIOLOGY
COVID-19 SEIR
Compartmental Model
Machine Learning + Euler Integration
ML  ·  Math
Python  ·  NumPy
Research Project
2023
Epidemiology ODE / Numerical Methods Euler Integration Equilibrium Analysis Next-Gen Matrix Stability Analysis Python NumPy SymPy
PROJECT_OVERVIEW.md
Implementasi model kompartmental SEIR (Susceptible–Exposed–Infectious–Recovered) untuk simulasi penyebaran COVID-19. Model ini menggabungkan laju vaksinasi (ν) dan kematian akibat infeksi (μ₁) sebagai parameter tambahan dari model SEIR standar. Integrasi numerik dilakukan menggunakan metode Euler, diikuti analisis titik ekuilibrium bebas penyakit (E₀) dan endemik (E*), serta analisis kestabilan via Next-Generation Matrix untuk menghitung Bilangan Reproduksi Dasar R₀.
── PERSAMAAN MODEL ──
SEIR_EQUATIONS.math
dS/dt — Susceptible
μN (αI + μ + ν)S
dE/dt — Exposed
αIS/N (β + μ)E
dI/dt — Infected
βE (μ₁ + δ + μ)I
dR/dt — Recovered
δI + νS μR
PARAMETER DEFINITIONS
SYMDESKRIPSIDEFAULT
── INTERACTIVE SIMULATOR ──
PARAMETER_CONTROLS.cfg
N — Total Populasi 1000
T — Durasi Simulasi (hari) 100
SIMULATION_OUTPUT.dat
SUSCEPTIBLE [S]
-
EXPOSED [E]
-
INFECTED [I]
-
RECOVERED [R]
-
Susceptible (S)
Exposed (E)
Infected (I)
Recovered/Vaccinated (R)
BILANGAN REPRODUKSI DASAR
-
FORMULA (Next-Gen Matrix)
R₀ = αβμ / [(β+μ)(μ+ν)(μ₁+δ+μ)]
-
0R₀=12+
DISEASE-FREE EQUILIBRIUM (E₀)
S₀ = μ/(μ+ν) = -
E₀ = 0
I₀ = 0
R₀ = ν/(μ+ν) = -
Valid ketika R₀ < 1 → penyakit punah
ENDEMIC EQUILIBRIUM (E*)
S* = μ / [R₀(μ+ν)] = -
E* = μ(R₀-1) / [R₀(β+μ)] = -
I* = (μ+ν)(R₀-1) / α = -
R* = -
Valid ketika R₀ > 1 → penyakit endemik
JACOBIAN MATRIX @ EQUILIBRIUM
J = [-(αI+μ+ν), 0, -αS, 0]    [αI, -(β+μ), αS, 0]    [0, β, -(μ₁+δ+μ), 0]    [ν, 0, δ, -μ]
EIGENVALUES @ E₀ (DISEASE-FREE)
EIGENVALUES @ E* (ENDEMIC)
Diagram fase menunjukkan hubungan antara kompartemen S-I dan E-I. Titik ekuilibrium ditandai dengan marker khusus.
S vs I (Phase Plane)
E vs I (Phase Plane)
SIMULATION_LOG.out
// Tekan RUN_SIMULATION untuk memulai...