I materiali pubblicati sul sito costituiscono rielaborazioni personali del Publisher di informazioni apprese con la frequenza delle lezioni e lo studio autonomo di eventuali testi di riferimento in preparazione all’esame finale o della tesi. Non devono intendersi come materiale ufficiale dell’università attribuibile al docente del corso.
…continua

Filtra per

Tutte le tipologie

Ordina

Filtra

Appunti degli studenti per corsi ed esami del Prof. Passannanti Gianfranco

Il presente testo costituisce una sintesi completa del corso di Programmazione Operativa della Produzione, di G. Passannanti. Il corso prevede nozioni teoriche di scheduling e algoritmi di programmazione della produzione e l’applicazione di alcuni di questi in linguaggio VBA su foglio elettronico . Per scrivere quanto segue si è preso spunto da appunti presi a lezione, materiale didattico fornito dal professore e approfondimenti sul web. Riteniamo che l’implementazione su calcolatore degli algoritmi proposti in questo corso sia di importanza rilevante ai fini di una comprensione ottima (o quanto euristica!!) dei concetti di programmazione operativa. Per questo un ultimo capitolo è dedicato alle esercitazioni. La struttura del file è la seguente. Il Capitolo 1 introduce il lettore alla programmazione operativa trattando i suoi elementi costitutivi, quali obiettivi, vincoli e misure di prestazione. Il Capitolo 2 è interamente dedicato ai sistemi monostadio, esponendo le regole e le procedure migliori (ottimizzanti o sub-ottimizzanti) a seconda delle situazioni particolari e degli obiettivi che si vogliono perseguire. Il Capitolo 3 definisce il modello unidirezionale Pure Flow Shop ed espone l’algoritmo ottimizzante di Johnson e le sue estensioni. Nel Capitolo 4 troviamo diverse tematiche legate ancora al Flow Shop: il Branch&Bound, un algoritmo di ricerca intelligente ottimizzante molto diffuso in Ricerca Operativa, gli algoritmi euristici costruttivi, gli algoritmi di ricerca locale e un approfondimento relativo al paper “Minimizing the cycle time in serial manufacturing systems with multiple dual-gripper robots” (2006, G. Galante, G. Passannanti) pubblicato sull’International Journal of Production Research. Il Capitolo 5 passa al modello multidirezionale Job Shop, esponendo due algoritmi euristici (uno con schedulazione attiva ed uno con schedulazione non delay) e le regole di carico su cui si fondano. Il Capitolo 6 espone due famosi algoritmi euristici di ricerca non specifici, applicabili ad una moltitudine di problemi, tra cui la programmazione operativa. Il primo paragrafo è dedicato al TABOO SEARCH, il secondo al Simulated Annealing. Il Capitolo 7, ultimo tra quelli di teoria, è interamente dedicato alla classe degli algoritmi genetici. Vedremo le caratteristiche generali di un siffatto algoritmo, un’applicazione banale ed infine le tecniche più utilizzate per risolvere problemi di programmazione operativa con un genetico. Nel Capitolo 8 troviamo, come annunciato, esempi di implementazione degli algoritmi visti nei paragrafi precedenti. In particolare abbiamo: schedulazioni ottimizzanti per sistemi monostadio, applicazione del Johnson, euristici per Flow Shop, un TABOO per la risoluzione di un salesman travel problem, e infine una schedulazione non delay per un Job Shop. Per ogni esercizio è riportato nell’ordine il codice nell’estensione VBA di Excel ed i risultati ottenuti. Si augura una buona lettura
...continua
Il presente lavoro ha come obiettivo la risoluzione euristica di un problema definito dagli autori come knapsack modificato: si tratta dell’ottimizzazione euristica di un problema di scelta combinatoria dei modelli di un certo numero di componenti. Il problema viene definito come bi-obiettivo (del tipo min-max) ed, in particolare, affronta l’ottimizzazione del costo complessivo dello zaino e di una funzione di utilità. Verrà sviluppato pertanto un algoritmo euristico di tipo genetico per risolvere questo problema. Nella fattispecie, vedremo l’implementazione con l’estensione VBA di Excel. Il Capitolo 1 definisce nel dettaglio il problema in esame, chiarendone le ipotesi ed esplicando la struttura delle soluzioni. Il Capitolo 2 è interamente dedicato alla descrizione dell’algoritmo genetico risolutivo. Vedremo la scelta dei parametri e la struttura del cromosoma, la generazione dei dati e della popolazione iniziale, i metodi di fisicità e la scelta degli operatori di riproduzione. Si dà per scontato, in questa sede, che il lettore abbia delle conoscenze approfondite sulla classe degli algoritmi genetici. Una volta spiegato il funzionamento dell’algoritmo, vengono mostrati i risultati ottenuti. Nel Capitolo 3 riporta una applicazione reale della procedura. Infatti, se nel capitolo precedente l’algoritmo viene applicato per risolvere un problema con parametri generici e a partire da un dataset generato casualmente, in questo ci si propone di risolvere un problema reale adattabile a quello di knapsack modificato. Si è scelto di ottimizzare la scelta dei modelli dei diversi componenti di un personal computer. Essendo il problema bi-obiettivo, per prima cosa viene chiarito il profilo dell’utilizzatore; poi vengono descritti i diversi componenti scelti e come vengono valutate le relative prestazioni. Successivamente vengono spiegate le modifiche necessarie per adattare l’algoritmo al modello del problema reale e, infine, vengono presentati i risultati.
...continua