Programmazione a vincoli: algoritmi di scheduling in OPL - PowerPoint PPT Presentation

About This Presentation
Title:

Programmazione a vincoli: algoritmi di scheduling in OPL

Description:

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

Number of Views:64
Avg rating:3.0/5.0
Slides: 9
Provided by: saraza2
Category:

less

Transcript and Presenter's Notes

Title: Programmazione a vincoli: algoritmi di scheduling in OPL


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
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
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 GenereteTest 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
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 BranchBound Probl
emi di over-constraint Problemi in cui non tutti
i vincoli verranno soddisfatti dalla soluzione.
Metodi risolutivi - Partial Constraint
Satisfaction - Vincoli gerarchici
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
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 1999. 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
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
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.
Write a Comment
User Comments (0)
About PowerShow.com