Principali Algoritmi di Scheduling - PowerPoint PPT Presentation

1 / 23
About This Presentation
Title:

Principali Algoritmi di Scheduling

Description:

Principali Algoritmi di Scheduling Algoritmi per macchine parallele Algoritmi per macchine in serie (flow shop) Principali Algoritmi di Scheduling Algoritmi per ... – PowerPoint PPT presentation

Number of Views:117
Avg rating:3.0/5.0
Slides: 24
Provided by: Del68
Category:

less

Transcript and Presenter's Notes

Title: Principali Algoritmi di Scheduling


1
Principali Algoritmi di Scheduling
2
1 / / F Shortest Job First p1 p2
. . . pn (le misure
sono in questo caso
equivalenti)
lt
lt
lt
C,
W,
L
3
1 / / Lmax Algoritmo di Jackson
Earliest Due Date First d1
d2 . . . dn
lt
lt
lt
4
  • 1 / / nT Algoritmo di Moore-Hodgson
  • Ordino secondo le date di consegna.
  • Se il primo lavoro che fa ritardo è il k-esimo,
    escludo il più lungo fra i primi k e ricomincio.

5
1 / ri / Lmax è equivalente allo zaino 1 / ri
, pi 1 / Lmax Jackson generalizzato (si
schedula il primo che scade tra quelli
arrivati) 1 / ri / Lmax se le date di consegna
sono tutte uguali si ordina in base a ri
6
1 / / Tmax e Algoritmo di Smith Tra
quelli con dh S pi si mette per ultimo
quello con ph massimo.
F
gt
7
  • 1 / prec / fmax Algoritmo di Lawler
  • Sia f(r,p,c,d) non decrescente rispetto a c e
    poniamo fi f(ri, pi, ci, di). La misura fmax
    può essere minimizzata con il seguente algoritmo.
  • Trovare il pozzo k che minimizza f( rk, pk,
    S pi, dk ),
  • Metterlo allultimo posto disponibile,
  • Procedere analogamente sui lavori rimanenti.

8
Lawler. Esempio con f(c,d) c-d L.
1. S pi 12, pozzi J4 e J5 f(12,d4) 1 lt
f(12,d5) 5.
2. S pi 10, pozzi J2 e J5 f(10,d5) 3 lt
f(10,d2) 4.
(p12, d13)
(p23,d26)
J1
J2
J2
J1
(p42,d411)
3. S pi 9, pozzi J2 e J3 f(9,d3) 1 lt
f(9,d2) 3.
J4
J4
J3
J3
(p34,d38)
J5
J5
4. Pozzo J2
(p51,d57)
5. Pozzo J1
J4
J5
J3
J2
J1
0 1 2 3 4 5 6
7 8 9 10 11 12
9
Algoritmi per macchine parallele
10
P / / F Si assegna il prossimo lavoro più
corto alla macchina che ha lavorato meno.
P2/ / Cmax è NP-completo
11
Pm / preempt / Cmax Algoritmo di
McNaughton distribuire i lavori in modo che
risulti cmax max( S pi / m, max pi
) (seguono esempi)
12
McNaughton (Esempio 1). Tre lavori unitari su
due macchine
J1
J2
J3
J3
macchina 1 macchina 2
J1
J3
J2
0 0.5 1.0 1.5
(è ammesso iniziare un lavoro in una macchina e
finirlo su unaltra)
13
McNaughton (Esempio 2). Due macchine. Tre
lavori con durate 1, 1, 2.2.
J1
J2
J3
macchina 1 macchina 2
J1
J2
J3
0 1 2 2.2
14
  • Pm / intree, pi 1 / Cmax
  • Algoritmo di Hu
  • Etichettare i nodi con la distanza massima da un
    pozzo.
  • Se il numero di sorgenti è minore di m,
    schedularle e rimuoverle,altrimenti schedulare
    le m sorgenti con etichette maggiori e
    rimuoverle.
  • Se il grafo non è vuoto tornare al passo 2.

15
Hu. Esempio con due macchine
2
1
2
0
2
3
1
2
16
Lalgoritmo di Hu può non funzionare se le
precedenze non formano un intree
1
2
1
0
2
1
2
1
2
1
0
2
1
2
17
  • P2 / preempt, prec / Cmax
  • Algoritmo di Muntz-Coffman
  • Rendere i lavori unitari (usare preempt e prec)
  • Etichettare i nodi con la distanza massima da un
    pozzo.
  • - Se vi è una sola sorgente schedularla e
    rimuoverla,- altrimenti se vi è una sola
    sorgente con etichetta massima, accoppiarla ad
    una sorgente di etichetta massima tra quelle
    minori, schedulare la coppia e rimuoverla,-
    altrimenti le sorgenti con etichetta massima
    sono almeno 2, schedulare tutte le sorgenti con
    etichetta massima (McNaughton) e rimuoverle.
  • Se il grafo non è vuoto tornare al passo 3.

18
Muntz-Coffman. Esempio con due macchine
1. Rendere i lavori unitari
2. Etichettare i nodi con la massima distanza da
un pozzo
3. Raggruppare e schedulare le sorgenti
J5
J1
J4
J2
J7
0
2
J3
J6
m1 m2
J7
0 0.5 1 1.5 2 2.5
3 3.5 4 4.5 5
19
Muntz-Coffman quando vi è un sola sorgente con
etichetta massima è importante accoppiarla con
una sola sorgente di etichetta massima minore
(quando possibile).
J5
J1
1
3
J4
J2
J7
3
0
1
2
J3
J6
3
1
m1 m2
J4/2
J7
0 0.5 1 1.5 2 2.5
3 3.5 4 4.5 5
20
Algoritmi per macchine in serie(flow shop)
Flow shop se un lavoro visita la macchina i e
poi la macchina j, allora iltj (ossia un lavoro
non può visitare la macchina i e poi unaltra
macchina con indice più piccolo).
21
Proprietà 2 Rispetto alla misura Cmax, è
sufficiente considerare schedule in cui la stessa
sequenza di lavori si presenta nelle ultime due
macchine.
Regola di Johnson per F2 / / Cmax Se min(
pi1, pj2 ) lt min( pi2, pj1 ) allora il lavoro i
precede il lavoro j nello schedule ottimo.
22
  • F2 / / Cmax Algoritmo di Johnson
  • Trovare ph1 mini( pi1 ) e pk2 mini( pi2 ),
  • Se ph1lt pk2, si pone il lavoro h nella
    primaposizione libera da sinistra altrimenti,
    si pone il lavoro k nella prima posizione libera
    da destra
  • Se ci sono ancora lavori tornare al passo 1.

23
  • F2 / / Cmax Algoritmo di Johnson
  • implementazione
  • Sia U i pi1 lt pi2 e V i pi1 gt pi2 ,
  • Ordinare U in ordine non decrescente di
    pi1,Ordinare V in ordine non crescente di pi2,
  • Una sequenza ottima è data da U seguito da V.
Write a Comment
User Comments (0)
About PowerShow.com