La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Programmazione a vincoli: algoritmi di scheduling in OPL Laureanda : Sara Zanette Relatore: Ch.mo Prof. Agostino Cortesi Correlatore: Ch.mo Prof. Elena.

Presentazioni simili


Presentazione sul tema: "Programmazione a vincoli: algoritmi di scheduling in OPL Laureanda : Sara Zanette Relatore: Ch.mo Prof. Agostino Cortesi Correlatore: Ch.mo Prof. Elena."— Transcript della presentazione:

1 Programmazione a vincoli: algoritmi di scheduling in OPL Laureanda : Sara Zanette Relatore: Ch.mo Prof. Agostino Cortesi Correlatore: Ch.mo Prof. Elena Moretti Università CaFoscari - Venezia - A.A. 2000/2001

2 2 Gli obiettivi della tesi Primo obiettivo: studio della programmazione a vincoli, in particolare delle tecniche di risoluzione per i problemi a vincoli. Secondo obiettivo: verificare lefficacia del linguaggio OPL (Optimization Programming Language) - modellare problemi di scheduling; - studiare lefficienza del solver dal punto di vista della correttezza cioè se esso riesce a trovare una soluzione corretta e ottima per i problemi; - studiare lefficienza del solver dal punto di vista dei tempi computazionali cioè studiare come reagisce il solver aumentando i dati di input.

3 3 La programmazione a vincoli Un vincolo è una relazione logica fra diverse variabili e la programmazione a vincoli è lo studio dei sistemi computazionali basati sui vincoli. Le tecniche risolutive studiate riguardano i problemi di Constraint Satisfaction cioè i problemi definiti su domini finiti. - La ricerca sistematica: Generete&Test e Backtracking. - Le tecniche di consistenza: dei nodi, degli archi, path consistenza. - La propagazione dei vincoli: metodi di look forward e di look ahead.

4 4 Classi di problemi particolari Problemi di ottimizzazione Lo scopo è trovare la soluzione migliore e la qualità della soluzione dipende da una funzione obiettivo. Metodo risolutivo: - Algoritmo di Branch&Bound Problemi di over-constraint Problemi in cui non tutti i vincoli verranno soddisfatti dalla soluzione. Metodi risolutivi: - Partial Constraint Satisfaction - Vincoli gerarchici

5 5 Vantaggi e limiti della programmazione a vincoli La natura dichiarativa: il programmatore descrive cosa deve essere risolto in un problema, non come va risolto. Trovare la soluzione è compito del solver e non è necessario verificarne la correttezza. La separazione tra la dichiarazione dei vincoli e la ricerca permette di modificare una componente senza modificare laltra. I problemi NP-hard hanno efficienza imprevedibile. La stabilità dei modelli: apportando piccoli cambiamenti ai dati o aggiungendo vincoli ad un problema può verificarsi un notevole abbassamento di performance.

6 6 OPL : Optimization Programming Language OPL è un linguaggio ad alto livello per lottimizzazione che combina assieme la potenza dei linguaggi a vincoli con quella dei linguaggi a modelli. OPL è stato sviluppato da Pascal Van Hentenryck nel Le aree di applicazione di OPL: - La programmazione lineare, intera e mista - I problemi per la risoluzione di vincoli non di ottimizzazione - Lo scheduling. Il codice OPL è composto da: 1. Una sequenza di dichiarazioni di costanti e di variabili; 2. Unistruzione che indica la funzione obiettivo; 3. Una sequenza di dichiarazioni di vincoli; 4. Una procedura di ricerca (opzionale);

7 7 I problemi di scheduling modellati nella tesi Skin flow shop Job shop Flow shop ibrido Flow shop con tempi di set-up - Ogni problema è stato modellato scrivendo in media solo 45 righe di codice e si sono usati algoritmi predefiniti da OPL - Si sono introdotti nuovi tipi di vincoli per poter modellare correttamente i problemi, potenziando gli strumenti di OPL. - In tutti i casi si è trovata la soluzione ottima e si è verificata la correttezza. - Si sono calcolate le curve di tendenza dei tempi desecuzione

8 8 Vantaggi di OPL Codice semplice da interpretare - vocabolario ridotto, strutture e algoritmi predefiniti; - la sintassi è facilmente apprendibile e il codice è di immediata comprensione per lutente. Semplicità nellindividuare gli errori - il codice è chiaro ed ogni riga può essere interpretata correttamente senza lonere di conoscere lintero programma. La velocità e la funzionalità per lo studio di diversi input è assicurata dalla separazione tra il modello e la dichiarazione dei dati. Nei casi di tempi computazionali proibitivi, lambiente di sviluppo ILOG OPL Studio permette di ottenere una soluzione subottima senza attendere la fine del processo di ricerca.


Scaricare ppt "Programmazione a vincoli: algoritmi di scheduling in OPL Laureanda : Sara Zanette Relatore: Ch.mo Prof. Agostino Cortesi Correlatore: Ch.mo Prof. Elena."

Presentazioni simili


Annunci Google