Trabalho de Formatura - MAC499 Marcio Fumihiko Suenaga tico Projeto: Escala de Caravana Assistencial...

Post on 17-Apr-2015

110 views 2 download

Transcript of Trabalho de Formatura - MAC499 Marcio Fumihiko Suenaga tico Projeto: Escala de Caravana Assistencial...

Trabalho de Formatura - MAC499

Marcio Fumihiko Suenagahttp://www.linux.ime.usp.br/~tico

Projeto: Escala de Caravana Assistencialhttp://www.linux.ime.usp.br/~tico/mac499

Orientador: Prof. Alfredo Goldman

Objetivos

● Estudar os tipos de algoritmos de escala.● Selecionar o que melhor algoritmo que soluciona

o problema● Projetar um programa de escala.● Se formar!

O que é um problema de escalonamento?

Como solucionar um problema de escalonamento?

Exemplo: fila de banco● Antes: uma fila para cada caixa● Problema: nem sempre é justo

para quem chegou antes.● Solução: fila única.

ABEUNIAliança Beneficente Universitária

www.abeuni.org.br

● 22 anos de trabalho voluntário● Universitários de qualquer área.● 44 caravanas● Outros trabalhos beneficentes● Aproximadamente 300

voluntários ativos

A caravana da ABEUNI

● 12 Departamentos● 9 dias de evento● 6 dias de atendimento● ~300 voluntários● ~50 novos voluntários

Problema: Escala de Calouros

● Aproximadamente 50 calouros● 12 departamentos● 6 dias com 2 turnos por dia● 12x6x2 = 600 pontos de escala● Eliminar o atual preenchimento

manual extremamente cansativo após alguns dias de evento.

Agoritmos ConhecidosEstudados em MAC5758

Introdução ao Escalonamento e Aplicações

● TABU● Contraint Programming● Genético● Ant-colony

Por que Programação por restrição?

● Solução rápida● Simples● Pouco processamento● Solução não ideal mas boa.

Constraint Programming

restrição

Constraint Programming

Constraint Programming

Constraint Programming

Constraint Programming

Constraint Programming

Constraint Programming

Constraint Programmingwith backtracking

Próximo passobuscar outra tentativa

que chegue a uma soluçãomelhor

Constraint Programmingwith backtracking

Constraint Programmingwith backtracking

Constraint Programmingwith backtracking

Restrição com pontuação

3 2 2

Restrição com pontuação

2

32

Restrição com pontuação

1 2

Restrição com pontuação

3

Restrição com pontuação

1

As restrições do problemaRestrições de alta prioridadeR1 - Calouros da área podem ser requisitado para o departamento específico.R2 – Deve-se aceitar mudanças e escolhas do operador. R3 - O primeiro turno pode não ter atendimento em alguns departamentos por falta de população a ser atendida então estes departamentos poderão ser repetidos sem ser considerado uma repetição.R4 - Alguns departamentos pedem um número de homens mínimo dentre os calouros pedidos.Restrições de baixa prioridade B1 - Quando acontecer uma repetição, é melhor que a repetição não seja consecutiva. De preferência o mais distante possível.B2 - É bom empurrar as repetições para o fim do evento

O programa