APLICACIÓN DE LOS JUEGOS COOPERATIVOS A PROBLEMAS DE ABASTECIMIENTO Miguel Ángel Hinojosa Ramos Eulalia Romero Palacios Departamento de Economía y Empresa. Universidad Pablo de Olavide. Ctra. de Utrera, Km.1. 41013-SEVILLA. Telf.: 954 349 356 Fax: 954 349 339 e-mail: [email protected] RESUMEN En este trabajo se aborda un problema de la Investigación Operativa: el Problema de Abastecimiento. En concreto, estudiamos el Problema de Mantenimiento de una Red de Abastecimiento desde la perspectiva de la Teoría de Juegos. La situación objeto de análisis es la siguiente, un grupo de consumidores necesitan abastecerse de determinado bien que les es suministrado por un único proveedor, para ello estos consumidores utilizarán una red ya existente que los comunica con dicho proveedor, cada tramo de esta red tiene un coste asociado que entenderemos como coste de mantenimiento de dicho tramo de red. El problema que surge es cómo repartir el coste total de mantenimiento de la red completa entre todos sus usuarios. Se proponen diferentes reglas de reparto del coste total y se demuestra cómo éstas coinciden con diferentes conceptos de solución que la Teoría de Juegos proporciona para este tipo de problemas. Palabras clave: Teoría de Juegos, Juegos Cooperativos, Problemas de Mantenimiento de una Red de Abastecimiento. ABSTRACT In this study we consider a problem that has received much interest in the Operations Research literature, which is the Maintenance Problem. In short, we study the Maintenance Problem in a supply network from a game theoretic perspective. The situation which is the object of analysis is the following. A group of consumers need to be supplied of certain good that it is provided to them by a single supplier, these consumers will use an already existing network which allows them to communicate with this supplier. Each edge of this network has an associated cost that we interpret as cost of maintenance of this network’s edge. The problem is how to allocate the total cost of the maintenance of the network among the users. We propose different rules of allocation of the total costs and we demonstrate how these rules coincide with different solutions that game theory provides for this type of problems. Key Words: Game Theory, Cooperative Games, Maintenance Problems. 1 INTRODUCCIÓN Presentamos a continuación una aplicación de la Teoría de Juegos Cooperativos a problemas tradicionales de la Investigación Operativa. Son bien conocidos los modelos matemáticos que ofrece la Investigación Operativa para resolver el tipo de situaciones que planteamos, pero cuando en éstas están involucrados varios decisores esta teoría no es suficiente y es aquí donde la Teoría de Juegos aporta una importante contribución. Cuando un grupo de decisores convienen realizar juntos un proyecto para incrementar sus beneficios o bien reducir el coste total del mismo se enfrentarán con dos problemas. El primero de ellos, cómo ejecutar el proyecto de manera óptima, el segundo, cómo repartir los beneficios o costes entre todos los participantes. Es muy fácil encontrar ejemplos en los que la cooperación entre varios participantes de un mismo proyecto supondría incrementar el beneficio total, o reducir de manera notable el coste total del proyecto, y en los que esto finalmente no ocurre por no alcanzarse un acuerdo para repartir los costes o beneficios entre los participantes. Son este tipo de situaciones las que ayuda a solventar la Teoría de Juegos Cooperativos, los diferentes conceptos de solución que se conocen pueden ser aplicados para determinar un método eficiente de asignación de costes o beneficios. Nos centraremos principalmente en el estudio de uno de los problemas más comúnmente planteado en Investigación Operativa, el Problema de Abastecimiento. El principal objetivo de este tipo de problemas es el de minimizar el coste total de abastecer a varios consumidores de un determinado bien que suministra un único proveedor. En trabajos anteriores hemos considerado que el coste asociado a cada tramo de red era el coste de construcción de la red que conecta dichos consumidores con el proveedor. En este trabajo supondremos que la red de abastecimiento ya está construida, e interpretaremos el coste a minimizar como el coste de mantenimiento de la red que comunica a los consumidores con el proveedor. Observemos que esta nueva situación es notablemente distinta, pues si previamente podíamos elegir, entre todos las posible vías de conexión, la que supusiese un menor coste, en la situación que planteamos ahora existe para cada consumidor o cada grupo de consumidores una única subred que lo conecta con el proveedor, cuyo coste de mantenimiento además es fijo, así pues el problema se reduce a la búsqueda de repartos del coste de mantenimiento de la red construida a priori que satisfagan las aspiraciones de los consumidores. Partiendo de esta base, proponemos el análisis de diversos conceptos de solución que nos proporciona la Teoría de Juegos Cooperativos, como son el Núcleo, el Nucleolo, el Valor de Shapley y el τ-Valor. Comprobando, además, que pueden ser caracterizados por cómo establecen el coste asignado a cada jugador en función del coste de los diferentes tramos de red que lo conectan con el proveedor. Lo que nos ofrece asimismo la ventaja de que puedan ser calculados mediante sencillas reglas de reparto. 2 Concluimos con una exposición resumida de nuestras aportaciones y las posibles líneas de investigación que del mismo se derivan. Ilustramos con ejemplos cada uno de los diferentes apartados que se abordan en el trabajo. PROBLEMAS DE MANTENIMIENTO DE UNA RED DE ABASTECIMIENTO. Como avanzábamos, la idea que subyace a los problemas de mantenimiento es la siguiente: un grupo de consumidores está conectado mediante una red fija al único proveedor de determinado bien o servicio, de manera que para cada consumidor existe una única vía que lo comunica con dicho proveedor, esta vía tiene un coste de mantenimiento asociado. El problema que nos planteamos es cómo repartir de manera justa el coste de mantenimiento de la red completa entre todos los usuarios. La Teoría de Grafos proporciona herramientas muy útiles para el planteamiento de este tipo de problemas en los que aparecen redes de conexión. En nuestro caso utilizaremos grafos1 para definir las redes de abastecimiento que comunican al proveedor con los diferentes consumidores. Así, describimos la situación que analizamos mediante una terna (A,k,N) tal que: - A=(V,E) es un árbol2 que representará las conexiones posibles entre los consumidores y la fuente. k: E → IR+ es una función no negativa definida sobre el conjunto de las aristas de A, que asigna a cada arista el coste de mantenimiento del tramo de red que representa. N={1,2,...,n} es un conjunto finito de consumidores, cada i ∈ N está localizado en algún vértice de V, que notaremos también i y cada vértice de V, salvo aquél en el que se encuentra el proveedor, que notaremos por 0, corresponde a un único consumidor. A partir de ahora notaremos V=N0, siendo N0= N ∪ {0}. Ejemplo: En el siguiente grafo representamos una red de abastecimiento con cuatro usuarios. 1 Un grafo es un par (V,E) tal que V es un conjunto no vacío cuyos elementos se denominan vértices y E es un conjunto de pares no ordenados de elementos de V, {ij}, denominados aristas. 2 Un árbol es un grafo que no contiene ciclos. 3 Una vez establecida la red de distribución es necesario repartir el coste total de mantenimiento de la misma entre los consumidores situados en los vértices, recordemos que el proveedor no participa en este reparto de costes. Al efectuar este reparto hay que tener en cuenta que, para que los agentes colaboren, no se puede imputar a ninguno de ellos un coste mayor que el coste que le supondría a dicho agente el mantenimiento de la red que lo abastece. De igual manera, para evitar que una subcoalición tenga incentivos para abandonar una coalición mayor, habrá que impedir que la suma de los costes imputados a cada consumidor, sea superior al coste total de mantenimiento de la subred que abastece a todos miembros de dicha coalición. JUEGO DE MANTENIMIENTO DE UNA RED DE ABASTECIMIENTO La situación anterior puede formularse como un juego cooperativo de utilidad transferible, que denominaremos Juego de Mantenimiento de una Red de Abastecimiento, conocido en la literatura simplemente como Juegos de Mantenimiento cuyo conjunto de jugadores es el conjunto de consumidores y cuya función característica asocia a cada coalición el coste de mantenimiento del sistema de distribución que abastece a todos sus miembros. Definición: Dada una coalición S ⊆ N, S ≠ ∅ ;, el coste asociado por el Juego de Mantenimiento de una Red de Abastecimiento, (N; c), será: c(S) = ∑k i∈VTS i siendo ki el coste de la arista incidente en el vértice i del único camino de la fuente al vértice i del único árbol que conecta los miembros de S, TS, cuyo conjunto de vértices denotamos por VTS . Ejemplo (Continuación): La situación expuesta anteriormente daría lugar al siguiente Juego de Mantenimiento de una Red de Abastecimiento: S ∅ {1} {2} {3} {4} {1,2} {1,3} {1,4} c(S) 0 9 12 14 16 12 14 16 S {2,3} {2,4} {3,4} {1,2,3} {1,2,4} {1,3,4} {2,3,4} N c(S) 17 19 16 17 19 16 19 19 En este tipo de juegos, algunos de los conceptos de solución que nos aporta la Teoría de Juegos Cooperativos, como son: Núcleo, Nucleolo, Valor de Shapley y τ-Valor, se pueden caracterizar por cómo establecen el coste asignado a cada jugador en función de los tramos de red que lo conectan con el proveedor. Esto da lugar además a que dichas soluciones se puedan calcular siguiendo sencillas reglas que describiremos a continuación. 4 Núcleo El Núcleo de un juego está compuesto por todos repartos de coste tales que ninguna coalición puede proponer una alternativa en la que todos sus miembros mejoren su situación. En este tipo de juegos, el Núcleo está caracterizado por contener a todos aquellos repartos de costes que asocien a cada jugador una parte proporcional del coste de mantenimiento asociado a cada uno de los tramos de la red que utiliza para conectarse con el proveedor. La Asignación de Bird3, nos proporciona en este tipo de juegos un único reparto que pertenece al Núcleo, por lo que el Núcleo de este tipo de juegos es no vacío. Nucleolo La idea del Nucleolo es buscar el reparto socialmente más justo en el sentido de que la coalición que resulte más desfavorecida en el reparto esté lo menos perjudicada posible, la siguiente coalición más desfavorecida esté lo menos posible, y así sucesivamente. Podemos calcular el Nucleolo de este tipo de juegos a través de una regla que nos indica qué proporción asignar del coste de mantenimiento de cada tramo de red a cada uno de los consumidores que lo utilizan, de esto se deduce que el Nucleolo nos proporciona un reparto del Núcleo4. La regla de reparto que da lugar al Nucleolo establece que cada jugador deberá pagar parte del mantenimiento de cada uno de los tramos de la red que lo conectan con la fuente, de manera que, si un jugador está conectado directamente al proveedor, compartirá, a partes iguales, el coste de este único tramo de red que necesita para abastecerse con aquellos jugadores que utilizan a su vez un único tramo para conectarse a él. Si el jugador no está conectado directamente al proveedor, irá pagando las mismas cantidades que todos los jugadores cuya subred él utiliza para abastecerse. Estos pagos recaerán en el mantenimiento de los tramos de la subred del jugador que los paga que están más próximos al proveedor. 3 El reparto propuesto por Bird es aquel que asigna a cada usuario de la red de abastecimiento el coste de mantenimiento del ultimo tramo que lo conecta con el proveedor, entendiendo por tal la arista incidente en el vértice que lo representa. 4 Este resultado también resulta de considerar que el Núcleo de este juego no vacío, y por tanto el Nucleolo es un reparto del Núcleo. 5 Así hasta que, para terminar de pagar el coste total de mantenimiento de su subred sólo reste una parte del último tramo que utiliza, cuyo coste compartirá, a partes iguales, con aquellos jugadores que sólo utilizan un tramo para conectarse a su subred5. A partir de este momento el jugador no tendrá ningún coste más asignado. En el caso de que un jugador no comparta su último tramo de red con otros jugadores, le será asignado el coste completo del mantenimiento de este tramo que él únicamente utiliza. Valor de Shapley El reparto que propone el Valor de Shapley asigna a cada jugador el promedio de sus contribuciones marginales a cada posible coalición. En este tipo de juegos, las contribuciones marginales de un jugador se entienden como el coste que supone a una coalición la incorporación de dicho jugador, y vienen determinadas por la suma de los costes de los tramos de red que lo conectan, bien directamente con el proveedor, bien con otro jugador de la coalición ya conectado con el proveedor. Así, si un jugador decide empezar a formar una coalición, en principio ha de pagar el mantenimiento de todos los tramos de red que lo conectan a la fuente. Sin embargo, si decide unirse a una coalición de un único jugador deberá aportar el pago de todos los tramos de red que lo conectan a la fuente, salvo aquellos que hayan sido costeados por el jugador que inició la coalición. Por tanto, si consideramos sucesivamente todos los posibles órdenes de llegada de un jugador a las coaliciones, observamos que cada jugador deberá pagar una parte del mantenimiento cada uno de los tramos de red que necesita para llegar hasta el proveedor. Es más, como no podemos diferenciar los usuarios de un mismo tramo de red, dicha proporción a pagar será igual para cada uno de ellos. Se deduce, por tanto, que en un Juego de Mantenimiento de una Red de Abastecimiento el Valor de Shapley nos proporciona una asignación del coste total de la red de distribución tal que el coste de cada arista se reparte a partes iguales entre todos los usuarios de la misma. Debido a la caracterización establecida anteriormente para el Núcleo podemos asegurar que el Valor de Shapley de este tipo de juegos es un reparto del Núcleo6. 5 Entendemos por subred al único camino contenido en el árbol que define el problema, que conecta la jugador con el proveedor. 6 Esto se deduce directamente al considerar los Juegos de Mantenimiento de una Red de Abastecimiento como caso particular de los Juegos de Creación de una Red de Abastecimiento 6 τ-Valor El τ-Valor busca un compromiso entre los mínimos costes a los que aspiran los jugadores y los máximos costes que éstos están dispuestos asumir. El τ-Valor de un juego es una asignación eficiente entre los valor mínimos y máximos que podrían obtener los jugadores si aceptasen repartos del núcleo del juego. El Teorema que demostramos a continuación establece que en un Juego de Mantenimiento de una Red de Abastecimiento el τ-Valor se puede calcular mediante una sencilla regla que define el reparto de costes a partir de una diferenciación de los jugadores, en función de la posición que ocupen en el árbol que define la red de abastecimiento. Para probar este resultado introducimos el concepto de Jugadores Extremos. Notación: Para cada coalición S, S ⊆ N, denominaremos Jugadores Extremos en S, que notaremos por E(S), al conjunto de jugadores de S, que utilizan un tramo de red en exclusiva, esto es: i ∈ E(S) ⇔ j ∈ N; i ∉ VT j siendo VT j el conjunto de vértices del único camino que conecta al vértice j con la fuente, en el árbol que define la red. Teorema: El τ-Valor del juego de mantenimiento de una red de abastecimiento (N,c) viene determinado por τ(N,c) = (τ1, τ2,..., τn), siendo: 1 n τi = 1 n ∑k j si i ∉ E(N) ∑k j + k i si i ∈ E(N) j∉E ( N ) j∉E ( N ) Demostración: Consideremos un jugador cualquiera i ∈ N , su Mínimo Coste Aspirable vendrá dado por: miτ ( N , c) = c( N ) − c( N / i ) ∑ k j siendo c( N ) = ∑ k i y c( N / i ) = j∈N i∈N ∑k j j∈N / i 0 luego miτ ( N , c) = ki si i ∉ E(N) si i ∈ E(N) , si i ∉ E(N) si i ∈ E(N) 7 Por otra parte el Máximo Coste Asumible por dicho jugador i ∈ N será: M iτ ( N , c) = máx c( S ) − ∑ miτ ( N , c) = máx c( S ) − ∑ k j S⊆N j∈S / i j∈E ( S ) / i Si⊆∈SN i∈S En un Juego de Mantenimiento de una Red de Abastecimiento este máximo se alcanza en la gran coalición7, esto es: M iτ ( N , c) = c( N ) − ∑kj por tanto, M i ( N , c) = j∉E ( N ) ∑ k j + ki j∉E ( N ) ∑k j j∈E ( N ) / i si i ∉ E(N) τ si i ∈ E(N) y la asignación del τ -Valor para el jugador i ∈ N será: τ i = (1 − α )miτ + αM iτ , siendo α∈[0,1] el único valor que hace el vector τ(N,c) = (τ1, τ2,..., τn) eficiente, esto es, que: ∑τ i = c(N ) . i∈N Concluimos que, en este tipo de juegos, el τ-Valor es una regla de asignación de costes, que reparte en primer lugar el coste de los tramos que son utilizados por más de un consumidor, no necesariamente por todos, entre todos los usuarios de la red a partes iguales. Una vez repartido este coste, resta asignar es el coste de mantenimiento de los tramos de la red que son utilizados por un único consumidor, el τ-Valor establece que cada uno debe asumir el coste total del tramo que únicamente él utiliza. 7 Veámoslo por reducción al absurdo, supongamos que ∃S 0 ⊂ N , i ∈ S0 , S0 ≠ N , c( S0 ) − ∑k j j ∈E ( S 0 ) / i = máx c( S ) − S⊆N i∈S tal que ∑k , j j ∈E ( S ) / i sea m ∈ N / S0 , podemos asegurar su existencia porque S 0 ≠ N . Consideremos en primer lugar que m ∈ E ( N / S0 ) : c ( S 0 ∪ m) − ∑k j j ∈E ( S 0 ∪ m ) / i = c ( S 0 ∪ m) − ∑k j j∈E ( S 0 ) / i − km ≥ c( S0 ) + km − ∑k j j ∈E ( S 0 ) / i − km = c( S0 ) − ∑k j j∈E ( S 0 ) / i por lo que llegamos a contradicción con que, en la coalición S0 , se alcance el máximo. Consideremos ahora que m ∉ E ( N / S0 ) : c ( S 0 ∪ m) − ∑k j j∈E ( S0 ∪m ) / i = c ( S 0 ∪ m) − ∑k j j∈E ( S0 ) / i ≥ c( S0 ) + km − ∑k j j∈E ( S0 ) / i ≥ c( S0 ) − ∑k j j∈E ( S0 ) / i , por lo que llegamos de nuevo a contradicción, de lo que se deduce que el máximo se alcanza en N. 8 Ejemplo (Continuación): En la tabla que aparece a continuación aparecen los diferentes repartos estudiados para el Juego de Mantenimiento de una Red de Abastecimiento planteado anteriormente: Asignación de Bird Nucleolo (9,3,5,2) (3,6,4,6) Valor de Shapley (94,214 ,194 ,274 ) τ-Valor (144 ,264 ,144 ,224 ) CONCLUSIONES. La aplicación de los juegos cooperativos al reparto de costes ha sido una de las cuestiones más ampliamente estudiada en la literatura de los últimos tiempos. En este trabajo hemos analizado uno de los problemas más planteados en Investigación Operativa, el Problema de Abastecimiento, cuyo principal objetivo es el de minimizar el coste total de abastecer a varios consumidores de un determinado bien que suministra un único proveedor. Nos hemos centrado en el caso en el que la red de abastecimiento ya esté construida, Problema de Mantenimiento de una Red de Abastecimiento, en este tipo de situaciones definimos reglas de reparto de costes que coinciden con los conceptos de solución que la Teoría de Juego nos ofrece en este tipo de situaciones, y que, en el caso del τ-Valor, no habían sido definidas previamente. FUTURAS LÍNEAS DE INVESTIGACIÓN Entendemos que este trabajo abre nuevos interrogantes que serán objeto de futuras investigaciones, algunas de estas cuestiones son las siguientes: - La descripción de una expresión matemática para la regla que define el Nucleolo en los Problemas de Mantenimiento de una Red de Abastecimiento, como al estudiada para el caso del τ-Valor. - Aplicar el estudio realizado en este trabajo a la reciente aplicación de la Teoría de Juegos a los modelos de control de inventario, considerando que estos modelos incluyan el coste del recorrido que se tiene que realizar para abastecer a cada consumidor, lo que derivaría en un nuevo planteamiento de los Problemas de Abastecimiento. 9 BIBLIOGRAFÍA. - - - Bird, C. G. (1976), On cost allocation for spanning tree. A game theoric approach. Networks 6, 335-350. Borm, P., Hamers, H. and Hendrickx, R. (2001), Operation Research Games: A survey. TOP Vol.9, N. 2, 139-216. Curiel, I. J. (1997), Cooperative game theory and applications. Kluwer Academic Publishers. Granot, D. and Granot, F. (1992a), On some network flow games. Mathematics of Operation Research 17, 792-841. Granot, D. and Granot, F. (1992b), On the computational complexity of a cost allocation approach to a fixed cost spanning forest problem. Mathematics of Operation Research 17, 765-780. Granot, D., Maschler, M., Owen, G. and Zhu W. (1996), The Kernel Nucleolus of a standard fixed tree games. International Juornal of Game Theory 25, 219244. Littlechild, S. and Owen, G. (1973). A simple expression for the Shapley value in a special case. Management Science 20, 370-372. Littlechild, S. (1974), A simple expression for the nucleolus in a special case. International Juornal of Game Theory 3, 21-29. Prim, R. (1957), Shortest connection networks and some generalizations. Bell Systems Technical Journal 36, 1389-1401. Shapley, L. S. (1967), On balanced sets and cores. Naval Research Logistics. Quarterly, Vol 14, 453-460. 10