SIMULAÇÃO MULTIAGENTE DE UMA ECONOMIA DO INSUMO-PRODUTO E ESTUDO DE POLÍTICAS DE SELEÇÃO DE FORNECEDORES Fernando Matias Valadão Pontifícia Universidade Católica de Minas Gerais. Instituto de Informática. Rua Walter Ianni, 255, São Gabriel, 31980-110, Belo Horizonte, MG, Brasil. [email protected] Ricardo Poley Martins Ferreira Universidade Federal de Minas Gerais. Escola de Engenharia. Departamento de Engenharia Mecânica. Av. Antônio Carlos, 6.627, Pampulha, 31270-901, Belo Horizonte, MG, Brasil. [email protected] RESUMO O uso de simulação multiagente tem se mostrado uma ferramenta útil na modelagem e compreensão de fenômenos sociais e econômicos. A construção de arcabouços em software que auxiliem o estudo destes fenômenos, principalmente a emergência de redes econômicas, é uma área de pesquisa multidisciplinar envolvendo Ciência da Computação e Economia. Este artigo apresenta um simulador multiagente de uma economia descrita por sua matriz de insumo-produto e aplica o simulador no estudo de estratégias de seleção de fornecedores para os setores produtivos da economia. A matriz de insumo-produto, proposta por Wassily Leontief, mostra quais setores (produtivos e de demanda final) participam da economia, bem como em que medida cada um se relaciona com os outros trocando insumos e capital. Experimentos foram feitos aplicando-se diferentes estratégias de seleção de fornecedores. Os resultados destes experimentos são apresentados e discutidos neste artigo. PALAVRAS CHAVE. Simulação de Sistemas Multiagentes, Economia Computacional Baseada em Agentes, Políticas de Alocação. Área de classificação principal: AF – Aplicações a Economia e Finanças ABSTRACT The use of multiagent simulation techniques has been revealed to be an useful tool for the understanding of social and economic phenomena. The development of software frameworks to assist in the study of such phenomena, especially the growing of economic networks, is a multidiscipliany research area involving Computer Science and Economics. This paper presents an agent-based simulator for an economy described by its input-output matrix. This simulator is used to study supplier selection strategies for the productive sector of the economy. The inputoutput matrix was proposed by the economist Wassily Leontief and it shows which productive and final demand sectors take part in an economy, as well as how each sector relates to each other in terms of input and capital exchanges. Experiments have been done using different supplier selection strategies for the productive sectors of the economy. The results for these experiments are presented and discussed in this paper. KEYWORDS. Agent-based Simulation, Agent-Based Computational Economics, Allocation Policies. Main area: AF – Applications to Economy and Finance XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 592 1. Introdução Este artigo apresenta um arcabouço multiagente que permite simular uma economia caracterizada por sua matriz de insumo-produto. O uso deste arcabouço é mostrado simulando uma matriz simplificada da economia norte-americana, sobre a qual diferentes políticas de seleção de fornecedores são experimentadas para os setores produtivos da economia. Proposta por Wassily Leontief, um economista russo radicado nos Estados Unidos na década de 1930, a matriz de insumo-produto descreve os setores participantes de uma economia, mostrando em que medida eles trocam insumos e receita entre si (Leontief, 1988). Estes setores econômicos são constituídos pela agricultura, setores extrativistas de bens naturais ou minerais, os diversos ramos da indústria, o governo, setores financeiros e setores de demanda final. Muitas vezes, os membros constituintes de cada setor econômico apresentam relações de preferência com outros setores produtivos da economia. Partindo da agricultura e setores extrativistas, estes produtos são transformados pelos vários setores industriais até chegar aos setores que os distribuem para a demanda final. Esta rede econômica de relações recebe o nome de “cadeia de suprimentos” (Christopher, 2005). Modelos em software baseados em agentes tem sido utilizados para representar cadeias de suprimentos (Lin et alli, 1998) e a formação de redes econômicas (Tesfatsion, 2003). O objetivo é compreender o funcionamento destes fenômenos e testar hipóteses levantadas por economistas sobre os mesmos. A disciplina da “Economia Computacional Baseada em Agentes” trata do “estudo computacional de economias modeladas como sistemas evolutivos constituídos por agentes autônomos interagindo entre si” (Tesfatsion, 2003, p.2). O arcabouço aqui apresentado modela cada setor econômico da matriz de insumo-produto como múltiplos agentes, de forma que cada um tenha sua própria política de seleção de fornecedores, dentre outras características. Os experimentos apresentados são analisados com o intuito de se observar o ganho obtido por agentes que adotam uma política de cooperação com os demais agentes da economia. Para estes experimentos, o ato de “cooperar” foi definido como “dar desconto sobre o preço de mercado” nas transações com outros agentes. Os resultados dos experimentos mostraram que agentes que sempre cooperam com os demais agentes da economia se sobressaem em termos de ganho de capital e número de pedidos recebidos. Já os agentes que não cooperam são excluídos da economia, tendo reduzido a zero tanto seu ganho de capital quanto o número de pedidos recebidos. 2. Revisão Bibliográfica Esta seção analisa os trabalhos utilizados para a fundamentação e contextualização deste artigo. O método do insumo-produto e as cadeias de suprimentos e de valor são apresentados como os fundamentos necessários das Ciências Sociais. Feito isso, descrevem-se os trabalhos da Ciência da Computação relativos à simulação destes tópicos. 2.1. O Método do Insumo-Produto O método do insumo-produto “foi originalmente desenvolvido para avaliar as relações entre os diversos setores produtivos e de consumo de uma economia nacional” (Leontief 1988, p. 73), se estendendo também para economias menores (zona metropolitana) ou de uma grande empresa. Leontief divide os setores de uma economia do insumo-produto em endógenos e exógenos. Os setores endógenos são os setores produtivos da economia. São aqueles que trocam insumos entre si para gerar seu produto final. Um exemplo são os segmentos da indústria, tanto de bens quanto de serviços. Já os setores exógenos são os setores de demanda final da economia, tais como as famílias e o governo. O método de insumo-produto utiliza a matriz de insumo-produto como ferramenta de análise. Esta matriz, cujos dados vem de registros históricos, mostra em que medida cada setor da economia se relaciona com os demais e consigo mesmo. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 593 A Tabela 1 apresenta um exemplo de uma matriz de insumo-produto. Esta matriz simplificada da economia norte-americana representa uma economia constituída por dois setores endógenos (Agricultura e Indústria de Transformação) e um setor exógeno (Famílias). Setor 1: Agricultura Setor 2: Indústria de Transformação Setor 3: Famílias Produto Total Setor 1: Agricultura 25 20 55 100 bushels de trigo Setor 2: Indústria de Transformação 14 6 30 50 jardas de tecido Setor 3: Famílias 80 180 40 300 homensano de trabalho para de Tabela 1: Matriz de insumo-produto para três setores da economia norte-americana (Leontief 1988, p. 185) As informações contidas nas células podem ser lidas seguindo tanto suas linhas quanto suas colunas. A linha referente a um setor da economia representa as quantidades de seu produto enviado para os demais setores da economia. Já a coluna indica quanto insumo o respectivo setor da economia recebe dos demais setores. Considere o setor 1, “Agricultura”. A linha 1 da Tabela 1 indica que dos 100 bushels1 de trigo produzidos por este setor durante 1 ano, 25 ficam no próprio setor, 20 vão para a indústria de transformação e 55 são consumidos pelas famílias. Por sua vez, a coluna 1 da Tabela 1 indica que para produzir os 100 bushels de trigo, o setor “Agricultura” consome 25 bushels do próprio setor, 14 jardas de tecido da indústria de transformação e 80 homens durante 1 ano. 2.2. Cadeias de Valor e de Suprimentos Simchi-Levi e outros definem uma cadeia de suprimentos como “o conjunto de abordagens utilizadas para integrar eficientemente fornecedores, fabricantes, depósitos e armazens, de forma que a mercadoria seja produzida e distribuída na quantidade certa, para a localização certa e no tempo certo” (Simchi-Levi et alii, 2003, p. 28). Gerir uma cadeia de suprimentos significa coordenar a logística de produtos entre os vários níveis do processo, desde os fornecedores de matéria-prima até a entrega ao cliente (consumidor final). Porter e Christopher consideram que a eficaz gestão da cadeia de suprimentos fornece importante fonte de vantagem competitiva para a empresa, isto é, uma posição de duradoura superioridade em relação aos concorrentes em termos de preferência do cliente (Porter, 1998; Christopher, 2005). O diferencial dos produtos das empresas com vantagem competitiva em relação à concorrência é chamado de “vantagem de valor”. Nesse contexto de concorrência e busca de destaque dos produtos aos olhos do cliente, Porter propôs o conceito de “cadeia de valor”. Ela é uma ferramenta para dividir a empresa nas suas atividades estrategicamente pertinentes, afim de entender o comportamento de custos e as fontes de diferenciação existentes (Porter, 1998). 2.3. Simulação de Sistemas Multiagentes Weiss define um agente como “um sistema informatizado situado em um ambiente e capaz de ações autônomas neste ambiente com o intuito de atingir seus objetivos” (Weiss, 2000, p. 29). Dois termos desta definição merecem destaque: • Ambiente: o agente percebe o ambiente em que está inserido através de sensores 1 Bushel: unidade de volume norte-americana comumente utilizada na agricultura. Corresponde a 35,24 litros. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 594 • Ações autônomas: a partir das informações obtidas do ambiente via sensores, o agente decide ou não atuar neste ambiente. Estas decisões são tomadas de maneira independente pelo agente. Um sistema multiagente é “um sistema constituído de um grupo de agentes que potencialmente interagem entre si” (Vlassis, 2007, p. 1). 2.3.1. Simulação Multiagente Aplicada às Ciências Sociais No início dos anos 80, o professor de Ciência Política Robert Axelrod teve a idéia de se utilizar experimentos computacionais para validar estratégias de colaboração relacionadas a problemas do mundo real (Axelrod, 1984). O problema escolhido para tratar foi o “dilema do prisioneiro iterativo” e diferentes algoritmos de colaboração foram desenvolvidos em software para simular as possíveis estratégias de colaboração entre os prisioneiros. A idéia era efetuar competições variadas entre os algoritmos e descobrir qual a melhor estratégia. O melhor resultado foi alcançado pela estratégia “olho por olho, dente por dente”: agentes que utilizam esta estratégia cooperam na iteração i com quem cooperou na iteração i - 1 do jogo; caso contrário, não cooperam. Uma conclusão obtida foi que nem sempre uma estratégia complexa é necessária ou garante os melhores resultados, dado o caráter simples da estratégia vencedora. O trabalho de Axelrod ficou marcado pelo pioneirismo da simulação computacional como ferramenta de auxílio à metodologia científica das Ciências Sociais (Epstein e Axtell, 1996; Tesfatsion, 2003). Epstein e Axtell estenderam a idéia de Axelrod para simular fenômenos sociais mais complexos, tais como migração de populações para locais com abundância de recursos naturais (Epstein e Axtell, 1996). Através de regras simples que governam o comportamento das entidades envolvidas, observa-se a emergência de comportamentos complexos no conjunto formado pelas entidades. Esta estratégia de se partir de “regras locais” (definidas para cada entidade) para analisar a emergência de “padrões globais” (visualizados no todo) ficou conhecida como “estratégia bottom-up”, ou “de baixo para cima”. 2.3.2. A Economia Computacional Baseada em Agentes A Economia é uma ciência que estuda processos sociais complexos. O grande número de agentes econômicos envolvidos, cujas características são variadas; o comportamento estratégico que guia as suas tomadas de decisão; a possibilidade de equilíbrios múltiplos no cenário econômico: são estes exemplos das características dos processos econômicos que fazem aumentar a complexidade de sua análise e entendimento (Tesfatsion e Judd, 2006). No contexto das Ciências Econômicas, utilizar-se software para simular e modelar processos econômicos fez surgir a disciplina “Economia Computacional Baseada em Agentes” (“AgentBased Computational Economics”, ou ACE, na sigla em inglês). Tesfatsion define a ACE como “o estudo computacional de economias modeladas como sistemas evolutivos constituídos por agentes autônomos interagindo entre si” (Tesfatsion, 2003, p.2) Dentre os temas de pesquisa abordados na Economia computacional, podem-se citar: evolução do comportamento dos agentes econômicos para melhorar resultados individuais, modelagem de mercados “de baixo para cima” (bottom-up), formação de redes econômicas e construção de arcabouços ou “laboratórios computacionais” que auxiliem tópicos específicos da Economia. 2.3.3. Simulação Multiagente de Cadeias de Suprimentos e Cadeias de Valor Modelos baseados em agentes têm sido utilizados para simular cadeias de suprimentos e de valor. Sarker e outros apresentam uma cadeia de suprimentos genérica, constituída por fornecedores, manufatureiros, atacadistas, varejistas e consumidores (Sarker et alii, 2005). O trabalho mostra que, na ausência de um mecanismo eficiente de coordenação das informações trocadas entre os níveis da cadeia, o sistema apresenta o chamado “efeito chicote” (“the bullwhip XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 595 effect”): há uma tendência de se acumular matéria-prima nos níveis da cadeia que estão mais distantes do consumidor final. Outros modelos semelhantes de cadeias de suprimentos baseadas em agentes são apresentados em: Lin et alii (1998), Fox et alli (2000); Umeda e Lee (2004). Todos se concentram em modelar cada nível da cadeia como um agente, adicionando conexões entre os níveis que se relacionam. O comportamento dos agentes é definido em termos da gerência do estoque de matéria-prima, do inventário de produtos finais e da previsão da demanda. Eymann e outros desenvolveram um simulador de cadeia de valor baseado em agentes que permite definir os níveis da cadeia com suas políticas de preço particulares (Eymann et alii, 2008). Cada nível da cadeia propõe um preço de venda e uma margem de negociação neste preço a ser utilizada com os demais agentes da cadeia. Os experimentos são feitos com o intuito de se avaliar qual preço final médio chega ao consumidor, bem como em que proporção cada nível da cadeia agrega valor ao produto final. Railsback e outros sugerem que o “Repast” (Repast, 2009) seja utilizado como ferramenta de auxílio na simulação multiagente voltada a modelos da Economia e outras Ciências Sociais (Railsback et alii, 2006). Isto porque ele possui recursos próprios para modelos destas Ciências, tais como a criação de conexões entre os agentes, recurso muito útil em cadeias de suprimentos e modelos de insumo-produto. 3. Simulação de uma Economia do Insumo-Produto Esta seção descreve o software desenvolvido para simular uma economia de insumo-produto de n setores endógenos e 1 setor exógeno, tal qual no modelo proposto por Leontief. O “Repast” foi escolhido como ferramenta de auxílio na construção do simulador, dadas as suas características e vantagens discutidas para a simulação voltada às Ciências Sociais. 3.1. Modelo de simulação: Agentes endógenos e exógenos na economia O mecanismo desenvolvido para modelar as interações entre os agentes endógenos e exógenos é semelhante aos mecanismos de interações nos simuladores de cadeia de suprimentos e de valor. Entretanto, se nestes casos o agente possui conexões somente com o setor anterior (do qual recebe insumos) e posterior da cadeia (ao qual envia seus produtos), no simulador de uma economia do insumo-produto, todos os setores possuem conexões entre si. Cada setor da economia, seja endógeno ou exógeno, é modelado com múltiplos agentes. Como não são setores produtivos, os agentes exógenos somente requisitam produtos para os agentes endógenos através de pedidos, além de efetuar seu pagamento quando os receberem. Assim, se comportam como setores de demanda final. O quadro 1 apresenta o algoritmo de funcionamento do agente exógeno. 1. 2. 3. 4. O agente obtém os pedidos entregues pelos agentes endógenos Para cada pedido recebido 2.1. O agente paga o preço total do pedido ao agente endógeno 2.2. O agente marca o produto como “consumido” O agente obtém os n setores produtivos da economia de insumo-produto Para cada setor i dos n setores produtivos 4.1. O agente busca da matriz de insumo-produto a quantidade consumida do setor i (demanda final) 4.2. O agente seleciona um agente endógeno do setor i (fornecedor) 4.3. O agente faz um pedido ao setor i para o fornecedor selecionado Quadro 1: Comportamento de um agente exógeno na economia do insumo-produto No Quadro 1: • Os passos 1 a 2, executados no instante de tempo t, controlam o recebimento dos pedidos entregues pelos agentes endógenos no instante t – 1. • Nos passos 3 a 4, os agentes fazem novos pedidos. Para o passo 4.2 (seleção do fornecedor), como se pretende manter fixa a demanda dos setores endógenos, os XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 596 agentes exógenos têm fixados os setores produtivos com os quais se relacionam. Isto é definido no momento da inicialização da simulação. Já o comportamento dos agentes endógenos é definido através dos passos mostrados no quadro 2: 1. 2. 3. 4. 5. 6. 7. O agente obtém os pedidos feitos aos outros setores da economia e entregues pelos agentes endógenos destes setores Para cada pedido recebido 2.1. O agente atualiza o estoque associado ao produto deste pedido 2.2. Se o agente possui fluxo em caixa suficiente para pagar o pedido 2.2.1. O agente paga o pedido integralmente 2.3. Senão 2.3.1. O pedido é pago parcialmente (somente o que houver em caixa) Enquanto o agente houver estoque suficiente e o número de itens produzidos for menor que a taxa máxima 3.1. O agente obtém as quantidades consumidas como insumo da matriz de insumo-produto 3.2. O agente decrementa os estoques de insumos de acordo com as respectivas quantidades 3.3. O agente acrescenta 1 unidade ao seu inventário de produto final Para cada pedido recebido de outros agentes (sejam endógenos ou exógenos) 4.1. Se há inventário suficiente 4.1.1. O agente entrega o pedido completo 4.2. Senão 4.2.1. O agente entrega o pedido parcialmente 4.3. O agente decrementa seu inventário de produto final como a quantidade entregue no pedido 4.4. O agente calcula o preço do pedido (preço por unidade é fixo) O agente obtém os n – 1 setores produtivos da economia de insumo-produto Para cada setor i dos n – 1 setores produtivos (não inclui o próprio setor) 6.1. O agente busca da matriz de insumo-produto a quantidade consumida do setor i (insumo) 6.2. Se o estoque atual é menor que a quantidade a ser consumida 6.2.1. O agente seleciona um agente endógeno do setor i (fornecedor) 6.2.2. O agente faz um pedido ao setor i para o fornecedor selecionado O agente paga os salários dos agentes exógenos Quadro 2: Comportamento de um agente endógeno na economia do insumo-produto No Quadro 2: • Os passos 1 a 2 controlam o recebimento de pedidos feitos aos outros setores endógenos da economia. Isto é para que o agente mantenha seu estoque de forma a continuar produzindo e alimentando seu inventário. Estes pedidos também são pagos aos fornecedores. No passo 2.3.1, como não há crédito no sistema e na falta de capital suficiente, o agente paga somente aquilo que estiver em caixa nestas situações. • O passo 3 representa a transformação do estoque de insumos em produto final, o qual alimenta o inventário do agente. Para o consumo do estoque, utiliza-se os coeficientes da matriz de insumo-produto relacionados àquele setor produtivo. Cada agente possui uma taxa de produção máxima, a qual não pode ser excedida em cada iteração da simulação. • O passo 4 controla a entrega de pedidos recebidos pelo agente. Neste passo, o inventário de produto final é consumido através dos pedidos recebidos e entregues aos clientes. Cada setor produtivo tem um preço de mercado por unidade de seu produto e este preço é utilizado para calcular o preço final do pedido entregue. • Os passos 5 e 6 controlam os pedidos de insumos aos demais setores produtivos da economia. Estes passos são análogos aos passos 3 e 4 dos agentes exógenos (ver Quadro 1), com a seguinte diferença: enquanto os agentes exógenos fazem pedidos aos n setores endógenos da economia, os agentes endógenos fazem pedidos aos n – 1 outros setores endógenos. Isto é, um setor endógeno não faz pedido para si mesmo. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 597 • Por fim, o passo 7 representa o pagamento dos salários aos setores exógenos, que representam tanto a mão-de-obra do modelo quanto a sua demanda final. A seção seguinte representa o detalhamento do item 6.2.1 do Quadro 2. Nela, são explicadas as diferentes políticas de seleção do fornecedor implementadas. 3.2. Política de seleção de fornecedores para os agentes endógenos Foram implementadas duas políticas de seleção de fornecedores: uma política de seleção aleatória e outra baseada no jogo do dilema do prisioneiro iterativo. Para esta, foram implementadas três estratégias: Sempre Cooperar, Nunca Cooperar e Olho por olho, dente por dente. A seguir, explica-se as características de cada política: 3.2.1. Política de seleção aleatória do fornecedor O agente escolhe um fornecedor aleatoriamente dentre todos aqueles que participam da economia. Não há qualquer análise de preferência ou uso de informações do histórico das transações. Define-se como “sem inteligência” o agente que adota esta política de seleção, pois considera-se que não há qualquer mecanismo de análise “inteligente” na seleção do fornecedor. 3.2.2. Política de seleção do fornecedor baseada no “dilema do prisioneiro iterativo” A cada iteração do jogo do “dilema do prisioneiro iterativo”, cada participante toma a decisão de “cooperar” ou “não cooperar” com seu adversário. A Tabela 3 mostra os pontos ganhos pelos participantes a cada iteração (Axelrod, 1984, p. 8). Ganha quem acumular mais pontos ao final do jogo. Jogador 1 Jogador 2 Cooperar Não cooperar Cooperar J1 = 3, J2 = 3 J1 = 0, J2 = 5 Não cooperar J1 = 5, J2 = 0 J1 = 1, J2 = 1 Tabela 2: Pontuação para o jogo do dilema do prisioneiro iterativo Para o problema em questão, que é de seleção do fornecedor, definiu-se que um parceiro na transação coopera quando ele vende seus produtos com desconto. O parceiro não coopera quando vende seus produtos sem desconto, ou seja, no preço de mercado. Três estratégias foram implementadas: • Sempre cooperar: o agente sempre vende seus produtos com desconto • Nunca cooperar: o agente nunca vende seus produtos com desconto • Olho por olho, dente por dente: o agente vende seus produtos com desconto para quem lhe vendeu com desconto na iteração anterior. Caso contrário, vende sem desconto para quem lhe vendeu sem desconto na iteração anterior. A seleção de fornecedor baseada no jogo do dilema do prisioneiro é descrita no Quadro 3: 1 2 Se é “momento de avaliação” 1.1. O agente seleciona todos os fornecedores do i-ésimo setor da economia 1.2. O agente divide a quantidade de insumo em m pedidos 1.3. O agente faz um pedido a cada um dos fornecedores do i-ésimo setor Senão 2.1. O agente seleciona o fornecedor do i-ésimo setor da economia com o qual tenha mais pontos acumulados 2.2. O agente faz um pedido a este fornecedor Quadro 3: Seleção de fornecedor baseada no "dilema do prisioneiro iterativo" XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 598 No Quadro 3, o chamado “momento de avaliação” é quando o agente testa a cooperação de seus fornecedores. Ele faz pedido a todos os fornecedores para verificar qual lhe concederá descontos. Como todos os agentes neste “momento de avaliação” fazem pedidos uns aos outros, a concessão ou não de descontos alimenta os pontos do jogo no histórico das transações. Caso não seja “momento de avaliação”, o agente seleciona o fornecedor com o qual tenha mais pontos acumulados no histórico. 4. Estudos de Caso Como estudo de caso para validação do modelo implementado, foram executadas simulações envolvendo múltiplos agentes em cada setor econômico da matriz de insumo-produto exibida na seção 2.1. Os experimentos foram feitos para analisar as diferentes políticas de seleção do fornecedor implementadas. O objetivo é avaliar se uma política de cooperar ou não cooperar é vantajosa para os agentes que a adotam. Duas propriedades dos agentes são utilizadas na análise dos resultados: • O capital acumulado, que mostra a situação econômica do agente (um maior capital acumulado em relação aos demais mostra uma melhor situação econômica do agente); • O número de pedidos recebidos e entregues, que mostra em que medida este agente é preferido dentre os outros como fornecedor de insumos (um maior número de pedidos recebidos e entregues significa que este agente é preferido dentre os demais). Os resultados são apresentados a seguir. 4.1. Configuração geral dos agentes Cada setor endógeno (agricultura e indústria de transformação) é constituído por 30 agentes2. Cada agente da agricultura possui as seguintes propriedades iniciais: • Inventário inicial: 10000 unidades de produto acabado • Capital inicial: 2000 unidades de moeda • Taxa máxima de produção: 100 unidades por iteração • Estoque inicial de insumos da indústria: 14 unidades • Preço de mercado: 2 unidades de moeda Cada agente da indústria de transformação possui as seguintes propriedades iniciais: • Inventário inicial: 5000 unidades de produto acabado • Capital inicial: 2500 unidades de moeda • Taxa máxima de produção: 50 unidades por iteração • Estoque inicial de insumos da agricultura: 20 unidades • Preço de mercado: 5 unidades de moeda A simulação também se constitui de 30 agentes exógenos, cujo capital inicial é de 8000 unidades de moedas. 4.2. Primeiro conjunto de experimentos: simulação com política de seleção aleatória do fornecedor Este experimento representa a validação do modelo multiagente desenvolvido em relação ao método apresentado por Leontief. O sistema está em equilíbrio e, por isso, os resultados obtidos servem como “linha de base” para comparação com outros futuros experimentos e estudos de caso. Aqui, os agentes produzem continuamente consumindo seus estoques de insumos. Para manter sua capacidade produtiva, os agentes fazem pedidos continuamente aos agentes de outros setores econômicos. Como os preços adotados pelos agentes da Agricultura e Indústria de Transformação são fixos (o preço de mercado exibido na seção 4.1), o capital médio acumulado 2 Experimentos preliminares com 5, 10, 15 e 20 agentes endógenos mostraram que este número não interfere nos resultados aqui apresentados. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 599 em cada setor da economia gira em torno do capital inicial dos agentes, tal qual exibido na Figura 1: Capital Capital Médio - Agentes "sem inteligência" 5500 5000 4500 4000 3500 3000 2500 2000 1500 1000 500 0 Agricultura Indústria de Transformação 1 51 101 151 201 251 301 351 401 451 Tempo Figura 1: Capital Médio - Agentes "sem Inteligência" A Tabela 3 apresenta o número médio de pedidos recebidos e entregues por setor econômico. Esta média é calculada sobre o número total de pedidos ao final da simulação: Setor Econômico Número médio de pedidos recebidos e entregues Agricultura 99 Indústria de Transformação 99 Tabela 3: Número médido de pedidos recebidos e entregues - Agentes "sem Inteligência" Estes valores de capital e número médio de pedidos serão utilizados para comparação com os resultados dos experimentos seguintes. 4.3. Segundo conjunto de experimentos: simulação com política de seleção do fornecedor baseada no jogo do “dilema do prisioneiro iterativo” Os 30 agentes de cada setor endógeno (agricultura e indústria de transformação) com seleção aleatória de fornecedor tiveram este critério substituído pela implementação baseada no jogo do “dilema do prisioneiro iterativo”, com as estratégias divididas da seguinte forma: • 10 agentes utilizando a estratégia “Sempre cooperar” • 10 agentes utilizando a estratégia “Nunca cooperar” • 10 agentes utilizando a estratégia “Olho por olho, dente por dente” • Desconto dado ao cooperar: 10% sobre o preço de mercado As Figuras 2 e 3 mostram o capital médio acumulado pela Agricultura e Indústria de Transformação, respectivamente, em relação às diferentes estratégias adotadas. Nota-se que, mesmo vendendo seus produtos sempre por um preço menor que o preço de mercado, os agentes que sempre cooperam conseguiram um acúmulo de capital maior que aqueles que adotam outras estratégias. O seu capital acumulado também foi maior que o capital médio de quando utilizaram a seleção aleatória de fornecedor (agente “sem inteligência”). Os agentes que não cooperam (que sempre vendem seus produtos sem desconto) foram excluídos e preferidos por outros agentes cooperativos, o que fez com que seu capital chegasse a zero. Os agentes da “Agricultura” que utilizaram a estratégia “Olho por Olho, Dente por Dente” tiveram XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 600 um acúmulo de capital pouco maior que a média dos agentes “sem inteligência”, enquanto os agentes da indústria que utilizam esta mesma estratégia tiveram um acúmulo de capital pouco menor que a média. Agricultura - Média por estratégia 5500 5000 4500 Sempre Coopera Capital 4000 3500 3000 2500 Olho por Olho, Dente por Dente 2000 1500 1000 500 Nunca Coopera 0 1 51 101 151 201 251 301 351 401 451 Tem po Figura 2: Capital médio da agricultura por estratégia Indústria - Média por estratégia 5500 5000 4500 Sempre Coopera Capital 4000 3500 3000 Olho por Olho, Dente por Dente 2500 2000 1500 Nunca Coopera 1000 500 0 1 51 101 151 201 251 301 351 401 451 Tem po Figura 3: Capital médio da indústria por estratégia As Tabelas 4 e 5 mostram o número médio de pedidos recebidos e entregues pela Agricultura e Indústria, respectivamente. Esta média é calculada sobre o número total de pedidos acumulados por estratégia ao final da simulação. As linhas de cada tabela representam os fornecedores dos pedidos, enquanto as colunas representam os clientes dos pedidos. Por exemplo: na Tabela 4, tem-se os pedidos feitos pela Indústria (cliente) à Agricultura (fornecedor). Os agentes da Agricultura que utilizaram a estratégia “Sempre Coopera” receberam em média 142 pedidos durante a simulação. Destes 142, 67 vieram de agentes da Indústria que utilizaram a estratégia “Nunca Cooperar”, 36 utilizaram a XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 601 estratégia “Sempre Coopera” e 37, “Olho por Olho, Dente por Dente”. Análise semelhante pode ser feita para as outras linhas da tabela. Indústria Agricultura Sempre Cooperar Olho por Olho, Dente por Dente Nunca Cooperar Sempre Cooperar 36.82 Olho por Olho, Dente por Dente 37.32 Nunca Cooperar 67.98 Total 142.12 36.84 0.34 36.34 0.34 5.74 0.28 78.92 0.96 Tabela 4: Número médio de pedidos recebidos e entregues – Agricultura Agricultura Indústria Sempre Cooperar Olho por Olho, Dente por Dente Nunca Cooperar Sempre Cooperar 31.90 Olho por Olho, Dente por Dente 33.08 Nunca cooperar 60.7 Total 125.68 33.14 0.34 32.58 0.34 4.59 0.44 70.31 1.12 Tabela 5: Número médio de pedidos recebidos e entregues – Indústria Os dados das Tabelas 4 e 5 mostram que os agentes que adotaram a estratégia “Sempre Coopera” receberam mais pedidos que os agentes que adotaram outras estratégias. Este número também foi superior ao número médio de pedidos dos agentes “sem inteligência” (99, para ambos os setores). Os agentes que utilizaram a estratégia “Olho por Olho, Dente por Dente” tiveram um número de pedidos recebidos pouco abaixo da média dos agentes “sem inteligência”. Já os agentes que nunca cooperam foram totalmente excluídos das transações. Pelos dados das Tabelas 4 e 5 e dos gráficos das Figuras 2 e 3, conclui-se que a estratégia de “Sempre Cooperar” foi vantajosa para os agentes que a adotaram. A estratégia “Olho por Olho, Dente por Dente” não teve um ganho considerável em relação à política de seleção aleatória. Os agentes que adotaram uma estratégia de nunca cooperar foram excluídos da economia. 5. Conclusões Este artigo apresentou um simulador multiagente de uma economia com múltiplos setores endógenos ou produtivos e um setor exógeno ou de demanda final. As relações intersetoriais desta economia são descritas por sua matriz de insumo-produto, um modelo clássico proposto por Wassily Leontief. Cada setor econômico pode ser modelado com múltiplos agentes, o que permite caracterizar a heterogeneidade destes setores. A partir do comportamento dos agentes de diferentes setores, a economia é simulada como uma troca contínua de produtos e capital entre os agentes. Para os setores produtivos da economia, foram apresentadas duas políticas de seleção de fornecedores de insumos: uma política aleatória ou “sem inteligência”; e outra política “inteligente”, baseada no jogo do dilema do prisioneiro iterativo. Para esta última política, foram implementadas as estratégias mais clássicas, buscando sempre distingui-las em termos das decisões tomadas de “Cooperar” ou “Não cooperar” com seu parceiro de negócios. Experimentos foram feitos simulando uma matriz de insumo-produto simplificada da economia norte-americana. As duas políticas de seleção de fornecedores foram aplicadas sobre os setores produtivos desta matriz para analisar o impacto de cada uma. Notou-se que os agentes que adotaram estratégias de cooperação se deram melhor na economia em termos de capital acumulado e número de pedidos recebidos. Os agentes que não adotaram política de cooperação foram excluídos das transações comerciais, tendo seu capital acumulado reduzido a zero, bem como uma diminuição do número de pedidos recebidos. Notou-se a emergência de uma cadeia de suprimentos entre os agentes de diferentes setores que adotaram a estratégia de cooperação entre si. Esta emergência é um resultado preliminar e carece investigação mais detalhada através da simulação de uma matriz de insumo-produto com mais setores. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 602 O trabalho desenvolvido representa uma contribuição à “Economia Computacional Baseada em Agentes”. Dentre os temas de pesquisa sugeridos por Tesfatsion, este trabalho atacou dois: • A construção de arcabouços ou “laboratórios computacionais” que auxiliem tópicos específicos da Economia: o arcabouço desenvolvido é extensível para simular matrizes de insumo-produto de n dimensões; • Formação de redes econômicas: é possível visualizar, de maneira preliminar, a formação de uma “rede econômica” ou cadeia de suprimentos entre os agentes que cooperam entre si de acordo com uma política de cooperação pré-definida. 6. Referências Bibliográficas Axelrod, R. (1984), The Evolution of Cooperation. Basic Books, 2ª edição, 241 p. Axelrod, R. e Tesfatsion, L. (2009). On-Line Guide for Newcomers to Agent-Based Modeling in the Social Sciences. Disponível em: http://www.econ.iastate.edu/tesfatsi/abmread.htm. Acesso em: 25 março 2009. Christopher, M. (2005) Logística e Gerenciamento da Cadeia de Suprimentos: Criando Redes que Agregam Valor. Thomson, 308 p. Epstein, J. M. e Axtell, R. (1996), Growing Artificial Societies: Social Science from the Bottom Up. The MIT Press, 1ª edição, 208 p. Eymann, T.; Padovan, B.; Schoder, D. (2009) Avalanche – An Agent Based Value Chain Coordination Experiment. Disponível em: http://www.cs.utoronto.ca/~grigoris/ascma/papers/eymann.ps.Z. Acesso em: 25 março 2009. Fox, M. S.; Barbuceanu, M. e Teigen, R. (2000). Agent-oriented supply chain management. In The International Journal of Flexible Manufacturing Systems, Kluwer Academic Publishers, 2000, v. 12, p. 165-188. Leontief, W. (1988), A Economia do Insumo-Produto. Editora Nova Cultural, 3ª edição, 226 p. Lin, F.; Tan, G.; Shaw, M. J. (1998) Modeling supply-chain networks by a multi-agent system. In Proceedings of the Thirty-First Annual Hawaii International Conference on System Sciences. IEEE Computer Society, 1998, p. 105-114. Porter, M. E. (1998) Competitive Advantage: Creating and Sustaining Superior Performance. Free Press, 557 p. Railsback, S. F; Lytinen, S. L.; Jackson, S. K. (2006) Agent-based Simulation Platforms: Review and Development Recommendations. In: Simulation. Society for Computer Simulation International, San Diego, CA, EUA, v. 82, n. 9, 2006, p. 609-623. REPAST, (2009) Repast Agent Simulation Toolkit. Disponível em: http://repast.sourceforge.net/. Acesso em: 25 março 2009. Sarker, R.; Kara, S.; Freeman, G.; Kayis, B.; Ray, T. e Abbass, H. (2005) A Multi-agent Simulation Study for Supply Chain Operation. In: Proceedings of the International Conference on Computational Intelligence for Modelling, Control and Automation and International Conference on Intelligent Agents, Web Technologies and Internet Commerce, IEEE Computer Society, 2005, p. 728-733. Simchi-Levi, D.; Kaminsky, P. e Simchi-Levi, E. (2003) Cadeia de Suprimentos: Projeto e Gestão. Artmed Editoria S.A., São Paulo, 328 p. Tesfatsion, L. (2003) Agent-based Computational Economics: Modeling economies as complex adaptive systems. Information Sciences, volume 149, p. 263-269. Disponível em: http://www.econ.iastate.edu/tesfatsi/aceIS.pdf. Acesso em: 25 março 2009. Tesfatsion, L. e Judd, K. L. (2006) Handbook of Computational Economics: Agent-Based Computational Economics, volume 2. North-Holland, 1ª edição, 904 p. Umeda, S.; Lee, Y. T. (2004). Design Specifications of a Generic Supply Chain Simulator. In: Proceedings of the 2004 Winter Simulation Conference. IEEE Press, 2004, v. 2, p. 1158-1166. Vlassis, N. (2007) A Concise Introduction to Multiagent Systems and Distributed Artificial Intelligence. Morgan & Claypool Publishers, 2007, 84 p. Weiss, G. (2000). Multiagent Systems: A Modern Approach to Distributed Artificial Intelligence. MIT Press, 2000, 648 p. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 603