← Geri Dön← Back Ömer Harmankaya İletişimContact

VARDİS

ROLROLE
Optimizasyon & Tam YığınOptimization & Full Stack
PLATFORM
Web / CP-SAT
YILYEAR
2026

ProblemProblem

Kesintisiz çalışan bir tesiste güvenlik çizelgesi hazırlamak, elle yapıldığında hem uzun sürer hem de kural ihlallerini gözden kaçırır. Yasal çalışma sınırları (günlük tavan, asgari dinlenme, haftalık saat sınırı, yıllık fazla çalışma kotası) ile yük adaleti, gece ve hafta sonu dengesi aynı anda gözetilmek zorundadır. Bu, endüstri mühendisliğinde personel çizelgeleme adıyla bilinen klasik bir yöneylem problemidir.

Preparing security shift rosters manually for a 24/7 facility is both time-consuming and prone to overlooking rule violations. Legal working limits (daily ceilings, mandatory rest periods, weekly hour caps, annual overtime quotas) must be balanced simultaneously against fair workload distribution, night-shift, and weekend equity. This is a classic operations research problem known in industrial engineering as personnel scheduling.

YaklaşımApproach

Problem saat ekseninde kuruldu: yasal sınırlar zorunlu kısıt, adalet ve tercihler ceza puanlı esnek hedef olarak modellendi ve Google OR-Tools CP-SAT ile çözüldü. Çözücü uygulama sunucusundan ayrı bir süreç olarak çalışır, ikisi yalnızca veritabanı üzerinden konuşur. Arayüz React ve TypeScript, servis katmanı FastAPI, veri PostgreSQL üzerinde.

Formulated the problem along an hourly time axis: modelled statutory limits as hard constraints, and equity metrics and preferences as penalized soft objectives, solved using Google OR-Tools CP-SAT. The solver runs as an isolated process decoupled from the application server, communicating solely via the database. Interface in React and TypeScript, service layer in FastAPI, and data on PostgreSQL.

Ayırt Edici NoktaKey Differentiator

Araç, talep tam karşılanamadığında "çözüm yok" demez. Açığın hangi gün, hangi saat ve hangi görev noktasında oluştuğunu gösterir; çözüm öncesinde yapısal engelleri ayrıca raporlar. Çizelge üzerinde elle yapılan her değişiklikte hangi kuralın bozulduğunu anında bildirir. Amaç kararı devralmak değil, karar vereni desteklemekti.

The tool does not simply report "no solution" when demand cannot be fully satisfied. Instead, it pinpointed the exact day, hour, and post where gaps occur, while pre-run diagnostic checks flagged structural bottlenecks before solving. With every manual adjustment made on the schedule, it instantly reported which rule had been violated. The objective was not to replace human judgment, but to empower the decision maker.

ÖlçümEvaluation

Altı kabul kriteri baştan tanımlandı ve referans donanımda ölçüldü. Kırk personellik bir haftanın ilk uygun çizelgesi 23 saniyede üretiliyor, zorunlu kural ihlali sıfır, elle düzenlemenin doğrulaması 0,23 saniye. Gece saati adaletinde eşik tutturulamadı; ölçüm bunun kadro değil arama süresi kaynaklı olduğunu gösteriyor ve sonuç olduğu gibi yayınlandı.

Defined six acceptance criteria upfront and benchmarked them on reference hardware. Generated the first feasible weekly schedule for a 40-guard staff in 23 seconds with zero hard constraint violations, and validated manual edits in 0.23 seconds. The threshold for night-hour equity was not met; benchmarks indicated this stemmed from search time limits rather than staffing capacity, and the results were published transparently as measured.

23 sn 23s
İlk uygun çizelge (40 personel)First feasible roster (40 staff)
0
Zorunlu kural ihlaliHard rule violations
0,23 sn 0.23s
Elle düzenleme doğrulamasıManual edit validation
6 / 6
Ölçülen kabul kriteriAcceptance criteria tested

NotlarNotes

Proje bir yaz stajı kapsamında yürütüldü ve tamamen üretilmiş örnek veriyle geliştirildi. Gösterim ortamı salt okunur çalışır, veri her gece yeniden üretilir. Kaynak kod ve dört kanonik doküman (proje tanımı, gereksinim belirtimi, tasarım dokümanı, backlog) açıktır.

Developed during a summer internship using entirely synthetic mock data. The demonstration environment runs read-only, with data regenerated nightly. Source code and four canonical documents (project charter, requirements specification, software design document, backlog) are publicly available.

gün ızgarası ve analiz ekranı day grid and analytics view

Haystack Rock [Ömer Harmankaya - 2025]
SONRAKİ PROJENEXT PROJECT

EPİAŞ Dashboard ↗