andre-b-fernandes / IART

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FEUP-IART 2017/2018

Class 3MIEIC01/3MIEIC05 - Group B2_3

Element College e-mail
Bruno Alexandre Oliveira Dias up201504859@fe.up.pt
Fernando André Bezerra Moura Fernandes up201505821@fe.up.pt
Maria Eduarda Santos Cunha up201506524@fe.up.pt

Code developed for Artificial Intelligence (IART).

Otimização na Organização de um Jantar

B2: Otimizacao na Organizacao de um Jantar

Objectivo

Resolucao do problema de optimizacao da distribuicao de pessoas por mesas num jantar.

Descricao

Esta a ser organizado um jantar solidario, no qual se registaram centenas de pessoas.

Muitas delas estao registadas em grupo (de cônjuges, famílias, amigos), pelo que têm que ficar sentadas na mesma mesa. Por outro lado, pretende-se que as pessoas se sintam confortaveis com a companhia que vao ter durante o jantar, pelo que devem ser distribuídas de forma a terem alguma afinidade (etaria, profissional, hobística, etc).

Cada mesa podera ter entre Min e Max lugares. A sala onde decorrera o jantar comporta um maximo de Nt mesas de cada tamanho t (número de lugares). Pretende-se saber quantas mesas de cada tamanho devem ser utilizadas, e como deverao ficar distribuídas as pessoas.

Na resolucao deste problema pode utilizar múltiplas metodologias de optimizacao (Algoritmos Geneticos e uma delas). Estas metodologias podem ser utilizadas em conjunto de forma a obter uma solucao de boa qualidade para o problema (por exemplo criando uma solucao inicial que depois e iterativamente melhorada). Ou podem ser simplesmente utilizadas para efectuar uma analise comparativa do nível de desempenho de cada metodologia.

e tambem valorizada a modelizacao realista do problema. Representacao do tema como problema de otimizacao: estados, funcao de cruzamento/mutacao, funcao de vizinhanca, funcao de avaliacao, criterios de paragem. Algoritmos de otimizacao a aplicar (ilustrados para o caso concreto).

Dependency instructions using pip

pip install deap

Instruções de como correr:

python -m Logic

User interface

  1. Choose the type of algorithm to use

alt text

  1. Result

alt text

Class Diagram

alt text

About


Languages

Language:Python 100.0%