Propostas de Trabalhos Práticos

Simulação de um leilão

Sistema Multi-agente simulando os intervenientes num leilão. O sistema deverá incluir um agente arrematador e rios agentes licitadores.
Devem ser previstas as seguintes variantes:
a) leilão clássico ou leilão inglês (começa de baixo e ganha o que licitar por último)
b) leil
ão estilo lota de peixe ou leilão holandês (começa de cima e ganha o que licitar primeiro)
Os licitadores e o arrematador deverão dispor de intervalos de avaliação dos produtos (valor mínimo e valor máximo) e uma função de variação do valor a licitar. O valor máximo a oferecer pelo licitador Li poderá, em certas situações, ser superior ao valor máximo (por exemplo, caso um outro licitador Lj com grande competência na avaliação do produto licitado dar um lance superior ao máximo de Li para esse produto). A variação do valor a licitar dependerá dos lances dos outros participantes e do tempo.
Os licitadores deverão ter conhecimento das propostas dos outros licitadores e deverão dispor de modelos desses mesmos licitadores, que o afinando ao longo de rias licitações. É importante dotar os diversos licitadores de traços de personalidade diversos que determinem comportamentos diferentes durante o leilão.
Deverão ser experimentadas rias estratégias de licitação para tirar conclusões sobre as mesmas.
Agendamento de reuniões
Este trabalho destina-se a construir um sistema multi-agente capaz de efectuar o agendamento de reuniões com diversos utilizadores. Deverá incluir um agente coordenador capaz de efectuar o agendamento e um conjunto de agentes representado outros tantos potenciais participantes nas reuniões a agendar. Cada um destes agentes deve conhecer a agenda do interveniente que representa, contendo os compromissos agendados e os períodos de disponibilidade.
Os pedidos de agendamento de reuniões poderão ser oriundos de qualquer participante e deverão especificar a duração e os participantes a contactar, podendo a data e hora da reunião serem definidas de forma mais ou menos restritiva.
Os pedidos do coordenador aos intervenientes escolhidos para uma dada reunião (não necessariamente todos) poderão ser dos seguintes tipos:
- Indicar disponibilidades entre os dias D1 e D2 para realizar uma reunião com a duração de H horas
- Indicar se está disponível no dia D no horário entre H1 e H2 (respostas do tipo sim ou não, e nesse caso indicando qual o compromisso que tem.
- Pedir para o participante verificar se pode reagendar um compromisso exterior que tenha sido adengado previamente. O coordenador tenta isso quando não consegue agendar uma reunião e verifica que se um ou mais intervenientes reagendarem compromissos poderão libertar espaços para a reunião que se está a tentar marcar. Notar que a decisão de reagendamento poderá não ser do interveniente (pode ser até do coordenador). Notar também que esse compromisso não será uma reunião marcada previamente pelo agente coordenador mas um motivo pessoal como uma ida ao médico que poderá apenas ser reagendada por decisão do interveniente.
- Cancelar reunião previamente marcada
Quando o agente coordenador não puder efectuar a marcação da reunião pedida deverá tentar efectuar o reagendamento de reuniões previamente marcadas, de forma a libertar espaço para a nova reunião. depois de tal se ter mostrado impossível dadas as restrições existentes ele tentará negociar com algum participante a desmarcação de compromissos pessoais.

Planeamento de produção
Pretende-se um sistema multi-agente que simule o planeamento da produção de uma brica.
Deve ser considerado um agente por maquina e um agente por encomenda. O agente encomenda tenta negociar com os agentes máquina no sentido de ver a encomenda ser satisfeita dentro do prazo de entrega. As máquinas têm agendas de ocupação e podem existir máquinas do mesmo tipo, ou seja que fazem o mesmo.
O problema poderá ser resolvido de uma maneira simplificada onde as encomendas só passam por um tipo de máquina, ou de uma maneira mais real onde os produtos associados às encomendas têm de passar por rios tipos de máquinas diferentes segundo uma dada sequência (por exemplo, corte -> pintura -> embalagem).
As encomendas poderão ser unitárias ou de um lote de produtos e têm sempre associados prazos de entrega. Poderão ser efectuadas operações de reescalonamento.

Simulação de tráfego
Sistema de simulação de tráfego em que haverá agentes a representar os semáforos e eventualmente agentes a representar carros que pretendem ir de uma dada origem para um dado destino. Em alternativa as viaturas serão apenas entidades virtuais criadas e orientadas por um agente controlador da simulação.
Os semáforos fazem a contagem de veículos que passam cada vez que têm o verde, dando uma ideia da intensidade do tráfego. Poderão também receber informação sobre a dimensão da fila de espera.
Deve ser assegurada a coordenação entre semáforos de um mesmo cruzamento de modo a garantir um maior fluxo de tráfego (por exemplo, num cruzamento podemos aumentar a duração do verde numa direcção e reduzir na outra).
Deve também existir coordenação entre semáforos que estejam em sequência para que os condutores que tenham parado num vermelho numa via não voltem a parar em vermelhos nos X semáforos seguintes dessa mesma via, optimizando o fluxo nas vias com maior tráfego.
O simulador deve permitir dois modos de injecção de tráfego na simulação: aleatória e com percurso determinado. Deve ainda ser possível especificar a taxa média de injecção de tráfego numa determinada entrada da área simulada.
A interface deve permitir a visualização adequada da realidade simulada e apresentar as estatísticas que descrevem o tráfego nas diferentes vias da área simulada.

Compradores e Vendedores
Considere um sistema de comércio electrónico baseado em agentes. Nele existirão rios agentes vendedores e rios agentes compradores. Os vendedores poderão ainda funcionar como compradores, se necessitarem de comprar a outros vendedores de modo a garantir stocks ou poder satisfazer um cliente.
Os compradores indicam os produtos que pretendem comprar e o prazo de entrega pretendido, os vendedores informam se têm tais produtos, qual o seu preço e se podem atender os pedidos dentro dos prazos de entrega pedidos. O comprador decide a quem comprar em função das respostas (poderá ter um valor máximo que pretenda pagar).
O comprador (ou o vendedor no papel de comprador) terá que ter uma orçamento máximo que pode gastar.
O comprador poderá tentar estabelecer um equilíbrio entre o custo e o prazo de entrega (por exemplo, aceitar que o produto chegue mais tarde mas a um custo mais reduzido). Poderá por outro lado ter que aceitar um preço mais alto do que o que pretendia para poder ter o material a tempo. Por outras palavras, os agentes compradores deverão ser capazes de negociar com os vendedores de modo a tentar obter melhores condições.
As compras são diferentes das entregas e se estas não forem feitas segundo o previsto o comprador poderá usar essa informação em negociações futuras (não considerando eventualmente os vendedores não cumpridores). Para tal deve manter um ranking dos vendedores.
Pretende-se que a interacção entre compradores e vendedores seja razoavelmente realista, ou seja, imite, dentro do possível, o comportamento dos diferentes intervenientes numa relação comercial.

Novembro 2007