29
Optimizacija prometnih procesa Lokacijsko alokacijski problemi P5 Prof. dr. sc. Tonči Carić Juraj Fosin, dipl. ing.

Optimizacija prometnih procesa - FPZe-student.fpz.hr/Predmeti/O/Optimizacija_prometnih_procesa_(1... · Lokacijski problem pokrivanja skupa U slučaju da je posluživanje klijenta

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Optimizacija prometnih procesa - FPZe-student.fpz.hr/Predmeti/O/Optimizacija_prometnih_procesa_(1... · Lokacijski problem pokrivanja skupa U slučaju da je posluživanje klijenta

Optimizacija prometnih procesaLokacijsko alokacijski problemi P5

Prof. dr. sc. Tonči Carić

Juraj Fosin, dipl. ing.

Page 2: Optimizacija prometnih procesa - FPZe-student.fpz.hr/Predmeti/O/Optimizacija_prometnih_procesa_(1... · Lokacijski problem pokrivanja skupa U slučaju da je posluživanje klijenta

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

Page 3: Optimizacija prometnih procesa - FPZe-student.fpz.hr/Predmeti/O/Optimizacija_prometnih_procesa_(1... · Lokacijski problem pokrivanja skupa U slučaju da je posluživanje klijenta

� 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

Page 4: Optimizacija prometnih procesa - FPZe-student.fpz.hr/Predmeti/O/Optimizacija_prometnih_procesa_(1... · Lokacijski problem pokrivanja skupa U slučaju da je posluživanje klijenta

4

Trokut i minimalna udaljenost od vrhova

Page 5: Optimizacija prometnih procesa - FPZe-student.fpz.hr/Predmeti/O/Optimizacija_prometnih_procesa_(1... · Lokacijski problem pokrivanja skupa U slučaju da je posluživanje klijenta

� 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

Page 6: Optimizacija prometnih procesa - FPZe-student.fpz.hr/Predmeti/O/Optimizacija_prometnih_procesa_(1... · Lokacijski problem pokrivanja skupa U slučaju da je posluživanje klijenta

6

Trokut i minimalna udaljenost od vrhova

Page 7: Optimizacija prometnih procesa - FPZe-student.fpz.hr/Predmeti/O/Optimizacija_prometnih_procesa_(1... · Lokacijski problem pokrivanja skupa U slučaju da je posluživanje klijenta

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 µ

Page 8: Optimizacija prometnih procesa - FPZe-student.fpz.hr/Predmeti/O/Optimizacija_prometnih_procesa_(1... · Lokacijski problem pokrivanja skupa U slučaju da je posluživanje klijenta

� 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

Page 9: Optimizacija prometnih procesa - FPZe-student.fpz.hr/Predmeti/O/Optimizacija_prometnih_procesa_(1... · Lokacijski problem pokrivanja skupa U slučaju da je posluživanje klijenta

"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

Page 10: Optimizacija prometnih procesa - FPZe-student.fpz.hr/Predmeti/O/Optimizacija_prometnih_procesa_(1... · Lokacijski problem pokrivanja skupa U slučaju da je posluživanje klijenta

� Jedan od čestih problema prometne logistike je

lokacijsko-skladišni problem.

10

c) Lokacijsko-skladišni problem

Page 11: Optimizacija prometnih procesa - FPZe-student.fpz.hr/Predmeti/O/Optimizacija_prometnih_procesa_(1... · Lokacijski problem pokrivanja skupa U slučaju da je posluživanje klijenta

� 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]

Page 12: Optimizacija prometnih procesa - FPZe-student.fpz.hr/Predmeti/O/Optimizacija_prometnih_procesa_(1... · Lokacijski problem pokrivanja skupa U slučaju da je posluživanje klijenta

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

Page 13: Optimizacija prometnih procesa - FPZe-student.fpz.hr/Predmeti/O/Optimizacija_prometnih_procesa_(1... · Lokacijski problem pokrivanja skupa U slučaju da je posluživanje klijenta

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

Page 14: Optimizacija prometnih procesa - FPZe-student.fpz.hr/Predmeti/O/Optimizacija_prometnih_procesa_(1... · Lokacijski problem pokrivanja skupa U slučaju da je posluživanje klijenta

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

Page 15: Optimizacija prometnih procesa - FPZe-student.fpz.hr/Predmeti/O/Optimizacija_prometnih_procesa_(1... · Lokacijski problem pokrivanja skupa U slučaju da je posluživanje klijenta

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

Page 16: Optimizacija prometnih procesa - FPZe-student.fpz.hr/Predmeti/O/Optimizacija_prometnih_procesa_(1... · Lokacijski problem pokrivanja skupa U slučaju da je posluživanje klijenta

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 ∀≥

Page 17: Optimizacija prometnih procesa - FPZe-student.fpz.hr/Predmeti/O/Optimizacija_prometnih_procesa_(1... · Lokacijski problem pokrivanja skupa U slučaju da je posluživanje klijenta

NCRA algoritam

� razlike u odnosu na „k-means” algoritam

� broj grupa nije unaprijed određen

� svaki klijent ima i svoju „težinu” zahtjeva

17

Page 18: Optimizacija prometnih procesa - FPZe-student.fpz.hr/Predmeti/O/Optimizacija_prometnih_procesa_(1... · Lokacijski problem pokrivanja skupa U slučaju da je posluživanje klijenta

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

Page 19: Optimizacija prometnih procesa - FPZe-student.fpz.hr/Predmeti/O/Optimizacija_prometnih_procesa_(1... · Lokacijski problem pokrivanja skupa U slučaju da je posluživanje klijenta

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

Page 20: Optimizacija prometnih procesa - FPZe-student.fpz.hr/Predmeti/O/Optimizacija_prometnih_procesa_(1... · Lokacijski problem pokrivanja skupa U slučaju da je posluživanje klijenta

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 ∈∀

Page 21: Optimizacija prometnih procesa - FPZe-student.fpz.hr/Predmeti/O/Optimizacija_prometnih_procesa_(1... · Lokacijski problem pokrivanja skupa U slučaju da je posluživanje klijenta

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 ∈∀

Page 22: Optimizacija prometnih procesa - FPZe-student.fpz.hr/Predmeti/O/Optimizacija_prometnih_procesa_(1... · Lokacijski problem pokrivanja skupa U slučaju da je posluživanje klijenta

„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

Page 23: Optimizacija prometnih procesa - FPZe-student.fpz.hr/Predmeti/O/Optimizacija_prometnih_procesa_(1... · Lokacijski problem pokrivanja skupa U slučaju da je posluživanje klijenta

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

Page 24: Optimizacija prometnih procesa - FPZe-student.fpz.hr/Predmeti/O/Optimizacija_prometnih_procesa_(1... · Lokacijski problem pokrivanja skupa U slučaju da je posluživanje klijenta

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

Page 25: Optimizacija prometnih procesa - FPZe-student.fpz.hr/Predmeti/O/Optimizacija_prometnih_procesa_(1... · Lokacijski problem pokrivanja skupa U slučaju da je posluživanje klijenta

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

Page 26: Optimizacija prometnih procesa - FPZe-student.fpz.hr/Predmeti/O/Optimizacija_prometnih_procesa_(1... · Lokacijski problem pokrivanja skupa U slučaju da je posluživanje klijenta

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

Page 27: Optimizacija prometnih procesa - FPZe-student.fpz.hr/Predmeti/O/Optimizacija_prometnih_procesa_(1... · Lokacijski problem pokrivanja skupa U slučaju da je posluživanje klijenta

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

Page 28: Optimizacija prometnih procesa - FPZe-student.fpz.hr/Predmeti/O/Optimizacija_prometnih_procesa_(1... · Lokacijski problem pokrivanja skupa U slučaju da je posluživanje klijenta

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

Page 29: Optimizacija prometnih procesa - FPZe-student.fpz.hr/Predmeti/O/Optimizacija_prometnih_procesa_(1... · Lokacijski problem pokrivanja skupa U slučaju da je posluživanje klijenta

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