Yük
Hangi öğretmenin hangi sınıfa hangi dersi haftada kaç saat vereceği. Solver’ın yerleştirmesi gereken gerçek iş miktarıdır.
Dersiva’da program oluşturma kalitesi, solver başlamadan önce belirlenir. Ders yükleri, gerçek kapasite, kesin yasaklar ve kalite tercihleri doğru ayrıldığında sistem daha tutarlı denemeler üretir ve yerleşmeyen derslerin nedeni daha kolay açıklanır.
Hangi öğretmenin hangi sınıfa hangi dersi haftada kaç saat vereceği. Solver’ın yerleştirmesi gereken gerçek iş miktarıdır.
Asla ihlal edilmemesi gereken koşuldur. Kapalı gün veya kesin günlük maksimum gibi kurallar bu gruba girer.
Mümkün olduğunca iyileştirilmek istenen kalite ölçütüdür. Boşluk azaltma veya daha dengeli günler buna örnektir.
Program oluşturmadan önce öğretmen, sınıf, ders ve atama toplamlarını kontrol edin. Bir öğretmenin planlanan haftalık yükü, ders atamalarından hesaplanan yükle; bir sınıfın toplam ders ihtiyacı da kullanılabilir haftalık zamanla uyumlu olmalıdır.
Her atama; öğretmen, sınıf/şube, ders ve haftalık saat bilgisini doğru taşımalıdır. Planlanan ve kalan yük görünümü, yerleştirme sırasında hangi öğretmen veya ders grubunun hâlâ kapasite istediğini anlamayı kolaylaştırır.
Kesinlikle bozulamayacak kurallar hard constraint olmalıdır. Tercih niteliğindeki her şeyi sert kurala dönüştürmek çözüm alanını gereksiz daraltır. İlk denemede zorunlu koşulları sabitleyin, kalite hedeflerini solver’ın optimize edebileceği esnek hedefler olarak bırakın.
Öğretmenin kesin çalışamayacağı günleri kapalı gün olarak girin. Günün yalnız belirli saatlerinde çalışabilme gibi koşullar varsa bunları gerçek uygunluk verisi olarak tanımlayın. Bir öğretmenin tüm ders yükünü taşıyacak toplam açık slotunun kaldığından emin olun.
Dersiva, öğretmenler için farklı günlük maksimum ders sınırlarını kullanabilir. Bu sınır kesin olarak tanımlandığında solver öğretmenin haftalık yükünü kalan günlere yaymak zorundadır. Çok düşük bir günlük maksimum, matematiksel olarak yeterli açık gün olsa bile programı zorlaştırabilir.
Blok ders gereksinimleri ile 2+2+1 gibi haftalık dağılım desenleri dersin pedagojik ve operasyonel yapısını belirler. Bu desenler sınıfın gerçek günlük kapasitesi ve öğretmen uygunluğuyla birlikte değerlendirilmelidir.
“Haftada yeterli saat var” tek başına yeterli değildir. Bir dersin yerleşebilmesi için aynı anda öğretmenin, sınıfın ve ilgili ders deseninin uygun olması gerekir. Gün bazlı sınıf slot kapasitesi ve öğretmen günlük kapasitesi birlikte gerçek çözüm alanını oluşturur.
Hızlı mod kısa sürede deneme ve veri kontrolü için; Dengeli mod günlük kullanımda hız/kalite dengesi için; Kalite modu ise daha fazla optimizasyon zamanı ayırarak daha iyi kalite hedefi aramak için kullanılabilir. İlk veri kontrolünde doğrudan en uzun çözümü çalıştırmak yerine kademeli ilerlemek daha verimlidir.
Ön kontrol başarılıysa solver modeli kurar, zorunlu koşulları sağlayan çözüm alanını arar ve kalite hedeflerini optimize eder. Oluşan sonuç bir deneme programı olarak değerlendirilmelidir; ilk başarılı sonuç otomatik olarak uygulanacak program yapılmamalıdır.
Yerleşmeyen birkaç saat varsa önce hangi öğretmen, sınıf, gün ve kısıtların ortak noktada sıkıştığını bulun. Rastgele kapalı gün veya kalite kuralı kaldırmak yerine kapasite hesabını, günlük maksimumu, blok desenini ve çakışan atamaları sırayla kontrol edin.
Hızlı, Dengeli veya Kalite modlarında farklı denemeler oluşturabilirsiniz. Tamamlanma oranı aynı olsa bile boşluk, yoğun gün, kısa gün ve dağılım kalitesi değişebilir. Program geçmişinde karşılaştırma yapın; okul yönetiminin kontrol ettiği tek programı uygulanacak olarak seçin.
Program oluşturma başında uygulama kapanıyorsa bunu doğrudan “program imkânsız” olarak yorumlamayın. Güvenli Tanılama Modu — 1 Worker ile yeniden deneyin; OR-Tools native bileşenleri, Microsoft Visual C++ çalışma zamanı ve log kayıtlarını kontrol edin. 1 Worker çalışıp normal mod kapanıyorsa çalışma ortamı veya native/çoklu worker katmanı ayrıca incelenmelidir.
Veri ve fizibiliteyi hızlı test etmek için kısa denemeler.
Hız ve kalite arasında genel kullanım dengesi.
Daha fazla optimizasyon süresiyle daha iyi kalite hedefi arama.
Haftalık ders yükü ve öğretmen toplamı doğru mu?
Öğretmen ve sınıfın ortak açık slotu yeterli mi?
Günlük maksimum, sınıf slotu ve blok uzunluğu birlikte yeterli mi?
Birden fazla hard constraint aynı çözüm alanını sıfırlıyor mu?
Solver “çözüm bulamıyor” ile uygulamanın native solver çağrısında kapanması aynı problem değildir. Güvenli Tanılama Modu, loglar ve çalışma zamanı önkoşulları bu ayrımı yapmak için kullanılır.
Bir sonraki rehberde tamamlanmış iki programın neden aynı kalitede olmadığını; boşluk, yoğunluk, kısa gün, ders ağırlığı, öğrenci yükü ve okul geneli adalet üzerinden inceleyeceğiz.