FutureGo
Ürün mühendisliğiEğitim TeknolojileriPrivate case study

Ders Dağıtım Sistemi — Mimari Notları

OR-Tools CP-SAT ile okullar için otomatik ders programı oluşturan optimizasyon sisteminin mimarisi ve tasarım kararları.

PythonOR-Tools CP-SATFastAPISQLAlchemyNext.js

Problem

Ders programı hazırlamak, orta ölçekli bir okulda bile günler süren ve elle yapıldığında çakışmalar üreten bir problem. Öğretmen uygunlukları, şube blokları, derslik kapasiteleri ve pedagojik tercihler aynı anda gözetilmeli.

Çözüm

Problemi bir constraint satisfaction modeli olarak formüle edip OR-Tools CP-SAT çözücüsüyle ele aldım. Hard constraint'ler (çakışma yasakları, zorunlu bloklar) ile soft constraint'ler (tercihler, dengeli dağılım) ayrıştırıldı; okullar mevcut verilerini XLSX ile aktarabiliyor.

Teknik mimari

  • Python + OR-Tools CP-SAT çözücü çekirdeği.
  • FastAPI + SQLAlchemy ile veri modeli ve çözüm API'si.
  • Next.js tabanlı yönetim arayüzü ve program görselleştirme.

Öğrenimler

  • Gerçek okul verisi hiçbir zaman temiz gelmiyor; içe aktarma katmanındaki doğrulama, çözücü kadar emek istiyor.
  • Soft constraint ağırlıklarını okulla birlikte ayarlamak, teknik çözümün kabul görmesinin anahtarı.

Sonraki adım

İlk pilot okul aranıyor.