Salta ai contenuti. | Salta alla navigazione

Strumenti personali

CLP 8 marzo 2011

Applicazioni di Intelligenza Artificiale - CLP

Prof. Marco Gavanelli

 

Esercizio (8 punti)

Una infermiera deve visitare a casa dei pazienti. Ogni paziente va visitato in una determinata fascia oraria. Il file pazienti.pl contiene per ogni paziente un fatto

paziente(ID,OrarioMinimo,OrarioMassimo)

dove

 

  • ID è un numero intero che identifica univocamente il paziente
  • OrarioMinimo e OrarioMassimo sono il minimo e massimo orario in cui deve avvenire la visita.

Il file pazienti.pl contiene inoltre, per ogni coppia di pazienti (diversi) un fatto

distanza(Paziente1,Paziente2,Tempo)

che indica quanto tempo è necessario per andare dal domicilio del Paziente1 a quello del Paziente2.

 

L'infermiera parte dall'ospedale e alla fine della giornata ritorna all'ospedale, indicato nel file pazienti.pl dall'identificatore 0.

Si scriva un programma CLP(FD) che calcola qual è il tragitto ottimale dell'infermiera, in modo da minimizzare il tempo totale impiegato dall'infermiera.

Si supponga per semplicità che la visita sia istantanea (abbia durata nulla) e che l'infermiera non possa effettuare pause fra una visita e l'altra, ma riparta immediatamente per la destinazione successiva (il prossimo paziente o l'ospedale, se si sono già visitati tutti i pazienti).