Related Topics
TO DO
Glossario
Balanced Round Robin
Literature
Requisiti e desideri
Tipi di squadre
Literature on Sports Scheduling
Basic Scheduling Terminology
CONSTELLATION GRAPH
Tipi di squadre
Constellation Census
Constellation Iustitia
Constellation Gare
Rimborsi arbitrali AIA
Glossary
Griglie AS400
Manuale AS400
Glossario  
Glossario
CONSTELLATION - GLOSSARIO, TERMINOLOGIA E NAMING CONVENTIONS


Glossario
Glossario
CONSTELLATION - GLOSSARIO, TERMINOLOGIA E NAMING CONVENTIONS
by John Jan Popovic
A clear separation of concerns emerges: we might call them the mathematical concerns about correctness and the engineering concerns about efficiency.
... the discovery how to separate them rigorously in our thinking is relatively young, and even when aware of this possibility, we often fall back into our old bad habits.
The purpose of abstraction is not to be vague, but to create a new semantic level in which one can be absolutely precise.
Correctness Concerns and, Among Other Things, Why They are Resented.
E. W. Dijkstra

On a regular basis teams have a very hard time to not talk in terms of implementation details about a solution.
They mostly lack shared concepts, methodology, and terminology to do other than code (and maybe draw a class diagram).

We address the problem of scheduling the matches of a round robin tournament for a sport league. We formally define the problem, state its computational complexity, and present a solution algorithm using a gradual approach.
The first step is the creation of a competition pattern and is based on known graph-theoretic results. The second one is an assignment problem and it is solved using a constraint-based depth-first branch and bound procedure that assigns actual teams to numbers in the pattern.

Practical results show that the optimal solution of the assignment problem can be found in reasonable time, despite the fact that the problem is NP-complete.

-------------------------------------------------------------------------------------
Compulsory Constraints (requirements) and Desired Constraints (wishes)
-------------------------------------------------------------------------------------
We deal with the problem of finding a schedule for a round robin championship with various types of constraints, including availability for matches and venues/stadions. For example, a constraint can state that a team must play home in a given round, or any defined pair of teams cannot match at a specified round.

Constraints are split into hard (requirements) and soft ones (wishes): Hard constraints must necessarily be satisfied by the solution, soft ones instead are associated with a penalty, and they contribute to the objective function to minimize.
The constraint programming approach achieves optimal solutions for problems (competitions) with up to eighteen teams, and near-optimal solutions for problems with up to 300 teams.
A graph model is presented for constructing sport events calendars for sports leagues where balancing requirement have to be considered with respect to the different venues where competitions take place.
--------------------------------------------------------------------------------------------------------

Lo scopo principale di questo documento è di chiarire le idee, di eliminare le ambiguità e equivoci presenti nel linguaggio naturale. Il documento di specifica dev’essere completo, preciso e facilmente leggibile. In questo glossario sono spiegati alcuni tra i principali termini, che più frequentemente ricorrono durante il lavoro della redazione dei calendari, termini utilizzati anche nel sistema CONSTELLATION.
Qui abbiamo assemblato un glossario, un corpo comune di conoscenza e di gergo professionale che è accettato universalmente nel sistema CONSTELLATION. Quando il personale specializzato si riferisce a qui descritti termini ci è una comprensione comune di che cosa sta discutendo.
Quando abbiamo cominciato a costruire il sistema, tutta la operatività dal iscrizione dei clubs ai campionati (censimento) fino alla redazione del calendari delle competizioni, non era ancora completamente compresa, e molte attività erano troppo vaghe e non bene strutturate e mal definite. Abbiamo applicato un rigido formalismo lessicale durante la definizione dei glossi avendo una concezione della matematica come strumento d'interpretazione della realtà.
-------------------------------------------------------------------------------------------------
Società /Club
-------------------
Società, ovvero abbreviazione della Società Sportiva, rappresenta un ente giuridico che dal punto di vista informatico è registrata come un insieme dei raggruppamenti dei dati e delle relazioni.
Una SOCIETÀ è composta di vari insiemi dei dati e al momento dell’ iscrizione (censimento annuale) le Società Sportive dovranno fornire al comitato/ delegazione competente i seguenti dati:
a) Dati Societari e Dati Anagrafici (Nome, indirizzo, colore, etc)
b) Campi Sportivi & Autorizzazioni Utilizzo (Desiderata)
c) l’elenco di Componenti del Consiglio direttivo (dirigenti e tecnici)
d) l’elenco delle Squadre iscritte alle Competizioni con
e) l’elenco dei atleti di ciascuna squadra (tesserati FIGC)

-------------------------------------------------------------------------------------------------
Squadra / Team
-----------------------
Una Squadra di una Società Sportiva è univocamente determinata al momento dell’ iscrizione, e qui abbiamo illustrato l’esempio di una squadra:
....................................................................
a) SOCIETÀ SPORTIVA: Lombardia Uno
......................................................
b) PARAMETRI COMPETIZIONE
COMPETIZIONE: Allievi Regionali Professionisti fascia B
SETTORE: SETTORE GIOVANILE E SCOLASTICO
LEGA o DIVISIONE: LEGA NAZIONALE PROFESSIONISTI
ATTIVITÀ: Calcio a 11
CATEGORIA: Allievi
COMPETIZIONE: Campionato Regionali Allievi fascia B
GERARCHIA: 15.2
.
..............................................
c) LETTERA SQUADRA: [C]
una società può avere più di una squadra di una stessa competizione, ed in questo caso al nome della squadra si aggiunge LETTERA SQUADRA nelle parentesi quadre[], per effettuare la distinzione tra le squadre di una stessa competizione al interno di una società.
.
......................................................................................................
d) COMITATO o delegazione DI COMPETENZA: LOMBARDIA
.
..........................................................................................
e) ELENCO DI ATLETI (tesserati FIGC) / Player roster

----------------------------------------------------------
Naming Convention Format di una squadra:
----------------------------------------------------------
Lombardia Uno. Allievi. fascia B. (Lombardia). [C]
Il nome di una squadra è composto dalle quattro diversi componenti:
a) SOCIETÀ SPORTIVA: Lombardia Uno
b) COMPETIZIONE: Allievi fascia B
c) Appartenenza territoriale: (Lombardia) – questa parte è opzionale
d) LETTERA SQUADRA: [C] – anche questa parte è opzionale ed è utilizzata quando una società ha più di una squadra di una stessa competizione, per effettuare la distinzione tra le squadre cosiddette “gemelle”. A volte le lettere possono essere sostituite con i NUMERI.

--------------------------------------------------------------
TUTTE LE COMPETIZIONI DI UNA CATEGORIA
--------------------------------------------------------------
Categoria ● età ● numero giocatori ● (Comitato) ● [Girone]
Naming Conventions per le competizioni di una categoria
In ambito di una categoria possono essere formate diverse competizioni.
L’esatto nome della competizione può dipendere dai seguenti quattro (a volte anche 5) parti costitutivi:
a) Il nome della categoria: Esordienti
b) L’età dei giocatori: può essere uguale o mista
c) Il numero di giocatori: un numero dispari che può variare da 5 a 11 *5, 7, 9, 11
d) Appartenenza territoriale - Delegazione (o Comitato) di competenza: (Nazionale, Interregionale, Regionale o Provinciale/Locale)
e) Girone della Competizione: A, B, C...
In seguito è rapportato un esempio che rispetta la "naming convention" di alcune competizioni della categoria ESORDIENTI per la stagione 2007 – 2008.

Categoria ● età ● numero giocatori ● (Comitato) ● [Girone]
Esordienti ● II Anno 1995 ● a 11
Esordienti ● II Anno 1995 ● a 11 c.r.
Esordienti ● Misti 1995_96 ● a 11
Esordienti ● II Anno 1995 ● a 9
Esordienti ● Misti 1995_96 ● a 9
Esordienti ● I Anno 1996 ● a 9
Esordienti ● Misti 1995_96 ● a 7
Esordienti ● I Anno 1996 ● a 7 ● (Milano)
Esordienti ● I Anno 1996 ● a 7 ● (Lodi)
Si può notare che la componente territoriale del nome della competizione [d) Delegazione o Comitato di competenza] è puramente opzionale, serve solo per creare la distinzione e eliminare le ambiguità.
-------------------------------------------------------------------------------------------------
Prima Squadra
----------------------
Una Società Sportiva può avere una e solo una Prima squadra univocamente determinata al momento dell’ iscrizione (annuale) delle squadre ai campionati.
.

-------------------------------------------------------------------------------------------------
Girone / Division or sometimes League or Group
--------------------------------------------------------------
Molte volte il numero di squadre appartenenti a una Competizione di una Categoria può essere così grande, che diventa impraticabile che le squadre iscrite a un campionato giocano tutte insieme (tutte – contro – tutte), per ciò le partite si svolgono nei gruppi più contenuti, cosi detti GIRONI - divisions/groupings.
Tutte le squadre appartenenti a una Competizione (Categoria, Attività, Lega o Divisione, Comitato di competenza) quali partecipano ad un Campionato, sono suddivise nei gruppi di 6,8,..,18, 20 squadre che giocano tra loro nello stesso girone.
Quando le squadre di una competizione si suddividono nei gironi, si cerca di rispettare il criterio di vicinanza geografica, ovvero si tenta ad assegnare nello stesso Girone le squadre più vicine della stessa zona geografica.
Quindi, se in un campionato sono iscritte ad esempio 151 squadre, il campionato si può giocare in 10 GIRONI con 16 squadre, dove nei 9 gironi esiste la squadra a riposo.
.
Girone di Spareggi /Superior Group or Superior League
La Squadra che vince un girone passa ad un nuovo girone di spareggi per andare in serie (livello) o categoria superiore.
.

----------------------------------------------------------------------
Squadra Riposo /Bye team or sometimes Dummy team
----------------------------------------------------------------------
Spesso quando avviene la suddivisione di tutte le squadre di una Competizione nei Gironi, non è possibile sempre ottenere che il numero di squadre nel girone è pari. Per risolvere questo problema diventa necessario introdurre il concetto delle Squadre Riposo.
Ad esempio, se in un campionato sono iscritte ad esempio 151 squadre, il campionato si può giocare in 10 GIRONI con 16 squadre, mentre nei 9 gironi è presente la cosiddetta Squadra Riposo.
( 151 squadre effettive + 9squadre_riposo = 10gironi * 16squadre )
Ovvero, nel girone dove è presente la squadra riposo, si giocano 7 anzi che 8 partite.
In un Girone può essere presente al massimo due Squadre Riposo.
-------------------------------------------------------------------------------------------------
Giornata /Round or Match Day
----------------------------------------
Se il numero di squadre in un girone è n( a.e. 16), il campionato si svolge in n-1 (a.e. 15) giornate di andata e 15 di ritorno. Di solito il spostamento tra le due consecutive partite (giornate) è una settimana.

-------------------------------------------------------------------------------------------------
Orari ufficiali delle gare delle competizioni
--------------------------------------------------
Ogni competizione ha prestabilito un orario ufficiale della gara. Comunque l’orario della gara può essere anche diverso dal orario ufficiale, ovvero si può dire che esiste l’elenco degli orari ufficiali di seconda scelta. L’orario ufficiale di tutte le gare delle Competizioni, ad eccezione di quelle anticipate al mattino e di quelle di che, di volta in volta, subiranno variazioni, è fissato, sino all’entrata in vigore dell’ora solare e per le gare che si svolgono dopo l’entrata in vigore dell’ora solare può essere variato. Eventuali anomalie riscontrate nel corso di svolgimento delle gare dovranno essere tempestivamente segnalate al Comitato per la necessaria rettifica.


-------------------------------------------------------------------------------------------------
Giorno settimanale ufficiale della competizione
--------------------------------------------------------

Ogni competizione ha un giorno settimanale prestabilito per tutte le gare di questa competizione. Eventuali anomalie riscontrate nel corso di svolgimento delle gare dovranno essere tempestivamente segnalate al Comitato per la necessaria rettifica.

-------------------------------------------------------------------------------------------------
Posizione della squadra nel girone (Numero Griglia)/Team Roster Position
-------------------------------------------------------------------------------------------------
Se ad esempio il numero di squadre in un girone di un particolare campionato è 16, (schema-codice F0 oppure F6) il campionato si svolge in 15 giornate. Ad ognuna delle 16 squadre-società deve essere associato un univoco Numero di GRIGLIA nel girone da 1 a 16. L'assegnazione del Numero di GRIGLIA determina un univoco Calendario di Competizioni, ovvero quale squadra gioca contro quale ed in quale giornata – la cadenza dei incontri. (Balanced ROUND ROBIN)
Nota bene:
Il numero totale delle possibili PERMUTAZIONI in questo esempio è 16!. (sedici fattoriale) 16 ! = 2.09227899 × 1013, oltre 20 trilioni di possibili PERMUTAZIONI.

-------------------------------------------------------------------------------------------------
Schema Codice Griglie del girone / Scheme Code scheduler convention
-------------------------------------------------------------------------------------------------

Lo Schema Codice Griglie è una convenzione che in una maniera univoca ed immediata consente a stabilire lo sviluppo delle partite per ogni singola giornata, di tute le squadre del girone.
La definizione della cadenza Casa/Fuori del svolgimento di incontri dipendono dal numero di GRIGLIA associato in una maniera univoca ad ogni squadra nel girone e dallo Schema Codice del girone.
Lo Schema (Lettera) determina il numero massimo di squadre in un girone, mentre il codice (numero) rappresenta la definizione della cadenza del svolgimento di incontri Casa/Fuori, e le partite per ogni giornata di tute le squadre del girone. Schema Codice Griglie è una sigla formata da due caratteri: LETTERA + NUMERO LETTERA: X (2 squadre), Q (3/4 squadre), L (5/6 squadre), I (7/8 squadre), A (9/10 squadre), C (11/12 squadre), E (13/14 squadre), F (15/16 squadre),G (17/18 squadre), H (19/20 squadre) NUMERO: Codice 6 e codice 0. Le due serie di griglie si diversificano fra loro per una diversa cadenza della coppia di incontri Casa/Fuori.


SchemeCode is a scheduler convention that allows immediate definition of the course of encounters/games among teams in the league for every single round. The unique slotNumber is associated to each team in the league/division.

SchemeCode is a two characters scheduler convention formed by: LETTER + NUMBER
The LETTER in the Scheme code is exclusively determined by the number of teams in the league.
LETTER: X (2 teams), Q (3/4 teams), L (5/6 teams), I (7/8 teams), A (9/10 teams), C (11/12 teams), E (13/14 teams), F (15/16 teams), G (17/18 teams), H (19/20 teams) NUMBER: Code6 or code0 determine two complementary series of encounters/games. The 0-series and the 6-series of scheduler slots are differed from each other for a different and mutually complementary cadence of the pair of encounters Home/Away.

-------------------------------------------------------------------------------------------------
Nota bene: L’ambiguità del termine GRIGLIA
A volte succede che nel linguaggio (parlato) il termine griglia assume due significati diversi:
1) griglia significa Schema Codice Griglie, nella frase “Le griglie di tipo generale, combinandosi fra loro, permettono di gestire l’attività regionale e provinciale.” anche nella frase
“Le sequenze di incontri che così otteniamo le troviamo equivalenti gestendo in maniera opportuna fra loro le griglie contraddistinte con il codice 6 e quelle contraddistinte con il codice 0. ”
2) griglia significa Numero Griglia della Squadra nel girone, nella frase “L’utilizzazione per il riposo di un qualsiasi altra griglia che non sia l’ultima presenta i svantaggi.” Invece per essere chiari si dovrebbe dire “Per evitare i svantaggi, ovvero una squilibrata sequenza delle gare consecutive - casa e fuori, il numero griglia che si assegna al riposo deve essere il più alto numero possibile nel girone.”

-------------------------------------------------------------------------------------------------
ASSEGNAZIONE - COMPOSIZIONE GIRONI
-------------------------------------------------------------------------------------------------
Il programma Constellation premete di assegnare alle squadre di una particolare competizione un univoco Numero di GRIGLIA nel girone, lo Schema Codice del girone e la Lettera di Girone in una maniera intuitiva ed inequivocabile.
L’operatore può manipolare il numero delle griglie delle squadre, mentre il calendario del campionato la Constellation compone automaticamente, usando l'algoritmo Balanced Round Robin.
Lo Schema Codice Griglie serve per stabilire precisamente i parametri del algoritmo Balanced Round Robin per la redazione automatica del calendario-partite. La definizione della cadenza Casa/Fuori del svolgimento di incontri dipendono dal numero di GRIGLIA associato in una maniera univoca ad ogni squadra nel girone e dallo stesso Schema Codice del girone.
-------------------------------------------------------------------------------------------------
Calendario incontri di una particolare Competizione
Il calendario incontri è un elenco di tutte le partite del campionato di una competizione.
I Calendari descrivono tutte le partite del campionato: (Chi gioca, Dove si gioca, Quando si gioca)
a) Elenco squadre che competono tra loro (la Società ospitante e la Società ospitata),
b) Elenco Campi Sportivi dove si gioca,
c) Giornata quando si gioca (Giorno, data e orario di gara)

-------------------------------------------------------------------------------------------------
INIZIO in CASA / FUORI casa – home vs. away team
-------------------------------------------------------------------------------------------------
Se ad esempio il numero di squadre in un girone di un particolare campionato è 16 (n), esistono 8 (n/2) squadre ospitanti e 8 (n/2) ospitate in una qualsiasi giornata di gara.
Le squadre ospitanti giocano in CASA, mentre quelle ospitate FUORI casa, ovvero in TRASFERTA.
Per esempio la disposizione del numero di griglie della PRIMA GIORNATA, per il CODICE 6..
Casa : Fuori
01 : 07
02 : 06
03 : 05
04 : 08
Nel calendario della prima giornata di gara le squadre in colonna sinistra: 01,02,03 e 04 giocano in CASA, contro le squadre nella colona destra: 05, 06, 07 e 08, che giocano in trasferta (FUORI casa).
Per il CODICE 6, Le squadre ospitanti hanno Numero di GRIGLIA BASSO e giocano in CASA (vale solo per la prima giornata del campionato)
Per il CODICE 6, Le squadre ospiti hanno Numero di GRIGLIA ALTO e giocano FUORI casa (vale solo per la prima giornata)
Quindi, se si conosce il NUMERO DI GRIGLIA e la SCHEMA CODICE, univocamente si può determinare il valore di INIZIO (CASA, FUORI casa). Ovvero si può dire che l’INIZIO è una funzione di due variabili: il NUMERO DI GRIGLIA e lo SCHEMA CODICE.

-------------------------------------------------------------------------------------------------
Vincolo di ABBINAMENTO / Binding constraints
-------------------------------------------------------------------------------------------------
Per le squadre si dice che sono ABBINATE (annotazione X), quando giocano in CONCOMITANZA nella stessa giornata. Vale a dire giocano tutte in trasferta (FUORI) oppure tutte in CASA. Mentre, per le due squadre si dice che sono ALTERNATE (annotazione Y), solo se nella stessa giornata, una squadra gioca in casa, mentre l’altra gioca in trasferta.
alternate binding = Y
concomitant binding =X
NOTA BENE: NON esiste NESSUN rapporto tra l’ABBINAMENTO e l’INIZIO
Anche se a qualcuno può sembrare contro-intuitivo, il concetto di ABBINAMENTO della squadra comunque NON è correlato in nessun maniera con il concetto d’INIZIO. Quindi, una squadra può avere l’inizio a casa e può essere abbinata, oppure alternata, oppure avere nessun abbinamento con un’altra squadra.

-------------------------------------------------------------------------------------------------
L’ INIZIO (CASA/FUORI - esiste anche la notazione CASA/ TRASFERTA) per la prima giornata di gara di una squadra, non può essere determinato in anticipo, ed è sempre una funzione di due variabili: il NUMERO DI GRIGLIA e la SCHEMA CODICE, mentre il valore di vincolo d'Abbinamento (CONCOMITANZA/ ALTERNANAZA, X/Y) è deciso a priori, nel momento d’iscrizione, nel modulo Desiderata (Constellation Graph).
Modulo DESIDERATA / Desired constraints
Il modulo Desiderata dovrebbe essere compilato dalle società sportive al momento dell’ iscrizione. Desiderata in sostanza è una agenda delle partite, dove le stesse società al momento dell’ iscrizione annottano in una maniera informale e a volte ambigua delle preferenze (desideri) dei impegni sui campi (giorno e ora) e i relativi abbinamenti (concomitanza o alternanza) con le altre squadre della stessa o delle altre società.
Si può dire anche che la Desiderata in realtà rappresenta una agenda di prenotazioni delle partite nei campi, compilata dalla società stessa e segnalata come una tabella dove si trovano i dati con le preferenze-desideri delle società-squadre che descrivono:
gli abbinamenti e/o le alternanze tra le squadre della stessa o delle altre società.
la selezione dei campi sportivi
e i relativi orari delle partite
È una richiesta di prenotazione dei campi e loro utilizzo, dove la società precisa:
Prenotazioni partite campi (gli orari preferenziali delle partite delle squadre sui campi)
Desideri dei abbinamenti tra le squadre che giocano nella stessa giornata
Le squadre in abbinamento di solito appartengono (comunque non sempre) alla stessa SOCIETÀ.
-------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------
Squadre VINCOLANTI (MASTERS) e quelle VINCOLATE (SLAVES)
--------------------------------------------------------------------------
Per le squadre di alcune società, le posizioni delle griglie in girone non possono essere sempre arbitrarie. Per una squadre si dice che è la squadra MASTER (squadra VINCOLANTE) di una o di più corrispettive squadre slaves (vincolate), se è in abbinamento o alternanza (X oY) con loro. Se la griglia - il numero della posizione della squadra in girone - è vincolata (oppure arbitraria), si vede nel CONSTELLATION GRAPH, (Censimento - Desiderata Campi) e può essere correttamente calcolato solo se la squadra master è già stata assegnata, ovvero solo se esistono tutti i dati per effettuare l’algoritmo Codegoni.
Vale a dire che la posizione della griglia di una squadra è vincolata (slave) in abbinamento oppure alternanza, rispetto a una altra squadra di una squadra VINCOLANTE (master).
A questo punto la posizione dellagriglia vincolata in un girone (e la sequenza delle griglie di seconda scelta), della squadra di categoria inferiore dipende da sei parametri. (i dati dell’input del calcolo Codegoni)
Primi tre parametri sono i parametri della squadra master (VINCOLANTE), che è già stata previamente assegnata. Comunque si può procedere con la composizione dei gironi, solo se sono in anticipo definiti ognuno dei questi tre parametri.
1) Schema codice superiore
2) Numero griglia superiore
3) Abbinamento tra le squadre: (X,Y) tra la squadra inferiore e quella di categoria superiore
Seguenti tre parametri si stabiliscono in automatico durante il processo di SUDDIVISIONE della competizione nei gironi.
4) Schema codice (inferiore) della competizione che si sta creando:
5) Spostamento n. Settimane: (numero tra -8 e +8 settimane)
6) Spostamento rispetto ai gironi di: (andata o ritorno)
Raramente si sceglie il ritorno, e solo quando le partite di ritorno della squadra master (VINCOLANTE) avvengono nello stesso periodo dell’anno con delle partite di della squadra slave (vincolata). In questo caso le partite della squadra master (VINCOLANTE) si giocano nei stessi giorni in cui le squadre vincolate giocano le partite di andata.
Master Binding Constraints
Slave Binding Constraints
Una squadra slave, può avere una e solo una squadra master corrispondente.
Mentre una squadra master può avere le tante squadre slaves, dello stesso o inferiore livello gerarchico, sia della stessa società, sia delle società esterne.
---------------------------------------------------------------------------------------------------
---------------------------------
CONSTELLATION GRAPH
---------------------------------
Per risolvere dei problemi di ambiguità e di incompletezza della struttura dei dati nel modulo Desiderata Abbinamenti e dei Impegni sui Campi (giorno e ora), da me è stata inventata una dinamica struttura dati denominata CONSTELLATION GRAF che contiene tutte le informazioni chiare e non ambigue relative alle squadre della società sportiva, dove già in anticipo molti dei dati utili si trovano già automaticamente inseriti, che in gran lunga facilita la compilazione del modulo.
In più nel Constellation Graf sono presenti molti altri dati utili, relativi alle squadre, che consentono una facile manipolazione dei impegni delle squadre sui campi sportivi e la definizione univoca e non ambigua degli abbinamenti tra le squadre.
Il Constellation Graph non è solo un’interfaccia dinamica, un elenco ordinato delle squadre rappresento come tabella, in cui si possono facilmente manipolare i giorni della settimana e gli orari preferenziali delle partite delle squadre sui campi;
Il Constellation Graph inoltre ha una interfaccia intelligente con una sintassi formale che consente una precisa definizione dei desideri dei abbinamenti tra le squadre che giocano nella stessa giornata, anche tra le società diverse.
Il Constellation Graph di una società può essere riordinato ed elaborato ulteriormente e i risultati di questa elaborazione che visualizzano gli abbinamenti tra le squadre delle società diversi possono essere re-inseriti nei loro Graphs automaticamente.
---------------------------------------------------------------------------------------------------
-------------------------
Multigraph Link - MGL
-------------------------
Multigraph link è la struttura dati presente nel CONSTELLATION GRAPH che descrive gli abbinamenti tra le squadre delle diverse società. Esistono i due tipi di Multigraph link, ed entrambi si trovano nel campo NOTE: (MGL_SLAVE) e [MGL_MASTER]. (Master MGL) è descritto tra le parentesi tonde () e deve essere inserito manualmente dal operatore, mentre lo [SlaveMGL] è descritto tra le parentesi quadre, ed è definito in automatico dal sistema.
# Multigraph MASTER SYNTAX
(matricola_slave:abbinamento:elenco_squadre)
# Multigraph SLAVE SYNTAX
[675630:y:3:6:E0:24.1] = =
[matricola_master:abbinamento:nodo_master:griglia_master: schema_master: gerarchia_master]
---------------------------------------------------------------------------------------------------
CAMPO & METÀ-CAMPO
Una partita può giocarsi:
su campo normale (11 giocatori per squadra)
su campo ridotto (5,7 o 9 giocatori per squadra)
Nello stesso orario le due partite dei pulcini a 5 o a 7 possono giocarsi sulle due metà di un campo regolamentare, mentre nel caso di competizioni a 9 ciò non è possibile.
Le Categorie PULCINI e alcune competizioni degli ESORDIENTI utilizzano campi di dimensioni inferiori, perché le squadre hanno 5 o 7 giocatori (codice campo 5000 e 7000). Si può utilizzare anche la metà di un campo regolamentare.
---------------------------------------------------------------------------------------------------
Scheda Impegni Campo Sportivo
-------------------------------------------------------------------------------------------------
La Tabella Impegni Campo serve per una facile visualizzazione della disponibilità dei campi e del loro rispettivo utilizzo (giorno e orario) dalle squadre delle diverse competizioni, che giocano nello stesso campo sportivo. I dati dei Impegni Campi si generano e aggiornano automaticamente in ogni momento quando si modifica il CONSTELLATION GRAPH e quando si creano dei Calendari di Competizioni delle diverse Categorie.
La Scheda Campo riporta tutti gli’impegni delle squadre descritte nel CONSTELLATION GRAPH, al momento dell’ iscrizione, e solo gli orari delle gare possono essere modificate in seguito, mentre la modifica del giorno settimanale non è raccomandabile.
---------------------------------------------------------------------------------------------------
Competizioni: Campionati, Coppe & Tornei
Competizione > Coppa
La coppa è un competizione che si svolge come un torneo ad eliminazione diretta con accoppiamenti completamente casuali – (a volte, esistono delle teste di serie che non si devono incontrare tra loro nei primi turni). Il sorteggio determina anche quale squadra giocherà in casa. Se la partita finisce in parità, viene solitamente rigiocata sul campo dell'altra squadra (vedi replay) sebbene sia possibile per le squadre accordarsi in anticipo di non rigiocare, in tal caso la partita iniziale prevedrà tempi supplementari e tiri di rigore se necessario. Le ripetizioni in caso di pareggio prevedono oggi tempi supplementari e tiri di rigore, benché in passato più ripetizioni fossero possibili e alcuni pareggi abbiano richiesto più di sei partite per decidersi.
.
Turni
Torneo ad eliminazione si gioca nei diversi turni, il cui numero dipende dal numero di squadre partecipanti.
.
Competizione > Campionato
Il campionato è una competizione sportiva riservata alle squadre di una categoria sportiva gestite da un comitato o da una delegazione sportiva. Si articola in formula all'italiana di partite di andata e ritorno ed è composto da diversi livelli (serie). Tutte le squadre appartenenti a una serie, giocano in un girone unico composto da massimo 20 squadre.
Molte volte il numero di squadre appartenenti a una Competizione di una Categoria può essere così grande, che diventa impraticabile che le squadre giocano tutte insieme in un campionato (tutti – contro – tutti), per ciò le partite si svolgono nei gruppi più contenuti, cosi detti GIRONI. Tutte le squadre appartenenti a una Competizione (Categoria, Attività, Lega o Divisione, Comitato di competenza) quali partecipano ad un Campionato, sono suddivise nei gruppi di 6,8,..,18, 20 squadre che giocano tra loro nello stesso girone.
Quando le squadre di una competizione si suddividono nei gironi, si cerca di rispettare il criterio di vicinanza geografica, ovvero si tenta ad assegnare nello stesso Girone le squadre più vicine della stessa zona geografica.
Ad esempio, se in un campionato sono iscritte ad esempio 151 squadre, il campionato si può giocare in 10 GIRONI con 16 squadre, dove nei 9 gironi esiste la squadra a riposo.
Tutti i campionati prevedono la formula di play-off e play-out.
.
Campionato Italiano di calcio a 5
Il Campionato Italiano di Calcio a 5 è una competizione sportiva italiana riservata alle squadre di Calcio a 5 gestito dalla Divisione Calcio a 5. Si articola in formula all'italiana di partite di andata e ritorno ed è composto da 3 categorie: serie A1, serie A2, serie B. La serie A1 è a girone unico composta da 14 squadre, la serie A2 è divisa in due gironi, girone A e girone B rispettivamente centro-nord e centro-sud composti ciascuno da 14 squadre, la serie B è composta da 6 gironi, girone A,B,C,D,E,F. Tutti i campionati prevedono la formula di play-off e play-out. È prevista anche la competizione della Coppa Italia di serie A1, A2,e B, che dal 2005 è prevista in final8 per tutti e 3 i campionati nazionali.
.
Derby
Il termine derby viene utilizzato, in ambito sportivo, per contraddistinguere alcuni eventi che destano particolare importanza.
L'origine del termine derby è alquanto dibattuta. Una ipotesi la fa risalire alla competizione tradizionale tra le due squadre della città inglese di Ashbourne nel Derbyshire. Un'altra teoria afferma che l'origine del termine sia da rintracciarsi nella corsa equestre inglese chiamata The Derby, ideata dal XII conte di Derby nel 1780.
In ambito calcistico ed anche per altri sport, si usa il termine derby per definire sfide tra squadre della stessa città (stracittadine) o della stessa zona geografica. Il termine viene anche usato per gare che oppongono squadre che, per questioni geografiche, sociali o politiche hanno fra loro una rivalità storica molto accesa.
.
Coppa del Mondo per club FIFA
La Coppa del Mondo per club FIFA (ing. FIFA Club World Cup) è una competizione calcistica riservata alle squadre vincitrici dei tornei continentali organizzati dalle sei confederazioni appartenenti alla FIFA e mette in palio il titolo di campione del mondo per club.
L'attuale formato del Campionato mondiale per club, in vigore dall'edizione 2007, prevede un turno eliminatorio preliminare tra la squadra vincitrice della OFC Champions League - che non ha più l'accesso diretto nel torneo - e la squadra campione della J League giapponese. La vincente di questo turno si aggiunge alle squadre vincitrici dei tre tornei continentali di Nord-Centro America, Africa e Asia. Con queste quattro squadre sono creati due accoppiamenti eliminatori, che costituiscono il primo turno, determinati per sorteggio. Alle semifinali accedono i vincitori del primo turno e, di diritto, i detentori dei trofei continentali di Europa e America del Sud. Oltre alla finale per il primo e secondo posto è previsto lo svolgimento della finale per il terzo e quarto posto. Nel 2005 e nel 2006 si è disputata anche la finale per il quinto posto.
Il regolamento prevede che, qualora la vincitrice dell'AFC Champions League sia giapponese, il posto della vincitrice della J League sia preso dall'altra finalista dell'AFC Champions League. Questa eventualità è occorsa nell'edizione 2007 cui è stata ammessa oltre alla vincitrice, l'Urawa Red Diamonds, anche la finalista dell'AFC Champions League 2007, gli iraniani del Sepahan chiamati a scontrarsi con la squadra campione in carica dell'OFC Champions League.
---------------------------------------------------------------------------------------------------
Diritto Di Classifica
La società che iscrive più squadre deve indicare prima dell’inizio del campionato la squadra con diritto di classifica, le altre non ce l’avranno.
Nel sistema Constellation, solo la SQUADRA [A] il diritto di classifica.
Le società possono partecipare al torneo con una o più squadre della stessa COMPETIZIONE.
La regola è che per ogni girone ci può essere solo una squadra della stessa società, tuttavia si può concedere una deroga in casi eccezionali.
La società che iscrive più squadre deve indicare prima dell’inizio del campionato la squadra con diritto di classifica, le altre non ce l’avranno.
La partecipazione al Campionato Nazionale Allievi e/o al Campionato Regionale Allievi preclude il diritto di classifica a tutte le squadre della stessa società iscritte al Campionato Provinciale.
---------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------
Schema-Codice Griglie
Schema-Codice Griglie è una sigla formata da due caratteri: una LETTERA e un NUMERO.
Schema (lettera) dipende dal Numero_di_Squadre_nel_Girone, mentre il Codice (Numero) specifica la cadenza della coppia di incontri Casa/Fuori nelle diverse giornate di gara. Lo Schema-Codice è una convenzione dalla FederCalcio Italiano.
LETTERA / SCHEMA: (dipende dal Numero_di_Squadre_nel_Girone)
X (2 squadre),
Q (3/4 squadre),
L (5/6 squadre),
I (7/8 squadre),
A (9/10 squadre),
C (11/12 squadre),
E (13/14 squadre),
F (15/16 squadre),
G (17/18 squadre),
H (19/20 squadre)
NUMERO / CODICE:
Codice_6 e codice_0.
Le due serie di griglie si diversificano fra loro per una diversa cadenza della coppia di incontri Casa/Fuori.
CODICE 6
Per il CODICE 6, Le squadre ospitanti hanno Numero di GRIGLIA BASSO e giocano in CASA (vale solo per la prima giornata del campionato)
Per il CODICE 6, Le squadre ospiti hanno Numero di GRIGLIA ALTO e giocano FUORI casa (vale solo per la prima giornata)
CODICE OTTIMALE
La scelta del CODICE (0 oppure 6) non è sempre arbitraria. Quando l’operatore del Constellation effettua la suddivisione della competizione nei gironi, e solo nel caso in cui esistono delle squadre di questa competizione che deve essere suddivisa nei gironi, in abbinamento con delle altre squadre delle competizioni già configurate ed assegnate previamente (le cosiddette competizioni superiori) la scelta del codice ottimale dipenderà:
a) dalla data d'inizio di competizione superiore (prevalente) in abbinamento
b) e dallo schema-codice di competizione superiore prevalente
Ovviamente, l'operatore deve stabilire previamente quale è la DATA della prima GIORNATA DI GARA del girone d’andata, per la COMPETIZIONE in formazione.
Una volta decisa la DATA D'INIZIO della prima GIORNATA DI GARA per la COMPETIZIONE in assegnazione, CONSTELLATION determinerà automaticamente quale sarebbe il CODICE OTTIMALE da applicare durante l'assegnazione delle squadre di questa competizione.

------------------------------------------------------------------
Numero Giornate di spostamento tra le due competizioni
------------------------------------------------------------------
F C F F C F C F C F C F C F C F C 0
F C F F C F C F C F C F C
F C F F C F C F C F C F C F C F C +1
.. F C F F C F C F C F C F C
F C F F C F C F C F C F C F C F C +2
... F C F F C F C F C F C F C
.. F C F F C F C F C F C F C F C F C -1
F C F F C F C F C F C F C
.... F C F F C F C F C F C F C F C F C -2
F C F F C F C F C F C F C
Il metodo utilizzato ha come peculiarità una sequenza di alternanze CASA/FUORI per tutte le squadre con nessuna o poca aritmia.
Come caratteristica importante, l’algoritmo mantiene questa cadenza di partite (casa/fuori) che giochano le squadre nelle giornate successive per qualsiasi numero di squadre del girone. Nel caso di gironi con numero pari di squadre, abbiamo di conseguenza un uguale numero di gare in CASA e in TRASFERTA (FUORI) ed una sola volta succede una doppia gara in CASA o FUORI (con una cadenza fissa). Mentre nel caso di gironi con numero dispari di squadre non viene mai utilizzato l’ultimo numero griglie – applicato alla Squadra RIPOSO.
Alla fine dobbiamo fornire:
- il numero griglie del squadra vincolata (slave)
- la data di inizio (oppure ritorno) delle competizione superire di differimento
- elenco totale dei conflitti CFC di tutte le squadre e la differenza di qualità
per poter avvertire le società di cambiare l'orario o il giorno delle gare

------------------------------------------------
Diversi tipi dei nodi nel Constellation Graf
-----------------------------------------------
1) Nodo libero – non vincolato e non vincolante
2) Nodo SIMPLE MASTER – vincolante per le squadre della stessa società, però di diversa categoria
3) Nodo TWIN MASTER – vincolante per le squadre della stessa società, però di stessa categoria
4) Nodo SIMPLE TWIN MASTER – vincolante per le squadre della stessa società, sia per le squadre di stessa categoria sia per quelle di categoria diversa
5) Nodo EXTERNAL TWIN MASTER – vincolante per le squadre di una società diversa, però di stessa categoria
6) Nodo UNIVERSAL TWIN MASTER – vincolante sia per le squadre di una società diversa, sia per le squadre della stessa società, però di stessa categoria
7) Nodo UNIVERSAL SIMPLE MASTER – vincolante sia per le squadre di una società diversa, sia per le squadre della stessa società, però sempre di categoria diversa
8) Nodo SIMPLE SLAVE – vincolato da una squadra SIMPLE MASTER della stessa società (griglie pre-calcolate )
9) Nodo TWIN SLAVE – vincolato da una squadra TWIN MASTER, oppure da SIMPLE TWIN MASTER, oppure da UNIVERSAL TWIN MASTER (griglie onfly )
10) Nodo EXTERNAL SLAVE – vincolato da una squadra EXTERNAL MASTER, di una società diversa, di categoria diversa (griglia precalcolata)
11) Nodo EXTERNAL TWIN SLAVE – vincolato da una squadra EXTERNAL TWIN MASTER oppure da una squadra UNIVERSAL TWIN MASTER di una società diversa, di stessa categoria (griglie onfly )

--------------------------------------------------------------------------------------------------
Durante l'ASSEGNAZIONE la Squadra AL INTERNO di una competizione può essere:

LIBERA
● Griglia non-vincolata, si può assegnare arbitrariamente, secondo i posti disponibili nel girone
● Squadra LIBERA non è ne vincolante per le nessuna squadra, ne vincolata da nessuna squadra

TWIN MASTER
● vincolante solo per le squadre della stessa società, e solo della stessa competizione
● non può essere vincolata da nessuna squadra
● griglia non-vincolata si può assegnare arbitrariamente, secondo i posti disponibili nel girone

EXTERNAL TWIN MASTER
● griglia NON-VINCOLATA si può assegnare arbitrariamente, secondo i posti disponibili nel girone
● non può essere vincolata da nessuna squadra
● è VINCOLANTE solo per le squadre di una società diversa, MGL link

UNIVERSAL TWIN MASTER
● griglia non-vincolata si può assegnare arbitrariamente, secondo i posti disponibili nel girone
● è VINCOLANTE sia per le squadre di una società diversa, sia per le squadre della stessa società e della stessa competizione, MGL link e abbinata/alternata
● non può essere vincolato da nessuna squadra

SIMPLE MASTER
● griglia non-vincolata si può assegnare arbitrariamente, secondo i posti disponibili nel girone
● VINCOLANTE solo per le squadre della stessa società di qualsiasi competizione inferiore
● non può essere vincolato da nessuna squadra

SIMPLE SLAVE
● griglia VINCOLATA è precalcolata e dipende dal corrispondente master
● vincolata da una squadra della stessa società di una competizione superiore
● non può essere VINCOLANTE per nessuna squadra

TWIN SLAVE
● griglia VINCOLATA sarà calcolata on-fly, e dipende dal corrispettivo TWIN MASTER, che DEVE essere già previamente assegnato in un girone
● vincolata da una squadra della stessa società della stessa competizione
● non può essere VINCOLANTE per nessuna squadra

EXTERNAL SLAVE
● griglia VINCOLATA è precalcolata, e dipende dal corrispettivo master
vincolata da una squadra di una società diversa, di una diversa competizione
● non può essere VINCOLANTE per nessuna squadra

EXTERNAL TWIN SLAVE
● griglia VINCOLATA sarà calcolata on-fly, e dipende dal corrispettivo TWIN MASTER, che DEVE essere già previamente assegnato in un girone
● griglia vincolata da una squadra di una società diversa, però della stessa competizione
● non può essere VINCOLANTE per nessuna squadra




======================================================
Constellation includes all instruments for creation of high quality sport-event schedulers. Constellation is supporting a diversity of arrangement algorithms (Balanced ROUND ROBIN scheduling) and analysis built-in instruments to enable creating sport schedules easier than ever.
Constellation Scheduling Algorithms & Reports
Constellation scheduling considers user predefined playground, time and team-binding constraints, which are user predefined in Constellation Graph in Constellation Census module
Constellation Graph enables quick and simple management of team-binding, time and stadium-location constraints settings
Constellation schedules tend to obey particular constraint logic definitions (defined via Constellation Graphs )
Constellation advanced scheduling algorithm will automatically generate competition schedules with a more efficient and compact match calendars
All matches for each week are automatically generated, and constraints are conformed to each schedule week, in order to provide a harmonious distribution of teams and playground locations during the sport season
Inter-divisional conflict resolution: conflicts are automatically resolved across all divisions/groupings during the interactive schedule creation.
Constellation has incorporated support for balanced round robin schedules, Swiss round, single and double elimination tournaments, mixed (inter) divisional schedules.
Scheduler match days in successive rounds do not necessary have to be in a fixed week day; i.e. matches in different rounds can take place in a user modifiable week day.
Constellation has support for groupings of multiple competition schedules in order to follow conflicts and manage inter-divisional play
Competition schedule calendar in an HTML file.
Report includes list of games per team in each round, list of home and away games, home/away sequence for each team, a confrontation diagram describing the game list each team plays versus it's rivals.
Schedule reports allows filtered viewing of games for defined competition, team or date, with information sorted in the proper chronological order.

Abstract:
Introduction Sports scheduling is an area of increasing interest in constraint programming. As amateur and professional sports leagues proliferate and grow in size and complexity, organizers are increasingly turning to computer assisted scheduling [Nemhauser and Trick]. The scientific literature in this area is also growing and one can begin to get a sense of the range and mathematical difficulty of the problems encountered. These can include classical challenges such as set covering problems and quadratic assignment problems. In this note we concentrate on a version of a core problem that invariably comes up: determining whether a set of constraints on the schedule is feasible. This is often called the "timetabling" problem of the scheduling process. Here we consider the timetabling problem for a "round robin" schedule: the case in which every team must play every other team exactly once. (Later we will discuss related problems that come up in other sports situations such as
Generating a schedule for a professional sports league is an extremely demanding task. Good schedules have many benefits for the league, such as higher incomes, lower costs and more interesting and fairer seasons. Many solution approaches for sports scheduling problems have been introduced in recent years. Even if quite efficient algorithms have been designed, there exist not many cases where academic researchers have been able to close a contract with a sports league owner.
This web site presents an overview of the sports scheduling problem, a set of standard benchmark instances and the best solutions obtained for these instances. The instances are divided into two categories: artificial test instances and real-world instances. We hope that these instances will help researchers to test the value of their solution methods.
..............
2. Tournament Scheduling
A league comprises 2n teams, and in 2n ?? 1 consecutive rounds each team must play with each other. Matches take place at the home stadium of one of the two teams, and home and away games should be alternated as much as possible. We call break, after de Werra (1980), the fact that a team plays two consecutive rounds in the same location, where the
term location denotes either home or away. The problem is to nd a schedule scheme that minimizes the number of breaks and satisfies a number of other side constraints.
Constraints are split into hard (requirements) and soft ones (wishes): Hard constraints must necessarily be satisfied by the solution, soft ones instead can be violated and they contribute to the objective function.
For all the types of constraints defined below, each single constraint can be declared either hard or soft. The soft ones are associated with an integer-valued positive penalty, and the sum of all penalties determines the objective function. The hard ones are strictly enforced during the construction of the solution.
We have two groups of constraints. The first group, that we call ordinary constraints, regards general constraints on all teams. The second group of constraints are related to a grouping of the teams based on their strength, and we call them special constraints.
2.1 Ordinary Constraints
Ordinary constraints we consider are of the following types (see also Schreuder, 1993).
¤ Complementarity: Teams t1 and t2 must have complementary schedules (i.e. when t1 plays home t2 plays away, and vice versa).
¤ Availability: Team t must play home (or away) at round r.
¤ Mating: Team t1 cannot play home (or away, or both) with team t2 at round r.
3
¤ Triples: Three teams t1, t2, and t3 cannot be simultaneously in the same location (i.e. two must be in one location and the third in the other location).
Hard complementarity constraints are used if two teams share the same stadium (e.g. the \San Siro" stadium in Milan is shared by Internazionale and A.C. Milan). Soft complemen-tarity instead is used if the stadia of two teams are located close to each other and the clubs want to optimize the use of railways and highways for their supporters (e.g. Feyenoord and Sparta have their stadia in Rotterdam).
..........
SOMMARIO/ABSTRACT
Il problema del Traveling Tournament (TTP) `e un problema combinatorio che unisce le caratteristiche del problema del commesso viaggiatore e della generazione di calendari sportivi. In questo lavoro presentiamo un approccio alla soluzione del TTP basato sulla ricerca tab`u che fa uso della combinazione di due relazioni di vicinato.
L’algoritmo `e stato analizzato sperimentalmente su alcuni benchmarks disponibili in rete e viene presentata una omparazione dei suoi risultati con approcci alternativi presentati nella letteratura sull’argomento.
The Traveling Tournament Problem (TTP) is a combinatorial problem that combines features both from the traveling salesman problem and from tournament scheduling.
.............
======================================================================================================
Constraints are split into hard (requirements) and soft ones (wishes):
Hard constraints must necessarily be satisfied by the solution, soft ones instead can be violated
and they contribute to the objective function.
For all the types of constraints defined below, each single constraint can be declared either hard or soft.
The soft ones are associated with an integer-valued positive penalty, and the sum of all penalties determines
the objective function. The hard ones are strictly enforced during the construction of the solution.
We have two groups of constraints. The first group, that we call ordinary constraints, regards general constraints
on all teams. The second group of constraints are related to a grouping of the teams based on their strength,
and we call them special constraints.
I ORDINARY Constraints
Ordinary constraints we consider are of the following types (see also Schreuder, 1993).
I.a Complementarity & team-binding: Teams t1 and t2 must have complementary schedules
(i.e. when t1 plays home t2 plays away, and vice versa).
I.b Non simultanity: Three or more teams t1, t2, and t3,... cannot be simultaneously in the same location
(i.e. two may be in one location and the third in the other location).
I.c Availability: Team t must play home (or away) at round r.
I.d Non Availability: Team t cannot play at round r (day, time).
I.e Mating exclusion: Team t1 cannot play home (or away, or both) with team t2 at round r.
Hard complementarity constraints are used if two teams share the same stadium
(e.g. the \San Siro" stadium in Milan is shared by Internazionale and A.C. Milan).
Soft complementarity instead is used if the stadia of two teams are located close to each other
and the clubs want to optimize the use of railways and highways for their supporters
(e.g. Feyenoord and Sparta have their stadia in Rotterdam).
II SPECIAL Constraints
The definition of the second group of constraints presupposed some prior notions:
We call top teams the members of a subset of the teams composed by the strongest teams,
which require some special treatment. We call distance_of_two_matches (in short form only distance)
the number_of_rounds between the rounds in which they take place.
The special constraints are the following ones:
II.a Top_match distance: 3 is default value
We call top match a match between two top teams. Two top matches cannot take place at distance
smaller than a given value TopMatchDistance. Top_match è quando giocano le due squadre forti.
Top_match non devono essere accavalati e troppo vicini tra loro,
ovvero nella sequenza delle partite di una squadra forte deve esistere al meno
un numero (Top_match_distance) di partite non impegnative.
II.b Top_opponent distance: 2 is default value
Any team cannot match two top teams at distance smaller than a given value TopOpponentDistance.
Le partita_impegnativa è quando una squdra(debole) gioca contro una forte.
Una qualsiasi squdra nel girone non deve incontrare una forte consecutivamente.
Le partite impegnative non possono/devono essere accavalate e troppo vicine tra loro,
ovvero nella sequenza delle partite di una squadra deve esistere al meno
un numero di (n=Top_opponent_distance) partite non impegnative.
II.c Top_matches_schedule:
For a given set of rounds R, no top_match can take place at any round r 2 R.
The two parameters TopMatchDistance and TopOpponentDistance are given at global level;
that is, they are the same for all teams. Their typical value can be 3 and 2, respectively.
We split teams in two subgroups: the top teams (usually 3 or 4) and the other ones.
An another grain grouping is also possible, and more complex constraint types can be considered.
For example, Schreuder (1993) proposes (although he does not pursue this idea) to divide teams
in three groups |strong, medium, and weak teams| and looks for schedules that alternate
matches with teams belonging to the three groups.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

*****************************************************************************************
--------------------------------------------------------
CONSTELLATION is the easy way of managing your football leagues online. The CONSTELLATION is offering it free to all affiliated leagues across the country.
CONSTELLATION is the only league administration package that works in conjunction with TheFA.com, your County website, Members Services and RESPECT monitoring.
Fixtures can be arranged manually, or the fixture scheduler allows you to arrange fixtures for one division in a few minutes. The Advanced scheduler and conflict checker allows you to include every factor imaginable, before CONSTELLATION produces a fixture list for your whole league.
Fixtures and results can even be uploaded from a spreadsheet.