Specijalna Klasa ACLP-A

You might also like

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 11

JEDNA SPECIJALNA KLASA ACLP-a

Kao što je napomenuto u prethodnom poglavlju, minimalna dozvoljena udaljenost


između čvorova u nekim problemima lociranja skladišta opasnih materija (nekih grupa
eksploziva, zapaljivih materija i komprimovanih gasova), u funkcionalnoj je zavisnosti od
količine uskladištene opasne materije. Na ovakav način, minimalna dozvoljena udaljenost
između čvorova, može da se izrazi i u slučaju lociranja nekih drugih nepoželjnih objekata, poput
emitera: mirisa, toplote, radioaktivnosti, buke, aero zagađenja, itd. Takođe, u problemima
lociranja predajnika u radio-difuznim mrežama, minimalna dozvoljena udaljenost između
čvorova može biti izražena u funkciji od snage predajnika, itd. S obzirom da količina
uskladištene opasne materije i snaga predajnika mogu da se izraze kao funkcija rastojanja
između skladišta opasnih materija odnosno predajnika u radio-difuznim mrežama, respektivno,
onda je u ovim problemima minimalna dozvoljena udaljenost između čvorova na mreži zapravo
u funkcionalnoj zavisnosti od rastojanja između čvorova.

Formulacija ACLP-a, u kome je minimalna dozvoljena udaljenost između čvorova u


funkcionalnoj zavisnosti od rastojanja između čvorova, i ideja za njegovo rešavanje, prikazani su
u ovom poglavlju, na primeru lociranja skladišta opasnih materija. S obzirom, da je minimalna
dozvoljena udaljenost između čvorova u ovim problemima nazvana minimalno bezbednosno
rastojanje i da zavisi od količine uskladištene opasne materije, ova klasa ACLP-a naslovljena je
QDSD-ACLP (Quantity Dependent Safety Distance-Anti-Covering Location Problem).

109
FORMULACIJA QDSD-ACLP-a

Minimalno bezbednosno rastojanje, u problemima lociranja opasnih materija, poput


nekih grupa eksploziva, zapaljivih materija i komprimovanih gasova, izražava se na sledeći
način:

R=PQ1/3 (6.1)

gde je: R - minimalno bezbednosno rastojanje, P - zaštitni faktor, koji zavisi od pretpostavljenog
ili dozvoljenog stepena rizika i vrste eksploziva, a Q - količina opasne materije koja se skladišti.

Pod pretpostavkom da oblast u kojoj se nalaze potencijalne lokacije izgleda kao na Slici
5.1., formulacija QDSD-ACLP-a, s obzirom da minimalno bezbednosno rastojanje nije
konstantna vrednost, mora da obuhvati ograničenja koja su posledica postojanja kako
unutrašnjeg, tako i spoljašnjeg minimalnog bezbednosnog rastojanja.

U ovom slučaju, na simetričnoj, potpuno povezanoj mreži, predstavljenoj grafom


G=(N,A), skup čvorova N={1, ..., i, j, ..., n} čine dva podskupa N=N INE, gde je NI skup
čvorova - potencijalnih lokacija, koji se nalaze unutar oblasti određene u svrhe skladištenja
opasnih materija, a NE skup čvorova - eksternih objekata. Svakom čvoru iNI pridružen je
težinski koeficijent vi, koji predstavlja maksimalan kapacitet lokacije. A je skup grana i svakoj
grani (i,j)A pridružen je nenegativni skalar cij koji uzima vrednost euklidskog rastojanja
uzmeđu parova čvorova iN, jN. Unutrašnje minimalno bezbednosno rastojanje (RI) i
spoljašnje minimalno bezbednosno rastojanje (RE), računaju se prema izrazu (6.1), pri čemu
zaštitni faktor P uzima vrednosti PI i PE (PE>PI), za RI i RE, respektivno.

QDSD-ACLP može se formulisati kao problem nelinearnog programiranja, na sledeći


način Vidović, M., Dimitrijević, B., 2004.:

Max ZQDSD = i
N
xi (6.2)
I

PI  3 x i  c ij ,  x i  0  x j  0, i, j  N I (6.3)

110
PE  3 x i  c ij ,  x i  0, i  N I , j  N E (6.4)
0  x i  vi ,  i  N I (6.5)

Zadatak je maksimizirati ukupnu uskladištenu količinu opasnih materija (6.2), tako da


svaki par izabranih lokacija bude na rastojanju ne manjem od propisanog bezbednosnog (6.3) i
da svaka izabrana lokacija bude na rastojanju ne manjem od propisanog bezbednosnog, u odnosu
na eksterne objekte (6.4). Ograničenje (6.5) definiše interval vrednosti koje može da uzme
promenljiva xi.

REŠAVANJE QDSD-ACLP-a

Ideja za rešavanje QDSD-ACLP-a, formulisanog od (6.2) do (6.5), zasniva se na


konceptu diskretizacije promenljive xi, što za posledicu ima svođenje postavke ovog problema,
na problem nelinearnog 0-1 programiranja, a samim tim i mogućnost korišćenja ideja na kojima
se zasnivaju heuristike predstavljene u Poglavlju 4.

Za svaki čvor iNI, u skladu za izrazom (6.1), izračunavaju se vrednosti:

c3ij
q ijI  , j  N I (6.6)
PI3
c3ij
q ijE  , j  N E (6.7)
PE3

Na osnovu (6.6) određuje se maksimalna količina opasne materije koja može biti
uskladištena u čvor iNI, a da čvor jNI ne bude ugrožen. Imajući u vidu da je cij=cji, važi da je
q ijI = q Iji . Relacija (6.7) određuje maksimalnu količinu opasne materije koja može biti

uskladištena u čvor iNI, a da eksterni čvor jNE ne bude ugrožen.

111
Za bilo koji čvor iNI, maksimalna količina opasnih materija koju je u njega moguće
uskladištiti, određuje se ili na osnovu maksimalnog kapaciteta lokacije vi, ili na osnovu
udaljenosti tog čvora od njemu najbližeg eksternog objekta:

qmax(i)=minvi , min q ijE  (6.8)


jN E

Lema
Ako se posmatra proizvoljan par čvorova i,jNI, nezavisno od ostalih čvorova na mreži, i
ako su oba čvora “uključena“ u rešenje (xi i xj, koji im odgovaraju, uzimaju vrednosti veće od
I
nule), tada je maksimalna količina opasne materije koja se može uskladištiti u čvor iNI, xi= q ij ,
I
a u čvor jNI, xj= q ji , izračunate prema izrazu (6.6).

Dokaz
Za bilo koje drugo x i = q ijI i/ili x  ijI < q ijI i q
 Iji , pri čemu je q
 j=q  Iji < q Iji , funkcija cilja

 će imati manju vrednost od Z.


Z

Za svaki čvor iNI, neka je  (i ) podskup onih čvorova jNI za koje važi sledeće:


 (i)  j | q ijI  q max (i), j  N I , i  j (6.9)

Dakle, elementi skupa  (i ) su čvorovi jNI ugroženi skladištenjem količine opasne


materije qmax, dobijene na osnovu (6.8), u čvor iNI.

Neka je S kardinalni broj skupa  (i ) i neka su elementi skupa  (i ) indeksirani tako,


da važi:

  I I I I
 (i)  j1 , j 2 ,  , j ,  , jS ; q ij1  q ij2    q ij    q ijS , jNI (6.10)

Na osnovu Leme i (6.10), sledi da promenljiva x i, iNi, zapravo može da uzme ograničen
broj vrednosti, tj:
I
xi{0, q ij (j  (i) , =1, …, S), qmax(i) (6.11)

112
Imajući ovu činjenicu u vidu, izvršeno je preslikavanje svakog čvora iNI u S+1 čvor -
potencijalnu lokaciju, koji čine skup H(i), sa istim sedištem kao čvor iNI, ali različitih
maksimalnih kapaciteta, odnosno težinskih koeficijenata koji su im pridruženi:


H(i)  i1 , i 2 ,  , i  ,  , i S , i S1 , i  N I  (6.12)
v i1  q ijI 1 , v i 2  q ijI 2 , , v i  q ijI  , , v iS  q ijI S , v iS1  q max (i) (6.13)

Težinski koeficijenti v i , =1, …, S, pridruženi čvorovima iH(i), zapravo su količine

opasne materije koje odgovaraju rastojanjima čvora iNI od čvorova j  (i) , =1, …, S.
Rastojanju čvora iNI od njemu najbližeg eksternog objekta, odnosno maksimalnom kapacitetu

lokacije iNI, odgovara količina opasne materije v iS1 , koja je kao težinski koeficijent
pridružena lokaciji iS+1H(i).

Neka je N I unija svih H(i), iNI, tada se QDSD-ACLP može predstaviti bilo kojim od
Modela iz Poglavlja 3.2. Na primer, u formi problema kvadratnog 0-1 programiranja, QDSD-
ACLP izgleda:

Max ZQDSD = i 
v i
xi
(6.14)
N
I

x i η  x jη  [c i  j - max(PI 3 v i η , PI 3 v jη )]  0,  i η , j η  N I  , i   j (6.15)
x i   (c i  j - PE  3 v i  )  0,  i   N I  , j  N E (6.16)
x i    0,1 ,  i   N I (6.17)

Zadatak je isti, maksimizirati ukupnu uskladištenu količinu opasnih materija (6.14), tako
da svaki par izabranih lokacija bude na rastojanju ne manjem od propisanog bezbednosnog
(6.15) i da svaka izabrana lokacija bude na rastojanju ne manjem od propisanog bezbednosnog, u

odnosu na eksterne objekte (6.16). Međutim, za razliku od (6.5), u (6.17) x i je binarna


promenljiva.
Neka je (i) podskup onih čvorova j N I koji su od čvora i N I na rastojanju

manjem od onog koje odgovara težinskom koeficijentu v i .

113
(i  )  { j c i j  PI 3 v i , i   j } (6.19)

Sledi formulacija QDSD-ACLP-a u formi problema binarnog celobrojnog programiranja,


kao u Modelu II, u Poglavlju 3.2.:

Max ZQDSD = i 
v i
xi
(6.20)
N
I

M x i   x j  M,  i   N I
(6.21)
j ( i  )

x i    0,1 ,  i   N I (6.22)

Formulacije QDSD-ACLP-a, bilo u formi problema binarnog celobrojnog programiranja


ili problema kvadratnog 0-1 programiranja omogućavaju primenu svih tehnika, opisanih u
prethodnim poglavljima, prilagođenih njegovom rešavanju. Međutim, treba imati u vidu da ove
formulacije podrazumevaju uvećanje obima problema, koji u najgorem slučaju iznosi n2, tako da,
u kontekstu rešavanja QDSD-ACLP-a, heuristike predstavljene u Poglavlju 4. dobijaju još više
na značaju. Stoga je u narednom poglavlju predstavljen algoritam za heuristike , , , w, w
i w, prilagođen rešavanju QDSD-ACLP-a.

Heuristike , , , w, w i w prilagođene rešavanju QDSD-ACLP-a

*
Neka je, Ω  N Iη skup čvorova “uključenih” u rešenje, Ω *t   * skup čvorova

“uključenih” u rešenje u t-toj iteraciji,   N Iη skup čvorova “isključenih” iz rešenja, t  E

skup čvorova “isključenih” iz rešenja u t-toj iteraciji, A t  N I skup “aktivnih” čvorova u t-toj η

iteraciji i Gt  NI skup “pasivnih” čvorova u t-toj iteraciji.

Neka je (i), iAt, podskup onih čvorova jGt za koje važi:

(i η )  { j q iI j  v i , j  G t } (6.23)

114
Vrednovanje svakog čvora iAt vrši se na osnovu kriterijuma , , , w, w i w,
koji su u ovom slučaju definisani na sledeći način:

 (i η )  v i    min  q iI j , q max ( j)  (6.24)



j  ( i  ) \ i  

(i  )  v i    min  q I
, q max ( j)  (6.25)

j G t \  (i η )  i j

(i  )  vi   min{qiI j, qmax ( j)}  


 min{qiIj , q max ( j)} (6.26)
  
j G t \ (i )   
j (i )\i

v i
w(i  )  v i   min{q iI j , q max ( j)}
 q max (i) j(i )\i 
(6.27)
iG t

v i
w(i  )  v i   min{q iI j , q max ( j)}
 q max (i) jG \(i ) t

(6.28)
iG t

v i  
 min{q I , q ( j)}  min{q I , q ( j)}
w(i )  vi    (6.29)
qmax (i)  jGt \(i) 
i j max i j max
j(i )\i 
iG t

Sledi algoritam za svih šest heuristika, u objedinjenoj formi, sa naznakom kada se nešto
odnosi na konkretnu heuristiku, u pojedinim koracima algoritma.

KORAK 1 Za svaki čvor iNI, odrediti qmax(i) u skladu sa (6.8)


KORAK 2 Za svaki čvor iNI, odrediti  (i ) u skladu sa (6.9) i (6.10)
KORAK 3 Za svaki čvor iNI, odrediti skup čvorova H(i), u skladu sa (6.12) i maksimalne

kapacitete tih čvorova vi , iH(i), u skladu sa (6.13) 

KORAK 4 Inicijalizacija t = 1
KORAK 5 Inicijalizacija Ω*t =, t=, At= N I ,Gt=NI 

KORAK 6 Za svaki čvor iAt, odrediti skup (i) u skladu sa (6.23)


KORAK 7 Za svaki čvor iAt izračunati vrednosti kriterijuma: (i) u skladu sa (6.24), za
H; (i) u skladu sa (6.25), za H; w(i) u skladu sa (6.26), za wH; w(i) u
skladu sa (6.27), za wH; (i) u skladu sa (6.28), za H; w(i) u skladu sa
(6.29), za wH

115
*
KORAK 8 Odrediti čvor i* za koji važi: (i )  imax
 (i
), za H; (i * )  max
A t i A t

*
(i), za H; w (i )  imax
 w(i 
), za wH; w (i * )  max w(i), za
A t i A t

* *
wH; (i )  max
i A
(i), za H; w (i )  max
i A
w(i), za wH.
t t

Ako dva ili više čvorova imaju istu maksimalnu vrednost: (i); (i); w(i);
w(i); (i); w(i), čvor i* izabrati proizvoljno.
KORAK 9 Postaviti t = t + 1
KORAK 10 Ažurirati skup Ω *t = Ω *t -1  i*
KORAK 11 Ažurirati skup t: t=t-1{H(i)\ i*H(j) | j  ( i*)}
KORAK 12 Ažurirati skup At: At=At-1\ti*
KORAK 13 Ažurirati skup Gt: Gt=Gt-1\  ( i*)
KORAK 14 Ako je At, vratiti se na KORAK 6, u suprotnom preći na KORAK 15
Ω * = Ω t , =t
*
KORAK 15

KORAK 16 Izračunati vrednost funkcije cilja Z=  vi η

i ηΩ*

KORAK 17 Kraj algoritma.

6.2.2. Ilustrativni primer

Postupak dobijanja rešenja QDSD-ACLP-a heuristikama, prikazan je na jednom


ilustrativnom primeru.

Skup N čini 11 čvorova, zadatih preko svojih (x,y) koordinata, od čega je 8 čvorova u
skupu NI, a 3 u skupu NE: NI={(3,20), (61,1), (48,42), (16,54), (89,77), (81,65), (138,59),
(150,19)}, NE ={(188,99),(175,-36),(-4,114)} (Slika 6.1.). Težinski koeficijenti vi, iNI, zadati su
vektorom, v=(79, 47, 56, 55, 67, 33, 56, 12). Neka je PI=20, a PE=40.

116
PROBLEM 1. iteracija
E
3 3E
1E 1E

51,52 51,52
6 ,6 ,63
1 2
71 6 ,6 ,63
1 2
71
41 31,32 41 31,32
33,34 33,34
81 81
11,12 11,12
1 2
21,22 2 ,2

2E 2E

(11)=85.81 (33)=56.21 (61)=60.37 (11)=82.36 (32)=59.09 (52)=74.66


(12)=88.92 (34)=47.26 (62)=67.77 (12)=85.47 (33)=52.76 (61)=56.92
(21)=74.92 (41)=79.85 (63)=66.25 (21)=71.47 (34)=43.81 (62)=64.32
(22)=81.92 (51)=63.18 (71)=92.87 (22)=78.84 (41)=76.40 (63)=62.80
(31)=63.34 (52)=78.11 (81*)=92.87 (31)=59.89 (51)=59.73 (71*)=89.42
(32)=62.54
3. iteracija
2. iteracija 3E
3 E 1E
E
1
51,52
51,52  61,62,63 
71
31,32
61,62,63 
71
41
33,34
41 31,32 8
 1
33,34
8 1 1
1 ,1 2
1 2
11,12 2 ,2
21,22
2E
E
2

(11)=78.26 (32)=54.99 (52)=70.56 (21)=50.33 (33)=35.57 (61)=35.78


(12*)=81.37 (33)=48.66 (61)=52.82 (22*)=57.33 (34)=26.62 (62)=43.18
(21)=67.37 (34)=39.71 (62)=60.22 (31)=38.75 (51)=38.59 (63)=41.66
(22)=74.37 (41)=72.30 (63)=58.70 (32)=41.90 (52)=53.52
(31)=55.79 (51)=55.63

4. iteracija 5. iteracija i
3E REŠENJE
1E

51,52
  6 ,6 ,63
1 2  
3 ,3
41
1 2 71 51,5 2


3 ,3 3 4
 3 ,3  
6 1 2 3
,6 ,6 
,1 8 1
41
1 2
71

11 2
2 ,2 
3 ,3 3 4

 1 2
2 81
1 ,1
1
 2
2E 
2 ,2 1

(51)=0.74 (61)=0.74 (63)=14.76 Z=63,21


(52*)=15.67 (62)=8.14

Slika 6.1. Ilustrativni primer primene Heuristike  na rešavanje QDSD-ACLP-a

117
Matrica eukilidskih rastojanja između čvorova iNI i jN predstavljena je Tabelom 6.1.,
I E
a matrica vrednosti q ij , i,jNI i q ij , iNI, jNE (računatih u skladu sa (6.6) i (6.7)), Tabelom
6.2.

Tabela 6.1. Matrica euklidskih rastojanja cij između čvorova iNI, jN

1 2 3 4 5 6 7 8 1E 2E 3E
1 0 61,03 50,09 36,40 103,17 90,05 140,52 147,00 201,16 180,89 94,26
2 61,03 0 43,01 69,53 80,99 67,05 96,40 90,80 160,42 119,85 130,36
3 50,09 43,01 0 34,18 53,91 40,22 91,59 104,56 151,16 149,04 88,81
36,40 69,53 34,18 0 76,54 65,92 122,10 138,50 177,79 182,70 63,25
||cij||= 45 103,17 80,99 53,91 76,54 0 14,42 52,20 84,17 101,41 142,00 100,09
6 90,05 67,05 40,22 65,92 14,42 0 57,31 82,93 112,27 137,97 98,11
7 141,52 96,40 91,59 122,10 52,20 57,31 0 41,76 64,03 101,95 152,28
8 147,00 90,80 104,56 138,50 84,17 82,93 41,76 0 88,57 60,42 180,94

I E
Tabela 6.2. Matrica vrednosti q ij , i,jNI i q ij , iNI, jNE

1 2 3 4 5 6 7 8 1E 2E 3E
1 0 28,42 15,71 6,03 137,29 91,28 346,84 397,09 127,19 92,48 13,09
2 28,42 0 9,95 42,01 66,41 37,68 111,98 93,58 64,50 26,90 34,61
3 15,71 9,95 0 4.99 19,58 8,14 96,05 142,90 53,97 51,73 10,95
6,03 42,01 4,99 0 56,04 35,81 227,55 332,06 87,81 95,29 3,95
||qij||= 45 137,29 66,41 19,58 56,04 0 0,37 17,78 74,55 16,30 44,74 15,67
6 91,28 37,68 8,14 35,81 0,37 0 23,53 71,29 22,11 41,04 14,76
7 346,84 111,98 96,05 227,55 17,78 23,53 0 9,10 4,10 16,56 55,18
8 397,09 93,58 142,90 332,06 74,55 71,29 9,10 0 10,85 3,45 92,57

U Tabeli 6.3. prikazane su vrednosti qmax(i), određene u skladu sa (6.8), za svako iNI.

Tabela 6.3. Vrednosti qmax(i), iNI


i 1 2 3 4 5 6 7 8
qmax(i) 13,09 26,90 10,95 3,95 15,67 14,76 4,10 3,45

Za svaki čvor iNI, skupovi čvorova  (i), određeni u skladu sa (6.9) i (6.10), su: 
(1)=4;  (2)=3;  (3)=4,6,2;  (4)=;  (5)=6;  (6)=5,3;  (7)=;
 (8)=.

118
Skupovi čvorova H(i), određeni za svaki čvor iNI u skladu sa (6.12), kao i maksimalni

kapaciteti čvorova i N I , vi , određeni u skladu sa (6.13), prikazani su Tabeli 6.4.


Tabela 6.4. Skupovi H(i), iNI i vrednosti vi , i N I


H(1) H(2) H(3) H(4) H(5) H(6) H(7) H(8)



i 11 12 21 22 31 32 33 34 41 51 52 61 62 63 71 81
vi  6.03 13.09 9.95 26.90 4.99 8.14 9.95 10.95 3.95 0.37 15.67 0.37 8.14 14.76 4.10 3.45

Pored postavke ilustrativnog primera, na Slici 6.1., prikazan je i iterativni postupak,


kojim se Heuristikom  dolazi do rešenja ovog problema.

119

You might also like