Tomasz Krawczyk
krawczyk@tcs.uj.edu.pl
Kraków, semestr letni 2019/20
Wykorzystanie Liniowego Programowania w Aproksymacji:
I Odcinanie Parametryczne: Problem szeregowania zada«.
I Schemat prymalno-dualny: Minimalny zbiór rozcyklaj¡cy.
Szeregowanie Zada« na Maszynach Niejednorodnych:
Wej±cie: Dany jest zbiór zada« J, zbiór maszyn M oraz dla ka»dego j ∈ J, i ∈ M liczba p
ijokre±laj¡ca czas wykonania zadania j na maszynie m.
Wyj±cie: Przypisanie zada« do maszyn minimalizuj¡cy czas wykonania zada« na wszystkich maszynach.
Oznaczenia:
I n liczba zada«, I m liczba maszyn,
I OPT optymalny koszt wykonania wszystkich zada«.
Problem Szeregowania Zada« na Maszynach Niejednorodnych mo»emy wyrazi¢ za pomoc¡ Programowania Caªkowitoliczbowego nast¦puj¡co:
zminimalizuj: k przy warunkach: P
nj=1
p
ijx
ij6 k dla ka»dej maszyny i ∈ [m]
P
mi=1
x
ij= 1 dla ka»dego zadania j ∈ [n]
x
ij∈ {0, 1} i ∈ [m], j ∈ [n].
Interpretacja:
I x
ij= 1 wtw, gdy zadanie i jest wykonywane na maszynie j.
Relaksacja PLC wygl¡da nast¦puj¡co:
zminimalizuj: k przy warunkach: P
nj=1
p
ijx
ij6 k dla ka»dej maszyny i ∈ [m]
P
mi=1
x
ij≥ 1 dla ka»dego zadania j ∈ [n]
x
ij≥ 0 i ∈ [m], j ∈ [n].
Idea:
I do±¢ ªatwo jest zaprojektowa¢ (wykorzystuj¡c Programowanie Liniowe) algorytm zwracaj¡cy rozwi¡zanie o koszcie
OPT + max{p
ij, i ∈ [n], j ∈ [m]},
I Drugi skªadnik sumy mo»e by¢ dowolnie du»y wzgl¦dem OPT , co nie gwarantuje »adnego wspóªczynnika aproksymacji.
I Odcinanie Parametryczne: odci¦cie du»ych p
ij, które i tak nie b¦d¡
wykorzystywane w rozwi¡zaniu.
I Ustalmy parametr T .
I Niech S
T= {(i, j) ∈ [m] × [n] : p
ij6 T }.
I Parametr T jest dopuszczalny je»eli zbiór nierówno±ci LP(T ):
P
j:(i,j)∈ST
p
ijx
ij6 T dla ka»dej maszyny i ∈ [m], P
i:(i,j)∈ST
x
ij≥ 1 dla ka»dego zadania j ∈ [n], x
ij≥ 0 ( i, j) ∈ S
T.
posiada rozwi¡zanie, tzn. zmiennym x
ij: (i, j) ∈ S
Tmo»na nada¢
dodatnie warto±ci tak, by speªni¢ wszystkie nierówno±ci LP(T ).
Przyjmijmy:
I T
∗warto±¢ najmniejszego parametru dopuszczalnego, Fakty:
I istnieje algorytm wielomianowy, który dla parametru dopuszczalnego T konstruuje rozwi¡zanie o koszcie 6 2T ,
I T
∗6 OPT .
Algorytm (Szeregowanie Zada« na Maszynach Jednorodnych):
I stosuj¡c wyszukiwanie binarne, znajd¹ warto±¢ najmniejszego parametru dopuszczalnego T
∗,
I skonstruuj w czasie wielomianowym rozwi¡zanie o koszcie 2T
∗.
Poniewa» T
∗6 OPT , powy»szy algorytm jest algorytmem 2-aproksymacyjnym.
Lemat
T
∗6 OPT .
Dowód:
I Zauwa»my, »e OPT jest parametrem dopuszczalnym. Rzeczywi±cie, maj¡c rozwi¡zanie o koszcie OPT , warto±ciowanie
x
ij=
1 je»eli zadanie i jest wykonywane na maszynie j 0 w p.p.
speªnia ukªad nierówno±ci LP(OPT ).
I Ustalmy parametr dopuszczalny T .
I Skonstruujemy w czasie wielomianowym rozwi¡zanie o koszcie 2T .
P
j:(i,j)∈ST
p
ijx
ij6 T dla ka»dej maszyny i ∈ [m], P
i:(i,j)∈ST
x
ij≥ 1 dla ka»dego zadania j ∈ [n], x
ij≥ 0 (i, j) ∈ S
T.
I Zbiór rozwi¡za« dopuszczalnych LP(T ) deniuje wielo±cian wypukªy w R
r.
I Rozwa»my rozwi¡zanie ektremalne x
∗= ( x
ij∗: ( i, j) ∈ S
T) zbioru nierówno±ci LP(T ) (rozwi¡zanie ekstremalne LP(T ) to rozwi¡zanie nie b¦d¡ce kombinacj¡ liniow¡ innych rozwi¡za« LP(T )).
I Dla rozwi¡zania ekstremalnego x
∗, r nierówno±ci LPT (T ) staje si¦
równo±ciami.
I W konsekwencji, w rozwi¡zaniu ekstremalnym r − (n + m) zmiennych x
ij∗jest ustawione na 0, a n + m zmiennych x
ij∗ma warto±¢ wi¦ksz¡ od 0.
Ustalmy rozwi¡zanie ekstremalne x
∗LP(T ).
Zadanie i jest ustawione w caªo±ci na maszynie j je»eli x
ij∗= 1.
Zadanie i jest ustawione w cz¦±ciach je»eli x
ij∗< 1 dla ka»dego j.
Wniosek: W dowolnym rozwi¡zaniu ekstremalnym x
∗co najmniej n − m zada«
jest ustawionych w caªo±ci.
I Niech G = (M, J, E) b¦dzie grafem dwudzielnym, gdzie:
I
M zbiór maszyn,
I
J zbiór zada«,
I
ji ∈ E je»eli j ∈ M, i ∈ J, oraz x
ji∗> 0.
I Niech C ⊂ J b¦dzie zbiorem zada« ustawionych w cz¦±ciach.
Wtedy:
I ka»da skªadowa spójna w grae G na k wierzchoªkach ma co najwy»ej k kraw¦dzi (kolejne slajdy),
I istnieje dopasowanie wierzchoªków z C do wierzchoªków M w G (kolejne
slajdy).
Algorytm konstruuj¡cy przydziaª zada« o koszcie 2T : I oblicz rozwi¡zanie ekstremalne x
∗programu LP(T ),
I je»eli zadanie i jest ustawione w caªo±ci na maszynie j, przydziel zadanie i do maszyny j,
I znajd¹ dopasowanie zbioru zada« ustawionych w cz¦±ciach do zbioru maszyn M,
I przydziel zadanie i ustawione w cz¦±ciach do maszyny j zgodnie z dopasowaniem.
Koszt rozwi¡zania 6 2T :
I wszystkie zadania ustawione w caªo±ci wykonuj¡ si¦ w czasie T , I wszystkie zadania ustawione w cz¦±ciach wykonuj¡ si¦ w czasie
max{p
ij: ( i, j) ∈ S
T} 6 T .
I Zaªó»my, »e skªadowa spójna S ma k wierzchoªków i wiecej ni» k kraw¦dzi.
I Rozwa»my problem szeregowania zada« zaw¦»ony do zada« i maszyn z S.
I x
∗zaw¦»one do S, x
∗|S, jest rozwi¡zaniem dopuszczalnym LP
S( T ), gdzie LP
S(T ) jest odpowiednikiem LP(T ) w odniesieniu do zada« i maszyn z S,
I x
∗|S nie jest rozwi¡zaniem ekstremalnym LP
S(T ) (ma za du»o zmiennych x
ij> 0),
I x
∗| S jest kombinacj¡ liniow¡ innych rozwi¡za« LP
S( T ) istotnie ró»nych od x
∗|S,
I x
∗jest te» kombinacj¡ liniow¡ rozwi¡za« dopuszczalnych LP(T ) innych ni» x
∗,
I x
∗nie jest rozwi¡zaniem ekstremalnym LP(T ), sprzeczno±¢.
Istnieje dopasowanie zada« z C w zbiór maszyn M:
I ka»dy wierzchoªek z C ma stopie« co najmniej 2 w G,
I zaªó»my, »e istnieje zbiór A, A ⊆ C, nie speªniaj¡cy warunku Halla, I graf A ∪ N(A) ma co najmniej 2|A| kraw¦dzi i istotnie mniej ni» 2|A|
wierzchoªków,
I skªadowa spójna zawieraj¡ca A ma wi¦cej kraw¦dzi ni» wierzchoªków, co
nie jest mo»liwe na mocy poprzedniej obserwacji.
Dla zadania programowania liniowego, zwanego zadaniem prymalnym, zminimalizuj: P
nj=1
c
jx
jprzy warunkach: P
nj=1
a
ijx
j≥ b
ii = 1, . . . , m x
j≥ 0 j = 1, . . . , n.
zadanie dualne deniujemy nast¦puj¡co:
zmaksymalizuj: P
m i=1b
iy
iprzy warunkach: P
mi=1
a
ijy
i6 c
jj = 1, . . . , n
y
i≥ 0 i = 1, . . . , m.
Twierdzenie (sªabe twierdzenie o dualno±ci PL)
Je»eli x = (x
1, . . . , x
n) i y = (y
1, . . . , y
m) s¡ dowolnymi rozwi¡zaniami
dopuszczalnymi odpowiednio dla zadania prymalnego oraz zadania dualnego, to
m
X
i=1
b
iy
i6
n
X
j=1
c
jx
j.
Wniosek: Je»eli zadanie prymalne jest relaksacj¡ problemu minimalizacyjnego P, y jest rozwi¡zaniem dopuszczalnym dla problemu dualnego, to
m
X
i=1
b
iy
i6 OPT ,
gdzie OPT jest kosztem rozwi¡zania optymalnego problemu P.
Minimalny Zbiór Rozcyklaj¡cy w Turniejach:
Wej±cie: Turniej G = (V , A).
Wyj±cie: Minimalny zbiór kraw¦dzi przecinaj¡cy wszystkie cykle turnieju G.
Prgram Caªkowitoliczbowy dla problemu Minimalnego Zbioru Rozcyklaj¡cego wygl¡da nast¦puj¡co:
zminimalizuj: P
(i,j)∈A
x
ijprzy warunkach: P
(i,j)∈C
x
ij≥ 1 dla ka»dego cyklu C w G
x
ij∈ {0, 1} dla ka»dego (i, j) ∈ A.
Relaksacja programu caªkowitoliczbowego, zadanie prymalne:
zminimalizuj: P
(i,j)∈A
x
ijprzy warunkach: P
(i,j)∈C
x
ij≥ 1 dla ka»dego cyklu C w G x
ij≥ 0 dla ka»dego (i, j) ∈ A.
Zadanie dualne:
zmaksymalizuj: P
C∈C
y
Cprzy warunkach: P
C∈C:(i,j)∈C
y
C6 1 dla ka»dej kraw¦dzi (i, j) w T y
C≥ 0 dla ka»dego C ∈ C,
gdzie C to wszystkie cykle G.
Algorytm RandFAS:
Wej±cie: Turniej G = (V , A).
Wyj±cie: Porz¡dek wierzchoªków V (G).
Algorytm RandFAS:
I wybierz losowo piwot i ∈ V (G), I L = {j : (j, i) ∈ A}, R = {j : (i, j) ∈ R},
I wywoªaj si¦ rekurencyjnie na turnieju zaw¦»onym do L (zwraca ci¡g L
0) oraz na turnieju zaw¦»onym do R (zwraca R
0),
I zwró¢ ci¡g L
0iR
0.
Kraw¦dzie rozcyklaj¡ce: kraw¦dzie wsteczne w porz¡dku liniowym zwróconym
przez RandFAS.
Minimalnego Zbioru Rozcyklaj¡cego w Turniejach.
Dowód:
I T wszystkie cykle dªugo±ci 3 w G,
I Dla cyklu T ∈ T niech X
Tb¦dzie zmienn¡ losow¡ indykatorow¡
przyjmuj¡c¡ warto±¢ 1 wtw, gdy w momencie dzielenia trojk¡ta T (tzn. w wywoªaniu rekurencyjnym, w którym przynajmniej jeden wierzchoªek T l¡duj¡ w lewym podzadaniu i przynajmniej jeden wierzchoªek T l¡duje w prawym podzaniu) piwotem jest wierzchoªek z T .
I X zmienna losowa okre±laj¡ca liczb¦ kraw¦dzi wstecznych.
I Zauwa»my, »e X = P
T ∈TX
T. Istotnie, dla kraw¦dzi wstecznej u → v
powstaj¡cej w momencie dzielenia wzgl¦dem piwota t, trójk¡t
T = {v → t → u → v} speªnia X
T= 1. Nietrudno jest zauwa»y¢, »e
odwzorowanie tak okre±lone jest bijekcj¡ ze zbioru wszystkich kraw¦dzi
wstecznych w zbiór wszystkich trójk¡tów T dla których X
T= 1.
T ∈T T
I Przyjmijmy y
C∗=
pC3
je»eli C jest cyklem dªugo±ci 3 z C, 0 je»eli C jest cyklem ≥ 4 z C.
I Poka»emy, »e y
∗jest rozwi¡zaniem dopuszczalnym zadania dualnego.
St¡d wynika, »e 1 3
X
T ∈T
p
T6 OPT 6 X
T ∈T
p
T, a zatem RandFAS jest algorytmem 3-aproksymacyjnym.
I Aby sprawdzi¢, »e y
∗jest rozwi¡zaniem dopuszczalnym, wystarczy sprawdzi¢ nierówno±¢
X
T ∈T :(i,j)∈T
p
T3 6 1 (*)
dla ka»dej kraw¦dzi (i, j).
I Zdarzenia B ∩ (X
T1= 1) oraz B ∩ (X
T2= 1) s¡ rozª¡czne dla ka»dych dwóch T
1, T
2∈ T takich, »e (i, j) ∈ T
1, T
2.
I Je»eli zachodzi zdarzenie B, to zachodzi równie» jedno ze zdarze«
X
T= 1 dla pewnego T ∈ T zawieraj¡cego (i, j).
I Mamy wi¦c:
P(B) = P
T ∈T :(i,j)∈TP(B ∩ (X
T= 1))
= P
T ∈T :(i,j)∈T
P(B|X
T= 1) · P(X
T= 1)
= P
T ∈T :(i,j)∈T 1 3
p
T= P
T ∈T :(i,j)∈T pT 3