Skip to content
Ercan Labs
← Notlar

Planlama bir kural motorudur, takvim değil

Kurallar planlamacının kafasındayken plan, o kişi kadar iyi. Kurallar yazıya geçtiğinde asıl teslim ortaya çıkıyor.

· 4 dk

Bir otobüs filosunun haftalık planı kâğıt üstünde yapılıyordu. Hangi şoför hangi gün hangi otobüste, kim dinlenecek, kimin hafta sonu alacağı var. Kurallar hiçbir yerde yazılı değildi; planlamacının kafasındaydı.

Bu bir yazılım problemi gibi görünmüyor: "Excel'e dökelim" yeter gibi. Ama sorun planı üretmek değil, üretilen planın kurallara uyduğunu bilmek.

Kuralları veri yapmak

Kısıtlar kendi tablosunda duruyor: bir şoförün üst üste kaç gün çalışabileceği, iki vardiya arası en az dinlenme, hafta sonu dağılımı. Planlayıcı bu tabloyu okuyup planı üretiyor ve yazmadan önce doğruluyor.

  • Yeni kural = tabloya satır + bir kontrol. Algoritmaya dokunulmuyor.
  • Kural ihlali plan üretilirken yakalanıyor, ofiste fark edilmiyor.
  • Aynı filo için iki farklı kural seti denenebiliyor.

Arayüzü ince tutmak

326 testin çoğu planlama motoruna koşuyor, pencereye değil. Arayüz yedi ekran ve bilerek aptal: veriyi gösteriyor, komutu motora iletiyor. Ekran açmadan kural doğrulanabildiği için testler hızlı ve kararlı.

Teslim biçimi de bir karar

Çıktı Excel. Ofis yeni bir araç benimsemiyor; alıştığı çalışma kitabını istiyor. Kapalı XML kütüphanesiyle aynı sütun adlarıyla yazıyorum. Benimseme maliyeti sıfır, biçimlendirme adaptörünün bakımı bende.

Bedeli

Kurallar veri olduğu için plan, kural seti kadar iyi. Eksik bir kural yazarsanız plan da eksik olur ve bunu kimse fark etmez; plan "geçerli" görünür. Bu yüzden kural eklemek, test eklemekle aynı iş: ikisi birlikte yapılmadığında sessiz hata çıkıyor.

İLGİLİ VAKA

Otobüs Rotasyon Planlayıcı

Şehir içi otobüs filosu için haftalık görev ve rotasyon planı; kural denetimi ve Excel çıktısı.

DİĞER NOTLAR