Logistica 2

  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Logistica 2 as PDF for free.

More details

  • Words: 1,994
  • Pages: 4
Università degli Studi di Trieste Piazzale Europa 1, 34100 Trieste Facoltà di INGEGNERIA Corso di Laurea in INGEGNERIA INFORMATICA Anno Accademico 2004/2005

Logistica 2

Studente: Giorgio Davanzo [email protected]

Docente: Prof. Pestelli

LOGISTICA II

1 di Giorgio DAVANZO

MRP: MRP: Materials Requirement Planning; si decide la disponibilità dei materiali. Metodologie: si può usare un procedimento EURISTICO (conoscenza esatta della domanda nel breve periodo) o uno ESATTO (conoscenza esatta nel lungo periodo). Metodi Euristici: K costo di riordino, h costo mantenimento al giorno, ri domanda da soddisfare in i • Silver Meal: trova il minimo costo medio per periodo; G(j) = (K+ h r2 + 2 h r3 + ....+ (j-1) h rj )/j si riordina nel periodo j° che è minimo locale, cioè G(j°-1) > G(j°) e G(j°) < G(j°+1) • Least Unit Cost: G(j) = (K+ h r2 + 2 h r3+...+(j-1) h rj )/ (r1 +r2+...+ rj) cerca il minimo per il costo medio per prodotto; si riordina in J° minimo locale. • Part Period Balancing: costi di mantenimento = costi di riordino. G(j) = h r2 + 2 h r3 + ....+ (j-1) h rj si riordina in J° primo minimo locale di |K - G(J)| Metodo Esatto – Wagner Within: si risolve con un grafo. • si crea un nodo per ogni giorno e uno finale detto dummy; all’interno segno la domanda per quel giorno. • si crea un arco per ogni coppia di nodi i,j con j > i • ad ogni arco (i,j) associo il costo che pagherei il giorno i per un lotto che dura fino a j-1 • cerco il percorso minimo Ædijkstra: si parte dall’inizio, e si assegna ad ogni nodo un valore temporaneo dato dal tempo necessario a raggiungerlo secondo l’arco che li unisce, poi si marca il valore minimo come definitivo; ora si parte da quello marcato come minimo e si ripete per ogni nodo a lui connesso, cambiando il valore assegnato se questo è minore del precedente e ricalcolando il minimo tra quelli non già segnati. MRP a capacità finita: se non si ha una capacità produttiva ∞, forse conviene anticipare certi ordini. • Verifica: si può soddisfare la domanda senza ritardo se Domanda Cumulata(T)≤CapacitàCumulata(T) ∀ T. Non basta controllare in T = Tfin , perché potrei non soddisfare alcuni ordini centrali. • Anticipazione: FOR (T:=Tfin ; T>0; T--) {anticipo ordini se serve} Capacità Comuni – metodo esatto: se certi prodotti dipendono dalla stessa squadra di montaggio, conviene aggregare i prodotti e ragionare come minuti-squadra. Devo minimizzare ∀ elemento i suoi costi, cioè trovare min [Σi∈NΣt∈T CostiRiordino(i,t) + CostiMagazzino (i,t)] con N=num. totale elementi e T=durata indafine. CostiRiordino(i,t) = KiYi t cioè ∀i il giorno t pago costi fissi solo se ho acquistato/prodotto almeno un’unita di i CostiMagazzino(i,t) = hi Ii t ∀i il giorno t pago costi di mantenimento proporzionali al numero di pezzi i che ho. Per default, assegno al prodotto finito i = 1. Vincoli: • Prodotto finito: soddisfare la domanda, cioè ∀t R(t) + Ii t = X i t + Ii (t-1) con Xi t # prodotti finiti realizzati in t e Ii (t-1) unità in magazzino • Soddisfare la domanda del prodotto intermedio: questa dipende dalla domanda del prodotto padre; • Rispettare le capacità • Considerare i set-up • Positività ed Interezza delle variabili

CPM e PERT: CPM: Critical Path Method PERT: Project Evaluation and Review Technique Rappresentare un progetto: si usa un grafo • ogni arco è un’attività, sopra vi è indicata la durata • ogni nodo è un evento, dentro vi sono scritti gli estremi temporali in cui deve occorrere l’evento • non ci possono essere oggetti con entrambi i nodi in comune, né parallelismi Æ si inseriscono attività dummy di durata nulla. • Estremo Inferiore: è l’earliest starting time; quello iniziale (sx grafico) = 0, i successivi sono la somma della durata delle attività che portano al nodo partendo dall’inizio progetto; se più rami portano allo stesso nodo, si sceglie il valore maggiore. • Estremo Superiore: è il latest completion time; quello finale (dx grafico) = ES(finale), i precedenti sono la differenza tra l’ultimo e la durata che porterà ad esso (si procede alla rovescia); se più rami portano allo stesso nodo, si sceglie il valore minore.

2 LOGISTICA II • Percorso critico: è quello che unisce i nodi con ES = LC PERT: è un metodo statistico; ad ogni arco sono associate durata media attesa e deviazione della durata, di solito calcolate sulla distribuzione gamma: m = valore + probabile, a = durata minima, b = durata massima • durata media: µ = (a + 4m + b)/6 • deviazione della durata: σ = (b - a)/6

SCHEDULAZIONE: Terminologia: • task: operazione elementare di lavorazione; • job: insieme parzialmente ordinato di task che descrivono una lavorazione complessa; • machina: una risorsa che può eseguire al massimo una attività (task) alla volta; le macchine possono essere messe in serie, parallelo o Bucket Brigade (brigata dei secchi, come i pompieri. Se una macchina è affamata perché un’altra non ha finito, le ruba il lavoro) • starvation: macchina che non ha niente su cui lavorare • scheduling ammissibile: rispetta tutti i vincoli • scheduling ottimo: minimizza un dato criterio • caratteristiche dei task: Release Time [ri] (data di inizio), Due Date [di] (data di consegna violabile ma con penale), Dead Line [Di] (data di consegna non violabile) e Processing Time [Pi] (tempo di esecuzione) • variabile principale: Ci tempo di completamento • preemption: è possibile sospendere un task per farne un altro Dati: • Tardiness Ti = ritardo = (Ci – di)+ è >0 se >0, 0 se ≤ 0; • Earliness Ei = anticipo = (di – Ci)+; • Lateness Li = tempo di ritardo = Ci – di Misure: • Semi Attivo: non è possibile anticipare l’esecuzione di un job senza alterare la sequenza degli stessi • Attivo: non è possibile anticipare l’esecuzione di un job anche alterando la sequenza degli stessi Notazione: Tipo Problema / caratteristiche job o task/ obiettivo tipo problema: caratteristiche job: obiettivo: – 1: singola macchina – P m: macchine parallele (generico) – F n: flow shop di n task su n macchine – J n job shop (ordine diverso per ogni job) su n macchine – O open shop (non vi è ordine nelle operazioni di un job)

– pmtn: è ammessa la preemption – prec: esistono precedenze tra i task dei job o tra i job – ri: i job hanno release time diverso da zero, – Di : i job hanno deadline diversa da infinito, – pi=1: tutti i job hanno tempo di esecuzione 1

– Tmax, : minimizzare tardiness massima –ΣiTi : minimizzare tardiness media –ΣiwiCi: minimizzare tempi di completamento pesati

1/ / Σi Ci : minimizzare il tempo medio di completamento su singola macchina di job con identica release time; si risolve con Shortes Processing Time First, cioè si ordinano i job svolgendo prima i più rapidi 1/ / Σi wiCi : wi sono i pesi – peso > = lavoro + importante. Si usa la Politca di Smith, ordinando in modo crescente il rapporto Pi / wi 1/ / Lmax : minimizzare la lateness massima (e quindi anche della tardiness massima ) su singola macchina di job con identica release time ma due date diverse; si risolve con Earliest Due Date first: si eseguono prima i job con due date più piccola 1/ / ΣiUi : minimizzare il numero di job che sono tardy, si risolve con Algoritmo di Moore: • ordinare i job per EDD (Di) • se un job supera la Dead Line, elimino tra i precedenti il più lungo (potrebbe essere il job stesso) 1/ prec / maxigi(ci) : minimizzare il valore massimo assunto da certe misure gi per job su singola macchina con identica release time ma in presenza di precedenze. 1. dall’insieme J dei job determinare l’insieme V dei job che non precedono altri job non ancora schedulati 2. determinare il job k in V t.c.: gk( τ) = mink∈V gk(τ) con τ = Σi∈ J pi 3. porre J = J \{k} ; se |J| > 0 tornare a 1), altrimenti stop 1/ Di=D /ΣiEi : minimizzare l’earliness media su singola macchina di job con identica release time e identica deadline. Si risolve con Longest Processing Time first, eseguendo prima i job più lunghi

3 1/ di=d / Σi(Ei+Ti) : minimizzazare l’earliness e tardiness media su singola macchina di job con identica release time e identica due date. Si risolve con l’algoritmo di V-shaped 1. ordinare i job per LPT 2. porre i job in posizione dispari, ordinati per LPT, prima della due date in modo che il completion time dell’ultimo tra questi job coincida con la due date stessa; 3. porre i job in posizione pari, ordinati per SPT, dopo la due date in modo che lo starting time del primo tra questi job coincida con la due date stessa. SetUp Time – Critical Ratio: minimizza i costi di set-up su singola macchina di job con identica release time; ad ogni istante schedula in base all’urgenza dei task, dove per urgenza si intende il rapporto: tempo esecuzione /(due date - tempo corrente) = pi / (di - t); se vi sono rapporti negativi e positivi, si preferiscono i negativi e si schedulano i job associati a tali valori secondo SPT.

LOGISTICA II

SCHEDULAZIONE – PIU’ MACCHINE: P/ / Σi Ci : si usa sempre SPT, eseguendo per primi i task con tempo di esecuzione minore assegnandoli alla prima macchina disponibile. P/ / Cmax : è difficile, alg. euristico LPT P/ pmtn / Cmax : è risolto dall’algoritmo wrap-around di McNaughton (estendibile opportunamente al caso di macchine uniformi) riempiendo quindi le macchine successivamente fino a soddisfare Cmax* = (Σi pi)/num macchine , spezzando tra una macchina e la successiva i job che eventualmente violano tale valore (ovviamente si esegue prima il pezzo creato sulla macchina successiva). Se ∃pi > Cmax* non posso spezzare il job (non posso fare contemporaneamente parti dello stesso job) Æ occuperò un Cmax > Cmax*. In questo caso vi sono al massimo ( m-1) preemption. È NP-hard determinare uno scheduling ottimo che minimizzi il numero di preemption. P/ prec / Cmax : si disegna un grafo che ha un nodo per ogni job e al suo interno la pi, gli archi indicano le precedenze; si crea un ordine qualunque e si cerca di migliorarlo :-P

ROUTING: Euristiche: Le euristiche usate sono costruttive se creano il circuito hamiltoniano, di miglioramento se migliorano uno esistente; con distanze euclidee, un circuito ottimo non contiene incroci. Nearest Neighbor: si parte da un nodo e si passa al più vicino ad esso. Nearest Neighbor a doppia crescita: una volta creato il primo arco, si procede facendo crescere contemporaneamente entrambi gli estremi. Nodo più lontano: è un algoritmo di inserimento. 1. Si uniscono in un circuito di A/R i due nodi a distanza massima 2. ∀ nodo libero si elencano tutte le distanze dai due nodi, e si sceglie di inserire quello che ha distanza > 3. ora si tratta di decidere dove inserirlo, cioè che arco connettere; lo si inserisce dove la variazione di percorso causa la minor variazione (quando ho solo due nodi, è indifferente come lo metto!) Doppio albero ricoprente: 1. si crea un albero ricoprente minimo 2. si raddoppiano gli archi in modo da avere percorsi di A/R per ogni unione di nodi 3. si descrive il percorso così formato e si eliminano le ripetizioni dei nodi già visitati Christofides: 1. si crea un albero ricoprente minimo 2. si evidenziano i nodi che hanno un numero dispari di archi 3. si connettono i nodi tra loro finché non si hanno solo nodi pari 4. si scrive il percorso così tracciato e si eliminano le ripetizioni 2 – OPT: è un metodo euristico 1. si crea un circuito hamiltoniano 2. si eliminano due rami e si ricongiungono i due semicircuiti; se così facendo miglioro salvo la modifica

Related Documents

Logistica 2
June 2020 2
Logistica
October 2019 36
Logistica
October 2019 46
Logistica
October 2019 34
Logistica
May 2020 23
Logistica
May 2020 27