Beruflich Dokumente
Kultur Dokumente
Problema de ujo de coste m nimo. Problema de ujo mximo. a Problema de la mochila. Problema de emparejamiento. Arbol de expansin de coste m o nimo. Problema del viajante.
G = (N, A) o
A D
E F
Un camino es una sucesin de arcos adyacentes o que parten de un nodo (A) y llegan a otro (G), y un ciclo es un camino de un nodo a l mismo. Un grae fo conexo y sin ciclos se denomina rbol. a
xik
kN jN
xji
= bi =
produccin(i) o demanda(i) 0
A D
0 B B B B A=B B B B @
E F
1 -1 0 0 0 0 0
1 0 -1 0 0 0 0
1 0 0 0 0 -1 0
0 1 0 -1 0 0 0
0 0 1 -1 0 0 0
0 0 1 0 0 0 -1
0 0 0 1 0 0 -1
0 0 -1 0 1 0 0
0 0 0 0 -1 1 0
0 0 0 0 0 1 -1
0 0 0 0 -1 0 1
1 C C C C C C C C A
Factibilidad Para que un problema de ujos en redes tenga buenas propiedades es necesario que sea equilibrado: oferta =
i:bi>0
bi =
i:bi<0
bi = demanda.
Si no, el problema puede ser infactible. Si no lo es, podemos equilibrar el problema aadiendo un nodo articial. n
Propiedad de integridad: Si todos los elementos de b, l y Ax = b u son enteros, los vrtices de e tienen compol x u nentes enteras. Podemos encontrar ujos enteros utilizando el mtodo del e S mplex! Adaptaciones del S mplex a problemas en redes.
u}
B 5
10
10
A 3 2 D
[11, (0, 15)] C [12, (0, 20)] [ 20, ( 0, 10 )] [5, (0, 10)] [8,(1,12)] [3, (0,5)] 8 F [17, (0, 15)] [c, (l, u)] E 8 F 0 10 E G 1 11 2 1 2
11 G
coste = 420
[0, (0 , inf)]
aux
El problema de transporte
El S mplex permite resolver el problema de transporte, incluso con unidades indivisibles. Si queremos que se requieran pocas iteraciones, necesitaremos una buena solucin inicial. Para hallarla, podemos o usar mtodos heur e sticos Para inicializar el mtodo del S e mplex no nos sirve cualquier heur stica. Por qu? e Porque necesitamos una heur stica que proporcione siempre soluciones bsicas. a
El problema de transporte
En el caso del problema de transporte, tenemos varias heur sticas con esa propiedad. Veremos la ms simple: La esquina noroeste a La veremos sobre el ejemplo: Destinos A B C produccin o 1 25 17 18 350 Or genes 2 25 18 14 600 demanda 325 300 275
Dada una red con costes en los arcos y con dos nodos distinguidos s y t el problema de caminos m nimos consiste en encontrar el camino de coste total m nimo entre todos los que unen s y t. Esto es equivalente a resolver el problema de ujo de coste m nimo en la red con produccin 1 en el nodo s, demanda 1 o en el nodo t, capacidades m nimas igual a 0 y capacidades mximas innitas. a
s 15 [15,(0, inf)] C 12 [12, (0, inf)] [20 ( 0, inf )] 20, [5, 5 inf)] (0, 8 [8,(0, inf)] F [3, (0, inf)] E 3 17 [17, (0, inf)] t G 1 9 [ 9, (0,inf)] D 11 [11, (0, inf)]
s u
Esta propiedad es la base de la mayoria de los algoritmos que se han diseado para resolver este problema. n
s 15 C 20 -6 5
-9
D -11 12 t 8 E 17
-3
Slo para grafos con pesos/costes positivos. o Coincide con el s mplex para redes. Algoritmo de Bellman-Ford (Programacin Dinmica) o a Si hay ciclos de coste negativo, los detecta.
3 C 6
1 s 5 6
7 4 E
3 B 0 D
(2, s) 2 A 3 (inf,0) C 6 2
(2, s) A 3 (5, A) C 6
1 s 5 6
7 4
1 (inf,0) E s 5 6
7 4
(inf,0) E
3 B (3, s ) 0 D (inf,0)
3 B (3, s ) 0 D (inf,0)
(2, s) 2 A 3 (4, B) C 6 2
(2, s) A 3 (4, B) C 6
1 s 5 6
7 4
1 (inf,0) E s 5 6
7 4
(inf,0) E
3 B (3, s ) 0 D (3, B)
3 B (3, s ) 0 D (3, B)
(2, s) 2 A 3 (4, B) C 6 2
(2, s) A 3 (4, B) C 6
1 s 5 6
7 4
1 (10, C) E s 5 6
7 4
(10, C) E
3 B (3, s ) 0 D (3, B)
3 B (3, s ) 0 D (3, B)
Paso 0 Inicializar S = , S = N . Para i N , inicializamos etiquetas d(i) = , salvo la del nodo origen, d(s)=0. Predecesor p(s)=0. Paso 1 Si S = , seleccionar i S con d(i) = m n{d(j) : j S}. Mover i de S a S. en caso contrario, FIN. Para cada nodo i, d(i) es la longitud del camino m nimo de s a i. Paso 2 Actualizar las etiquetas de los nodos adyacentes a i. Para cada arco (i, j), si d(j) > d(i) + cij , entonces d(j) = d(i) + cij y p(j) = i. Ir al Paso 1.
El problema de ujo mximo se dene sobre una red a con capacidades en los arcos, y dos nodos selectos; el nodo fuente (s) y el nodo terminal (t). El problema consiste en encontrar la mayor cantidad de ujo que se puede mandar desde s hasta t respetando las capacidades de los arcos. El problema de ujo mximo tambin tiene la propiedad de a e integridad.
Existen distintos algoritmos para resolver este problema. La mayoria se basan en la idea de camino aumentativo. Un camino aumentativo es un camino en la red, que permite aumentar la cantidad de ujo desde s hasta t: mandndolo directamente a o redirigiendo el ujo existente
s 1 B 2 C
3 1
B 2 C
Optimizacin Combinatoria o
Los problemas combinatorios consisten en identicar subconjuntos de un conjunto dado que, satisfaciendo algunas propiedades preestablecidas, minimicen/maximicen su coste asociado. Formalmente: Dado un conjunto S y una familia de subconjuntos de S, I P(S), encontrar el conjunto I I con el menor coste (resp. mayor benecio) asociado. En general, coste(I) =
eI
ce
Dado un conjunto de objetos, cada uno con un volumen y un benecio asociados, determinar cul es el conjunto de a objetos ms provechoso que cabe en una mochila de una a capacidad determinada.
Programacin matemtica o a xi : tomo el objeto i restriccin: i vixi cap. o objetivo: max i cixi Optimizacin Combinatoria o S = conjunto de objetos I: conjuntos de obj. que caben objetivo:arg mx{c(I) : I I} a
Habitualmente, mediante mtodos enumerativos: e programacin dinmica, ramicacin y acotacin. o a o o Algunos autores recurren a mtodos heur e sticos. Por ejemplo, tomar preferentemente art culos con valores altos de cj /vj (greedy). Muchos trabajos estudian la estructura de la envolvente convexa de las soluciones factibles.
Problema de emparejamiento
Dado un grafo G=(N,A), B A es un emparejamiento (perfecto), si cada nodo de N es incidente, como mucho (exactamente), con una arista de B. Objetivo: Encontrar el emparejamiento de cardinal mximo (EM) a mximo/perfecto de peso m a nimo (EPM)
Emparejamiento no perfecto
Emparejamiento perfecto
s D
s D
E F F
Existen grafos sin un emparejamiento perfecto. El emparejamiento mximo no tiene por qu ser unico. a e
10
11
12
Restricciones: v N ,
a(v) xa
Objetivo mx a
aA xa
no contiene subcircuitos
D
es conexo
G E
E F F
A D C
G E F
Arboles de expansin o
Qu pasa si a un rbol de expansin le quitamos un e a o arco? Qu pasa si a un rbol de expansin le aadimos un e a o n arco? Cuntos arcos tiene un rbol de expansin? a a o
Dado un grafo G=(N,A), con costes c asociados a los arcos, el problema del rbol de expansin de coste a o m nimo consiste en encontrar el rbol de expansin de G a o con el menor coste total, donde coste(T ) =
aT
ca
MST: Ejemplos
El primer trabajo sobre el MST es debido a Dijkstra, que desarroll un algoritmo para este problema, para minimizar o la cantidad de cobre que necesitaba para las conexiones en el panel su ordenador X1. En realidad, este algoritmo fue publicado en el mismo art culo donde Dijkstra presentaba su algoritmo para el problema de caminos m nimos.
MST: Ejemplos
Compa de reforestacin quiere sembrar rboles en ocho zonas en na o a la misma rea. Debe desarrollar un sistema de caminos de tierra para a tener acceso a cualquier zona desde cualquier otra. Las distancias entre cada par de zonas son:
1 2 3 4 5 6 7 8 1 2 13 3 21 9 4 9 18 26 5 7 12 17 7 6 18 26 25 16 9 7 20 23 19 15 11 6 8 15 11 10 9 8 10 5 -
Entre qu pares de zonas construir caminos? e ais 2-3, 2-4, 4-5, 1-5, 5-8, 6-7, 7-8
MST: Resolucin o
Uno de los algoritmos ms conocidos para resolver este a problema es el algoritmo de Kruskal. Se trata de un algoritmo tipo Greedy. A pesar de esto, la estructura de este problema garantiza que este algoritmo proporcione la solucin ptima. o o
Es un algoritmo iterativo. En cada iteracin del algoritmo, se aade al conjunto de o n arcos seleccionados el arco disponible de coste menor que no forme circuito con los tomados anteriormente. Finaliza cuando el subgrafo generado es conexo.
6 F G F
6 G
6 F G F
6 G
6 F G F
6 G
6 F G F
6 G
6 F G F
6 G
Paso 0 Inicializar L =, conjunto de arcos ordenados. T = Paso 1 Si G = (N, T ) es conexo, FIN. T dene el rbol ptimo. a o en caso contrario sacar el siguiente elemento de L, a. Paso 2 Si a no forma un circuito con los arcos de T , actualizar T = T {a}. Volver a Paso 1
MST: Extensiones
Una extensin del MST es el problema del rbol de Steiner o a de coste m nimo. En este problema se pretende conectar un nodo fuente a todo un conjunto de nodos sumideros, utilizando eventualmente otros nodos auxiliares de la red a un coste m nimo. Este problema aparece, por ejemplo, en el diseo de circuin tos integrados.
(TSP)
Un viajante de comercio tiene que visitar un conjunto de clientes y regresar despus al punto de partida. Antes de e salir, debe decidir en qu orden visitar a sus clientes para e a minimizar la distancia total recorrida.
Ms formalmente ... a
Dado un grafo G = (N, A), un circuito Hamiltoniano en G es es un circuito que pasa exactamente una vez por cada nodo v N . El problema del viajante de comercio se dene sobre un grafo (generalmente completo) con costes asociados a los arcos y consiste en encontrar el circuito Hamiltoniano de coste m nimo.
xij = 1 xij = 1
j
. Qu falta? e
N con |S|
n/2 :
a(S)
xa
Cuntas de estas restricciones aparecen si tenemos a 5 nodos? 16 10 nodos? 638 25 nodos? 16777216 !! No se puede aplicar branch and bound al modelo completo. Se relajan estas restricciones y se van aadiendo a medida n que hacen falta branch and cut
Resolver el problema del viajante de comercio de forma exacta es muy caro. Cuando no sea imprescindible encontrar el ptimo recurriremos a mtodos heur o e sticos. Se han desarrollado muchos mtodos heur e sticos para este problema, dadas sus extensas aplicaciones. Algunas heur sticas son constructivas y otras de mejora.