un algoritmo de ramificación y corte para el problema de...

26
Un algoritmo de ramificaci´ on y corte para el problema de subastas combinatorias Mercedes Landete 1 , Laureano Escudero 1 Alfredo Mar´ ın 2 1 Universidad Miguel Hern´ andez de Elche 2 Universidad de Murcia. Baeza 2007

Upload: phamdat

Post on 23-Aug-2019

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Un algoritmo de ramificación y corte para el problema de ...elena/web/PresentacionesBaeza/PDFsPresentaciones/MLan... · Un algoritmo de ramificaci´on y corte para el problema de

Un algoritmo de ramificacion y corte para elproblema de subastas combinatorias

Mercedes Landete1, Laureano Escudero1 Alfredo Marın2

1Universidad Miguel Hernandez de Elche

2Universidad de Murcia.

Baeza 2007

Page 2: Un algoritmo de ramificación y corte para el problema de ...elena/web/PresentacionesBaeza/PDFsPresentaciones/MLan... · Un algoritmo de ramificaci´on y corte para el problema de

IntroductionPreliminares

Propiedades poliedricasPreproceso

Corte y ramificacionResultados computacionales

Conclusiones

IlustracionEl problema

Cuando en una subasta los jugadores expresan el interes, o preciodispuesto a pagar, por lotes de productos en lugar de expresar elinteres por productos individuales, el problema de decidir que lotesasignar y a quien de modo que el gestor de la puja maximice subeneficio se conoce como problema de subastas combinatorias.

Escudero, Landete, Marın Subastas Combinatorias

Page 3: Un algoritmo de ramificación y corte para el problema de ...elena/web/PresentacionesBaeza/PDFsPresentaciones/MLan... · Un algoritmo de ramificaci´on y corte para el problema de

IntroductionPreliminares

Propiedades poliedricasPreproceso

Corte y ramificacionResultados computacionales

Conclusiones

IlustracionEl problema

Ilustracion del problema

1 2

3

45

6

7

Beneficios Pujas

{1,2} {1,2,3} {3,4} {3,5,6} {7} {2,6}jugador azul 2 1 0 0 0 0jugador rojo 0 0 3 5 0 0jugador amarillo 0 0 0 0 2 15jugador verde 0 1 2 1 0 1

Escudero, Landete, Marın Subastas Combinatorias

Page 4: Un algoritmo de ramificación y corte para el problema de ...elena/web/PresentacionesBaeza/PDFsPresentaciones/MLan... · Un algoritmo de ramificaci´on y corte para el problema de

IntroductionPreliminares

Propiedades poliedricasPreproceso

Corte y ramificacionResultados computacionales

Conclusiones

IlustracionEl problema

Definicion

Los jugadores presentan pujas por conjuntos de lotes de productos,el subastador recoge todas las apuestas y decide que par (jugador,lote) maximiza su beneficio, comunicando a los jugadoresganadores que lotes les han correspondido.Muchas veces, la valoracion que un lote merece para un jugador nocoincide con la suma de las valo-raciones de los elementos del lote y algunos productos no se asignan.

{1,2} {1,2,3} {3,4} {3,5,6} {7} {2,6}jugador azul 2 1 0 0 0 0jugador rojo 0 0 3 5 0 0jugador amarillo 0 0 0 0 2 15jugador verde 0 1 2 1 0 1

Escudero, Landete, Marın Subastas Combinatorias

Page 5: Un algoritmo de ramificación y corte para el problema de ...elena/web/PresentacionesBaeza/PDFsPresentaciones/MLan... · Un algoritmo de ramificaci´on y corte para el problema de

IntroductionPreliminares

Propiedades poliedricasPreproceso

Corte y ramificacionResultados computacionales

Conclusiones

BibliografıaEl modeloDefiniciones

Bibliografıa relacionada

S. De Vries, R. V. Vohra. Combinatorial auctions: a survey.INFORMS Journal on Computing. Vol 15, 284-309, (2003).

Kawasnica, A., J. Ledyard, D. Porter, C. DeMartini. A Newand improved design for multiobject iterative auctions.Management Sci. 51 419-434, (2005).

Sandholm, T., S. Suri, A. Gilpin, D. Levine. CABOB: A fastoptimal algorithm for winner determination in combinatorialauctions. Management Sci. 51 374-390, (2005).

Escudero, Landete, Marın Subastas Combinatorias

Page 6: Un algoritmo de ramificación y corte para el problema de ...elena/web/PresentacionesBaeza/PDFsPresentaciones/MLan... · Un algoritmo de ramificaci´on y corte para el problema de

IntroductionPreliminares

Propiedades poliedricasPreproceso

Corte y ramificacionResultados computacionales

Conclusiones

BibliografıaEl modeloDefiniciones

(CAP) max∑

j∈J

∑s∈M bjsyjs

s.a∑

j∈J

∑s∈M:s3i yjs ≤ 1 ∀i ∈ I∑

s∈M yjs ≤ 1 ∀j ∈ J

yjs ∈ {0, 1} ∀j ∈ J, s ∈ M.

donde

J, I y M son los conjuntos de jugadores, productos y lotesrespectivamente,

bjs ≥ 0 es el beneficio que el jugador j reportara si obtiene ellote s,

yjs es una variable binaria que toma el valor 1 cuando eljugador j gana el lote s.

Escudero, Landete, Marın Subastas Combinatorias

Page 7: Un algoritmo de ramificación y corte para el problema de ...elena/web/PresentacionesBaeza/PDFsPresentaciones/MLan... · Un algoritmo de ramificaci´on y corte para el problema de

IntroductionPreliminares

Propiedades poliedricasPreproceso

Corte y ramificacionResultados computacionales

Conclusiones

BibliografıaEl modeloDefiniciones

Objetivos

El modelo que hemos presentado es un modelo deempaquetamiento, max{

∑j cj tj :

∑j aij tj ≤ 1 ∀i , tj ∈ {0, 1} ∀j}

donde aij ∈ {0, 1}. Por lo tanto, los grafos definidores de facetasdel grafo interseccion se pueden usar para reforzar el modelo.A continuacion,

definimos grafo interseccion, revisamos algunos grafosdefinidores de facetas e identificamos algunos ennuestro problema,

reforzamos (CAP) y proponemos un algoritmo exacto pararesolverlo que aprovecha las familias de facetas identificadas yalgunas peculiaridades de las soluciones optimas del problema,

mostramos resultados computacionales que ilustran elfuncionamiento del algoritmo.

Escudero, Landete, Marın Subastas Combinatorias

Page 8: Un algoritmo de ramificación y corte para el problema de ...elena/web/PresentacionesBaeza/PDFsPresentaciones/MLan... · Un algoritmo de ramificaci´on y corte para el problema de

IntroductionPreliminares

Propiedades poliedricasPreproceso

Corte y ramificacionResultados computacionales

Conclusiones

BibliografıaEl modeloDefiniciones

Grafo interseccion

Es el grafo asociado a un problema de empaquetamiento queasocia un nodo a cada variable y un eje a cada par de variables

compartiendo restriccion.

max∑4

j=1 cj tjs.a t1 + t2 + t3 ≤ 1

t2 + t4 ≤ 1tj ∈ {0, 1} ∀j

1

2

3

4

Escudero, Landete, Marın Subastas Combinatorias

Page 9: Un algoritmo de ramificación y corte para el problema de ...elena/web/PresentacionesBaeza/PDFsPresentaciones/MLan... · Un algoritmo de ramificaci´on y corte para el problema de

IntroductionPreliminares

Propiedades poliedricasPreproceso

Corte y ramificacionResultados computacionales

Conclusiones

BibliografıaEl modeloDefiniciones

Grafo interseccion.

Representamos el grafo interseccion de (CAP) como sigue: cadafila corresponde a un jugador y cada columna a un lote. En lafigura, el conjunto de adyacencia del nodo rojo es el conjunto denodos azules.

1,

2,

3,

4,

5

2,

3,

10,

12

1,

3,

5,

7,

9

4,

6,

8,

13

6,

7,

16,

17

8,

14,

16

8,

11,

15

13,

15,

17

Pj∈J

Ps∈M:s3i yjs ≤ 1 ∀i ∈ I

Ps∈M yjs ≤ 1 ∀j ∈ J

Escudero, Landete, Marın Subastas Combinatorias

Page 10: Un algoritmo de ramificación y corte para el problema de ...elena/web/PresentacionesBaeza/PDFsPresentaciones/MLan... · Un algoritmo de ramificaci´on y corte para el problema de

IntroductionPreliminares

Propiedades poliedricasPreproceso

Corte y ramificacionResultados computacionales

Conclusiones

BibliografıaEl modeloDefiniciones

Grafos definidores de facetas.

Un grafo G0 = (V0,E0) es definidor de faceta si existe una facetaπt ≤ π0 de P(G0) tal que πj > 0 para todo j ∈ V0. Los grafosdefinidores de facetas mas comunes son los grafos completos y losagujeros impares.

∑tj ≤ 1

∑tj ≤ 7

Escudero, Landete, Marın Subastas Combinatorias

Page 11: Un algoritmo de ramificación y corte para el problema de ...elena/web/PresentacionesBaeza/PDFsPresentaciones/MLan... · Un algoritmo de ramificaci´on y corte para el problema de

IntroductionPreliminares

Propiedades poliedricasPreproceso

Corte y ramificacionResultados computacionales

Conclusiones

BibliografıaEl modeloDefiniciones

Definicion 1.El conjunto de lotes que se solapan con todos losdemas es

S∗ = {s ∈ M : s ∩ s ′ 6= ∅,∀s ′ ∈ M}

Definicion 2.El entorno de un conjunto de lotes B ⊂ S es

N(B) = {s ∈ S − B : s ∩ s ′ 6= ∅∀s ′ ∈ B}.Asumimos N(∅) = S y N(S) = ∅.

Definicion 3. El conjunto de lotes en el que el jugador j1 estamenos interesado que el jugador j2 es

Sj1<j2 = {s ∈ S : bj1s < bj2s}

Definicion 4.El lote s1 esta relacionado con el lote s2, i.e., s1Rs2, sii

{s ∈ S : s ∩ s1 6= ∅} = {s ∈ S : s ∩ s2 6= ∅}Escudero, Landete, Marın Subastas Combinatorias

Page 12: Un algoritmo de ramificación y corte para el problema de ...elena/web/PresentacionesBaeza/PDFsPresentaciones/MLan... · Un algoritmo de ramificaci´on y corte para el problema de

IntroductionPreliminares

Propiedades poliedricasPreproceso

Corte y ramificacionResultados computacionales

Conclusiones

CliquesAgujeros imparesCortes para soluciones no optimas

Todas las facetas cliques de (CAP) viene dadas por las siguientesdesigualdades. ∑

j∈J

∑s∈S

yjs +L∑

t=1

∑s∈St

yjts ≤ 1

con S ⊂ S , j1, . . . , jL ∈ J diferentes y S1, . . . ,SL ⊂ H(S) tales que

1 s1 ∩ s2 6= ∅ para todo s1, s2 ∈ S ,

2 S1, . . . ,SL disjuntos a pares,

3 para cada t ∈ {1, . . . , L} y para cada s ∈ St , otro s ′ ∈ St

existe tal que s ∩ s ′ = ∅,,4 s ∩ s ′ 6= ∅ ∀t ∈ {1, . . . , L}, s ∈ St , s ′ ∈

⋃Lk=1,k 6=t Sk ,.

5 si s ∈ H(S)−⋃L

t=1 St , entonces existen ındices t1 6= t2,s1 ∈ St1 , s2 ∈ St2 , tales que s ∩ s1 = s ∩ s2 = ∅.

Escudero, Landete, Marın Subastas Combinatorias

Page 13: Un algoritmo de ramificación y corte para el problema de ...elena/web/PresentacionesBaeza/PDFsPresentaciones/MLan... · Un algoritmo de ramificaci´on y corte para el problema de

IntroductionPreliminares

Propiedades poliedricasPreproceso

Corte y ramificacionResultados computacionales

Conclusiones

CliquesAgujeros imparesCortes para soluciones no optimas

Graficamente,

1,

2,

3,

4,

5

2,

3,

10,

12

1,

3,

5,

7,

9

4,

6,

8,

13

6,

7,

16,

17

8,

14,

16

8,

11,

15

13,

15,

17

Escudero, Landete, Marın Subastas Combinatorias

Page 14: Un algoritmo de ramificación y corte para el problema de ...elena/web/PresentacionesBaeza/PDFsPresentaciones/MLan... · Un algoritmo de ramificaci´on y corte para el problema de

IntroductionPreliminares

Propiedades poliedricasPreproceso

Corte y ramificacionResultados computacionales

Conclusiones

CliquesAgujeros imparesCortes para soluciones no optimas

Una subfamilia de cliques

1,

2,

3,

4,

5

2,

3,

10,

17

1,

3,

5,

7,

9

4,

6,

8,

13

6,

7,

16,

17

8,

14,

16

8,

11,

15

13,

15,

17

∑j

yjs0 +∑

s:s∩s0 6=∅

yj0s ≤ 1

Escudero, Landete, Marın Subastas Combinatorias

Page 15: Un algoritmo de ramificación y corte para el problema de ...elena/web/PresentacionesBaeza/PDFsPresentaciones/MLan... · Un algoritmo de ramificaci´on y corte para el problema de

IntroductionPreliminares

Propiedades poliedricasPreproceso

Corte y ramificacionResultados computacionales

Conclusiones

CliquesAgujeros imparesCortes para soluciones no optimas

Otra subfamilia de cliques

1,

2,

3,

4,

5

2,

3,

10,

17

1,

3,

5,

7,

9

4,

6,

8,

13

6,

7,

16,

17

8,

14,

16

8,

11,

15

13,

15,

17

∑s∈A

∑j

yjs +∑

s:s∩q 6=∅∀q∈A

yjs ≤ 1

donde A ⊂ S(i) para i ∈ I . En la figura, A es un subconjunto deS(17).

Escudero, Landete, Marın Subastas Combinatorias

Page 16: Un algoritmo de ramificación y corte para el problema de ...elena/web/PresentacionesBaeza/PDFsPresentaciones/MLan... · Un algoritmo de ramificaci´on y corte para el problema de

IntroductionPreliminares

Propiedades poliedricasPreproceso

Corte y ramificacionResultados computacionales

Conclusiones

CliquesAgujeros imparesCortes para soluciones no optimas

Cualquier agujero impar del grafo interseccion de (CAP) verifica:1 Cada columna y cada fila del diagrama incluyen 0, 1 o 2

nodos del agujero.2 Si una columna incluye dos nodos, es decir, yj1s y yj2s

j1, j2 ∈ J, j1 6= j2, s ∈ S , entonces el numero de nodos en lasfilas j1 y j2 es exactamente dos.

Escudero, Landete, Marın Subastas Combinatorias

Page 17: Un algoritmo de ramificación y corte para el problema de ...elena/web/PresentacionesBaeza/PDFsPresentaciones/MLan... · Un algoritmo de ramificaci´on y corte para el problema de

IntroductionPreliminares

Propiedades poliedricasPreproceso

Corte y ramificacionResultados computacionales

Conclusiones

CliquesAgujeros imparesCortes para soluciones no optimas

Sean j1, j2 ∈ J, j1 6= j2 y s1, s2 ∈ S , s1 ∩ s2 = ∅. Si

bj1s1 + bj2s2 < bj1s2 + bj2s1 ,

entonces cualquier solucion optima de (CAP) cumple

yj1s2 + yj1s1 + yj2s2 +∑

s∈H(s2)

yj1s ≤ 1

yj2s1 + yj1s1 + yj2s2 +∑

s∈H(s1)

yj2s ≤ 1.

Todas las soluciones optimas de (CAP) verifican∑s∈Sj1<j2

yj1s ≤∑

s∈Sj1<j2

yj2s ∀j1, j2 ∈ J.

Escudero, Landete, Marın Subastas Combinatorias

Page 18: Un algoritmo de ramificación y corte para el problema de ...elena/web/PresentacionesBaeza/PDFsPresentaciones/MLan... · Un algoritmo de ramificaci´on y corte para el problema de

IntroductionPreliminares

Propiedades poliedricasPreproceso

Corte y ramificacionResultados computacionales

Conclusiones

Lotes equivalentesLotes sin interes y variables nulasIncluso mas

Podemos reemplazar los nodos en una clase de equivalencia, segunla Definicion 4, por un representante. Elegimos como loterepresentante al menor, en orden lexicografico, y le asociamos elbeneficio

bjs = max{bjw : w en la clase de equivalencia que representa s}

12

7

3

8

15

1

12

15

3

2,

5

1,

2,

3

1,

5

3,

4,

5

4,

6

1,

2,

3

1,

5

3,

4,

5

4,

6

Escudero, Landete, Marın Subastas Combinatorias

Page 19: Un algoritmo de ramificación y corte para el problema de ...elena/web/PresentacionesBaeza/PDFsPresentaciones/MLan... · Un algoritmo de ramificaci´on y corte para el problema de

IntroductionPreliminares

Propiedades poliedricasPreproceso

Corte y ramificacionResultados computacionales

Conclusiones

Lotes equivalentesLotes sin interes y variables nulasIncluso mas

Eliminamos de S todos los lotes tales que la cota superior del valoroptimo de del problema de subastas que impone que el lote seasigne sea menor que una cota inferior de v(CAP).Sean j0 ∈ J s1, s2 ∈ S . Si bj0s1 < bj0s2 y s2 ⊆ s1, entonces cualquiersolucion optima de (CAP) cumple yj0s1 = 0.

Escudero, Landete, Marın Subastas Combinatorias

Page 20: Un algoritmo de ramificación y corte para el problema de ...elena/web/PresentacionesBaeza/PDFsPresentaciones/MLan... · Un algoritmo de ramificaci´on y corte para el problema de

IntroductionPreliminares

Propiedades poliedricasPreproceso

Corte y ramificacionResultados computacionales

Conclusiones

Lotes equivalentesLotes sin interes y variables nulasIncluso mas

Si B(i) es un subconjunto del entorno de los lotes que contienen alproducto i y es completo, entonces podemos reforzar el modeloescribiendo

(CAP∗) max∑

j

∑s bjsyjs −

∑j cj

∑s yjs

s.a∑

j

∑s∈B(i) yjs+

∑j

∑s:s3i yjs ≤ 1 ∀i ∈ I∑

s yjs ≤ 1 ∀j ∈ J

yjs ∈ {0, 1} ∀j ∈ J, s ∈ S

Escudero, Landete, Marın Subastas Combinatorias

Page 21: Un algoritmo de ramificación y corte para el problema de ...elena/web/PresentacionesBaeza/PDFsPresentaciones/MLan... · Un algoritmo de ramificaci´on y corte para el problema de

IntroductionPreliminares

Propiedades poliedricasPreproceso

Corte y ramificacionResultados computacionales

Conclusiones

Corte y ramificacion

1 Prepoceso:1 Sustituir cada clase de equivalencia de lotes por su

representante.2 Eliminar los lotes sin interes.3 Hacer ceros4 Escribir el modelo reforzado.

2 Cortes:1 Resolver la RL de (CAP∗).2 Separar cliques, agujeros y otros.3 Si en 2.2 se ha separado algun corte, volver a 2.1. En otro

caso, ir a 3.

3 Resolver el problema binario.

Escudero, Landete, Marın Subastas Combinatorias

Page 22: Un algoritmo de ramificación y corte para el problema de ...elena/web/PresentacionesBaeza/PDFsPresentaciones/MLan... · Un algoritmo de ramificaci´on y corte para el problema de

IntroductionPreliminares

Propiedades poliedricasPreproceso

Corte y ramificacionResultados computacionales

Conclusiones

Resultados computacionales

Los datos para el estudio computacional se han generado con elprograma CATS que se describe en Leyton-Brown, Pearson andShoham (2000) y se puede encontrar enhttp://robotics.stanford.edu/CATS.Usamos CPLEX version 9.1 y codigo C, en una Sun JavaWorkstation W2100z con 2 procesadores, 2.6 GHz y 4 RAM GB.

Escudero, Landete, Marın Subastas Combinatorias

Page 23: Un algoritmo de ramificación y corte para el problema de ...elena/web/PresentacionesBaeza/PDFsPresentaciones/MLan... · Un algoritmo de ramificaci´on y corte para el problema de

IntroductionPreliminares

Propiedades poliedricasPreproceso

Corte y ramificacionResultados computacionales

Conclusiones

m n q nodes gap t A B D a b c n* g* t*30 150 300 18 0.17 4 0 63 4727 23 76 50 0 0 030 150 300 1741 7.79 20 4 0 9860 29 98 147 705 3.1 1030 150 300 2 6.15 8 28 40 2130 17 101 107 0 0 030 300 150 425 18.19 10 39 1 934 6 54 47 0 2.9 130 300 150 10984 31.89 271 123 16 0 121 15 0 0 0 030 300 150 33 16.87 8 39 6 224 0 25 24 0 3.1 230 300 300 25 8.69 34 19 9 3555 32 81 173 0 0.7 430 300 300 4620 12.77 248 117 1 962 21 49 75 0 0 030 300 300 334 8.79 17 24 74 1777 46 107 0 4 0.2 730 500 300 4417 17.11 533 186 3 471 16 96 94 0 0 030 500 300 2862 18.26 374 166 20 0 3 106 17 0 0 030 500 300 ** ** ** 146 1 226 18 120 59 0 3.48 3

A= lotes equivalentes a= cortes propiosB= lotes sin interes b= cliquesD= ceros c= agujeros

Escudero, Landete, Marın Subastas Combinatorias

Page 24: Un algoritmo de ramificación y corte para el problema de ...elena/web/PresentacionesBaeza/PDFsPresentaciones/MLan... · Un algoritmo de ramificaci´on y corte para el problema de

IntroductionPreliminares

Propiedades poliedricasPreproceso

Corte y ramificacionResultados computacionales

Conclusiones

Por ultimo, para chequear el algoritmo en subastas en las cualescada producto aparezca en pocos lotes, hemos generado otroconjunto de bases de datos haciendo: vi ∼ U(1, . . . , 100) ∀i ∈ I ,εs ∼ U(1, . . . , 10), ∀s ∈ S y δj ∼ U(1, . . . , 10) ∀j ∈ J

bjs = εs |s|+ δj +∑i∈s

vi .

Escudero, Landete, Marın Subastas Combinatorias

Page 25: Un algoritmo de ramificación y corte para el problema de ...elena/web/PresentacionesBaeza/PDFsPresentaciones/MLan... · Un algoritmo de ramificaci´on y corte para el problema de

IntroductionPreliminares

Propiedades poliedricasPreproceso

Corte y ramificacionResultados computacionales

Conclusiones

m n q nodes gap t A B D a b c nodes* gap* t*30 150 50 52562 28.46 42 0 0 0 0 101 39 1441 2.62 2430 150 50 725 26.57 5 0 0 0 0 93 26 0 0.06 030 150 50 15119 28.20 12 0 0 0 0 109 29 553 2.51 830 300 30 71209 64.74 55 0 0 0 0 171 84 1058 14.1 3530 300 30 13427 61.64 10 0 0 0 0 145 84 668 8.2 830 300 30 31031 63.6 20 0 0 0 0 98 73 526 12.6 1730 200 100 14066 7.5 95 0 0 0 0 42 62 0 0 030 200 100 2284005 9.93 4890 0 0 0 0 53 57 316278 2.6 142230 200 100 4108941 10.03 ** 1 0 0 0 47 63 454949 1.58 332130 500 50 7094858 61.54 ** 0 0 0 0 122 27 181933 13.71 300130 500 50 1912669 61.81 ** 0 0 0 0 147 69 128050 14.67 620630 500 50 2964046 60.81 ** 0 0 0 0 115 86 75680 15.77 6314

A= lotes equivalentes a= cortes propiosB= lotes sin interes b= cliquesD= ceros c= agujeros

Escudero, Landete, Marın Subastas Combinatorias

Page 26: Un algoritmo de ramificación y corte para el problema de ...elena/web/PresentacionesBaeza/PDFsPresentaciones/MLan... · Un algoritmo de ramificaci´on y corte para el problema de

IntroductionPreliminares

Propiedades poliedricasPreproceso

Corte y ramificacionResultados computacionales

Conclusiones

En resumen,

El algoritmo que presentamos es util para reducir el tamano delproblema y para reducir el gap. En ocasiones, el preproceso lograreducir el tamano al 50% y los cortes cierran gaps del 30 %.

Escudero, Landete, Marın Subastas Combinatorias