Programação por Restrições

Slides:



Advertisements
Apresentações semelhantes
«Forte do Bom Sucesso (Lisboa) – Lápides 1, 2, 3» «nomes gravados, 21 de Agosto de 2008» «Ultramar.TerraWeb»
Advertisements

UNICAMP Universidade Estadual de Campinas Centro Superior de Educação Tecnológica Divisão de Telecomunicações Propagação de Ondas e Antenas Prof.Dr. Leonardo.
INFORMAÇÕES COMPLEMENTARES
Propriedades físicas representativas de
EVOLUÇÃO E DESAFIOS DAS EXPORTAÇÕES DE CARNES DE AVES E SUÍNOS
Palestras, oficinas e outras atividades
A busca das mulheres para alcançar seu espaço dentro das organizações
Vamos contar D U De 10 até 69 Professor Vaz Nunes 1999 (Ovar-Portugal). Nenhuns direitos reservados, excepto para fins comerciais. Por favor, não coloque.
Vamos contar D U De 70 até 99 Professor Vaz Nunes 1999 (Ovar-Portugal). Nenhuns direitos reservados, excepto para fins comerciais. Por favor, não coloque.
METODOLOGIAS 1. SONDAGEM NACIONAL entrevistas 2. QUESTIONÁRIOS 12 escolas básicas integradas da Grande Lisboa 3. GRUPOS DE FOCO 12 grupos.
João Lúcio de Azevedo ESALQ/USP, UMC, UCS, CBA
Exercício do Tangram Tangram é um quebra-cabeças chinês no qual, usando 7 peças deve-se construir formas geométricas.
MISSÕES ESTADUAIS.
Nome : Resolve estas operações começando no centro de cada espiral. Nos rectângulos põe o resultado de cada operação. Comprova se no final.
1 INQUÉRITOS PEDAGÓGICOS 2º Semestre 2003/2004 ANÁLISE GERAL DOS RESULTADOS OBTIDOS 1.Nº de RESPOSTAS ao inquérito 2003/2004 = (42,8%) 2.Comparação.
1 Domínios Finitos Em muitas problemas de interesse, não é possível aceditar soluções fraccionárias ou reais, mas apenas soluções inteiras. Exemplos destas.
1 Programação por Restrições Mestrado / Licenciatura em Engenharia Informática Pedro Barahona 2005/06.
Seminários de Informática
Curso de ADMINISTRAÇÃO
EXPRESSÕES ARITMÉTICAS
Análise Econômica Lucro Real Nívea Cordeiro 2011.
cve Coordenação de Vigilância Epidemiológica
A Tabuada.
Provas de Concursos Anteriores
IMPLANTAÇÃO GERAL D C B A N ACESSOS PEDESTRES ACESSOS VEÍCULOS
Renda até 2 SM.
PEC 301/2013 Medicamentos mais Baratos Deputado Francisco Chagas - PT
Indicadores do Mercado de Meios Eletrônicos de Pagamento
Diagnósticos Educativos = Diagnósticos Preenchidos 100% = 1.539
TELECOMUNICAÇÕES - ROAMING
PESQUISA SOBRE PRAZO MÉDIO DA ASSISTÊNCIA NA SAÚDE SUPLEMENTAR
Justificativas Racionalização do uso do Plano – evitar desperdícios Correção de distorções Tratamento isonômico para cônjuges servidores Manutenção da.
MECÂNICA - DINÂMICA Exercícios Cap. 13, 14 e 17. TC027 - Mecânica Geral III - Dinâmica © 2013 Curotto, C.L. - UFPR 2 Problema
Bolha Posição de máx. W2 Ponto de Estagnação
CATÁLOGO GÉIA PÁG. 1 GÉIA PÁG. 2 HESTIA PÁG. 3.
PROCESSOS PRINCIPAIS Alunos - Grau de Satisfação 4971 avaliações * Questões que entraram em vigor em 2011 ** N.A. = Não Aplicável Versão: 07/02/2012 INDICADORES.
LINHAS MAIS RECLAMADAS Ranking Negativo para Fiscalização Direcionada Conservação - Frota ANO IV – Nº 06.
LINHAS MAIS RECLAMADAS Ranking Negativo para Fiscalização Direcionada Conservação - Frota ANO IV – Nº 11.
LINHAS MAIS RECLAMADAS Ranking Negativo para Fiscalização Direcionada Conduta Auxiliar ANO V – Nº 02.
Trabalho sobre Cor Thiago Marques Toledo.
JESUS SE ENCONTRA COM SEUS PRIMEIROS SEGUIDORES
LINHAS MAIS RECLAMADAS Ranking Negativo para Fiscalização Direcionada Conservação - Frota ANO IV – Nº 12.
FISCALIZAÇÃO DIRECIONADA CONDUTA - AUXILIAR ANO III – Nº 05.
FISCALIZAÇÃO DIRECIONADA NÍVEL DE SERVIÇO ANO I – Nº 4.
Coordenação Geral de Ensino da Faculdade
Os números a seguir, representam as notas de
Funcionários - Grau de Satisfação 2096 avaliações
LINHAS MAIS RECLAMADAS Ranking Negativo para Fiscalização Direcionada Conservação - Frota ANO V – Nº 01.
PERFIL DOS BENEFICIÁRIOS E NÃO-BENEFICIÁRIOS DO PROGRAMA BOLSA FAMÍLIA EM TERMOS DE MERCADO DE TRABALHO: CONSIDERAÇÕES METODOLÓGICAS E SUBSTANTIVAS Alessandra.
Tributação da Exportação nas Empresas optantes pelo Simples Nacional
Projeto Marcas que Eu Gosto 1 PROJETO MARCAS QUE EU GOSTO Estudos Quantitativo de Consumidores Janeiro / 2005.
Núcleo de Mídia – Comercial Ranking Nacional de Circulação - Domingos Evolução Mês* 3,38% 2,20% 1,39% 1,13% -4,84% 0,49% -6,16% -0,07% -0,71% 0,27% 0,43%
Núcleo de Estatística e Gestão Estratégica- NEGEST.
1/40 COMANDO DA 11ª REGIÃO MILITAR PALESTRA AOS MILITARES DA RESERVA, REFORMADOS E PENSIONISTAS - Mar 06 -
Projeto Medindo minha escola.
LINHAS MAIS RECLAMADAS Ranking Negativo para Fiscalização Direcionada Conservação - Frota ANO V – Nº 03.
Cruz Alta Nossa Velha - Nova Parte 51 CRUZ ALTA VISTA DO ESPAÇO – Parte
LINHAS MAIS RECLAMADAS Ranking Negativo para Fiscalização Direcionada Conduta - Auxiliar ANO V – Nº 04.
DIEGO RICARDO DE ARAUJO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO INSTITUTO DE CIÊNCIA EXATAS UNIVERSIDADE FEDERAL DE JUIZ DE FORA Seleção de Características.
Estatística Aula 9 – 28/02/2011.
1 Aplicações do Fecho Regular. 2 A interseção de uma linguagem livre de contexto e uma linguagem regular é uma linguagem livre de contexto livre de contexto.
CONCEITOS FUNDAMENTAIS
Olhe fixamente para a Bruxa Nariguda
Máquina de Turing Universal
3ª PESQUISA DE REMUNERAÇÃO
Equipe Bárbara Régis Lissa Lourenço Lucas Hakim Ricardo Spada Coordenador: Gabriel Pascutti.
AVALIAÇÕES FÍSICAS EVOLUÇÃO PILAR FÍSICO. QUADRO FERJ 85% 79%78% 82% 91% EM MAIO DE 2007 ERAM 56% DE APROVADOS 93% 92% 95%
LEILÃO nº 3/2014 Dia 12 de setembro, às 14 horas.
PAUTA: 1.- EDUC 2.- INADIMPLÊNCIA 3.- PERSPECTIVAS ECONÔMICAS
Universidade Federal do Paraná Projeto de Iniciação Científica
Transcrição da apresentação:

Programação por Restrições Pedro Barahona

Restrições - O que são Intuitivamente são limitações aos possíveis valores que as variáveis de um problema podem tomar dentro de um certo domínio. Um problema de satisfação de restrições pode ser especificado por um tuplo < V, D, R > em que V: é o conjunto de variáveis usadas na modelação do problema D: é o domínio(s) em que as variáveis de V podem tomar valores R: é o conjunto de restrições que afectam as variáveis V

Restrições - Exemplos Planeamento de testes em circuitos digitais Para detecção de avarias Para distinção de avarias Gestão de Tráfego em Redes Gestão da Produção Sequenciação de Tarefas (Scheduling) Geração de Horários Caixeiro Viajante Simples ou Multiplo “Colocação” ou “preenchimento” 2D: corte de peças (tecido, tábuas, etc...) 3D: prenchimento de contentores

Restrições - Circuitos digitais Planeamento de testes para detecção de avarias Objectivo: Determinar um padrão de entrada que permita detectar se uma “gate” está avariada. Variáveis: modelam o valor do nível eléctrico (high/low) nos vários “fios” do circuito Domínio: Booleanos: 0/1. Restrições: Restrições de igualdade entre o sinal de saída e o esperado pelo funcionamento das “gates”

Restrições - Circuitos digitais B E F G H I G1 G2 G3 G4 G5 E = A+B+A·B % E = or(A,B) F = 1+ B·C % F = nand(B,C) G = C·D % G = nand(B,C) H = 1+E·F % H = nand(E,F) I = 1+F·G % H = nand(E,F)

Restrições - Gestão de Produção Determinação de quantidades ideais de items a produzir Objectivo: Determinar a quantidade de items que deve compor um plano de produção Variáveis: modelam o número de exemplares de cada preduto Domínio: Inteiros / Reais não negativos. Restrições: Limites dos recursos existentes, restrições sobre o plano produzido

Restrições - Gestão de Produção Limites dos recursos existentes a1j X1 + a2jX2 + a3jX3 + .... ≤ Ri Restrições sobre o plano produzido X1 + X2 ≥ X3 X4 = X5

Restrições - Gestão de Redes Determinação do tráfego em redes de telecomunicações (ou de transporte de água). Objectivo: Determinar a quantidade de informação que flui em cada um dos troços de uma rede de comunicações Variáveis: modelam o fluxo num troço Domínio: Reais não negativos. Restrições: Limites de capacidade dos troços, não perda de informação nos vários nós

Restrições - Gestão de Redes A B C E G F Z H D I4 23 15 Restrições de Capacidade Xab ≤ 15 Restrições de não perda de informação Xab+Xbd = Xbc

Restrições - Escalonamento de Tarefas Precedência entre tarefas J11 + D11 ≤ J12 Não sobreposição de tarefas Mi ≠ Mj Ú Jij + Dij ≤ Jkl Ú Jkl + Dkl ≤ Jij

Restrições - Horários Determinação de horários (p.ex. escolares) para planos de produção Objectivo: Determinar o início das várias aulas de dum horário Variáveis: modelam o início da aula, e eventualmente a sala, o professor, etc... Domínio: Finitos para osprofessores Finitos (horas certas) para os tempos Restrições: Não sobreposição de aulas na mesma sala , nem com o mesmo professor, etc...,

Restrições - Caixeiro Viajante Determinação de percursos (frotas de carros, empresas de distribuição) Objectivo: Determinar o “melhor” caminho para ser seguido pelos veículos de uma empresa de distribuição Variáveis: Ordem em que uma localidade é atingida Domínio: Finitos (localidades existentes) Restrições: Não repetir localidades, garantir ciclos, não existência de sub-ciclos

Restrições - Caixeiro Viajante B C E G F Z H D I4 23 15 34 ordem em que uma localidade é atingida V1 = a, V2 = d, V3 = b, ... garantir ciclos Vj ≠ Vj não existência de sub-ciclos ???

Restrições - Colocação Colocar componentes sem sobreposição Objectivo: Determinar formas de conseguir colocar componentes num dado espaço Variáveis: Coordenadas dos elementos Domínio: Reais / Finitos (grelha) Restrições: Não sobrepôr componentes, não ultrapassar os limites do “contentor

Restrições - Colocação Não ultrapassar os limites do “contentor Xa+Lxa ≤ Xmax Não sobrepôr componentes Xa+Lxa ≤ Xb Ú Xb+Lyb ≤ Xa Ú Ya+Lya ≤ Yb Ú Yb+Lyb ≤ Ya

Restrições - Satisfação ou Optimização Em certos (muitos) casos o que se pretende determinar não é uma solução qualquer, mas sim a melhor solução Um problema de optimização com restrições pode ser especificado por um tuplo < V, D, R, F > em que V, D, R como antes F: é uma função das soluções para um domínio ordenado

Optimização com Restrições - Exemplos Planeamento de testes em circuitos digitais Teste com menos entradas especificadas Gestão de Tráfego em Redes Tráfego com menor custo Gestão da Produção Plano com maior lucro Sequenciação de Tarefas (Scheduling) Solução com o fim mais cedo

Optimização com Restrições - Exemplos Geração de Horários Solução com menos furos Solução com menos teóricas de tarde Caixeiro Viajante Solução com menor distância percorrida “Colocação” ou “preenchimento” Colocação do maior número de peças

Restrições + Optimização - Caixeiro Viajante B C E G F Z H D I4 23 15 34 Distância percorrida V1 = a Ù V2 = d Þ P1 = 15 Optimização min S Pi

Restrições - Complexidade A dificuldade em resolver os problemas de restrições reside na sua complexidade exponencial. Domínio Booleano Número de variáveis: n Dimensão do Domínio: 2 Número de soluções potenciais: 2n Domínio Finitos Dimensão do Domínio: k Número de soluções potenciais: kn

Complexidade Exponencial Para perspectivar ...

Restrições - Complexidade O problemas de interesse são geralmente Restrições: NP - completos Optimização: NP - difíceis Analogia com 3SAT Problema 3SAT

Restrições - Métodos de Resolução Resolução Simbólica Booleanos Programação Linear Inteira Retrocesso Percorre todo o espaço de pesquisa Complexidade k1n Redução do espaço de pesquisa Propagação de restrições Cortes - Programação inteira Complexidade k2n

Retrocesso Testes 0 Retrocessos 0

Q1 \= Q2, L1+Q1 \= L2+Q2, L1+Q2 \= L2+Q1. Retrocesso Q1 \= Q2, L1+Q1 \= L2+Q2, L1+Q2 \= L2+Q1. Testes 0 + 1 = 1 Retrocessos 0

Q1 \= Q2, L1+Q1 \= L2+Q2, L1+Q2 \= L2+Q1. Retrocesso Q1 \= Q2, L1+Q1 \= L2+Q2, L1+Q2 \= L2+Q1. Testes 1 + 1 = 2 Retrocessos 0

Q1 \= Q2, L1+Q1 \= L2+Q2, L1+Q2 \= L2+Q1. Retrocesso Q1 \= Q2, L1+Q1 \= L2+Q2, L1+Q2 \= L2+Q1. Testes 2 + 1 = 3 Retrocessos 0

Retrocesso Testes 3 + 1 = 4 Retrocessos 0

Retrocesso Testes 4 + 2 = 6 Retrocessos 0

Retrocesso Testes 6 + 1 = 7 Retrocessos 0

Retrocesso Testes 7 + 2 = 9 Retrocessos 0

Retrocesso Testes 9 + 2 = 11 Retrocessos 0

Retrocesso Testes 11 + 1 + 3 = 15 Retrocessos 0

Retrocesso Testes 15 + 1 + 4 + 2 + 4 = 26 Retrocessos 0

Retrocesso Testes 26 + 1 = 27 Retrocessos 0

Retrocesso Testes 27 + 3 = 30 Retrocessos 0

Retrocesso Testes 30 + 2 = 32 Retrocessos 0

Retrocesso Testes 32 + 4 = 36 Retrocessos 0

Retrocesso Testes 36 + 3 = 39 Retrocessos 0

Retrocesso Testes 39 + 1 = 40 Retrocessos 0

Retrocesso Testes 40 + 2 = 42 Retrocessos 0

Retrocesso Testes 42 + 3 = 45 Retrocessos 0

Retrocesso Falha 6 Retrocede 5 Testes 45 Retrocessos 0

Retrocesso Testes 45 Retrocessos 1

Retrocesso Testes 45 + 1 = 46 Retrocessos 1

Retrocesso Testes 46 + 2 = 48 Retrocessos 1

Retrocesso Testes 48 + 3 = 51 Retrocessos 1

Retrocesso Testes 51 + 4 = 55 Retrocessos 1

Retrocesso Falha 6 Retrocede 5 e 4 Testes 55+1+3+2+4+3+1+2+3 = 74 Retrocessos 1

Retrocesso Testes 74+2+1+2+3+3= 85 Retrocessos 1+2 = 3

Retrocesso Testes 85 + 1 + 4 = 90 Retrocessos 3

Retrocesso Testes 90 +1+3+2+5 = 101 Retrocessos 3

Retrocesso Testes 101+1+5+2+4+3+6= 122 Retrocessos 3

Retrocesso Falha 8 Retrocede 7 Testes 122+1+5+2+6+3+6+4+1= 150 Retrocessos 3+1=4

Retrocesso Falha 7 Retrocede 6 Testes 150+1+2= 153 Retrocessos 4+1=5

Retrocesso Falha 6 Retrocede 5 Testes 153+3+1+2+3= 162 Retrocessos 5+1=6

Retrocesso Testes 162+2+4= 168 Retrocessos 6+1=7

Retrocesso Falha 6 Retrocede 5 Testes 168+1+3+2+5+3+1+2+3= 188 Retrocessos 7

Retrocesso Falha 5 Retrocede 4 Testes 188+1+2+3+4= 198 Retrocessos 7+1=8

Retrocesso Testes 198 + 3 = 201 Retrocessos 8+1=9

Retrocesso Testes 201+1+4 = 206 Retrocessos 9

Retrocesso Testes 206+1+3+2+5 = 217 Retrocessos 9

Retrocesso Testes 217+1+5+2+5+3+6 = 239 Retrocessos 9

Retrocesso Falha 8 Retrocede 7 Testes 239+1+5+2+4+3+6+7+7= 274 Retrocessos 9+1=10

Retrocesso Falha 7 Retrocede 6 Testes 274+1+2= 277 Retrocessos 10+1=11

Retrocesso Falha 6 Retrocede 5 Testes 277+3+1+2+3= 286 Retrocessos 11+1=12

Retrocesso Testes 286+2+4= 292 Retrocessos 12

Retrocesso Falha 6 Retrocede 5 Testes 292+1+3+2+5+3+1+2+3= 312 Retrocessos 12+1=13

Retrocesso Falha 5 Retrocede 4 e 3 Testes 312+1+2+3+4= 322 Retrocessos 13+2=15

Retrocesso X1=1 X2=3 X3=5 Impossível Testes 322 + 2 = 324 Retrocessos 15

Propagação Testes 0 Retrocessos 0

Q1 #\= Q2, L1+Q1 #\= L2+Q2, L1+Q2 #\= L2+Q1. Propagação Q1 #\= Q2, L1+Q1 #\= L2+Q2, L1+Q2 #\= L2+Q1. 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Testes 8 * 7 = 56 Retrocessos 0

Propagação 1 1 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 Testes 56 + 6 * 6 = 92 Retrocessos 0

Propagação 1 1 1 2 1 2 1 2 1 2 3 1 2 1 2 3 1 3 2 3 1 2 3 1 2 3 1 2 1 2 3 1 Testes 92 + 4 * 5 = 112 Retrocessos 0

Propagação 2 1 1 X6 só pode tomar o valor 4 1 2 1 2 1 2 1 2 3 1 2 1 2 Testes 92 + 4 * 5 = 112 Retrocessos 0

Propagação 2 1 1 1 2 1 2 1 6 2 1 2 3 1 2 6 1 2 3 1 3 2 3 1 2 3 1 2 6 3 1 2 1 6 2 6 3 6 1 Testes 112+3+3+3+4 = 125 Retrocessos 0

Propagação 2 1 1 X8 só pode tomar o valor 7 1 2 1 2 1 6 2 1 2 3 1 2 6 Testes 125 Retrocessos 0

Propagação 2 1 1 1 2 1 2 1 6 2 1 2 3 1 2 6 1 2 3 1 3 2 3 1 2 3 1 2 6 3 1 2 1 6 2 2 3 6 1 Testes 125 Retrocessos 0

Propagação 2 1 1 1 2 1 2 1 8 6 2 1 2 3 1 2 6 1 2 3 1 3 2 3 1 2 3 1 2 6 3 8 1 2 1 6 2 2 3 6 1 Testes 125+2+2+2=131 Retrocessos 0

Propagação 2 1 1 X4 só pode tomar o valor 8 1 2 1 2 1 6 2 1 2 3 8 1 2 Testes 131 Retrocessos 0

Propagação 2 1 1 1 2 1 2 1 8 6 2 1 2 3 1 2 6 1 2 3 1 3 2 3 1 2 3 1 2 6 3 8 1 2 1 6 2 2 3 6 1 Testes 131 Retrocessos 0

Propagação 2 1 1 1 2 1 2 1 6 2 1 2 3 8 1 2 6 1 2 3 4 1 3 2 3 1 2 3 1 2 6 3 8 1 2 1 6 2 2 3 6 1 Testes 131+2+2=135 Retrocessos 0

Propagação 2 1 1 X5 só pode tomar o valor 2 1 2 1 2 1 6 2 1 2 3 8 1 2 4 1 3 2 3 1 2 3 1 2 6 3 8 1 2 1 6 2 2 3 6 1 Testes 135 Retrocessos 0

Propagação 2 1 1 1 2 1 2 1 6 2 1 2 3 8 1 2 6 1 2 3 4 1 3 2 3 1 2 3 1 2 6 3 8 1 2 1 6 2 2 3 6 1 Testes 135 Retrocessos 0

Propagação 2 1 1 1 2 1 2 1 6 2 1 2 3 8 1 2 6 1 2 3 4 1 3 2 3 1 2 3 1 5 2 6 3 8 1 2 1 6 2 2 3 6 1 Testes 135+1=136 Retrocessos 0

Propagação 2 1 1 1 2 1 2 1 6 2 1 2 3 8 1 2 6 1 2 3 4 1 3 2 3 1 2 3 1 5 2 6 3 8 1 2 1 6 2 2 3 6 1 Testes 136 Retrocessos 0

Propagação 2 1 1 Falha 7 Retrocede 3 ! 1 2 1 2 1 6 2 1 2 3 8 1 2 6 1 2 4 1 3 2 3 1 2 3 1 5 2 6 3 8 1 2 1 6 2 2 3 6 1 Testes 136 Retrocessos 0+1=1

Propagação 2 1 1 Testes 136 (324) Retrocessos 1 (15) X1=1 X2=3 X3=5 Impossível 1 2 1 2 1 2 1 2 3 3 1 2 3 1 2 3 3 1 2 1 2 3 1 3 2 3 1 2 1 2 3 1 Testes 136 Retrocessos 1

Restrições - Métodos de Resolução Pesquisa Local Reparação de “soluções” Optimização Método incompleto

Pesquisa Local - Reparação 4 7 1 6 3 5 8 2 Solução Permutação Vizinhança Troca

Pesquisa Local - Reparação 4 7 1 6 3 5 8 2 2 Ataques 3 - 5 4 - 8

Pesquisa Local - Reparação 4 7 1  2 6 3 5 8 2  1 2 Ataques 3 - 5 4 - 8

Pesquisa Local - Reparação 4 7 2 6 3 5 8 1 3 Ataques 1 - 3 2 - 8 3 - 6

Pesquisa Local - Reparação 4  1 7 2 6 3 5 8 1  4 3 Ataques 1 - 3 2 - 8 3 - 6

Pesquisa Local - Reparação 1 7 2 6 3 5 8 4 1 Ataque 3 - 6

Pesquisa Local - Reparação 1 7 2  8 6 3 5 8  2 4 1 Ataque 3 - 6

Pesquisa Local - Reparação 1 7 8 6 3 5 2 4 3 Ataques 2 - 3 2 - 7 3 - 6

Pesquisa Local - Reparação 1 7  5 8 6 3 5  7 2 4 3 Ataques 2 - 3 2 - 7 3 - 6

Pesquisa Local - Reparação 0 Ataques 1 5 8 6 3 7 2 4

Programação por Restrições Foco na propagação de restrições associada ao retrocesso Extensão ao Prolog Constraint Logic Programming CHIP, ECLIPSE, SICStus Outras possibilidades Packages de filtragem ILOG, CHIP Página da cadeira ssdi.di.fct.unl.pt/~pb/cadeiras/pr

Programação por Restrições