Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Resumen
Los sistemas de precios de mercado constituyen una clase bien entendida de mecanismos que,
bajo ciertas condiciones, proporcionan una descentralización efectiva de la toma de decisiones
con una sobrecarga mínima de comunicación. En un enfoque de programación orientado al
mercado para la resolución de problemas distribuidos, derivamos las actividades y asignaciones de
recursos para un conjunto de agentes computacionales calculando el equilibrio competitivo de
una economía artificial. Walras proporciona construcciones básicas para definir estructuras de
mercado computacionales y protocolos para derivar sus correspondientes equilibrios de precios.
En una realización particular de este enfoque para una forma de problema de flujo multicomodity,
vemos que la construcción cuidadosa del proceso de decisión de acuerdo con los principios
económicos puede conducir a la asignación de recursos distribuidos eficiente, y que el
comportamiento del sistema puede ser analizado de manera significativa en términos económicos.
Oc 1993 AI Access Foundation y Morgan Kaufmann Publishers. Todos los derechos reservados.
La teoría del equilibrio general (Hildenbrand y Kirman, 1976) proporciona los fundamentos para un
enfoque general de la construcción de sistemas de planificación distribuida basados en
mecanismos de precios. En este enfoque, consideramos a los agentes planificadores
constituyentes como consumidores y productores en una economía artificial, y definimos sus
actividades individuales en términos de producción y consumo de productos básicos. Las
interacciones entre los agentes se plantean como intercambios, cuyos términos están mediados
por el mecanismo económico subyacente, o protocolo. Especificando el universo de mercancías, la
configuración de los agentes y el protocolo de interacción, podemos lograr una variedad de
comportamientos descentralizados interesantes y a menudo eficaces. Además, podemos aplicar la
teoría económica al análisis de arquitecturas alternativas y explotar así una gran cantidad de
conocimientos existentes en el diseño de planificadores distribuidos.
1. El nombre se inspira en el uso que hace Shoham de la programación orientada a agentes para
referirse a una especialización de la programación orientada a objetos en la que las entidades se
describen en términos de conceptos de agente e interactúan mediante actos de habla (Shoham,
1993). La programación orientada al mercado es una especialización análoga, en la que las
entidades son agentes económicos que interactúan según los conceptos de mercado de
producción e intercambio. La frase también ha sido invocada por Lavoie, Baetjer y Tulloh (1991)
para referirse a los mercados reales de componentes de software.
Empezamos con k bienes y n agentes. Los agentes se dividen en dos clases generales. Los
consumidores pueden comprar, vender y consumir bienes, y sus preferencias por el consumo de
diversas combinaciones o paquetes de bienes vienen especificadas por su función de utilidad. Si el
agente i es un consumidor, su función de utilidad
función de utilidad, ui : Rk
Los consumidores también pueden partir de una asignación inicial de bienes, denominada
dotación. Sea ei,j la dotación del agente i del bien j, y xi,j la cantidad de bien j que finalmente
consume. El objetivo del consumidor i es elegir un conjunto factible de bienes, (xi,1,... , xi,k) (en
notación vectorial, xi), para maximizar su utilidad. Un paquete es factible para el consumidor i si su
coste total a los precios vigentes no supera el valor de su dotación a dichos precios. La elección del
consumidor puede expresarse como el siguiente problema de optimización con restricciones:
Los agentes del segundo tipo, los productores, pueden transformar unos tipos de bienes en otros,
según su tecnología. La tecnología especifica las combinaciones factibles de insumos y productos
para el productor. Consideremos el caso especial en el que hay un bien de salida, indexado j, y el
resto de bienes son insumos potenciales. En ese caso, la tecnología del productor i puede
describirse mediante una función de producción,
especificando la producción máxima producible a partir de los insumos dados. (Cuando un bien es
un insumo en su propia producción, la función de producción caracteriza la producción neta). En
este caso, el objetivo del productor es elegir un plan de producción que maximice los beneficios en
función de su tecnología y del precio de sus productos e insumos. Esto implica elegir un nivel de
producción, yi, junto con los niveles de insumos que pueden producir yi al mínimo coste. Sean xi,J-
y pJ- el consumo y los precios, respectivamente, de los bienes de entrada. Entonces, el problema
de optimización restringida correspondiente es maximizar los beneficios, la diferencia entre
ingresos y costes:
- -
max pjyi - min pJ- . xi,J- s.t. yi ::: fi(xi,J-)
o equivalentemente,
Un agente actúa competitivamente cuando toma los precios como dados, despreciando cualquier
impacto de su propio comportamiento sobre los precios. La formulación anterior asume
implícitamente la competencia perfecta, en el sentido de que los precios son parámetros de los
problemas de optimización restringidos de los agentes. La competencia perfecta refleja de forma
realista la racionalidad individual cuando existen numerosos agentes, cada uno de ellos pequeño
con respecto al conjunto de la economía. Sin embargo, incluso cuando no es el caso, podemos
Un par (p, x) de un vector de precios y un vector de demandas para cada agente constituye un
equilibrio competitivo para la economía si y sólo si:
1. Para cada agente i, xi es una solución a su problema de optimización restringido -(1) o (2)- a
precios p, y
Xx = Xe , for j = 1 ,. .. , k.
n n
En otras palabras, la cantidad total consumida es igual a la cantidad total producida (contabilizada
como cantidades negativas en los paquetes de consumo de los productores), más la cantidad total
con la que partía la economía (las dotaciones).
Bajo ciertos supuestos "clásicos" (esencialmente continuidad, monotonicidad y concavidad de las
funciones de utilidad y producción; véase, por ejemplo, (Hildenbrand & Kirman, 1976; Varian,
1984)), existen equilibrios competitivos, y son únicos dado el rigor de estas condiciones. Desde la
perspectiva del diseño de mecanismos, los equilibrios competitivos poseen varias propiedades
deseables, en particular, los dos teoremas fundamentales de bienestar de la teoría del equilibrio
general: (1) todos los equilibrios competitivos son óptimos de Pareto (ningún agente puede
hacerlo mejor sin que otro lo haga peor), y (2) cualquier óptimo de Pareto factible es un equilibrio
competitivo para cierta asignación inicial de las dotaciones. Estas propiedades parecen ofrecer
exactamente lo que necesitamos: un límite en la calidad de la solución, además de la perspectiva
de que podemos lograr el comportamiento más deseado mediante una cuidadosa ingeniería de la
configuración del mercado computacional. Además, en equilibrio, los precios reflejan exactamente
la información necesaria para que los agentes distribuidos evalúen de forma óptima las
perturbaciones en su comportamiento sin recurrir a la comunicación o a la reconsideración de
todo su conjunto de posibilidades (Koopmans, 1970).
Los equilibrios competitivos también se pueden calcular y se han desarrollado algoritmos basados
en métodos de punto fijo (Scarf, 1984) y técnicas de optimización (Nagurney, 1993). En efecto,
ambos tipos de algoritmos funcionan recopilando y resolviendo las ecuaciones de equilibrio
simultáneas (1), (2) y (3)). Sin embargo, sin una formulación expresamente distribuida, estas
técnicas pueden violar las consideraciones de descentralización que subyacen en nuestro contexto
de resolución de problemas distribuidos. Esto es bastante aceptable para los fines para los que se
diseñaron originalmente estos algoritmos, a saber, analizar estructuras descentralizadas
existentes, como industrias de transporte o incluso economías enteras (Shoven y Whalley, 1992).
Pero como nuestro propósito es implementar un sistema distribuido, debemos obedecer
restricciones de distributividad computacional que no son relevantes para los propósitos
habituales del análisis de equilibrio general aplicado. En general, el examen explícito del espacio
de asignaciones de paquetes de productos en la búsqueda del equilibrio socava nuestro motivo
original para descomponer actividades complejas en consumo y producción de bienes separados.
Otra restricción importante es que los detalles internos del estado de los agentes (como las
funciones de utilidad o producción y la política de ofertas) deben considerarse privados para
maximizar la modularidad y permitir la inclusión de agentes que no estén bajo el control directo de
los diseñadores. Una consecuencia de esto es que la explotación computacional de las
propiedades globales que surgen de las características especiales de los agentes no sería
generalmente permisible para nuestros propósitos. Por ejemplo, la restricción de que los
beneficios sean cero es una consecuencia del comportamiento competitivo y de la tecnología de
producción de rendimiento constante. Dado que la información sobre la forma de la tecnología y
la política de ofertas es privada para los agentes productores, podría considerarse un engaño
incluir la condición de beneficio cero en el procedimiento de derivación del equilibrio.
Xx - Xe ).
n n
pt+1 = pt - L( i i
i=1 i=1
Si la secuencia pO, p1,... converge, entonces el exceso de demanda en cada mercado se aproxima
a cero, y el resultado es un equilibrio competitivo. Sin embargo, es bien sabido que los procesos de
tatonnement no convergen al equilibrio en general (Scarf, 1984). La clase de economías en las que
funciona el tatonnement son aquellas con los llamados equilibrios estables (Hicks, 1948). Una
condición suficiente para la estabilidad es la sustituibilidad bruta (Arrow y Hurwicz, 1977): si el
precio de un bien sube, la demanda neta de los demás bienes no disminuye. Intuitivamente, la
sustituibilidad bruta se violará cuando existan complementariedades en las preferencias o en las
tecnologías, de forma que la reducción del consumo de un bien provoque también una reducción
del consumo de otros (Samuelson, 1974).
El método empleado por walras calcula sucesivamente un precio de equilibrio en cada mercado
separado, de la manera que se detalla a continuación. Al igual que el tatonnement, implica un
ajuste iterativo de los precios basado en las reacciones de los agentes del mercado. Sin embargo,
difiere de los procedimientos tradicionales de tatonnement en que (1) los agentes presentan
curvas de oferta y demanda en lugar de cantidades puntuales para un precio concreto, y (2) la
subasta ajusta los precios individuales para compensar, en lugar de ajustar todo el vector de
precios mediante algún incremento. (normalmente una función de estadísticas resumidas como el
exceso de demanda).2
Walras asocia una subasta a cada bien distinto. Los agentes actúan en el mercado presentando
ofertas a las subastas. En walras, las pujas especifican una correspondencia entre precios y
2. Este enfoque general recibe el nombre de equilibrio progresivo de Dafermos y Nagurney (1989),
que lo aplicaron a un problema concreto de equilibrio de una red de transporte. Aunque este
modelo de dinámica de mercado no parece haber sido investigado muy a fondo en la teoría del
equilibrio general, sí parece coincidir con el tipo de proceso de ajuste de precios previsto por Hicks
en su estudio pionero sobre dinámica y estabilidad (Hicks, 1948).
cantidades del bien que el agente ofrece a la demanda o a la oferta. La oferta por un bien concreto
corresponde a una dimensión de la demanda óptima del agente, que está parametrizada por los
precios de todos los bienes relevantes. Sea xi(p) la solución de la ecuación (1) o (2), según
corresponda, para los precios p. Un agente walras puja por el bien j bajo el supuesto de que los
precios del resto de bienes están fijos en sus valores actuales, pJ-. Formalmente, la oferta del
agente i por el bien j es una función xi,j : R+ --- R, de precios a cantidades que satisface
donde el subíndice j en el lado derecho selecciona la cantidad demandada del bien j del vector de
demanda global. El agente calcula y envía esta función (codificada en una variedad de formatos) a
la subasta del bien j.
A partir de las ofertas de todos los agentes interesados, la subasta obtiene un precio de equilibrio
del mercado, en el que la cantidad demandada iguala a la ofertada, dentro de un margen de
tolerancia preestablecido. Este precio de equilibrio es simplemente el punto cero de la función de
demanda agregada, que es la suma de las demandas de todos los agentes. Dicho cruce por cero
existirá siempre que la demanda agregada se comporte suficientemente bien, en particular, si es
continua y decreciente en precio. La sustituibilidad bruta, junto con las condiciones clásicas de
existencia de equilibrio, es suficiente para garantizar la existencia de un precio de compensación
en cualquier fase del protocolo de licitación. Walras calcula el cruce por cero de la función de
demanda agregada mediante una búsqueda binaria. Si la demanda agregada no se comporta bien,
el resultado de la subasta puede ser un precio de no compensación.
Cuando el precio actual se despeja con respecto a las pujas actuales, decimos que el mercado de
esa mercancía está en equilibrio. Decimos que un agente está en equilibrio si su conjunto de
ofertas pendientes se corresponde con la solución de su problema de optimización a los precios
vigentes. Si todos los agentes y mercados de bienes están en equilibrio, la asignación de bienes
dictada por los resultados de la subasta es un equilibrio competitivo.
La figura 1 presenta un esquema del proceso de licitación de walras. Hay una subasta para cada
bien distinto, y para cada agente, un enlace a todas las subastas en las que tiene interés. También
existe un "tablero" con los precios actuales, que se mantiene actualizado gracias a las distintas
subastas. Sin embargo, dado que las notificaciones de cambios de precios se transmiten
explícitamente a los agentes interesados, se podría prescindir fácilmente de esta información
central.
Cada agente mantiene una agenda de tareas de puja, especificando los mercados en los que debe
actualizar su puja o calcular una nueva. En la Figura 1, el agente Ai tiene tareas pendientes para
presentar ofertas a las subastas G1, G7 y G4. El proceso de puja está muy distribuido, en el sentido
de que cada agente sólo necesita comunicarse directamente con las subastas de los bienes que le
interesan (los que están en el dominio de su función de utilidad o producción, o para los que tiene
dotaciones distintas de cero). Cada una de estas interacciones se refiere a un único bien; las
subastas nunca se coordinan entre sí. Los agentes no necesitan negociar directamente con otros
agentes, ni siquiera conocer la existencia de los demás.
Cuando se produce un cambio de precio, un agente aumenta su agenda de tareas para incluir las
pujas potencialmente afectadas.
relaciones con los bienes comunes. Tras establecer la configuración inicial, se puede ejecutar el
mercado para determinar el nivel de equilibrio de las actividades y la distribución de los recursos
en toda la economía.
2.5 Implementación
Walras se implementa en Common Lisp y en el Sistema de Objetos Common Lisp (CLOS). La
versión actual proporciona la infraestructura básica para ejecutar economías computacionales,
incluyendo el protocolo de pujas subyacente y una biblioteca de clases CLOS que implementan una
variedad de tipos de agentes. La implementación orientada a objetos permite el desarrollo
progresivo de configuraciones de mercado. En concreto, los nuevos tipos de agentes pueden
definirse a menudo como ligeras variaciones de los tipos existentes, por ejemplo modificando
características aisladas del comportamiento de la demanda, las estrategias de puja (por ejemplo,
la gestión de la agenda de tareas) o el formato de las pujas. Wang y Slagle (1993) presentan un
caso detallado del uso de lenguajes orientados a objetos para representar modelos de equilibrio
general. El sistema que proponen es similar a walras en lo que respecta a la formulación, aunque
está diseñado como interfaz para los paquetes convencionales de resolución de modelos, más que
para soportar directamente un cálculo descentralizado del equilibrio.
Aunque modela un sistema distribuido, walras se ejecuta en serie en un único procesador. Las
restricciones de distribución sobre la información y la comunicación se imponen mediante
convenciones de programación y especificación más que por mecanismos fundamentales del
entorno de software. La asincronía se simula aleatorizando las secuencias de ofertas para que los
agentes sean llamados de forma impredecible. De hecho, la sincronización artificial puede dar
lugar a una oscilación indeseable en los precios de compensación, ya que los agentes compensan
colectivamente los desequilibrios de la iteración anterior.3
El sistema experimental actual ejecuta modelos de transporte del tipo descrito anteriormente, así
como algunas economías de intercambio y producción abstractas con funciones de utilidad y
producción parametrizadas (incluidos los ejemplos expositivos de Scarf (1984) y Shoven y Whalley
(1984)). No ha sido necesario personalizar el protocolo básico de pujas. En el proceso de conseguir
que walras funcione con estos ejemplos, he añadido algunos bloques de construcción
genéricamente útiles a las bibliotecas de clases, pero se necesita mucho más para completar una
taxonomía completa de agentes, estrategias de puja y políticas de subasta.
En una versión simple del problema de flujo multicommodity, la tarea consiste en asignar un
conjunto dado de movimientos de carga a través de una red de transporte determinada. La red de
transporte es una colección de ubicaciones, con enlaces (aristas dirigidas) que identifican las
operaciones de transporte factibles. Cada enlace lleva asociado un coste de transporte de la carga.
Suponemos además que la carga es homogénea y que las cantidades de carga son arbitrariamente
divisibles. Una necesidad de movimiento asocia una cantidad de carga a un par origen-destino. El
problema de planificación consiste en determinar la cantidad a transportar en cada enlace para
mover toda la carga con el mínimo coste. Esta simplificación ignora aspectos destacados de la
planificación real del transporte. Por ejemplo, este modelo es completamente atemporal, por lo
que es más adecuado para planificar flujos estacionarios que para planificar movimientos
dinámicos.
Debido al solapamiento de sus demandas de recursos, las decisiones de los cargadores parecen
estar necesariamente entrelazadas. En una red congestionada, por ejemplo, el coste de
transportar una unidad de carga a través de un enlace aumenta con el uso global del enlace. Un
cargador que planifique sus movimientos de carga como si fuera el único usuario de la red
subestimaría sus costes y podría asignar mal los recursos de transporte.
Para el análisis de redes como ésta, los investigadores del transporte han desarrollado conceptos
de equilibrio que describen el comportamiento colectivo de los cargadores. En un sistema de
equilibrio, el transporte global de mercancías se desarrolla como si hubiera un planificador central
omnisciente que dirigiera el movimiento de cada envío para minimizar el coste total de satisfacer
las necesidades. En un equilibrio de usuario, la asignación global de movimientos de carga es tal
que cada cargador minimiza su propio coste total, compartiendo proporcionalmente el coste de
los recursos compartidos. El equilibrio del sistema es, pues, un óptimo global, mientras que el
equilibrio del usuario corresponde a una composición de soluciones localmente óptimas de
subproblemas. También existen algunas posibilidades intermedias, que corresponden a conceptos
de equilibrio de la teoría de juegos como el equilibrio de Nash, en el que cada cargador se
comporta de forma óptima dadas las políticas de transporte de los demás cargadores (Harker,
1986).4
Obsérvese que para el problema del flujo multicommodity, existe una solución distribuida efectiva
debida a Gallager (1977). Una de las estructuras de mercado descritas a continuación imita esta
solución, a pesar de que el algoritmo de Gallager no se formuló expresamente en términos de
mercado. No se trata de descifrar un problema de optimización distribuida no resuelto hasta ahora
(aunque estaría bien), sino de ilustrar un enfoque general sobre una tarea sencilla pero no trivial.
En esta sección, presento una serie de tres estructuras de mercado de transporte implementadas
en walras. El primer modelo, el más sencillo, comprende los agentes básicos de transporte de
mercancías y cargadores, que se amplían en los modelos siguientes para incluir otros tipos de
agentes. El análisis comparativo de las tres estructuras de mercado revela los comportamientos
económicos y computacionales cualitativamente distintos realizados por las configuraciones
alternativas de walras.
El modelo que empleamos para los costes de transporte se basa en una red con congestión, por lo
que presenta deseconomías de escala. En otras palabras, los costes marginales y medios (en
términos de recursos de transporte necesarios) aumentan con el nivel de servicio de un enlace.
Según los datos de Harker, los costes son cuadráticos. El modelo de costes cuadráticos se plantea
simplemente por concreción, y no representa ninguna afirmación sustantiva sobre las redes de
transporte. La característica cualitativa importante de este modelo (y la única necesaria para que
el ejemplo funcione) es que presenta rendimientos decrecientes, una característica definitoria de
las redes congestionadas. Obsérvese también que el modelo de Harker se refiere a costes
monetarios, mientras que nosotros introducimos un bien de entrada abstracto.
Sea ci,j(x) el coste en recursos de transporte (bien GO) necesarios para transportar x unidades de
carga en el enlace de i a j. Las funciones de coste completas son:
2
c1,2(x) = c2,1(x) = c2,4(x) = c4,2(x) = x - 20x,
2
c3,1(x) = c2,3(x) = c3,4(x) = 2x - 5x.
Por último, el objetivo de cada cargador es transportar 10 unidades de carga desde su origen hasta
su destino.
En el modelo de cargador básico, suponemos que los cargadores pagan proporcionalmente (en
unidades de GO) el coste total de cada enlace. Esto equivale a una política de precios de coste
medio. Consideramos que el objetivo del cargador es enviar tanto como sea posible (hasta su
necesidad de movimiento) de la manera menos costosa. Nótese que este objetivo no es
expresable en términos del problema de optimización del consumidor, ecuación (1), y por tanto
este modelo no es técnicamente una instancia del marco de equilibrio general.
Dada una red con precios en cada enlace, el movimiento de carga más barato corresponde al
camino más corto del grafo, en el que las distancias se equiparan a los precios. Así, para un enlace
determinado, un cargador preferirá enviar toda su cuota por el enlace si éste se encuentra en el
camino más corto, y cero en caso contrario. En caso de empate, es indiferente entre las posibles
asignaciones. Para pujar por el enlace i, j, el cargador puede deducir el precio umbral que
determina si el enlace está en el camino más corto tomando la diferencia en la distancia del
camino más corto entre las redes en las que la distancia del enlace i, j� se fija en cero e infinito,
respectivamente.
Al modificar sus ofertas de forma incremental, el cargador también debe tener en cuenta sus
ofertas pendientes y los precios actuales. El valor de reservar capacidad en un enlace concreto es
cero si no puede obtener servicio en los demás enlaces del trayecto. Del mismo modo, si ya se ha
comprometido a transportar carga por una ruta paralela, no ganará nada obteniendo más
capacidad (aunque sea a un precio inferior) hasta que retire esas otras ofertas.5 Por lo tanto, la
política de demanda real de un cargador es gastar sus ingresos no comprometidos en el aumento
potencial de flujo (derivado de los cálculos de flujo máximo) que podría obtener comprando
capacidad en el enlace en cuestión. Está dispuesto a gastar hasta el valor umbral del enlace, tal y
como se ha descrito anteriormente. Esto determina un punto de su curva de demanda. Si tiene
alguna necesidad insatisfecha e ingresos no comprometidos, también indica que está dispuesto a
pagar un precio más bajo por una mayor cantidad de capacidad. Los puntos límite como éste
sirven para poner en marcha la economía; a partir de las condiciones iniciales, suele darse el caso
de que ningún enlace individual contribuya al flujo global entre el origen y el destino del
expedidor. Por último, la curva de demanda se completa con una operación de suavizado en estos
puntos.
Los detalles de los puntos límite y de la operación de suavizado son bastante arbitrarios, y no
pretendo afirmar que esta política de oferta en particular sea ideal o que garantice su
funcionamiento para una amplia clase de problemas. Este enfoque tosco parece suficiente para el
presente ejemplo y otros similares, siempre que las políticas de los cargadores sean más precisas a
medida que los precios se acercan al equilibrio.
Walras calcula con éxito el equilibrio competitivo para este ejemplo, que en el caso del modelo
básico del cargador corresponde a un equilibrio del usuario (UE) para la red de transporte. En el
UE de la red de ejemplo, cada cargador envía 2,86 unidades de carga por el enlace compartido 2
--- 3, y el resto de la carga por el enlace directo desde la ubicación 2 hasta el destino. Esta
asignación es ineficiente, ya que su coste total es de 1143 recursos.
unidades, que es algo superior a la solución global de coste mínimo de 1136 unidades. En términos
económicos, la causa de la ineficiencia es una externalidad con respecto al uso del enlace
compartido. Como a los cargadores se les cobra el coste medio -que en el caso de rendimientos
decrecientes es inferior al coste marginal-, el precio al que se enfrentan no refleja el coste social
incremental total del uso adicional del recurso. De hecho, el uso incremental del recurso por parte
de un agente está subvencionado por el otro. Cuanto más pronunciados sean los rendimientos
decrecientes, más incentivos tendrán los agentes para sobreutilizar el recurso6 .
El remedio clásico a este tipo de problemas es internalizar la externalidad asignando la propiedad
del recurso compartido a algún responsable de la toma de decisiones que tenga los incentivos
adecuados para utilizarlo de forma eficiente. Podemos aplicar una solución de este tipo en walras
aumentando la estructura de mercado con otro tipo de agente.
Cada transportista Ci,j está conectado a la subasta de Gi,j, su producto de salida, junto con GO, su
insumo en el proceso de producción. Los agentes cargadores también están conectados a GO, ya
que están dotados de recursos de transporte para intercambiarlos por servicios de transporte. La
figura 4 muestra la estructura del mercado de Walras cuando los transportistas están incluidos en
la economía.
Por ejemplo, consideremos el transportista C1,2. Con un precio de salida p1,2 y un precio de
entrada pO, el beneficio del transportista es
p1,2y - pOc1,2(y),
donde y es el nivel de servicio que decide suministrar. Dada la función de costes anterior, esta
expresión se maximiza en y = (p1,2 - 20pO)/2pO. Tomando pO como fijo, el transportista presenta
una oferta de suministro con y en función de p1,2. Por el lado de la demanda, el transportista
toma p1,2 como fijo y presenta una oferta de demanda por suficiente mercancía GO para producir
y, donde y se trata como una función de pO.
Con la configuración revisada y los comportamientos de los agentes descritos, walras obtiene el
equilibrio del sistema (SE), es decir, la asignación de carga que minimiza los costes totales de
transporte. Los movimientos de carga derivados son correctos con una precisión del 10% en 36
ciclos de subasta y del 1% en 72, en los que cada agente presenta una oferta media en cada ciclo.
El coste total (en unidades de GO), su división entre gastos de los cargadores y beneficios de los
transportistas, y los precios de equilibrio se presentan en la Tabla 1. Para comparar, se incluyen los
datos de la solución UE del modelo de cargador binario. El hecho de que el proceso
descentralizado produzca un óptimo global es perfectamente coherente con el comportamiento
competitivo: los transportistas fijan el precio de sus productos al coste marginal y las tecnologías
son convexas.
Tabla 1: Equilibrios derivados por walras para el ejemplo del transporte. TC, MC y AC significan
coste total, marginal y medio, respectivamente. CT = gasto del cargador - beneficio del
transportista.
Como simple comprobación de los precios de la Tabla 1, podemos verificar que p2,3 - p3,4 = p2,4 y
p2,3 - p3,1 = p2,1. Ambas relaciones deben cumplirse en equilibrio. Ambas relaciones deben
cumplirse en equilibrio (suponiendo que todos los enlaces tengan movimientos distintos de cero),
ya que de lo contrario un cargador podría reducir su coste desviando parte de la carga. De hecho,
para un ejemplo sencillo (pequeño y simétrico) como éste, es fácil derivar el equilibrio
analíticamente utilizando ecuaciones globales como éstas. Pero, como ya se ha dicho, sería
impropio explotar estas relaciones en la aplicación de un proceso de decisión verdaderamente
distribuido. La lección de este ejercicio es que podemos obtener resultados cualitativamente
distintos mediante variaciones simi
La lección de este ejercicio es que podemos conseguir resultados cualitativamente distintos con
simples variaciones en la configuración del mercado o en las políticas de los agentes. Desde la
perspectiva de nuestros diseñadores, preferimos la configuración que conduzca a la SE más
eficiente desde el punto de vista del transporte. El examen de la Tabla 1 revela que podemos
alcanzar este resultado permitiendo que los transportistas obtengan beneficios distintos de cero
(desde el punto de vista económico, se trata en realidad de rentas sobre el factor fijo
representado por el canal congestionado) y redistribuyendo los beneficios entre los transportistas.
congestionado) y redistribuyendo estos beneficios a los cargadores para cubrir sus mayores
gastos. (En el modelo de equilibrio general con producción, los consumidores participan en los
beneficios de los productores. De este modo se cierra el círculo, de modo que todo el valor se
realiza en última instancia en el consumo. Podemos especificar estas participaciones como parte
de la configuración inicial, al igual que la dotación). En este ejemplo, distribuimos los beneficios
por igual entre los dos cargadores.
Los resultados anteriores demuestran que los walras sí pueden implementar una solución
descentralizada al problema del flujo multicommodity. Pero la estructura de mercado de la Figura
4 no es tan distribuida como podría ser, en el sentido de que (1) todos los agentes están
conectados a GO, y (2) los cargadores necesitan conocer todos los enlaces que potencialmente
sirven a su par origen-destino. El primero de estos problemas tiene fácil solución, ya que la
elección de un único recurso de transporte es completamente arbitraria. Por ejemplo, sería
sencillo considerar un conjunto de recursos (combustible, mano de obra, vehículos, etc.) y dotar a
cada cargador sólo de algunos de ellos.
La segunda preocupación también puede abordarse dentro de walras. Para ello, introducimos otro
tipo de agente productor. Estos nuevos agentes, denominados arbitrajistas, actúan como
intermediarios especializados, supervisando partes aisladas de la red en busca de ineficiencias. Un
arbitrajista Ai,j,k produce transporte de i a k comprando capacidad de i a j y de j a k. Su función de
producción simplemente especifica que la cantidad de su bien de salida, Gi,k, es igual al mínimo de
sus dos inputs, Gi,j y Gj,k. Si pi,j - pj,k < pi,k, su producción es rentable. Su política de oferta en
walras consiste en incrementar su nivel de actividad en cada iteración en una cantidad
proporcional a su rentabilidad actual (o decremento proporcional a la pérdida). Este
comportamiento incremental es necesario para todos los productores de rendimiento constante
en walras, ya que el problema de maximización de beneficios no tiene solución interior en el caso
lineal.7
Para incorporar a los arbitrajistas en la estructura del mercado de transporte, primero creamos
nuevas mercancías correspondientes al cierre transitivo de la red de transporte. En la red del
ejemplo, esto da lugar a mercancías para cada par de ubicaciones. A continuación, añadimos un
arbitrajista Ai,j,k para cada par de ubicaciones que (1) i --- j esté en la red original, y (2) exista un
camino de j a k que no atraviese la ubicación i. Estas dos condiciones garantizan que exista un
arbitrajista Ai,j,k para cada par i, k conectado por un camino con más de un enlace, y eliminan
algunas combinaciones que son redundantes o claramente no rentables.
La estructura de mercado revisada para el ejemplo en curso se representa en la Figura 5, con los
nuevos bienes y agentes sombreados. Algunos bienes y agentes inactivos en la solución de
mercado se han omitido del diagrama para evitar confusiones.
A pesar del comportamiento simplificado de los cargadores, walras sigue convergiendo a la SE, o
solución óptima, en esta configuración. Aunque la asignación de recursos resultante es idéntica,
un cambio cualitativo en la estructura del mercado corresponde aquí a un cambio cualitativo en el
grado de descentralización.
4.4 Resumen
En las secciones anteriores se han desarrollado tres configuraciones de mercado progresivamente
elaboradas para el problema del flujo multicommodity. La Tabla 2 resume el tamaño y la forma de
la configuración para una red de transporte con V ubicaciones y E enlaces, y M requisitos de
movimiento. El modelo básico del cargador da como resultado el equilibrio del usuario, mientras
que los dos modelos aumentados producen el equilibrio global óptimo del sistema. El modelo de
transportista requiere E nuevos agentes productores para obtener un resultado superior. El
modelo del arbitrajista añade O(V E) productores más y, potencialmente, también algunos bienes
nuevos, pero reduce el número de bienes de interés para cualquier agente individual de O(E) a una
pequeña constante.
Cuadro 2: Número de bienes y agentes para las tres configuraciones de mercado. Para cada tipo de
agente, la cifra entre paréntesis indica el número de bienes por los que puja cada individuo.
5. Limitaciones
Una seria limitación de walras es el supuesto de que los agentes actúan de forma competitiva.
Como se ha mencionado anteriormente, este comportamiento es racional cuando hay muchos
agentes, cada uno de ellos pequeño respecto al conjunto de la economía. Sin embargo, cuando un
agente individual es lo suficientemente grande como para afectar a los precios de forma
significativa (es decir, posee poder de mercado), pierde utilidad o beneficios al no tener esto en
cuenta. Existen dos enfoques para paliar la restricción de la competencia perfecta en una
economía computacional. En primer lugar, podríamos simplemente adoptar modelos de
competencia imperfecta, quizás basados en formas específicas de imperfección (por ejemplo,
competencia monopolística espacial) o en modelos generales de teoría de juegos. En segundo
lugar, como arquitectos, podemos configurar los mercados para fomentar el comportamiento
competitivo. Por ejemplo, reducir el tamaño de grano de los agentes y permitir su libre entrada
aumentaría el grado de competencia. Quizá lo más interesante sea que, controlando el
conocimiento que los agentes tienen de la estructura del mercado (mediante técnicas estándar de
encapsulación de la información), podemos reducir su capacidad para explotar el poder de
mercado que posean. Se ha demostrado que la incertidumbre aumenta la competitividad entre los
agentes con aversión al riesgo en algunos modelos formales de licitación (McAfee y McMillan,
1987), y en un entorno informático tenemos un control sustancial sobre esta incertidumbre.
Una vez definidas las walras como un entorno general para la planificación distribuida, es natural
preguntarse hasta qué punto es universal la "programación orientada al mercado" como
paradigma computacional. Podemos caracterizar la potencia computacional de este modelo con
bastante facilidad, por correspondencia con la clase de problemas de programación convexa
representados por economías que satisfacen las condiciones clásicas. Sin embargo, la cuestión más
interesante es hasta qué punto el marco conceptual del equilibrio de mercado se corresponde con
las características más destacadas de la economía de mercado.
equilibrio del mercado corresponde a las características más destacadas de los problemas de
planificación distribuida. Aunque es demasiado pronto para hacer una afirmación definitiva al
respecto, parece claro que muchas tareas de planificación son fundamentalmente problemas de
asignación de recursos, y que las unidades de distribución suelen corresponderse bien con las
unidades de agencia. La economía ha sido el enfoque más destacado (y posiblemente el más
exitoso) para modelar la asignación de recursos con la toma de decisiones descentralizada, y es
razonable suponer que los conceptos que los economistas encuentran útiles en el contexto social
resultarán igualmente útiles en nuestro contexto computacional análogo. Por supuesto, al igual
que la economía no es ideal para analizar todos los aspectos de la interacción social, cabe esperar
que muchos aspectos de la organización de la planificación distribuida no queden bien reflejados
en este marco.
Por último, el modelo de red de transporte presentado aquí es una versión muy simplificada del
problema real de planificación en este ámbito. Un tratamiento más realista abarcaría múltiples
tipos de mercancías, movimientos discretos, extensión temporal, estructura jerárquica de la red y
otras características críticas del problema. Algunas de estas características se pueden captar
mediante ampliaciones graduales del modelo simple, quizás aplicando elaboraciones desarrolladas
por la comunidad científica del transporte. Por ejemplo, muchos modelos de transporte (incluida
la formulación más elaborada de Harker (Harker, 1987)) tienen en cuenta la oferta y la demanda
variables de productos básicos y relaciones más complejas entre transportistas y cargadores. Los
conceptos de equilibrio espacial de precios, basados en los mercados de materias primas en cada
lugar, parecen ofrecer el enfoque más directo para ampliar el modelo de transporte dentro de
walras.
6. 6. Trabajos relacionados
Las técnicas y modelos aquí descritos se basan, obviamente, en numerosos trabajos de economía,
ciencias del transporte e investigación operativa. La contribución de investigación que se pretende
hacer aquí no es en estos campos, sino más bien en su aplicación a la construcción de un marco
computacional para la toma de decisiones descentralizada en general. No obstante, conviene
hacer algunas observaciones sobre la relación entre el enfoque aquí descrito y los métodos
existentes de optimización distribuida.
Aunque el modelo walras más elaborado es esencialmente equivalente a los algoritmos existentes
para el flujo multicommodity distribuido (Bertsekas & Tsitsiklis, 1989; Gallager, 1977), el marco de
mercado ofrece un enfoque hacia extensiones más allá del ámbito estricto de este problema de
optimización en particular. Por ejemplo, podríamos reducir el número de arbitrajistas, y aunque
esto eliminaría las garantías de optimalidad, aún podríamos tener una expectativa razonable de
degradación elegante. Del mismo modo, podríamos realizar ampliaciones conceptuales de la
estructura del problema, como la producción distribuida de bienes además de la trans- portación,
añadiendo nuevos tipos de agentes. Para cualquier ampliación, es muy posible que exista un
algoritmo de optimización distribuida personalizado que supere al mercado computacional, pero
es probable que la creación de este algoritmo implique un análisis completamente nuevo. No
obstante, hay que señalar que las especulaciones sobre las ventajas metodológicas del marco
orientado al mercado no son más que especulaciones en este momento, y que la relativa
flexibilidad de las aplicaciones que se programan en este paradigma deberá demostrarse
empíricamente en última instancia.
Por último, existe una amplia literatura sobre métodos de descomposición para problemas de
programación matemática, que es quizás el enfoque más común de la optimización distribuida.
Muchas de estas técnicas pueden interpretarse en términos económicos, utilizando la estrecha
relación entre los precios y los multiplicadores de Lagrange. De nuevo, la principal distinción del
enfoque que aquí se defiende es conceptual. En lugar de tomar un problema de optimización
global y descentralizarlo, nuestro objetivo es proporcionar un marco para formular una tarea de
forma distribuida en primer lugar.
Walras se distingue de estos esfuerzos anteriores en dos aspectos principales. En primer lugar,
está estructurado expresamente en términos de conceptos de la teoría del equilibrio general, para
promover el análisis matemático del sistema y facilitar la aplicación de los principios económicos al
diseño arquitectónico. En segundo lugar, walras está diseñado para servir como entorno de
programación general para implementar economías computacionales. Aunque no se ha
desarrollado específicamente para asignar recursos computacionales, no hay razón para que no
puedan incluirse en estructuras de mercado configuradas para dominios de aplicación concretos.
De hecho, la idea de basar las medidas del valor de la computación en valores del mundo real (por
ejemplo, movimientos de carga) se deriva naturalmente de la visión de equilibrio general de los
mercados interconectados, y es una de las perspectivas más interesantes para futuras aplicaciones
de walras a la resolución de problemas distribuidos.
Los teóricos de la organización han estudiado los mercados como mecanismos de coordinación de
actividades y asignación de recursos dentro de las empresas. Por ejemplo, Malone (1987) modela
los requisitos de información, flexibilidad y otras características de rendimiento de una variedad
de estructuras de mercado y no de mercado. En su terminología, walras implementa un mercado
centralizado, donde
la asignación de cada bien está mediada por una subasta. Utilizando tales modelos, podemos
determinar si esta forma bruta de organización es ventajosa, dada la información sobre el coste de
la comunicación, la flexibilidad de los módulos individuales y otras características relacionadas. En
este trabajo examinamos con más detalle el proceso de coordinación en los mercados
computacionales, profundizando en los criterios para diseñar mecanismos de asignación
descentralizados. Tomamos la restricción de distributividad como una imposición exógena; cuando
la restricción es relajable, tanto el análisis organizativo como el económico iluminan las
compensaciones subyacentes al problema del diseño de mecanismos.
7. Conclusión
La contribución del trabajo que aquí se presenta reside en la idea de programación orientada al
mercado, un algoritmo para el cálculo distribuido de equilibrios competitivos de economías
computacionales y una ilustración inicial del enfoque en un problema sencillo de asignación de
recursos distribuidos. Se requerirá una gran cantidad de trabajo adicional para comprender las
capacidades y limitaciones precisas del enfoque, y para establecer una metodología más amplia
para la configuración de economías computacionales.