Acessibilidade / Reportar erro

Um estudo comparativo entre a teoria dos jogos cooperativos e uma heurística aplicados a um problema real de alocação de custos

Resumos

Neste artigo fizemos o estudo de técnicas para a resolução de problemas de alocação de custos em redes de acesso com um grande número de usuários, como acontece em redes de informação, de distribuição de energia elétrica, de esgoto entre outras. O problema é como distribuir os custos envolvidos entre os usuários da rede. Para responder esta questão, fizemos uma caracterização do estado da arte para a teoria dos jogos cooperativos. Encontramos aplicação em um problema real de alocação de custos e usando a teoria revisada, definimos o problema, um modelo matemático associado a ele, e selecionamos alguns conceitos de solução. Além disso, também propusemos uma heurística que foi aplicada e comparada com as soluções obtidas pela teoria.

alocação de custos; teoria dos jogos cooperativos; heurística


In this paper we study solution techniques for the cost allocation problem in access networks with a large number of users, as it happens in communication, electrical energy distribution and sewer networks. The problem is how to allocate the involved cost among the network users. To answer this question, we do characterization of the state of art for the cooperative game theory. We find a real application and using this theory, we have defined the problem, its mathematical modeling, and select some solutions concepts. Moreover, we have considered a heuristic that has been applied and compared with the game theory solutions.

cost allocation; cooperative game theory; heuristic


UM ESTUDO COMPARATIVO ENTRE A TEORIA DOS JOGOS COOPERATIVOS E UMA HEURÍSTICA APLICADOS A UM PROBLEMA REAL DE ALOCAÇÃO DE CUSTOS

Renata Couto Moreira *

Departamento de Ciência da Computação

Universidade Federal de Lavras

Lavras – MG

E-mail: renatacm@comp.ufla.br

Henrique Pacca L. Luna

Departamento de Ciência da Computação

Universidade Federal de Minas Gerais

Belo Horizonte – MG

E-mail: pacca@dcc.ufmg.br

Paulo G. S. Guedes

Empresa de Informática e Informação do Município de Belo Horizonte (Prodabel)

Belo Horizonte – MG

E-mail: guedes@pbh.gov.br

* Corresponding author / autor para quem as correspondências devem ser encaminhadas

Recebido em 09/2001, aceito em 06/2002

Resumo

Neste artigo fizemos o estudo de técnicas para a resolução de problemas de alocação de custos em redes de acesso com um grande número de usuários, como acontece em redes de informação, de distribuição de energia elétrica, de esgoto entre outras. O problema é como distribuir os custos envolvidos entre os usuários da rede. Para responder esta questão, fizemos uma caracterização do estado da arte para a teoria dos jogos cooperativos. Encontramos aplicação em um problema real de alocação de custos e usando a teoria revisada, definimos o problema, um modelo matemático associado a ele, e selecionamos alguns conceitos de solução. Além disso, também propusemos uma heurística que foi aplicada e comparada com as soluções obtidas pela teoria.

Palavras-chave: alocação de custos, teoria dos jogos cooperativos, heurística.

Abstract

In this paper we study solution techniques for the cost allocation problem in access networks with a large number of users, as it happens in communication, electrical energy distribution and sewer networks. The problem is how to allocate the involved cost among the network users. To answer this question, we do characterization of the state of art for the cooperative game theory. We find a real application and using this theory, we have defined the problem, its mathematical modeling, and select some solutions concepts. Moreover, we have considered a heuristic that has been applied and compared with the game theory solutions.

Keywords: cost allocation, cooperative game theory, heuristic.

1. Introdução

As recentes privatizações na indústria nacional motivaram o estudo de modelos de como os preços e a distribuição de custos devem ser estruturados [S94]. Em situações de monopólio, existem trocas de subsídios entre serviços e clientes. Em um ambiente competitivo estes subsídios não são sustentados, ou aparecem de outra forma. Os problemas de alocação de custos giram em torno de situações nas quais clientes, que demandam um certo tipo de serviço (de comunicação, de computação, de energia elétrica, de água e esgoto, de transporte entre outros), são incentivados a se articularem para conseguir o serviço pretendido da melhor forma possível. A questão, difícil de resolver, que tem atraído muita atenção neste caso, é como distribuir o custo deste serviço entre estes clientes.

Como o serviço pode representar qualquer produto ou bem, a abrangência de áreas em que este problema pode ser encontrado, caracterizado e estudado torna-se significativa. Além disso, vale a pena ressaltar o aspecto cooperativo do problema. Como estamos lidando com custos, o interesse é, após resolvido o problema de encontrar o custo ótimo, distribuir este custo entre os clientes da forma mais justa possível, sem considerarmos competição entre os participantes. De fato, sempre deve existir uma cooperação entre os clientes para que o serviço seja obtido com um menor custo e para que uma alocação satisfatória deste valor entre os clientes seja alcançada.

A matéria serve também, ao estudo sobre o impacto da introdução da competição com a quebra do monopólio, em companhias públicas ou privadas, ou, ao papel do governo para regulamentar o mercado, com taxas, subsídios e mínimas e máximas tarifas recomendadas para os serviços requeridos [RL99].

Formulamos o problema então como um problema de rede de acesso. Uma rede é uma infra-estrutura comum que conecta vários usuários de um certo tipo de serviço. Esta rede foi representada por um grafo onde consideramos nós de demanda, um nó fornecedor comum e não capacitado, e os arcos também não capacitados com custos associados, caso o arco participe da solução ótima. Nós de transbordo, ou de Steiner também podem ser considerados. Estes nós representam a possibilidade de bifurcações ou esquinas em situações reais, são nós sem demanda nem fornecimento de serviço, servem apenas como passagem. Vale lembrar que o acréscimo de apenas um nó de Steiner ao problema faz com que ele passe da classe P para a classe NP-difícil. Uma representação em grafo de uma rede de acesso genérica pode ser vista na Figura 1.1.


Nesta figura os nós redondos e pretos representam os nós de demanda, o nó branco, de transbordo, e o nó quadrado é o fornecedor comum. Na tentativa de conectar todos os nós de demanda ao nó fornecedor com o menor custo possível, os nós brancos podem ou não ser ligados e todos os arcos podem ou não participar da solução ótima, existindo um custo de instalação do arco envolvido, caso ele seja selecionado. Os arcos destacados com linhas mais espessas representam uma solução de conexão entre os clientes e o fornecedor. Esta solução será ótima se a soma dos custos associados a todos os arcos utilizados for a menor entre todas as outras somas, obtidas nas outras possibilidades de conexão. Observemos que trata-se de uma solução em árvore, cuja configuração é desejada para a solução ótima, visto que a presença de um ciclo qualquer aumentaria o custo total não ligando a mais nenhum outro nó de demanda. Porém em situações reais, outras variáveis podem ser consideradas, como por exemplo, a garantia que o serviço chegará sempre ao destino, o que poderia impor uma configuração de anel à solução, em vez de uma árvore.

Neste trabalho consideramos que o problema de encontrar a configuração ótima já foi resolvido, já que vários estudos de métodos para isso podem ser encontrados na literatura [B77, GL00, GP68]. Nossa preocupação concentrou-se então na forma de distribuir este custo ótimo entre os nós de demanda. Para isso, o valor com o qual qualquer grupo de clientes está carregado deve, sempre que possível, ser menor que o custo necessário para prover o mesmo serviço a este grupo através de qualquer outra configuração de conexão possível. Esta é uma questão crucial desde que, se qualquer grupo de usuários acreditar que está sobrecarregado, ele poderá desistir de participar da solução de menor custo total para participar de outra solução que lhe pareça mais "vantajosa".

Somos induzidos então, a fazer apelo à Teoria dos Jogos Cooperativos como ferramenta de solução neste estudo. Para isso, apresentamos em seguida uma revisão bibliográfica caracterizando o estado da arte para esta teoria. A seção 3 deste artigo contém a caracterização de um problema real de distribuição de custos, a modelagem matemática do problema e os critérios de seleção das soluções que foram aplicadas. Dentre estes critério uma heurística é apresentada, justificada, aplicada e comparada com as soluções dadas pela teoria revisada. Na seção 4 estão os resultados obtidos. E, finalmente, na última seção fazemos a análise e a comparação entre as soluções para o problema apresentado na seção 3, e as conclusões referentes ao estudo.

2. Teoria dos Jogos: Estado da Arte

A teoria dos jogos aplicada aos problemas de alocação de custos lida com a introdução de um jogo cooperativo na forma de uma função característica, com os nós de usuários como jogadores e a função característica definida em todos os subconjuntos do conjunto de jogadores N. O valor da função característica para uma certa combinação de jogadores, que também chamaremos de coalizão, deve ser o custo da sub-rede ótima provendo serviço apenas àquele subconjunto de usuários. As restrições do modelo são dadas pelas restrições que definem os conceitos de "núcleo" (core) e de "e -núcleo menos ponderado" (least weighted e-core).

Na teoria dos jogos cooperativos várias soluções para alocação de custos razoáveis tem sido sugeridas [D88, Y85], entre elas estão o "valor de Shapley" e o "nucleolus". Estas definições e notações foram revisadas e analisadas quanto à eficiência de aplicá-las a problemas reais de rateio de custos que envolvem um grande número de jogadores. A partir dessa revisão pudemos encontrar critérios para a seleção das soluções aplicadas ao problema apresentado na seção 3.

Formalmente seja N={1,2..n} o conjunto finito de jogadores. Chamamos de jogo (N,c) o jogo cooperativo na forma da função característica c dada por:

definida para todas as coalizões de usuários. Onde c(N) representa o custo que deve ser repartido entre os jogadores e P, o conjunto formado por todos os subconjuntos S de N. Chamamos atenção para a cardinalidade de P dada por 2n, ou seja, nosso domínio cresce exponencialmente com o número de jogadores. Isto já representa uma barreira inicial para a aplicação da teoria dos jogos se for necessário o cálculo da função característica em todo seu domínio. Continuamos, portanto, a revisão procurando soluções que não necessitem da definição completa da função característica.

Seja xÎRn e SÍN, seja x(S)ºåjÎSxj um vetor de alocação de custo entre os jogadores. Podemos interpretar x(S) como a parte do custo total pago pela coalizão S. Todo vetor que representa um bom candidato para a alocação de custos x no jogo (N,c) satisfaz: x(N)=c(N).

As restrições, como dito anteriormente, seguem a definição do "núcleo" do jogo, que consiste em todos os vetores que atendem à restrição:

Observe que o "núcleo" consiste de todas as alocações de custo x onde nenhuma coalizão tenha incentivos de montar sua própria sub-rede, pois para qualquer subconjunto de jogadores, o custo da sua sub-rede ótima c(S) é sempre maior ou igual ao valor que este subconjunto deverá pagar x(S). Com respeito à formação e à estabilidade da rede ótima, pela teoria dos jogos pode ser dito que a alocação deve pertencer ao "núcleo" [082]. Em geral o "núcleo" pode ser vazio. Porém, no caso dos jogos de árvores geradoras mínimas, Granot & Huberman [GH81] demonstram que o "núcleo" nunca será vazio, o que torna este modelo interessante para estudo e aplicação. Além disso, eles também caracterizam uma solução que é sempre pertencente ao núcleo destes jogos e é de fácil obtenção.

Esta solução é dada pela solução de árvore de Bird [C97], e consiste em fazer uma leitura direta dos custos dos arcos do grafo associado ao problema, e atribuir cada custo lido ao nó que é extremidade do arco e ainda não recebeu um valor. Em outras palavras, cada um paga o custo do arco que incide nele na trajetória que o liga ao fornecedor. Selecionamos esta solução então, como boa de ser aplicada em jogos com um grande número de jogadores, visto a simplicidade e o crescimento linear com o número de nós da complexidade de tempo do seu procedimento de obtenção, considerando o número de leituras e atribuições como as operações relevantes.

Bird também contribuiu para esta teoria, com a definição do núcleo irredutível. Segundo ele, se considerarmos apenas uma árvore geradora mínima de um grafo G(N, E), mesmo sem conhecimento algum dos custos dos arcos que pertencem a E mas não à AGM, podemos encontrar outras distribuições de custos pertencentes ao núcleo, sem a necessidade de defini-lo por completo. Estas são dadas pelo conjunto de alocações de árvores de Bird, obtidas a partir de outras AGMs de um novo grafo completo G'(N, E') derivado da primeira AGM da seguinte forma:

Seja T uma árvore geradora mínima do grafo G(N,E) e ET os arcos desta árvore.

O custo kijdo arco {i,j} no novo grafo G' será dado por:

A partir deste novo grafo, encontram-se outras árvores geradoras de custo total igual ao custo mínimo. De cada uma faz-se a leitura direta da solução de árvore de Bird, ou seja, cada cliente pagando o custo do arco que chega a ele. Em [C97] foi provado que para todo nó iÎN, existe uma árvore geradora mínima Ti em que i é uma folha. Portanto, este procedimento gerará várias árvores geradoras mínimas que podem levar a diferentes vetores de distribuição do custo. Este conjunto de vetores pertence ao núcleo do jogo cooperativo de árvore geradora mínima e formam o núcleo irredutível. Esta proposta de soluções também foi utilizada na seção 3 do trabalho, já que representa uma forma de obtenção de outras soluções pertencentes ao núcleo do jogo, sem a necessidade de que a definição do núcleo esteja completa. Para instâncias com um número grande de jogadores e com informações incompletas é razoável pensar em utilizar este conceito.

Para o caso de não existência do núcleo, podemos usar o conceito de "e- núcleo menos ponderado" onde, para um número real e, é o conjunto de todos os vetores que atendem a: xÎRn| x(S)+ c(S) " ƹSÌ N e x(N)=c(N), onde e é dado pela diferença entre os valores da função objetivo para todo subconjunto de usuários e os valores cobrados do mesmo subgrupo, de forma que o e- núcleo nunca seja vazio. Há casos em que o valor de e é negativo e podem ser entendidos como situações em que é preferível subsidiar um certo subgrupo de usuários a deixar que eles rompam com a solução de custo total mínimo. Ele nunca será vazio [KB94]. Porém chamamos atenção para seu tamanho, que será também O(2n), para n jogadores, inviabilizando sua aplicação para valores grandes de n.

Em relação à satisfação dos clientes, ou seja, à justiça na distribuição do custo, qualquer uma das muitas alocações de custos que satisfazem às restrições anteriores poderia ser considerada, porém algumas podem ser mais interessantes que outras dependendo do problema a ser tratado.

Para efetuarmos a seleção da "melhor" solução, dentre as que atendem as restrições do modelo, encontramos na literatura os conceitos de "valor de Shapley" e de "nucleolus", que apresentaremos a seguir. O "valor de Shapley", introduzido por L. S. Shapley [S53] já foi utilizado em várias aplicações práticas como na distribuição de lucros do serviço nacional de reconhecimento de chamadas (BINA), na alocação da taxa de pouso de aeronaves, na distribuição de custos de bens e serviços públicos e em alocação de custos de reservas de água e suas desvalorizações [C97, LRRS95, S94]. Pela definição de Shapley, o valor da parcela xi do custo representa estatisticamente a contribuição marginal esperada do jogador i, assumindo que as coalizões se formam aleatoriamente. Formalmente é dado por:

Sendo S qualquer subconjunto não vazio de N, n a cardinalidade do conjunto N e s a do conjunto S. Verificamos que para cada jogador, precisamos resolver uma soma formada por 2n-1 termos, o que não seria eficiente para valores grandes de n. Além disso, precisamos definir a função característica em todo seu domínio para a obtenção do valor de Shapley, o que também inviabiliza a aplicação deste conceito em instâncias com muitos jogadores. Para vinte jogadores, seria uma soma com um milhão de termos para se ter uma idéia.

Além desta, outra proposta de seleção de uma alocação de custo explorada por vários autores [CK73, GH81, GH84, KB94] é o conceito de "nucleolus". Para um jogo (N;c) e para um vetor de alocação de custos x, seja: e(x,S)=c(S)–x(S) o excesso de S relativo a x e seja e(x) um vetor em R(2n-2) cujos elementos são e(x,S), ƹSÌN, em ordem não decrescente. O "nucleolus" é o vetor x que maximiza lexicograficamente e(x).

Granot & Huberman [GH84] apresentam um algoritmo para o cálculo do "nucleolus" para jogos de árvores geradoras mínimas. Ele é baseado na resolução de uma seqüência de subproblemas de programação linear. A cada novo subproblema a ser solucionado, fixamos no modelo a restrição, ou um conjunto de restrições, que tenham atingido a igualdade no último problema resolvido. O algoritmo pára quando chega em uma solução única, que é o próprio "nucleolus". O "nucleolus" sempre existe, é único e pertence ao núcleo, quando este não é vazio.

A solução pode ser encontrada sem necessariamente se fazer o acréscimo de todas as restrições do problema. Isso já foi verificado para jogos de redes capacitadas, por exemplo, como foi mostrado por Kapov & Beltrán [KB94]. Estes jogos também formam um conjunto interessante de estudo e aplicação em redes reais, já que o espaço de busca diminui significativamente, diminuindo conseqüentemente o tempo de execução do procedimento de obtenção do "nucleolus". Neste caso, apesar de não existir um algoritmo exato eficiente para sua obtenção, existem artigos empregando heurísticas juntamente com algoritmos exatos que conseguem tratar problemas com 25 jogadores. Mas um estudo mais específico nas propriedades do procedimento de obtenção do nucleolus pode encontrar alguma forma mais eficiente de seu cálculo favorecendo sua aplicação em instâncias envolvendo um grande número de jogadores. Como até o momento não encontramos nada neste sentido, preferimos descartar também este conceito para aplicação na seção 3.

A teoria dos jogos lida com conceitos bem amarrados matematicamente, e nos dá uma boa idéia de condições que devem ser consideradas em um problema de alocação de custos. Porém os procedimentos necessários para o cálculo da maioria destes conceitos de solução possuem uma função de complexidade de tempo e de espaço W(2n), sendo n o número de jogadores considerados. Para valores grandes de n torna-se praticamente impossível sua obtenção, por exemplo, para n=10, o núcleo deve ser definido por 1024 restrições, para cada restrição deve ser resolvido um problema de rede, que no caso mais simples é encontrar uma árvore geradora mínima associada ao grafo. Se dobramos o número de jogadores, n=20, teremos que encontrar 1048576 restrições, o que já é inviável computacionalmente. Por estas razões nos limitamos em aplicar as soluções já mencionadas, que não necessitam da definição da função característica em todo seu domínio. Algumas heurísticas de solução do problema de alocação de custos foram encontradas na literatura [LRRS95, LZC87, MLG00]. Porém elas eram específicas ao problema em particular, aos dados que estavam disponíveis e à forma de coletá-los.

3. Um Problema Real de Alocação de Custos

3.1 Caracterização do problema

A Empresa de Informática e Informação do Município de Belo Horizonte, que entre outras coisas, é responsável pelo funcionamento da Rede Municipal de Informação de Belo Horizonte (RMI), concordou em disponibilizar alguns dados para serem aplicados ao estudo pretendido.

A RMI está organizada numa topologia de anéis, sendo composta por um anel central e dez anéis que saem de dois pontos deste anel central e interligam uma seqüência de órgãos da Prefeitura Municipal de Belo Horizonte (PBH). No anel central estão os prédios da Prefeitura de Belo Horizonte e da empresa de informática. Nos outros anéis, as Administrações Regionais da prefeitura foram dispostas ligadas diretamente aos órgãos que formam o backbone central. Os demais prédios foram distribuídos pelos anéis aproximadamente de acordo com suas necessidades de tráfego. As conexões entre as instituições são feitas através de linhas privativas de comunicação de dados contratadas junto à concessionária de Telecomunicações TELEMAR sobre as quais utiliza-se o Protocolo Ponto-a-Ponto (PPP) associado ao conjunto de protocolos Protocolo de Controle de Transmissão / Protocolo de Internet (TCP/IP). O problema a ser resolvido é, dada a topologia da rede ótima, como distribuir o custo de aluguel das linhas dedicadas de informação entre os órgãos que formam a RMI. Sua topologia pode ser vista na Figura 3.1 a seguir. A seqüência de órgãos encontra-se na Tabela 3.1.


Como todos os órgãos participantes recebem dinheiro da Prefeitura, não existe política de distribuição do custo da RMI entre os usuários. A empresa de informática passa para a prefeitura quanto gastou no mês, e esse dinheiro é repassado a ela. Com a distribuição destes custos, esta empresa de informática poderá saber quanto cada órgão pesa no montante gasto, justificar as grandes quantias que a prefeitura despende com a rede em seus circuitos de telecomunicações, entre outras possibilidades de uso dessa informação.

3.2 Modelagem matemática

Para tentarmos montar um jogo cooperativo usando a Rede Municipal de Informação, propomos fazer uma redução do problema, passando de uma rede em anel para uma em árvore, para a qual a teoria se encontra bem desenvolvida. Para isso quebramos os anéis nas suas conexões centrais, aproximadamente eqüidistante dos órgãos que fazem parte do backbone central. Essas conexões são geralmente de menor capacidade e quase nunca são utilizadas, estando presentes na rede apenas para garantir a existência de pelo menos dois caminhos para a informação fluir. O custo destes circuitos dedicados foi distribuído igualmente entre todos os órgãos, visto que atendem uma necessidade de todos.

Quanto ao anel central, criou-se um nó imaginário O' no grafo G'. Os arcos incidentes a este nó substituem os arcos do backbone central, e conectam O' a cada órgão deste anel.

Passou-se de uma configuração em triângulo para uma estrela conectando os prédios do anel central, com O' no centro da estrela como pode ser visto na Figura 3.2.


Visto a dificuldade de separar órgãos fornecedores de clientes, já que o serviço de informação pode ser tanto solicitado quanto fornecido por qualquer órgão, foi resolvido considerar todos os nós de G' como clientes, somando os tráfegos que originam e destinam em cada um, e considerando como sendo sua demanda. Com exceção do nó O' que foi idealizado como um fornecedor comum sem limite de capacidade.

Chegou-se então a uma nova rede em estrutura de uma árvore com raiz em O', com as mesmas características da rede original. Além disso, ela é formada por três sub-árvores, cujos nós raízes estão nos prédios da empresa de informática (PDBL), e da prefeitura (AC200 e PBH1212). Com as três sub-árvores, que consideramos ótimas, montamos um jogo de árvores geradoras mínimas, cooperativo na forma da função característica, onde os órgãos municipais, como jogadores, cooperam entre si para formar a Rede Municipal de Informação. Esta formulação é propícia já que temos a garantia da existência do jogo para este caso.

A função característica c tem como domínio todos os subconjuntos S do conjunto de jogadores N. Como a cardinalidade desse conjunto é 79, a cardinalidade do conjunto domínio é então dada por 279= 604. 462. 909. 807. 314. 587. 353. 088 ! Para cada ponto do domínio, o valor de c é dado pela resolução de um problema de árvore geradora mínima, considerando apenas os nós pertencentes ao subconjunto S em questão, que também chamaremos de coalizão. Aqui encontramos outras dificuldades, primeiro no tamanho exponencial do domínio e segundo por só conhecermos os arcos que fazem parte da árvore que consideramos ótima, assim não podemos definir completamente a função característica, o que nos impede de aplicar a maioria dos conceitos revisados.

Contudo, mesmo com a falta de informações, encontramos alguns conceitos da teoria dos jogos para serem usados nestas situações, em que a definição do jogo é incompleta. Estes foram então selecionados para a aplicação. Uma breve descrição dos mesmos é dada a seguir, juntamente com a definição da heurística utilizada.

3.3 Conceitos de solução selecionados para aplicação

Usando os resultados de Granot & Huberman [GH84], encontramos um vetor de alocação de custos para o jogo de árvore geradora mínima em que nenhum órgão pague mais que pagaria se ligando de qualquer outra forma. Particularmente, é a solução que pertence ao "núcleo" do jogo e pode ser lida diretamente do grafo associado ao problema. Consiste em alocar para cada usuário o custo da conexão que incide nele, na trajetória que o liga ao fornecedor. Esta é uma solução conveniente, devido ao tamanho do problema e sua falta de informações. Chamamos esta distribuição de VALOR I no trabalho.

O outro conceito selecionado, foi o de núcleo irredutível [C97], visto que para seu cálculo só precisamos conhecer a solução ótima, como na aplicação em questão. Implementamos então um programa para o cálculo de algumas soluções pertencentes ao núcleo irredutível do jogo definido para a instância do problema associada à RMI. Como as soluções se diferenciavam pouco entre si e entre a solução dada em VALOR I, selecionamos a que apresentou mais diferença nos valores alocados e apresentamos como VALOR II.

Na revisão bibliográfica realizada, encontramos o uso de várias heurísticas para a resolução de problemas reais de alocação de custos. Porém todas eram muito específicas para as instâncias em que eram aplicadas. Verificamos em [MGL00] que para a mesma instância do problema, heurísticas que lidavam apenas com a distribuição do fluxo ou com a distribuição do custo da estrutura igualmente entre seus usuários não proporcionavam bons vetores de alocação, do ponto de vista de deixar todos os usuários satisfeitos. Aproveitamos algumas idéias que foram usadas e somando com as informações de tráfego da RMI que tínhamos disponíveis, propusemos uma heurística, associando para a distribuição, os custos da estrutura da rede com o tráfego de informação que nela circula associado a cada usuário. Esta foi uma tentativa de considerar tanto os custos fixos quanto os variáveis no rateio, visto que os conceitos da teoria dos jogos só consideravam o primeiro tipo de custos. A idéia proposta se baseia em associar um percentual de utilização a cada usuário, retirado dos relatórios mensais de tráfego da RMI. A distribuição de custos seguiu então o seguinte critério: cada órgão fica responsável por pagar a sua porcentagem de utilização sobre as linhas que o liga à raiz da árvore, menos a linha que incide nele da qual ele paga (1- soma), onde soma é a soma das porcentagens de utilização dos órgãos ligados ao fornecedor através dele. Se o órgão for uma folha desta árvore, ele paga sua porcentagem em todas as linhas pertencentes à trajetória que o liga à raiz, menos a linha que incide nele da qual ele paga o custo total. Chamamos esta alocação de VALOR III.

A seguir, apresentamos os resultados obtidos para as três propostas de solução, que serão posteriormente analisadas e comparadas.

4. Resultados

Na tabela seguinte pode ser visto cada órgão usuário da Rede Municipal de Informação de Belo Horizonte, a capacidade de fluxo da linha que chega a ele, segundo o grafo da Figura 1.1, sua porcentagem de utilização, e as três propostas de distribuição descritas nas seções anteriores.

5. Análises e Conclusões

Em VALOR I percebemos a existência de situações em que órgãos com diferentes percentuais de utilização estão carregados com o mesmo valor. O que não consideramos como uma "injustiça", já que a linha está disponibilizada para cada órgão usar como quiser. Mesmo que algum usuário esteja sub-utilizando a rede, o aluguel do circuito está sendo pago.

Em VALOR II, notamos poucas diferenças comparada a VALOR I. No anel 7 a mudança de valores entre DCUO e ARCS pode ser encarada como menos "justa" se a porcentagem de utilização for usada como parâmetro de decisão. Neste caso podemos optar em continuar com os valores da distribuição dada em VALOR I. Já no caso do anel 9, a troca de valores entre DISAN e FARMACIA-ARP pareceu mais "justa" pois o órgão com maior porcentagem de utilização ficou carregado com o maior valor. Para estes órgãos, pôde-se dar preferência a uma ou outra alocação baseando se nas informações de tráfego. Os órgãos nesta situação com menor percentual de uso da rede ficaram preferencialmente carregados com os menores valores obtidos. Isto representa uma melhoria da solução em relação a VALOR I, pois podemos fazer uma associação com o início do uso de informações de fluxo no rateio dos valores entre os jogadores.

Em VALOR III não verificamos injustiças do ponto de vista do jogo montado sobre o grafo G', os órgãos que usam mais sempre pagam mais, numa proporção adequada. Além disso, fizemos uma diferenciação entre clientes cobrando diferentes valores de acordo com o fluxo que circula na rede associado a cada um. Isso ainda amenizaria o sentimento de insatisfação que pode surgir nas propostas anteriores. Porém trata-se de uma heurística muito particular para a instância em questão, onde temos a possibilidade de determinar um percentual de uso fixo para os usuários. Também pode ser utilizada para redes com um comportamento de tráfego em média constante, ou constante por períodos, associando uma certo percentual para cada período. Verificamos também que esta heurística obteve uma solução pertencente ao núcleo do jogo, já que o tráfego que circula na rede impõe um limite inferior para a capacidade necessária das conexões, e conseqüentemente para o custo da rede. Se um órgão usa muito, ele precisa de uma linha de maior capacidade e é justo que este aumento no custo seja alocado para ele. Esta representou então a melhor forma de solucionar o problema de distribuição dos custos dos circuitos dedicados da RMI, não constituindo porém um conceito abrangente para a resolução de qualquer problema de alocação de custos.

Neste trabalho encontramos uma solução justa, pertencente ao núcleo do jogo, em tempo polinomial com o número de jogadores. O que na prática, para um grande número de usuários, podemos considerar satisfatório, já que para a aplicação dos conceitos da teoria dos jogos lidamos sempre com funções de complexidade de tempo e de espaço que crescem exponencialmente com o número de jogadores. Porém, tivemos que relaxar as propriedade de robustez e de otimalidade do procedimento de resolução, verificando sua validade apenas para a instância considerada e sem a preocupação de obtenção do ótimo global, os quais representam os pontos fracos da heurística proposta para a resolução de um problema genérico de alocação de custos. O que é superado pela teoria do jogos cooperativos, que usa definições robustas que valem para o problema generalizado.

  • [B77] Bazaraa, M.S. (1977). Linear Programming and Network Flows. John Wiley and Sons, USA.
  • [C75] Christofides, N. (1975). Graph Theory: An Algorithmic Approach Academic Press, New York.
  • [C95] Clark, D.D. (1995). A Model for Cost Allocation and Pricing in the Internet. MIT Workshop on Internet Economics March
  • [CK73] Clauss, A. & Kleitman, D.J. (1973). Cost-allocation for a Spanning Tree. Networks, 3, 289-304.
  • [C97] Curiel, I. (1997). Cooperative Game Theory and Applications Kluwer Academic Publishers, Netherlands.
  • [D88] Driessen, T. (1988). Cooperative Games, Solutions and Applications. Kluwer Academic Publishers, Dordrecht.
  • [GP68] Gilbert, E.N. & Pollack, H.O. (1968). Steiner Minimal Trees. SIAM Journal on Applied Mathematics, 16, 1-29.
  • [GL00] Goldbarg, M.C. & Luna, H.P.L. (2000). Otimizaçăo Combinatória e Programaçăo Linear: Modelos e Algoritmos. Campus, Rio de Janeiro.
  • [GG92] Granot, D. & Granot, F. (1992). Computational Complexity of a Cost Allocation Approach to a Fixed Cost Spanning Forest Problem. Mathematics of Operations Research, 17(4), 765-780.
  • [GH81] Granot, D. & Huberman, G. (1981). Minimum Cost Spanning Tree Games. Mathematical Programming, 21, 1-18.
  • [GH84] Granot, D. & Huberman, G. (1984). On the Core and Nucleolus of a Minimum Cost Spanning Tree Games. Mathematical Programming, 29, 323-347.
  • [K93] Kapov, D.S. (1993). On a Cost Allocation Problem Arising from a Capacitated Concentrator Covering Problem. Operations Research Letters, 13, 315-323.
  • [KB94] Kapov, D.S. & Beltrán, H.F. (1994). An Efficient Characterization of Some Cost Allocation Solutions Associated with Capacitated Network Design Problems. Telecommunication Systems, 3, 91-107.
  • [LRRS95] Linhart, P.; Radner, R.; Ramakrishnan, K.G. & Steinberg, R. (1995). The Allocation of Value for Jointly Provided Services. Telecommunication Systems, 4, 151-175.
  • [LZC87] Luna, H.P.L.; Ziviani, N. & Cabral, R.M.B. (1987). The Telephonic Switching Centre Network Problem: Formalization and Computational Experience. Discrete Applied Mathematics, 18, 199-210.
  • [M87] Maculan, N. (1987). The Steiner problem in graphs. Annals of Discrete Mathematics, 31, 185-212.
  • [M78] Meggido, N. (1978). Cost allocation for Steiner Trees. Networks, 8, 1-6.
  • [MGL00] Moreira, R.C.; Guedes, P.G.S. & Luna, H.P.L. (2000). Estudo dos Problemas de Alocaçăo de Custos em Redes de Acesso. Anais do XXXII Simpósio Brasileiro de Pesquisa Operacional, Universidade Federal de Viçosa, Brasil, 1883-1899.
  • [O82] Owen, G. (1982). Game Theory Academic Press Inc.
  • [RL99] Randazzo, C.D. & Luna, H.P.L. (1999). Decomposiçăo de Benders para Soluçăo do Problema de Planejamento de Redes de Acesso Local. Anais do XXXI Simpósio Brasileiro de Pesquisa Operacional, Universidade Federal de Juiz de Fora, Brasil, 1546-1560.
  • [S53] Shapley, L.S. (1953). A Value for N-person Games. In Contributions to the Theory of Games, 2, 307-317, Princeton University Press, Princeton, NJ.
  • [S94] Sharkey, W.W. (1994). The Role of Cost Allocation in Telecommunications Preprint.
  • [Y85] Young, H.P. (1985). Cost Allocation: Method, Principles, Applications North-Holland, Amsterdam.

Datas de Publicação

  • Publicação nesta coleção
    31 Jul 2002
  • Data do Fascículo
    Jun 2002

Histórico

  • Recebido
    Set 2001
  • Aceito
    Jun 2002
Sociedade Brasileira de Pesquisa Operacional Rua Mayrink Veiga, 32 - sala 601 - Centro, 20090-050 Rio de Janeiro RJ - Brasil, Tel.: +55 21 2263-0499, Fax: +55 21 2263-0501 - Rio de Janeiro - RJ - Brazil
E-mail: sobrapo@sobrapo.org.br