Leilão - Presa Predador (Onça e Carnes)

ALUNO: LUCAS AUGUSTO ALVES COSTA - 558579

Leilão
O leilão é uma modalidade de negociação, onde que caso existam mais de uma pessoa interessada em algo leiloado, inicia-se uma disputa para decudur quem dará o maior lance começando com o lance mínimo. Pode se dizer que é uma disputa de "quem paga mais".

Presa Predador
O Algoritmo de Leilao é baseado em tarefas a serem leiloadas para agentes adquirirem. Neste caso, utilizo Onças e Carnes para fazer uma representatividade mais visual para o problema.

O problema a ser pensado é que quando vai se alimentar Onças em um local mais aberto, deve-se jogar as carnes para elas, entretanto elas vao se decidir quem vai pegar qual pedaço de carne. Logo a que conseguir chegar primeiro no pedaço de carne irá comer ela.

Funcionamento
Para esse problemas teremos um número X de Predadores e Y de Presas. Entretanto utilizaremos N >> N(Mesmo número de predadores pra presas). Antes de tudo precisamos calcular uma constante E. Esta constante é dada:

E = 1 / Agentes(Onças)

Este E é definido para encontrar a solução mais próxima do ótimo da situação.

Feito isso temos outros passos a se cumprir, como por exemplo uma tabela, onde se encontra pra cada Agente(Alocação, Incremento, Preço, Desalocação). Esta tabela serve para se identifacar todas as informações necessárias.

Para calcular a primeira iteração, primeiro precisamos descobrir qual a Carne é mais perto pra onça, logo pegamos a carne mais perta(V) e a segunda mais perta(W).

V = Distancia - Preço(Dificuldade pra chegar a carne)

W = Distancia - Preço(Dificuldade pra chegar a carne)

Depois de pegar os dois melhores, deve-se calcular o incremento(Inc).

Inc = V - W + E

Logo após isso é dado o novo preço pra chegar a carne

PrecoNovo = PrecoAgora + Inc

E entao com isso, colocamos a Onça para o objeto V. Mas caso algum outra onca esteja neste objetivo, temo que refazer todo o processo com ela na proxima iteração e assim sucessivamente até todos estarem alocados.

Exemplo e Download
Segue um video para visualizar o funcionamento do algoritmo:



Para Baixar o projeto e ter acesso ao código totalmente comentado com a execução passo a passo:

https://drive.google.com/drive/folders/12-7SR7OsMnzVDxXyNEUBtFEB3yogv583?usp=sharing

Caso não esteja conseguindo acessar o link, contate-me

lucas.costa.bat@gmail.com