Bir federasyonun hakem kurulu her hafta aynı problemi çözer: yüzlerce maça, yüzlerce hakem arasından, kurallara uyan ve adil bir dağılım. Elle yapıldığında saatler sürer, kural ihlalleri gözden kaçar ve adalet öznel kalır — kim kaç maç aldı, kim ne kadar yol yaptı, sezon boyunca kimse sayıyla gösteremez.

Atama bir optimizasyon problemidir

Mazeret, ceza, lig yetkisi, şehir kısıtı, aynı takımı üst üste yönetme yasağı, aynı gün iki maç, aylık üst sınır — bunların hepsi birer kısıttır. Maç sayısı eşitliği, seyahat dengesi, maçın zorluğuyla ekibin gücünün uyumu — bunlar da birer hedeftir. Karma tamsayılı programlama bu yapıyı doğal olarak taşır: kısıtlar asla ihlal edilmez, hedefler ağırlıklarıyla dengelenir.

Kontrol kurulda kalır

Sistem karar vermez, öneri üretir. Kurul öneriyi inceler, tek tek değiştirebilir — her değişiklik kurallara karşı anında doğrulanır — ve kesinleştirir. Kesinleşen maçlar bir daha otomatik değişmez; sonraki haftaların çözümüne geçmiş olarak girer. Her önerinin gerekçesi kayıtlıdır: hangi kural, hangi değer.

Kayan ufuk

Uzun bir pencere çözülür, yalnızca ilk haftalar kesinleştirilir, pencere ileri kaydırılır. Fikstür değiştiğinde yalnızca etkilenen haftalar yeniden çözülür; kesinleşmiş atamalar korunur.

Bu alandaki işlerimiz