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. Kimin kaç maç aldığını, kimin ne kadar yol yaptığını 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ç ve aylık üst sınır modelde kısıt olarak yer alır. Maç sayısı eşitliği, seyahat dengesi ve maçın zorluğuyla ekibin gücünün uyumu ise hedeftir. Karma tamsayılı programlama bu yapıya doğal olarak uyar: kısıtlar hiçbir zaman ihlal edilmez, hedefler ağırlıklarına göre dengelenir.

Kontrol kurulda kalır

Sistem karar vermez, öneri üretir. Kurul öneriyi inceler, gerekirse atamaları tek tek değiştirir ve kesinleştirir. Her değişiklik anında kurallara göre kontrol edilir. 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

Model uzun bir pencereyi çözer ama yalnızca ilk haftalar kesinleştirilir. Ardından 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