Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Optimizacija prometnih procesaLokacijsko alokacijski problemi P5
Prof. dr. sc. Tonči Carić
Juraj Fosin, dipl. ing.
Lokacijsko alokacijski problemi
Sadržaj
� Trokut i minimalna udaljenost od vrhova
� "k-means” grupiranje
� algoritam
� uporaba algoritma
� Lokacijsko-skladišni problem
� Lokacijsko alokacijski problemi
� ulazno-izlazni podaci optimizacije
� Multi-source Weber Problem
� Lokacijski problem pokrivanja skupa
� Matematička formulacija
� Pierre de Fermat, � francuski matematičar 17. stoljeća
� Tri su zadane točke u ravnini, pronađi četvrtu tako da je zbroj
njenih udaljenosti do tri točke u ravnini minimalna
� Ovdje se pretpostavlja da su svi kutovi trokuta manji od 120º
� Torricelli (1640)� je talijanski matematičar i fizičar poznat po svom izumu barometru
� Zadan je trokut koji ima vrhove A, B i C,
� trebaju se konstruirati jednakostranični trokuti ACE, ABG i BCF tako
da svaki od njih sadrži jedan brid trokuta ABC
� Točka sjecišta ovih krugova je točka u kojoj je minimalna udaljenost
između točaka A, B i C i zove se Torricelli točka.
3
a) trokut i minimalna udaljenost od vrhova
4
Trokut i minimalna udaljenost od vrhova
� Thomas Simpson (1750)� Moguće je pronaći Torricelli točku konstruiranjem jednakostraničnih
trokuta
� i iscrtavanjem linije od originalnih vrhova kutova do suprotnih vrhova
suprotnih jednakostraničnih trokuta.
� Ove linije se zovu Simpsonove linije u njegovu čast.
� Franz Heinen (1834 )� Polazeći od toga da su Simpsonove linije sve jednake duljine
� Heinen je prvi koji se riješio Fermatovom problemu u cijelosti i
dokazao da je najkraći put između točaka doista minimalno
razapinjuće stablo
5
Trokut i minimalna udaljenost od vrhova
6
Trokut i minimalna udaljenost od vrhova
b) "k-means” grupiranje
� "k-means” algoritam grupira lokacije na način da svaka
grupa ima svoju “sredinu”
� Za n lokacija opisanih vektorima
� (x1, x
2, …, x
n),
� i fiksnih k grupa (k ≤ n)
� S = {S1, S2, …, Sk}
� potrebno je pronaći minimum funkcije sume kvadratnih
odstupanja od sredine grupe
� gdje je µi “sredina” tj. centroid skupa Si, a mjera je Euklidska distanca
7
2
1
minarg ∑ ∑= ∈
−k
i Sxij
Sij
x µ
� korak 1
� k inicijalnih “sredina” se
generira na slučajan
način
� korak 2
� k grupa se stvara
pridjeljivanjem svake
točke “najbližoj” sredini
� korak 3
� centroidi svake grupe
postaju “nove sredine”
� korak 4
� ponavljaju se koraci 2 i 3
sve dok postoji
značajnija promjena u
funkciji cilja
8
korak 1 korak 2
korak 3 korak 4
"k-means” algoritam
"k-means” uporaba algoritma
9
� "k-means” algoritam je heuristički algoritam
� ne postoji garancija konvergencije algoritma globalnom
optimumu
� rezultat algoritma ovisi o inicijalnim slučajno generiranim
„sredinama”
� ovaj algoritam je brz i uobičajeno ga je pokretati više puta s
različitim početnim slučajno generiranim „sredinama”
� za neke skupove točaka moguće je da vrijeme izvođenja
alogritama bude eksponencijalno, ali to nije uobičajeno, dapače
algoritam s najčešće izvodi u polinomijalnom vremenu
� Jedan od čestih problema prometne logistike je
lokacijsko-skladišni problem.
10
c) Lokacijsko-skladišni problem
� Lokacijsko-skladišni problem
može se opisati kao problem
odabira optimalnih lokacija
skladišta u svrhu minimiziranja
transportnih troškova
11
Lokacijsko-skladišni problem
wi
težinski faktor (cijena transporta) za vezu između
čvora aii optimalne točke navedenog problema.
Indeks i predstavlja broj čvora [1, 2, 3...n]
12
Lokacijsko-skladišni problem
(min) f (x )=∑i= 1
n
w i�d (x ,ai)
(min) f (x )=∑i= 1
n
{wi�[∑j= 1
m
(x j− a j( i))2]
12 },
f(x) predstavlja funkciju cilja koja mora dati minimalnu vrijednost
j predstavlja pojedinačnu koordinatu sustava
j = 2 zadane pomoću x i y koordinata
Weiszfeldovom metodom moguće je iterativnim postupkom pronaći x
Lokacijsko alokacijski problemi� a) Trokut i minimalna udaljenost od vrhova
� b)"k-means” grupiranje� algoritam
� uporaba algoritma
� c) Lokacijsko-skladišni problem
Uz razumijevanje a), b) i c) moguće je razriješiti:
� Lokacijsko alokacijski problemi� ulazno-izlazni podaci optimizacije
� Multi-source Weber Problem
� Lokacijski problem pokrivanja skupa� Matematička formulacija
Lokacijsko alokacijski problemi
� Promatrat ćemo lokacijsko alokacijski problem koji
opisuje optimizaciju
� servisiranja ili dostave
� fiksnog broja lokacija
� Produkt optimizacije je
� broj
� lokacija
� veličina
� izvora koji uz najmanji trošak opskrbljuje ili servisira fiksan broja
lokacija koji trebaju spomenute usluge
14
ulazno-izlazni podaci optimizacije
� ULAZNI PODACI:
� lokacija svakog klijenta
� zahtjev svakog klijenta
� cijene transporta za cijelu regiju na kojoj se odvija usluga
� IZLAZNI PODACI OPTIMIZACIJE
� broj izvora iz kojih se izvršava usluga
� lokacije izvora
� kapacitet svakog izvora
� PRIMJERI:
� određivanje lokacija skladišta, distibucijskih centara, tvornica, …
15
Multi-source Weber Problem
� cilj je generirati m novih centara koji poslužuju n klijenata
na način da transportni troškovi budu minimalni
16
X = (x1, x2, …, xm) gdje je
xj (xi1, xi2) vektor lokacija centara i = 1, …, m
ai= (ai1, ai2) poznate lokacije klijenata i = 1, n
W = (wij) gdje je wij težina zahtjeva klijenta i za
posluživanje iz centra j
Euklidska norma
∑∑= =
−n
i
m
jijij
XWaxw
1 1,
min
∑=
=m
jiij ww
1
ni ,...,1= jiwij ,,0 ∀≥
NCRA algoritam
� razlike u odnosu na „k-means” algoritam
� broj grupa nije unaprijed određen
� svaki klijent ima i svoju „težinu” zahtjeva
17
Lokacijski problem pokrivanja skupa
� U slučaju da je posluživanje klijenta ograničeno s
maksimalnom udaljenošću do koje se obavlja usluga javlja
se problem pokrivanja skupa
� Primjeri:
� Vrtić, dom zdravlja, dostava hrane, stanice podzemne željeznice
� Klijenti na udaljenosti većoj do unaprijed određene maksimalne
udaljenosti, “udaljenosti pokrivanja” se ne poslužuju od strane
razmatranog objekta
18
Lokacijski problem pokrivanja skupa
19
Točke koje nisu“pokrivene”
Točke koje su “pokrivene”
“Pokrivanje točaka” moguće je obaviti do udaljenosti pokrivanja Dp
Dp
Matematička formulacija� I skup točaka koje zahtijevaju posluživanje
� i indeks točke koji zahtjeva posluživanje
� J skup točaka kandidata za lociranje objekata
� j indeks kandidata objekta
� dij udaljenost između točke i koja zahtjeva posluživanje i kandidata objekta j
� Dp duljina “pokrivanje točaka”
� Ni={ j | dij≤Dp} skup kandidata objekata koji mogu pokriti točku i
� Problem pokrivanja skupa se definira:
� Traži se minimum funkcije cilja: za
� uz ograničenja:
20
∑∈Jj
jx { }1,0∈jx
∑∈
≥iNj
jx 1 Ii ∈∀
Jj ∈∀
Matematička formulacija
� ciljana funkcija za
predstavlja broj objekata koji želimo svesti na minimum
� ograničenje
predstavlja zahtjev da objekt “pokriva” barem jedan
objekt
varijabla odluke xj govori da li će kandidat
objekt biti prihvaćen u rješenju problema ili ne
21
∑∈Jj
jx { }1,0∈jx Jj ∈∀
∑∈
≥iNj
jx 1 Ii ∈∀
{ }1,0∈jx Jj ∈∀
„Set covering problem”
� Primjer rješenja problema prekrivanja� SKUP koji zahtjeva posluživanje sastoji se od lokacija {A, B,C,D, E, F, G}
� SKUP koji može uslužiti zahtjev nalazi se u {V,W,X,Y,Z}
� Želimo pronaći najmanji broj poslužitelja koji će uslužiti zahtjeve klijenata na način da usluga ne bude udaljena više od 20 minuta hoda
22
Primjer rješenja problema prekrivanja
� Izradit ćemo matricu
prekrivanja
� ako možemo poslužiti
klijente upisat ćemo 1
� ako ne možemo poslužiti
klijente upisat ćemo 0
23
Primjer rješenja problema prekrivanja
� Izradit ćemo matricu
prekrivanja
� ako možemo poslužiti
klijente upisat ćemo 1
� ako ne možemo poslužiti
klijente upisat ćemo 0
24
Primjer rješenja problema prekrivanja� ukoliko postoji bar jedan stupac matrice
prekrivanja čiji su elementi jednak nuli,
tada ne postoji izvedivo rješenje
� potrebno je povećati broj kandidata objekata ili promijeniti Dp duljinu “pokrivanja”
25
Pravila redukcije matrice ZADATAK
26
� ukoliko postoji stupac samo s jednom jedinicom npr.
stupac i*, tada kandidat objekt tj. redak koji u stupcu i*
mora postojati
� taj kandidat se uvrštava u rješenje i matrica se reducira po
stupcu i* i svim onim stupcima koji imaju u retku kandidata
jedinicu
dio rješenja:
F,D i A
će biti
pokriveni s
X
Pravila redukcije matrice ZADATAK� ukoliko postoji redak (redci) i” čiji su
elementi “manji” od nekog drugog retka i’ tj. ako je p(i”,j)< p(i’,j) za svaki j, tada treba reducirati retke ili redak i”
27
redak V prekriva više
„klijenata” u odnosu
na Z, pa redak Z
reduciramo
V
Z
redak Y prekriva više
„klijenata” u odnosu
na W, pa redak W
reduciramo
W
Y
28
Pravila redukcije matrice ZADATAK
neovisno koji redak odaberemo
(V ili Y) stupac B i C će sigurno
biti pokriveni, pa reduciramo te
stupce
dio rješenja:
B i C
će biti
pokriveni s
ili s V ili Y
Rješenje
29
dio rješenja:
F,D i A
će biti
pokriveni s
X
dio rješenja:
B i C
će biti
pokriveni s
ili s V ili Y
X, V i Y
mogu
„pokriti”
sve
zahtjeve
klijenata