Come progettare un algoritmo di programmazione serale per i genitori

2

Sto lavorando a un progetto per creare un sistema di prenotazione serale per genitori scolastici. Questo sistema deve essere in grado di generare il miglior ordine degli appuntamenti in base alla disponibilità degli insegnanti e alla priorità data dai genitori.

I genitori avranno la possibilità di selezionare gli insegnanti che vorrebbero vedere, quindi classificare queste scelte da 1 (il più importante) a x (il meno importante). Possono anche inserire l'ora in cui si trovano all'evento da e verso.

A ogni genitore verrà data l'opportunità di farlo e una volta che il sistema di prenotazione si chiude, un algoritmo deve capire come allocare gli slot in base a questi criteri per tutti i genitori. È possibile scartare altre scelte che non sono adatte e hanno un ranking più basso, ma le scelte classificate più alte devono avere la priorità.

Ogni slot avrà una durata di 10 minuti e i genitori non potranno avere appuntamenti back to back.

Qualche idea su dove cominciare?

    
posta MrGuy797 10.07.2018 - 11:00
fonte

1 risposta

2

Questi tipi di problemi (pianificazione) possono diventare molto rapidamente non polinomiali , nel qual caso puoi avere una soluzione generica, è necessario semplificare il problema stesso. (A meno che non vogliate entrare nella matematica hardcore dell'ottimizzazione non lineare o dell'ottimizzazione discreta).

Ad ogni modo, se sei fortunato, il tuo problema potrebbe essere un problema di ottimizzazione lineare . In questi tipi di problemi, hai una serie di vincoli (come i genitori disponibili quando), e quindi devi avere una singola funzione target, che specifica quale sarebbe la tua soluzione ottimale. Ad esempio, utilizzando le priorità dei genitori-insegnanti come "pesi".

La cosa interessante di questo, è che esiste un algoritmo noto che può risolvere in modo ottimale il problema chiamato Metodo Simplex .

    
risposta data 10.07.2018 - 11:19
fonte

Leggi altre domande sui tag