Estratégias de Predição de Preços com base no Feedback do Ambiente em Cadeias de Suprimento Dinâmicas



Documentos relacionados
UM AGENTE COM APRENDIZAGEM DE MÁQUINA PARA O PROBLEMA DE VENDAS EM TRADING AGENT COMPETITION

Podemos encontrar uma figura interessante no PMBOK (Capítulo 7) sobre a necessidade de organizarmos o fluxo de caixa em um projeto.

Curso superior de Tecnologia em Gastronomia

3 Trabalhos Relacionados

1. Introdução. 1.1 Introdução

PLANEJAMENTO OPERACIONAL - MARKETING E PRODUÇÃO MÓDULO 3 O QUE É PLANEJAMENTO DE VENDAS E OPERAÇÕES?

Figura 5.1.Modelo não linear de um neurônio j da camada k+1. Fonte: HAYKIN, 2001

Logística e a Gestão da Cadeia de Suprimentos. "Uma arma verdadeiramente competitiva"

COLETA DE INFORMAÇÕES E PREVISÃO DE DEMANDA

Gestão do Conhecimento A Chave para o Sucesso Empresarial. José Renato Sátiro Santiago Jr.

22/02/2009. Supply Chain Management. É a integração dos processos do negócio desde o usuário final até os fornecedores originais que

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios

Sistemas de Gerenciamento de Banco de Dados

Preparando sua empresa para o forecasting:

UMA ABORDAGEM MULTI-AGENTE PARA COMPETIÇÃO DE AGENTES NEGOCIADORES EM GERENCIAMENTO DE CADEIAS DE SUPRIMENTO

Matlab - Neural Networw Toolbox. Ana Lívia Soares Silva de Almeida

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

A presente seção apresenta e especifica as hipótese que se buscou testar com o experimento. A seção 5 vai detalhar o desenho do experimento.

SIMULAÇÃO DE GESTÃO EMPRESARIAL

Projetos. Universidade Federal do Espírito Santo - UFES. Mestrado em Informática 2004/1. O Projeto. 1. Introdução. 2.

ISO/IEC 12207: Gerência de Configuração

6 Construção de Cenários

CONCURSO PÚBLICO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI ANALISTA DE GESTÃO RESPOSTAS ESPERADAS PRELIMINARES

Estratégia de TI. Posicionamento Estratégico da TI: como atingir o alinhamento com o negócio. Conhecimento em Tecnologia da Informação

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

MODELO CMM MATURIDADE DE SOFTWARE

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>

PLANEJAMENTO DA MANUFATURA

UNIVERSIDADE FEDERAL DE RONDÔNIA CAMPUS DE JI-PARANÁ DEPARTAMENTO DE ENGENHARIA AMBIENTAL LISTA DE EXERCÍCIOS 3

Prof. Marcelo Mello. Unidade III DISTRIBUIÇÃO E

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior

Tecnologia em Gestão Pública Desenvolvimento de Projetos - Aula 9 Prof. Rafael Roesler

Orientação a Objetos

IMPLEMENTAÇÃO DE UM AGENTE TAC SCM EM LINGUAGEM AGENTSPEAK(L)

7.Conclusão e Trabalhos Futuros

4 Implementação e Resultados Experimentais

TRABALHO COM GRANDES MONTAGENS

INTRODUÇÃO AO MICROSOFT DYNAMICS AX 4.0 FINANCEIRO I

Prof. Cleber Oliveira Gestão Financeira

Planejamento Estratégico de TI. Prof.: Fernando Ascani

BSC Balance Score Card

Planeamento da Produção

4 Metodologia da Pesquisa

SISTEMAS DE GESTÃO São Paulo, Janeiro de 2005

Sistemas de Gestão da Qualidade. Introdução. Engenharia de Produção Gestão Estratégica da Qualidade. Tema Sistemas de Gestão da Qualidade

Fundamentos de Teste de Software

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento

Tutorial 5 Questionários

Especificação do 3º Trabalho

INTRODUÇÃO A ADMINISTRAÇÃO FINANCEIRA. Prof. Eric Duarte Campos

Introdução à Computação

RELATÓRIO TREINAMENTO ADP 2013 ETAPA 01: PLANEJAMENTO

Instalação: permite baixar o pacote de instalação do agente de coleta do sistema.

PLANOS DE CONTINGÊNCIAS

Unidade III GESTÃO EMPRESARIAL. Prof. Roberto Almeida

Exame de Fundamentos da ITIL

4 Um Exemplo de Implementação

Boas Práticas em Gerenciamento de Projetos Material utilizado nas aulas de Pós-graduação do Centro de Informática

Técnicas de Caixa Preta de Teste de Software

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

Projeto de Redes Neurais e MATLAB

Módulo 18 Avaliando desempenho

Modelagem e Simulação

Aspectos Sociais de Informática. Simulação Industrial - SIND

Figura 1.1: Exemplo de links patrocinados no Google

MLP (Multi Layer Perceptron)

Google Drive. Passos. Configurando o Google Drive

Uso do Netkit no Ensino de Roteamento Estático

Backup.

Solitaire Interglobal

3 SCS: Sistema de Componentes de Software

Exemplos: Análise de Valor Agregado (Ex_vagregado.SPRJ)

ALTERNATIVA PARA SIMPLIFICAÇÃO NA ESTRUTURA DE EXECUÇÃO DE PROJETOS SEIS-SIGMA

Entendendo como funciona o NAT

SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA

Feature-Driven Development

4 Arquitetura básica de um analisador de elementos de redes

1. Avaliação de impacto de programas sociais: por que, para que e quando fazer? (Cap. 1 do livro) 2. Estatística e Planilhas Eletrônicas 3.

OS 14 PONTOS DA FILOSOFIA DE DEMING

GESTÃO DE SUPRIMENTO TECNÓLOGO EM LOGÍSTICA

PLANEJAMENTO OPERACIONAL: RECURSOS HUMANOS E FINANÇAS MÓDULO 16

Organização e Arquitetura de Computadores I

IETEC Instituto de Educação Tecnológica. Artigo Técnico

Pesquisa realizada com os participantes do 12º Seminário Nacional de Gestão de Projetos. Apresentação

2 Atualidade de uma base de dados

Balanceamento de Carga

Seção 2/E Monitoramento, Avaliação e Aprendizagem

Aprendizagem de Máquina

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

DESPESAS FIXAS. O que são Despesas Fixas?

Simulação Transiente

CHECK - LIST - ISO 9001:2000

2 Desenvolvimento da Publicidade de Busca

Princípios de Finanças

Do neurônio biológico ao neurônio das redes neurais artificiais

1) MANUAL DO INTEGRADOR Este documento, destinado aos instaladores do sistema, com informações de configuração.

Proposta de Avaliação de Empresas para o uso do SAAS

Dadas a base e a altura de um triangulo, determinar sua área.

Transcrição:

Estratégias de Predição de Preços com base no Feedback do Ambiente em Cadeias de Suprimento Dinâmicas Gilzamir F. Gomes 1, Gustavo Augusto Lima de Campos 2, Enyo José Tavares Gonçalves 3 1 Departamento de Computação Universidade Estadual Vale do Acaraú (UEVA) Sobral CE Brazil 2 Departamento de Computação Universidade Estadual do Ceará (UECE) Fortaleza CE Brazil 3 Departamento de Computação Universidade Federal do Ceará (UFC) Quixadá, CE Brazil gilzamir.gomes@uvanet.br, gustavo@larces.uece.br, enyo@ufc.br Abstract. Dynamic pricing strategies in dynamic and highly competitive markets is a key feature of an agent in modern electronic trading environments. Agents for these markets can explore the environment feedback and information from the past to perform predictions. This work strategies were explored using environment feedback in Trading Agent Competition for Supply Chain Management - TACSCM. It was shown that the use of heuristics that make use of information Recent on the environment or the use of machine learning techniques can improve the performance of an agent which starts with a simple heuristic. In controlled experiments, it was found that the use of neural networks based on a strategy of retraining and logs of past games only supplanted the use of neural networks trained using only logs of past games, even when little data are used. Resumo. Estratégias dinâmicas de precificação em mercados dinâmicos e altamente competitivos é uma característica fundamental de um agente nos modernos ambientes de negociação eletrônica. Agentes para estes mercados podem explorar o feedback do ambiente e informações do passado recente e remoto para realizarem previsões. Neste trabalho, foram exploradas estratégias que utilizam o feedback do ambiente no Trading Agent Competition for Supply Chain Management - TAC SCM. Mostrou-se que o uso de heurísticas que fazem uso de informações recentes sobre o ambiente ou o uso técnicas de aprendizado de máquina pode melhorar o desempenho de um agente que inicia com uma heurística simples. Em experimentos controlados, verificou-se que o uso de redes neurais baseada em uma estratégia de retraining e logs de jogos passados suplantou o uso de apenas redes neurais treinada com o uso somente de logs de jogos passados (dados do passado remoto), mesmo quando poucos dados do passado recente são utilizados. 1. Introdução Gerenciamento da cadeia de suprimentos é um ambiente dinâmico, não determinístico, estocástico e multi-agente. O Trading Agent Competition for Supply Management (TAC SCM) captura parte dessa complexidade em um jogo com seis participantes competindo

em um mercado de venda de computadores pessoais (doravante simplesmente computadores). Fundamentalmente, todos os agentes devem realizar três atividades interdependentes: 1. venda de computadores; 2. compra de componentes para a montagem de computadores; e 3. gerenciamento de uma linha de montagem de computadores. Neste artigo, é apresentada uma investigação sobre o uso de feedbacks do ambiente para o ajuste de preços de oferta em competições do TAC SCM. O objetivo dessa investigação é a obtenção de um modelo eficiente para predição de preços de oferta no TAC SCM, seja por meio de técnicas de aprendizado de máquina ou de heurística obtidas a partir da análise do ambiente. Vale ressaltar que este é um dos principais problemas abordados para o desenvolvimento de agentes de negociação. E uma observação importante é que a melhor estratégia de precificação não é necessariamente aquela que propicia a venda da maior quantidade de produtos, mas sim aquela que garante um maior lucro. Para uma melhor apresentação das estratégias desenvolvidas e dos resultados obtidos neste trabalho, o texto foi organizado da seguinte forma: na Seção 2, o TAC SCM é apresentado; na Seção 3, trabalhos relacionados ao trabalho atual são apresentados; na Seção 4, as estratégias desenvolvidas para uso do feedback do ambiente são apresentadas; na Seção 5, os experimentos realizados são descritos e os resultados obtidos são apresentados; na Seção 6, as conclusões e os trabalhos futuros são apresentados. 2. A Competição de Agentes Negociadores para Gerenciamento da Cadeia de Suprimentos Trading Agent Competition (TAC) ou Competição de Agentes de Negociação é um fórum internacional projetado para investigação de estratégias de negociação autônomas em diferentes cenários de negociação. Um destes cenários é a competição de agentes em um mercado de venda de computadores pessoais, denominado de TAC SCM (Trading Agent Competition for Supply Chain Management). TAC SCM é um cenário de montagem de computadores pessoais (PC - Personal Computer) baseado na aquisição de componentes e na venda de computadores montados para clientes. Neste cenário, seis agentes competem por pedidos de clientes e pela aquisição de vários tipos de componentes. Portanto, o TAC-SCM é um cenário que simula a problemática do gerenciamento de cadeias de suprimento e provê um ambiente de simulação onde diferentes soluções para a problemática de negociação em uma cadeia de suprimentos podem ser analisadas. Collins et al. (Collins et al. 2006) realizam uma descrição detalhada da competição TAC-SCM. Essa competição ocorre ao longo de 220 dias simulados, cada dia simulado corresponde a 15 segundos. Ao longo dos 220 dias simulados, seis fábricas de computadores pessoais (PCs) competem pela venda de PCs para clientes e pela obtenção de componentes para a montagem de PCs. Ou seja, PCs são montados a partir de componentes como placa-mãe, memória principal, processador e disco rígido. Estes componentes são disponibilizados em diferentes versões (por exemplo, diferentes CPUs, diferentes placas-mãe, etc.) por vários fornecedores. As montadoras contam com uma fábrica com uma linha de montagem para PCs e um armazém para estocagem de componentes e PCs

finalizados. A capacidade da fábrica é expressa em ciclos de produção. O problema das montadoras pode ser dividido nos seguintes subproblemas: venda de computadores montados para clientes, obtenção de componentes, gerenciamento da produção e gerenciamento da entrega de produtos finalizados. Neste trabalho, o interesse é no problema de venda de computadores montados para clientes, mais especificamente, na predição do melhor preço de oferta em resposta à pedidos de orçamento feitos por clientes. A demanda de clientes vem na forma de pedidos de orçamento Request for Quotes RFQs enviadas diariamente requisitando diferentes tipos de PCs, cada tipo sendo composto por uma combinação diferente de componentes. O jogo TAC-SCM começa quando um ou mais agentes se conectam a um servidor de jogo. O servidor simula os fornecedores, clientes, um banco para serviços bancários e serviços de produção e de estocagem para cada agente. Uma competição ocorre ao longo de um número pré-definido de dias e, quando termina, o agente com maior saldo em conta bancária é declarado vencedor. O jogo representa uma ampla variedade de situações de cadeias de suprimento. É um desafio que requer múltiplos agentes competirem de forma concorrente em múltiplos mercados (mercados para diferentes componentes no lado dos fornecedores e mercado para diferentes produtos no lado dos clientes) com interdependência e informações incompletas. Isso permite diferentes estratégias de agentes (por exemplo, especializar-se em um determinado tipo de produto, armazenar componentes que estão em baixa no mercado). Os agentes devem demonstrar suas habilidades ao reagir a variações na demanda de clientes e disponibilidade de fornecedores, assim como se adaptarem às estratégias adotadas por outros competidores. Do ponto de vista da venda de computadores, os agentes são limitados pela capacidade de suas linhas de montagem e pelos componentes que conseguem comprar de um total de oito fornecedores. Com estes recursos (capacidade de produção e inventário de componentes, um agente deve competir pela venda de PCs. Em um determinado dia d, clientes lançam pedidos de orçamento (Request For Quotes RFQs) aos agentes. Os agentes respondem aos pedidos de orçamento com ofertas que especificam o preço de oferta e o prazo de entrega para cada RFQ. No dia d + 1, os clientes selecionam ofertas enviadas pelos agentes de acordo com o prazo de entrega prometido e com o preço da oferta. A Figura 1 ilustra claramente os eventos diários que podem ocorrer em uma competição do TAC SCM. Na próxima seção, algumas das mais bem sucedidas estratégias para TAC SCM serão apresentadas. 3. Trabalhos Relacionados Stan et al. (Stan et al. 2006) utilizaram heurísticas para a definição de preços de oferta. As heurísticas foram implementadas no agente Phant, considerado um forte competidor do TAC SCM. A estratégia de precificação desse agente é baseada em um relatório diário de preços. Assim, um relatório recebido em dia um simulado d contém duas informações: o menor e o maior peço que clientes pagaram por tipo de computador no dia d 1, para d > 0. O maior preço é utilizado para definição do preço de oferta na estratégia do agente Phant, pois os autores partem do pressuposto que o maior preço pago por um produto no dia anterior foi o melhor preço de oferta realizado. Contudo, o maior preço pago é ajustado de acordo com o nível de utilização da linha de montagem. Parte do trabalho

Figura 1. Ilustração dos eventos diários ocorridos durante alguns dias no TAC- SCM (Collins et al. 2006). descrito neste artigo também se baseia nesse relatório de preços. Chatzidimitriou et al. (Chatzidimitriou et al. 2008) utilizou técnicas de aprendizagem de máquina no módulo de ofertas do agente Mertacor. Para geração do modelo de previsão do preço de oferta ótimo, foi utilizado aprendizagem supervisionada. Os dados de treinamento foram obtidos de logs de jogos passados que incluíam os agentes com os quais o agente Mertacor possivelmente iria competir. Pardoe e Stone (Pardoe and Stone 2009) desenvolveram um dos agentes mais bem sucedidos no TAC SCM, o TacTex06. A estratégia desse agente consiste em fazer predições sobre o futuro da economia, como preços que serão cobrados por fornecedores de componentes e o nível da demanda dos consumidores. Com base nessas informações, o agente TacTex-06 planeja suas ações futuras com a finalidade de maximizar seu lucro. O componente fundamental desse agente é sua habilidade para adaptar estas predições baseado no comportamento observado de outros agentes. O TacTex-06 é baseado na ideia de que uma abordagem eficaz de agente requer o desenvolvimento de módulos fortemente acoplados para interação com fornecedores, consumidores e a fábrica. He et al. (He et al. 2006) desenvolveram um agente competitivo que utiliza lógica fuzzy para selecionar preços de oferta lucrativos. O agente recebe RFQs de clientes especificando algumas preferências: quantidade de um tipo particular de PC para ser entregue em um dia especificado e um preço de reserva (preço máximo que o cliente está disposto a pagar pelo produto). Quando seleciona para quais RFQs responder com ofertas, o agente ordena estas ofertas de acordo o potencial lucro que elas podem trazer e de acordo com inventário mantido pelo agente. O preço a ser ofertado é definido por um conjunto regras fuzzy. Fasli e Kovalchuk (Fasli and Kovalchuk 2011) mostraram que preços vencedores no leilão de vendas de computadores pode ser predito por meio da modelagem do comportamento dos competidores. O trabalho deles mostrou que a estratégia de modelagem e predição dos oponentes é uma técnica adequada para o ambiente que tem um formato de jogo (isto é, vários participantes competindo uns contra os outros com objetivo de obterem a maior pontuação). Essa estratégia pode ajudar na tomada decisões mais precisas em ambientes dinâmicos e competitivos. Os pesquisadores utilizaram redes neurais artificiais e programação genética para a predição do comportamento dos oponentes.

4. Uso de feedback do ambiente para determinação do melhor preço de oferta Os agentes podem obter o feedback do ambiente para avaliarem suas ações e, possivelmente, melhorarem suas ações futuras. Estratégias de agentes do TAC SCM geralmente utilizam o feedback do ambiente. Neste trabalho, o uso do feedback foi estudado e sistematizado com base em duas fontes de informações: 1. o relatório de preços do TAC SCM, que provê informações recentes sobre os preços de venda de computadores durante uma rodada; e 2. a resposta dos clientes à ofertas de computadores. Ambas as fontes proveem informações recentes sobre o jogo. Por exemplo, o relatório de preços do dia d contém os maiores e os menores preços pagos por tipo de computador negociados no dia d 1. Se um agente A enviou n ofertas no dia d 1 e recebeu m pedidos no dia d, pode-se calcular a taxa de sucesso bruta do agente A como: m/n, n > 0, m 0, d > 0. Alguns agentes monitoram essa taxa de sucesso e ajustam o preço de oferta de acordo com ela. Para explorar o feedback do ambiente, este trabalho foi sistematizado com base em três suposições: 1. dado um tipo de produto i, o maior e o menor preço pago por produtos deste tipo no dia d, preços estes representados respectivamente por h i,d e l i,d, podem ser inferidos com base nos relatórios de preços dos dias que antecedem d, para d > 0; 2. os valores pagos no dia d por produtos do tipo i estão distribuídos entre h i,d e l i,d com base em uma distribuição que pode ser inferida por meio da análise de logs de jogos passados e de dados obtidos durante um jogo. Os dados de logs de jogos passados, denominou-se dados offline e aos dados obtidos durante um jogo em andamento, denominou-se dados online. 3. o sucesso do agente na venda de computadores dependente da acurácia das estimativas de h i,d, l i,d e da distribuição de preços. Neste trabalho, mostra-se que essas três suposições são plausíveis e com potencial para o desenvolvimento de agentes de sucesso. A primeira abordagem utilizada para definição do preço de oferta é trivial e consiste em duas suposições: 1. h i,d = h i,d 1 e l i,d = l i,d 1 ; e 2. Os preços no dia d para um produto do tipo i estão uniformemente distribuídos no intervalo [l i,d, h i,d ]. Com base nessas duas suposições, uma primeira abordagem, denominada de heurística simples e descrita na Seção 4.1, foi elaborada. Na verdade, a heurística simples mostrada na Figura 2 é outro elemento sobre qual a sistematização do uso do feedback provido pelo ambiente foi explorada neste trabalho. A estrutura geral dessa heurística permanece ao longo de vários experimentos, alterando-se apenas os componentes de previsão do algoritmo. 4.1. Heurística Simples O relatório de preços do dia d contém o menor e o maior preços pago por tipo de computador no dia d 1, para d > 0. Esse relatório provê uma importante informação sobre

Figura 2. Heurística simples para precificação. o preço de oferta, dado que se trata de informações recentes sobre o preço de oferta de todos os agentes no jogo. É uma forma de se saber os limites de oferta nos quais os agentes estão atuando. Dado um tipo de produto i, o maior preço pago por produto deste tipo no dia d é denotado por h i,d e o menor preço é denotado por l i,d. O TAC SCM contém informações parciais, isso significa que não está disponível, por exemplo, a distribuição de preços de ofertas no dia d no intervalo I i,d = [l i,d, h i,d ] para um produto do tipo i. Há pelo menos duas formas de se obter uma distribuição aproximada: (1) por meio de logs de jogos passados envolvendo os agentes com os quais se deseja competir ou (2) supor uma distribuição dos preços no intervalo dado. Para a primeira forma, pode-se utilizar técnicas estatística e de aprendizagem de máquina. A segunda forma, contudo, é mais simples pois parte-se de uma suposição prévia ou de um chute. Pode-se supor, por exemplo, que no dia atual os preços estão distribuídos uniformemente no intervalo I i,d. Neste trabalho, partiu-se dessa suposição para a concepção da heurística simples. Por exemplo, se no dia d o intervalo de preços para o produto do tipo i (1 i 16), foi I i,d = [l i,d, h i,d ], a suposição é de que no dia d, todos os preços de oferta vencedores para o produto do tipo i estarão uniformemente distribuídos no intervalo I i,d dado. Além disso, como o agente não conhece intervalo I i,d, apenas o intervalo I i,d 1, estimasse que I i,d I i,d 1. Com base nessas suposições, uma primeira versão da heurística simples foi gerada, como mostrado na Figura 2. O algoritmo da Figura 2 é baseado em (Pardoe and Stone 2005) e consiste na escolha de um preço de referência e na seleção de uma fração desse preço de referência como preço de oferta. Cada fração do preço de referência é selecionado com uma probabilidade igual à probabilidade estimada desse preço ser aceito pelo cliente. Neste trabalho, para uma oferta realizada no dia d, escolheu-se o preço base de mercado como preço de referência. O preço base de mercado para cada tipo de produto é definido no

início de um jogo e não muda durante todo o jogo. O intervalo de frações do preço de referência, neste trabalho, foi determinado empiricamente, com base no fato de que o valores menores do que 80% do peço de referência não darem lucro e no fato de que valores maiores do que 125% do preço de referência dificilmente serem selecionados. No caso da heurística simples, valores maiores ou iguais a 100% do preço de referência são ignorados. Em um primeiro momento, a heurística parece plausível, pois captura os dados mais recentes sobre os preços que outros agentes praticaram no jogo. Percebe-se que dois componentes são fundamentais na heurística simples: (1) a estimativa do maior e o menor preço pago por tipo de produto no dia d e (2) a distribuição estimada de preços para determinado tipo de produto no intervalo definido pelos supostos menor e maior preços pagos por tipo de produto no dia d. Analisamos estratégias baseadas em heurísticas e redes neurais artificiais com aprendizado supervisionado para diferentes estratégias de otimização destes dois componentes. O agente dotado da heurística simples foi denominado de USA (UeceUva Simple Agent). 4.2. Inferindo a distribuição de preços Neste trabalho, foi desenvolvida uma heurística relativamente eficiente para inferir a distribuição de preços entre o menor e o maior preço pago por tipo de produto em um determinado dia simulado. Heurística para cálculo da distribuição de preços Na heurística simples, é suposto que os preços ofertados em um determinado dia para um produto de determinado tipo estão uniformemente distribuídos entre o menor e o maior preços pagos por produto do tipo determinado. Essa suposição pareceu razoável inicialmente. Uma hipótese alternativa, contudo, é que o preço de oferta da concorrência vai girar em torno do preço de reserva definido pelos clientes. Portanto, elaboramos um método para deformar a distribuição uniforme de modo que os preços inicialmente distribuídos uniformemente passem a se concentrar em torno do preço de reserva. A distribuição de preços foi simulada gerando-se uniformemente valores no intervalo l e i,d e h e i,d para um produto do tipo i no dia d. Os valores l e i,d e h e i,d são as estimativas de h i,d e l i,d. Inicialmente, a estimativa foi que l e i,d = l i,d 1 e h e i,d = l i,d 1. Para um pedido de orçamento com preço de reserva R i para produtos do tipo i, calculou-se o valor δ = max(r i, h e i,d) l e i,d. Para simular a distribuição uniforme, uma sequência de valores distribuídos uniformemente no intervalo [l e i,d, h e i,d] foi gerada. Depois disso, os valores dessa sequência inicial foram deslocados na direção de R i de acordo com a Equação 1, gerando-se a distribuição resultante. E Equação 1 é descrita como: p t+1 j = p t j + α e (1 k δ ) k (1) onde, k = (R i p t j), p t j representa o j ésimo valor da distribuição uniforme representada pela sequência (li,d, e li,d e + 1,..., h e i,d) e p t+1 j representa o j-ésimo termo da distribuição original após a simulação. O fator α determina a intensidade do deslocamento da distribuição em direção do preço de reserva (ou seja, o deslocamento que cada preço da distribuição original sofrerá proporcionalmente à distância de cada valor

ao preço de reserva). Neste trabalho, α foi definido inicialmente e empiricamente como random(0, 0.6) + 0.01. O intuito dessa equação é deslocar p t j em direção a R i, contudo, sem garantir que o valor resultante da transformação de p t j resulte em R i. O efeito prático é alterar a distribuição de preços originalmente uniforme no intervalo [l e i,d, h e i,d] para uma distribuição tal que grande parte dos valores se concentrem em torno de R i. Dize-se, assim, que R i deforma a distribuição original de preços. A Equação 1 pode ser vista como um caso especial da equação mais geral p t+1 j = p t j + βk, onde β [0, 1] é definido como a intensidade do deslocamento de p t+1 j rumo ao valor p t j +k. Para tornar intensidade do deslocamento inversamente proporcional ao valor de k, β foi definido como β = α e 1 k δ, que foi ajustado empiricamente e mostrou bons resultados. Por exemplo, suponha o intervalo de preços definido por [1500, 1600] para um produto do tipo 1. Além disso, suponha que recebeu-se um pedido de orçamento com preço de reserva igual a 1590. A simulação gera 101 preços uniformemente distribuídos no intervalo dado, gerando-se a série 1500, 1501,..., 1600. Suponha que random(0, 0.6)+0.01 tenha gerado o valor 0.15 para o preço 1550, que é o j ésimo termo da distribuição original. Para o cálculo do valor do j ésimo termo, Primeiro, calcula-se δ = max(1590, 1550) 1500 = 90. Em seguida, substitui-se os valores na Equação 1, obtendo-se: p t+1 j = 1550 + 0.15 e (1 40/90) 40 = 1560.46 Depois que todos os valores no intervalo [l e i,d, h e i,d] forem deslocados para próximo do preço de reserva, dado um preço de oferta P o, o calculo da probabilidade de P o ser aceito é feito contando-se, na distribuição resultante, a quantidade de valores maiores do que P o e dividindo-se o resultado pela quantidade total de valores na distribuição resultante. É interessante notar que o cálculo da probabilidade de P o é, de alguma forma, equivalente ao cálculo da função de densidade de probabilidade, já que estamos calculando a probabilidade dos preços de oferta da concorrência serem maiores do que P o. O agente dotado da heurística simples modificado com o cálculo da probabilidade de um preço de oferta ser aceito de acordo com a heurística descrita nessa seção, denominou-se UAV2 (UeceUva Agent Version 2). Doravante, a heurística resultante descrita nesta seção será denominada de Heurística de Distribuição em torno do Preço de Reserva (DPR). Foi surpreendente perceber que o agente UAV2 apresentou um comportamento superior ao agente USA. Isso mostra que a heurística DPR é promissora. 4.3. Inferindo os valores no relatório de preços Em um ambiente altamente competitivo, o maior e o menor preço pago por um determinado tipo de produto em uma determinado dia estão muito próximos. Portanto, gerar uma oferta com um valor entre estes preços é uma estratégia plausível. Presumivelmente, quanto melhor a estimativa destes valores, mais eficiente será a estratégia de oferta baseada nesses preços. Portanto, a próxima tentativa de melhoramento da heurística simples consistiu no uso de redes neurais artificiais, baseadas no algoritmo backpropagation, para predição dos menores e maiores preços pagos por tipo de produto em um determinado dia. Uma segunda abordagem consistiu no uso de uma arquitetura de agente com redes neurais baseada em retraining (Dempsey et al. 2002).

Atributo(x i,d ) x 1 x 2 x 3 x 4 x 5 x 6 Descrição Maior preço de reserva no dia d para produtos do tipo i Menor preço e reserva no dia d para produtos do tipo i Menor preço pago no dia d 1 para produtos do tipo i Maior preço pago no dia d 1 para produtos do tipo i Demanda do dia para o segmento de mercado do produto do tipo i Demanda total de produtos no dia d Tabela 1. Variáveis do ambiente utilizadas para treinamento das redes neurais que preveem o menor e maior preço pago por tipo de produto em um determinado dia. Modelos de Aprendizagem Duas estratégias de predição dos menores e maiores preços pagos por tipo de produto foram avaliadas: ambas utilizando redes neurais de múltiplas camadas com o algoritmo backpropagation. A primeira estratégia, denominada de estratégia estática, consiste no uso de duas redes neurais treinadas com dados offline para cada tipo de produto: uma para a previsão do menor preço de oferta pago por tipo de produto e outra para o maior preço de oferta pago por tipo de produto. A segunda estratégia, consiste também no uso de duas redes neurais para previsão do menor e do maior preço pago por tipo de produto, mas inclui uma estratégia de retraining a partir de dados coletados durante o jogo em andamento (dados recentes). A segunda estratégia foi denominada de estratégia dinâmica. Em ambas as estratégias, cada conjunto de exemplos foi definido como E t,i = (x i,d, y i,d ), para t {low, hight}, i {1, 2, 3,..., 16} e 0 d 219, onde x i,d é um vetor de atributos associado a um tipo de produto i cujos valores consistem em variáveis do ambiente coletadas no dia d e y i,d é um escalar que representa o preço a ser previsto do produto do tipo i no dia d. Os termos low e rigth estão relacionados ao preço mais baixo e ao preço mais alto, respectivamente, pago por produto do tipo i em um determinado dia. Os atributos de entrada são resumidos na Tabela 1. Os exemplos de treinamento foram extraídos de um total de seis logs de jogos passados. Cinco logs incluem os agentes Mertacor, DeepMaize, MinneTac e Dummies e um log inclui os agentes Mertacor e Dummy. De cada log foram extraídos exemplos que vão do dia 20 ao dia 200. Os primeiros e os últimos vinte dias de cada jogo foram removidos do conjunto de exemplos gerados, pois nestes dias os agentes geralmente adotam estratégias diferenciadas. Nos primeiros vinte dias, geralmente preços mais altos são ofertados, dado que geralmente o jogo inicia com baixa competitividade. Nos últimos 20 dias, geralmente preços mais baixos são ofertados de modo que produtos em estoque sejam vendidos antes do final do jogo. Em ambas as estratégias com redes neurais, a seguinte configuração mostrou ser eficiente: Rede Neural com uma camada escondida Total de 100 neurônios na camada escondia Os dados de entrada foram normalizados de acordo com a equação (normalização estatística): x i = x i avg i dp i, onde x i é o valor original do atributo i, avg i é a média

do atributo i em todos os exemplos, dp i é o desvio padrão do atributo i e x i é o valor normalizado do atributo i. Os dados da saída foram normalizados de acordo com a equação (normalização max-min equalizado) y = y ymin/(ymax ymin), onde ymin é o menor valor do atributo de saída no conjunto de exemplos, ymax é o valor máximo do atributo de saída no conjunto de exemplos e y é o valor normalizado da saída em um exemplo do conjunto. Foi notado que a normalização estatística para as saídas das redes neurais fizeram com que as redes neurais não convergissem. Contudo, as redes convergiram com utilização de normalização max-min equalizada nas saídas. O inverso ocorreu com a normalização das entradas: as redes neurais não convergiram com normalização max-min equalizada das entradas, mas convergiram com normalização estatística das entradas. No treinamento com dados offline, o conjunto de exemplos foi dividido em dois conjuntos: conjunto de treinamento e conjunto de teste. Cinco logs foram selecionados para treinamento das redes neurais (um log com os agentes Mertacor e Dummy e três logs com os agentes Mertacor, DeepMaize, MinneTac e Dummy). O log restante, representando um jogo com os agentes Mertacor, DeepMaize MinneTac e Dummy, foi utilizado para geração do conjunto de teste. Na estratégia estática, o agente UAV2 foi alterado de modo que os valores l e i,d e h e i,d fossem calculados pela rede neural. O agente resultante foi denominado de UAV3. A configuração geral deste agente é ilustrada na Figura 3. Estratégia Dinâmica para Predição de Preços. Na estratégia dinâmica, as redes neurais foram treinadas como na estratégia estática. Além disso, as redes neurais foram retreinadas à medida que dados foram coletados do ambiente, do jogo em andamento. Algumas questões precisaram ser respondidas para se chegar a uma estratégia de retraining funcional: 1. Como decidir qual o momento de realizar o retraining? 2. Como verificar se a rede neural retreinada é melhor do que rede neural anterior? 3. Como selecionar os exemplos a serem utilizados no retraining? Para se decidir o momento de realização do retraining, optou-se por uma estratégia estática. As redes neurais foram divididas em quatro grupos de seis redes neurais e um grupo de oito redes neurais. De dois em dois dias, um grupo diferente é treinado. Optouse por esta estratégia por uma questão de desempenho computacional, dado que treinar todas as redes neurais de uma única vez acarretaria um atraso na resposta do agente, que tem apenas quinze segundos para responder aos pedidos de orçamento dos clientes. Durante o retraining uma nova rede neural é criada para cada rede existente. A nova rede neural é semelhante à rede neural treinada com dados estáticos (rede atual) exceto pelos pesos da conexão entre os neurônios, que são gerados aleatoriamente. A nova rede neural para uma rede existente é treinada com um conjunto de dados correspondente aos últimos vinte dias simulados. O erro quadrático médio da rede neural recentemente treinada é comparado com o erro quadrático médio da rede neural atual. Se o erro da nova rede neural foi menor do que o erro da rede neural atual, a nova rede neural ocupa o lugar da rede neural atual.

Figura 3. Configuração de agente com redes neurais para previsão do maior e do menor preço de venda por tipo de produto. O agente conta com 32 redes neurais. Para cada tipo de produto i, há duas redes neurais: uma para previsão do próximo maior preço de venda de produtos do tipo i (denominada de RNA(i, 0)) e outra para previsão do próximo menor preço de venda de produtos do tipo i (denominada de RN A(i, 1)). Os exemplos utilizados durante o retraining são os vinte exemplos mais recentes coletados do ambiente. Uma quantidade maior de exemplos, impacta no desempenho computacional do agente, que tem apenas quinze segundos para tomar às decisões referentes a um dia simulado, como já foi enfatizado neste texto. O agente com retraining é uma extensão do agente UAV3 e foi denominado de UAV4 (UECEUVA Agent Version 4). 4.4. Feedback Positivo e Feedback Negativo Seja n a quantidade ofertas enviadas pelo agente A no dia d e m a quantidade de pedidos de clientes em respostas às ofertas do agente A no dia d. A taxa de sucesso do agente A no dia d pode ser calculada como s a,d = m/n (2) Também foi definido a média da taxa de sucesso entre os dias que vão de d a d como s. Assim, o valor α da Equação 1 foi definido como α = s, resultando na equação p t+1 j = p t j + s e (1 k δ ) k (3) Observe que se s varia no intervalo [0, 1] e quanto mais próximo de um for o valor da média da taxa de sucesso, maior será a deformação da distribuição uniforme em direção ao preço de reserva (o que leva a preços de oferta mais altos); caso s esteja próximo de zero, mais parecido com a distribuição uniforme será a distribuição final (o que leva a preços de oferta mais baixos). O agente que utiliza feedbacks positivos e negativos é uma extensão do agente UAV2 foi denominado de UAV5 (UECEUVA Agent Version 5). 5. Experimentos e Resultados Para se mensurar o desempenho dos agentes, foi utilizado o servidor modificado de acordo com (Sodomka et al. 2007) e a quantidade de simulações foi ajustada de acordo com

Agente/Componentes USA UAV2 UAV3 UAV4 UAV5 Heurística Simples X X X X X Distribuição de Preços X X X X alterada conforme Equação 1 Redes Neurais X X Retraining X Feedback Positivo/Negativo X Tabela 2. Agentes e suas configurações. (a) (b) Figura 4. Competições envolvendo o agente USA. (a) Desempenho médio dos agentes ao longo de oito jogos. (d) Desvio padrão do desempenho dos agentes ao longo de oito jogos. a recomendação em (Sodomka et al. 2007). Para comparar diferentes configurações do agente UECEUVA, realizou-se 8 simulações de competições contras os agentes Mertacor e Dummy. A Tabela 2 resume as versões do agente UECEUVA testadas. Todos as simulações ocorreram em um computador Intel (R) Core (TM) i5-2410m com CPU 2.30GHz e 4GB de memória RAM. As Figuras 4, 5, 6, 7 e 8 mostram o desempenho médio e o desvio padrão do desempenho das diferentes versões do agente que incorporou as estratégias desenvolvidas neste trabalho. O agente em geral é chamado de UECEUVA, mas cada versão do agente recebe um nome que a identifica. Os resultados mostrados foram coletados de um total de oito simulações para avaliar cada versão, de um total de cinco versões. No total, foram realizadas quarenta simulações para se avaliar todas as versões do agente UECEUVA. De acordo com o gráficos mostrado na Figura 4 (a), A versão do agente UE- CEUVA denominada USA obteve um resultado promissor, contudo, ainda muito abaixo do resultado obtido pelo agente Mertacor, mas foi bem acima do resultado obtido pelos outros agentes. Deve-se levar em conta que estes outros agentes são versões de demonstração disponíveis no servidor do TAC SCM e executam uma estratégia geral build to order, ou seja, computadores são montados e entregues conforme pedidos de clientes. De acordo com o gráfico mostrado na Figura 5 (a), o agente UAV2 obteve um desempenho bem próximo do agente Mertacor. Não se pode concluir, com a quantidade de simulações realizadas, que um agente supera o outro. Mas o resultado do agente UAV2 é superior ao resultado obtido pelo agente USA em condições de simulação semelhantes.

(a) (b) Figura 5. Competições envolvendo o agente UAV2. (a) Desempenho médio dos agentes ao longo de oito jogos. (d) Desvio padrão do desempenho dos agentes ao longo de oito jogos. (a) (b) Figura 6. Competições envolvendo o agente UAV3. (a) Desempenho médio dos agentes ao longo de oito jogos. (b) Desvio padrão do desempenho dos agentes ao longo de oito jogos.

(a) (b) Figura 7. Competições envolvendo o agente UAV4. (a) Desempenho médio dos agentes ao longo de oito jogos. (b) Desvio padrão do desempenho dos agentes ao longo de oito jogos. (a) (b) Figura 8. Competições envolvendo o agente UAV5. (a) Desempenho médio dos agentes ao longo de oito jogos. (b) Desvio padrão do desempenho dos agentes ao longo de oito jogos. O gráfico da Figura 6 (a) mostra que o agente UAV3 obteve um desempenho abaixo do agente Mertacor. Comparando-se o resultado de UAV3 contra o resultado obtido pelos agente UAV2 e USA, pode-se perceber que o uso de redes neurais treinadas com dados de jogos passados foi pior do que a estimativa simples obtida pelo agente UAV3 e não se pode confirmar que superou o resultado obtido pelo agente simples USA. Os resultados apresentados na Figura 7 (a) mostram que as técnicas de redes neurais e retraining utilizadas pelo agente UAV4 são tão eficientes quanto à estratégia utilizada pelo agente UAV2. Os resultados apresentados na Figura 8 (a) mostram que o desempenho do agente UAV5 é aproximadamente igual ao desempenho dos agentes UAV2 e UAV4. Deve-se observar que todos os agentes que obtiveram resultado superior, utilizam em seus respectivos modelos dados de jogo em andamento. Isso acontece essencialmente porque os modelos gerados com dados do passado ou com base em suposições gerais ocasionalmente irão falhar quando não forem compatíveis com um jogo em andamento. A Figura 9 captura alguns momentos em que a predição feita pelo modelo de redes neurais falha durante uma competição. 6. Conclusões Este artigo investigou o uso de feedback do ambiente para a predição de preços no domínio do TAC SCM. Em particular, da perspectiva do vendedor, foi investigada a predição

Figura 9. Momentos em que a baixa venda de computadores faz com que a fábrica trabalhe abaixo da capacidade máxima. de lances vencedores em leilões reversos fechados de primeiro preço. Redes neurais artificiais e heurísticas elaboradas a partir da análise do problema foram aplicadas para realização da predição. Algumas configurações para o uso de redes neurais e heurísticas foram tentadas com o objetivo de melhorar o desempenho de um agente que utilizou inicialmente uma versão simples da estratégia de predição. Foram utilizadas oito simulações para se avaliar o desempenho das diferentes configurações. Os experimentos no ambiente do TAC SCM mostraram que a heurística DPR é muito eficiente quando utilizada com a heurística simples ou com a rede neural e retraining. O uso de DPR com rede neural e sem retraining mostrou aproximadamente o mesmo desempenho do agente apenas com heurística simples. Um resultado interessante é que o retraining, mesmo que utilizando poucos dados recentes de uma competição em andamento, é mais eficiente que o uso apenas de redes neurais com dados de jogos passados (sem retraining). Isso mostra que modelos com dados recentes são muito mais eficientes do que modelos treinados com dados de jogos passados, mesmo que haja muitos dados para treinamento em logs de jogos passados e poucos dados recentes. Ainda de acordo com as simulações, o uso de heurísticas a partir da observação do problema se mostrou tão eficiente quanto o uso de rede neurais com retraining, pelos menos com a estratégia de retraining testada neste trabalho. O problema de prevê de forma acurada o preço de oferta de competidores no TAC SM tem sido realizado por outros trabalhos. A principal contribuição deste trabalho é a elaboração de uma heurística computacionalmente eficiente (DPR) e a investigação do uso de retraining no domínio do TAC SCM. Mas especificamente, a descoberta de que poucos dados de um jogo em andamento podem ser mais eficientes do que o uso de logs de jogos passados para a elaboração de modelos de definição do preço de oferta. Também foi mostrado como algumas informações disponíveis no ambiente podem ser utilizadas para a predição de preços de oferta vencedores no dominio do TAC SCM, especialmente,

a partir de uma estratégia sistemática que resultou na elaboração da heurística DPR. Uma questão que ainda fica em aberto é se há alguma estratégia de retraining mais eficiente para o domínio em estudo. Portanto, é natural que o trabalho prossiga na investigação de estratégias de retraining mais eficientes e na instalação destas estratégias, que sejam encontradas. É importante frisar que a melhor configuração do agente UECEUVA obteve um desempenho bem próximo do agente Mertacor, mesmo não tendo incorporado estratégias que fazem uso do feedback do ambiente para no mercado de oferta de componentes para montagem de computadores. Portanto, há também uma necessidade do trabalho continuar explorando o uso de previsões no mercado de oferta (compra de componentes de fornecedores) para tornar o agente UECEUVA mais eficiente. Referências [Chatzidimitriou et al. 2008] Chatzidimitriou, K. C., Symeonidis, A. L., Kontogounis, I., and Mitkas, P. A. (2008). Agent mertacor: A robust design for dealing with uncertainty and variation in scm environments. Expert Systems with Applications, 35(3):591 603. [Collins et al. 2006] Collins, J., Raghu Arunachalan, N. S., Eriksson, J., Finne, N., and Janson, S. (2006). The supply chain management game for the 2007 trading agent competition. Technical report, School of Computer Science Carnegie Mellon University, Pittsburgh, PA. [Dempsey et al. 2002] Dempsey, D. M., Butchart, K., and Hobson, P. W. (2002). Retraining trainable data classifiers. [Fasli and Kovalchuk 2011] Fasli, M. and Kovalchuk, Y. (2011). Learning approaches for developing successful seller strategies in dynamic supply chain management. Information Sciences. [He et al. 2006] He, M., Rogers, A., Luo, X., and Jennings, N. R. (2006). Designing a successful trading agent for supply chain management. In AAMAS 06: Proceedings of the fifth international joint conference on Autonomous agents and multiagent systems, pages 1159 1166, New York, NY, USA. ACM. [Pardoe and Stone 2005] Pardoe, D. and Stone, P. (2005). Bidding for customer orders in TAC SCM. In Faratin, P. and Rodriguez-Aguilar, J., editors, Agent Mediated Electronic Commerce VI: Theories for and Engineering of Distributed Mechanisms and Systems (AMEC 2004), volume 3435 of Lecture Notes in Artificial Intelligence, pages 143 157. Springer Verlag, Berlin. [Pardoe and Stone 2009] Pardoe, D. and Stone, P. (2009). An autonomous agent for supply chain management. In Adomavicius, G. and Gupta, A., editors, Handbooks in Information Systems Series: Business Computing, volume 3, pages 141 72. Emerald Group. [Sodomka et al. 2007] Sodomka, E., Collins, J., and Gini, M. (2007). Efficient statistical methods for evaluating trading agent performance. In AAAI 07: Proceedings of the 22nd national conference on Artificial intelligence, pages 770 775. AAAI Press. [Stan et al. 2006] Stan, M., Stan, B., and Florea, A. M. (2006). A dynamic strategy agent for supply chain management. Symbolic and Numeric Algorithms for Scientific Computing, International Symposium on, 0:227 232.