Optimización en redes (CURSO)

download Optimización en redes (CURSO)

of 12

Transcript of Optimización en redes (CURSO)

  • 7/24/2019 Optimizacin en redes (CURSO)

    1/12

    Contenidos Grafos Algoritmos especficos para problemas en Grafos

    Optimizacion en Redes

    Daniel Espinoza, Dpto. Ingeniera Industrial

    Universidad de Chile

    7 de marzo de 2011

    Daniel Espinoza, Dpto. Ingeniera Industrial Optimizacion en Redes

  • 7/24/2019 Optimizacin en redes (CURSO)

    2/12

    Contenidos Grafos Algoritmos especficos para problemas en Grafos

    Contenidos

    1 Grafos

    2 Algoritmos especficos para problemas en Grafos

    Daniel Espinoza, Dpto. Ingeniera Industrial Optimizacion en Redes

  • 7/24/2019 Optimizacin en redes (CURSO)

    3/12

    Contenidos Grafos Algoritmos especficos para problemas en Grafos

    Introduccion

    Optimizacion y Grafos

    Es natural definir problemas sobre redes.

    Muchos problemas se pueden modelar de esta forma.

    Si bien SIMPLEX ofrece un algoritmo para resolverlos, existenmejores algoritmos

    Mejores en teora

    Mejores en la practica.

    Menos requerimientos computacionales.El uso de estructuras especiales (en este caso las redes) engeneral permite definir mejores algoritmos practicos.

    Definition (Grafo no dirigido)

    UnGrafo no dirigidoG= (

    V,

    E)

    es un conjunto denodosVy arcosEque son pares no ordenados de nodos.El arcou={i,j} Ese diceincidentea i (y aj).DadoUVdefinimos elcortede Ucomo(U) ={{i,j} E :iU,jUc}.Elgradode un nodovse define comod(v) =|({v})|.

    Daniel Espinoza, Dpto. Ingeniera Industrial Optimizacion en Redes

  • 7/24/2019 Optimizacin en redes (CURSO)

    4/12

    Contenidos Grafos Algoritmos especficos para problemas en Grafos

    Introduccion

    Grafos y Definiciones

    Definition (Caminos, ciclos y paseos)DadosP={{vj, vj+1}

    n1j=1 E, decimos quePes unpaseodev1 a

    vn+1.Sivi=vj, i=j, entoncesPes uncamino elementalocamino.Sivi=vj, i,j=1, . . . , nyv1 =vn+1, entoncesPes unciclo

    elementalociclo.Definition (Conexidad y k-conexidad)

    Un GrafoGes conexo si para cualquier u, vVexiste un camino deuav enE.Un GrafoGesk-conexo si para cualquier{e1, . . . , ek1} Eel grafo

    G = (V, E\ {e1, . . . , ek1})es conexo.

    Definition (Tamano de un Grafo)

    Para un grafoG= (V, E)usualmente denotamosn= |V|y m=|E|,y decimos que sutamanoes (n.m).

    Daniel Espinoza, Dpto. Ingeniera Industrial Optimizacion en Redes

  • 7/24/2019 Optimizacin en redes (CURSO)

    5/12

    Contenidos Grafos Algoritmos especficos para problemas en Grafos

    Introduccion

    Grafos y Definiciones

    Definition (Grafo dirigido)

    UnGrafo dirigidoG= (V, E)es un conjunto denodosVy arcosEque son pares ordenados de nodos. El arco u= (i,j) Ese diceincidentea i (y aj),ies suorigeny jes sudestino. DadoUVdefinimos elcorte salientede Ucomo+(U) ={(i,j) E :iU,jUc}. DadoUVdefinimos elcorte

    entrantede Ucomo

    (U) ={(i,j) E :iUc,jU}. Elgradosaliente(entrante) de un nodovse define comod+(v) =|+({v})|(d(v) =|({v})|).

    Definition (Conexidad y k-conexidad)

    Un grafo dirigido se dicek-conexo si el grafo no-dirigidocorrespondiente esk-conexo.

    Definition (Flujo)

    DadoG= (V, E),f RE+ yd RV,fes unflujoenGsatisfaciendod

    si

    e+(v)

    fe

    e(v)

    fe=dvpara todovV.

    Daniel Espinoza, Dpto. Ingeniera Industrial Optimizacion en Redes

  • 7/24/2019 Optimizacin en redes (CURSO)

    6/12

    Contenidos Grafos Algoritmos especficos para problemas en Grafos

    Introduccion

    Grafos y Definiciones

    Definition (Caminos, ciclos y paseos)

    DadosP={(uj, vj) =aj}nj=1Ey{ij}n+1

    j=1 V, decimos quePes un

    paseodei1 ain+1 si para todoj=1, . . . , nse tiene queaj= (ij, ij+1)(en cuyo casoajse dicedirecto) oaj= (ij+1, ij)(en cuyo casoaj sedicereverso). Siij=ij , j=j

    , entoncesPes uncamino elementalocamino.

    Siij=ij , j,j =1, . . . , nyi1 =in+1, entoncesPes uncicloelementalociclo.

    Definition (Arboles)

    Un grafoG= (V, E)es un arbolsi es conexo y no contiene ciclos.

    vVes unahojasi d(v) 1.Todoarbol posee al menos una hoja.Ges unarbol si y solo si|E|= |V| 1 y es conexo.Para todoi,jVexiste ununico camino que los une.DadoGarbol, si agregamos un arco (distinto), el grafo resultante

    posee exactamente un ciclo.Daniel Espinoza, Dpto. Ingeniera Industrial Optimizacion en Redes

    C id G f Al i fi bl G f

  • 7/24/2019 Optimizacin en redes (CURSO)

    7/12

    Contenidos Grafos Algoritmos especficos para problemas en Grafos

    Problemas Clasicos en Grafos

    Problemas Clasicos en Grafos

    Definition (Problema de Distancia Mnima)

    DadoG= (V, E)grafo (dirigido),c RE ys, tV, Cual es elcamino (dirigido) de distancia mnima desat?

    Definition (Problema de flujo maximo)

    DadoG= (V, E)grafo dirigido,u RE ys, tV, Cual es el flujomaximo enGsatisfaciendofeue?

    Definition (Problema de flujo a distancia mnima)

    DadoG= (V, E)grafo dirigido,c, u RE yd RV, Cual es el flujof uenG satisfaciendodde costo mnimo?

    Cada uno de estos problemas podemos escribirlos como LP.

    Como?

    Podremos hacer algo mejor?

    Nos enfocaremos en los dos primeros problemas.

    Daniel Espinoza, Dpto. Ingeniera Industrial Optimizacion en Redes

    C t id G f Al it fi bl G f

  • 7/24/2019 Optimizacin en redes (CURSO)

    8/12

    Contenidos Grafos Algoritmos especficos para problemas en Grafos

    Distancia mnima

    Algoritmos para Camino Mnimo

    Theorem (Camino mnimo y Optimalidad)

    Sea G= (V, E), noV. Si existen ciclos negativos, no hay soluci onoptima al problema. Si no, sea pj la distancia m nima de noal nodo j,

    entonces pj =mn{pi+ cij : (i,j) (j)}.

    Demostracion.

    Use dualidad y definepno=0.

    Algoritmo de Bellman-Ford

    Require: G= (V, E),noV,c RE.1: t0,ptno=0, p

    tj =

    2: repeat3: tt+ 14: for alljV\ {no}do5: ptj =m n{cij+ p

    t1i : (i,j)

    (j)}.

    6: untilpt =pt1

    Daniel Espinoza, Dpto. Ingeniera Industrial Optimizacion en Redes

    Contenidos Grafos Algoritmos especficos para problemas en Grafos

  • 7/24/2019 Optimizacin en redes (CURSO)

    9/12

    Contenidos Grafos Algoritmos especficos para problemas en Grafos

    Distancia mnima

    Algoritmos para Camino Mnimo

    Theorem (Correctitud y Complejidad de Bellman-Ford)

    Si G= (V,E)con pesos c, el algoritmo de Bellman-Ford termina enno mas de n iteraciones, si no, existe un ciclo negativo.Lacomplejidaddel algoritmo esO(nm).

    Algoritmo de Dijkstra

    Require: G= (V, E), oV, c RE+1: N {o}, pi=,vV, po=0, S 2: whileN= do3: jmn{pi :iN}4: NN\ {j}, SS {j}

    5: for alli+(j) \ Sdo6: NN {i}, pi=mn{pi, pj+ cji}7: returnpi :iVvector distancias mnimas.

    Algoritmo de Dijkstra es correcto, y puede implementarse enO(mlog(n))

    Daniel Espinoza, Dpto. Ingeniera Industrial Optimizacion en Redes

    Contenidos Grafos Algoritmos especficos para problemas en Grafos

  • 7/24/2019 Optimizacin en redes (CURSO)

    10/12

    Contenidos Grafos Algoritmos especficos para problemas en Grafos

    Problema de Flujo Maximo

    Flujo Maximo

    Problema de Flujo Maximo

    DadoG= (V, E)grafo dirigido,u RE ys, tV, Cual es el flujomaximo enGsatisfaciendofeue?

    Definition (Camino Aumentante)

    DadoG= (V, E), capacidadesu RE,s, tV yfflujo factible desat. Decimos que un caminoPdesatesaumentantesi fe

  • 7/24/2019 Optimizacin en redes (CURSO)

    11/12

    Contenidos Grafos Algoritmos especficos para problemas en Grafos

    Problema de Flujo Maximo

    Flujo Maximo

    Theorem (Correctitud de Ford Fulkerson)

    Si f inicial es entero y u ZE+, el algoritmo de Ford-Fulkerson terminaen un n umero finito de pasos con una soluci on optima al problema.

    Como buscamos caminos aumentantes?

    Algoritmo de Marcado

    Require: s, tV, fflujo factible1: I {s}, ps=0, pj=j=s2: whileI=empty, pt= do3: SeajI, II\ {j}4: for alli+(j), f(j,i) 0, pi= do7: a(i) j,pi=0, II {i}.

    El algoritmo de marcado toma tiempoO(m).

    Hay camino aumentante si y solo sipt=0 (definido pora(t)).

    Daniel Espinoza, Dpto. Ingeniera Industrial Optimizacion en Redes

    Contenidos Grafos Algoritmos especficos para problemas en Grafos

  • 7/24/2019 Optimizacin en redes (CURSO)

    12/12

    Contenidos Grafos Algoritmos especficos para problemas en Grafos

    Problema de Flujo Maximo

    Flujo Maximo y Corte Mnimo

    Definition (Cortes t)

    Un conjuntoSVes uncortes tsisS, t /S, y su valor esu(+(S)).

    Theorem (Max flow-Min Cut)

    El valor del flujo m aximo de s a t es igual al valor del mnimo corte

    s t .

    La demostracion puede hacerse por el algoritmo (en datosracionales), o por dualidad LP.

    El conjunto de nodos conpi=0 en la ultima iteracion delalgoritmo de marcado es un corte mnimo.

    Siues entero, la complejidad de Ford-Fulkerson esO(mnumax).

    Si escogemos siempre el camino aumentante con menos arcos,la complejidad puede llevarse aO(m2n).

    Alternativamente, si usamos ideas deescalamiento, podemosmejorar la complejidad aO(mlog(numax)).

    Daniel Espinoza, Dpto. Ingeniera Industrial Optimizacion en Redes