AULA COMPUTACIONAL - Síntese de Sistemas de Separação (Cap. 7) 20 DE OUTUBRO DE 2008.

Slides:



Advertisements
Apresentações semelhantes
AULA 02 PROGRAMAÇÃO LINEAR INTEIRA
Advertisements

Algoritmos em Grafos (Parte 2)
Antonio Dirceu Rabelo de Vasconcelos Filho
Inteligência Artificial
Métodos Iterativos.
Fluxo em Redes Prof. Ricardo R. Santos.
Disciplina Pesquisa Operacional – 60 h
OTIMIZAÇÃO DO PROJETO DE REDES URBANAS BASEADO NO PROBLEMA DE STEINER
Métodos para representação de estruturas hierárquicas
Programação Avançada I
Pesquisa em profundidade
Estrutura de Dados e Algoritmos e Programação e Computadores II
1 Optimização Na programação por restrições, há que considerar não apenas a satisfação de restrições mas também a optimização de uma função objectivo.
Prof. M.Sc. Fábio Francisco da Costa Fontes Outubro
Pesquisa Operacional II Programação Linear Inteira
Prof. M.Sc. Fábio Francisco da Costa Fontes Agosto
Problemas de Forma Não-padrão
SOLUÇÃO MATRICIAL E MÉTODO SIMPLEX REVISADO
Prof. M.Sc. Fábio Francisco da Costa Fontes Abril
Pesquisa Operacional II Programação Linear Inteira
PARTIÇÃO DE BENDERS Secundino Soares Filho Unicamp.
Metaheurísticas Prof. Aurora Pozo Departamento de Informática Universidade Federal do Paraná
Transporte em Tempo Mínimo
Branch-and-Bound Marcone Jamilson Freitas Souza
 Exemplo Convexo: Kocis e Grossmann (1987)
Artigo: The dynamic berth allocation problem for a container port Akio Imai, Etsuko Nishimura, Stratos Papadimitriou, Analisando a formulação relaxada.
Análise Léxica Supondo o trecho de programa abaixo:
SIMPLEX ANÁLISE COMPLETA ANDERSON BESTETTI 1, EDUARDO RIGHES 1, EVERTON FONTOURA 2, GUILHERME LAZZARI 3, RODRIGO SCHRAMM 3, ROGERIO MARTINS 4 1 {anderson.bestetti,
Inteligência Artificial
SISTEMAS LINEARES ( AULA 2 ).
Introdução aos Sistemas de Controle
3 - Equações Lineares de Segunda Ordem
Meta - heurísticas Prof. Aurora
Tópicos em otimização combinatória
T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas.
Grafos Árvores Geradoras.
Uma Introdução a Evolução Diferencial
PROGRAMAÇÃO INTEIRA 27 de maio de 2014.
Resolução de problemas por meio de busca
Programação inteira Branch-and-bound Aula baseada em diversas fontes:
Otimização Inteira 5a. Aula Franklina.
Resolução de sistemas lineares Métodos Numéricos para Engenharia I
O problema do emparelhamento máximo
Programação Inteira.
Introdução e Busca Cega
Disciplina: Métodos de Computação Inteligente – 1
1 - Equações Diferenciais Ordinárias
Aula 5 Programação Inteira
Algoritmos de Busca Local
Cálculo Numérico / Métodos Numéricos
Otimização Linear Definições e Solução Gráfica
Roberto A. G. Motta sob orientação do Prof. Dr. Siang Wun Song
Construção e Análise de Algoritmos
Fontes de Erros Aula 1 Introdução; Erros em processos numéricos;
Inteligência Artificial
Otimização Paramétrica (Cap. 5)
O Problema de Corte de Estoque
Busca Combinatorial e Métodos de Heurística
Inteligência Artificial
Resolução de Problemas de Busca

Exercícios de Fluxo em Redes
Sistemas de Equações Lineares (SEL ) – Parte II
Busca em Espaço de Estados Parte2 Algoritmos de Busca Cega
Maria do Socorro Nogueira Rangel DCCE
Algoritmo de Transportes Objecto de Aprendizagem Manuel Pina MarquesDEIG
Computação Evolutiva Nome dado ao estudo de algoritmos cuja inspiração é o processo de evolução natural das espécies. Origem: trabalho de um pesquisador.
Pesquisa Operacional:
Como ir do tableau da base (j 1,...j s-1,j s, j s+1....j m ) para o da base (j 1,...j s-1,k, j s+1....j m ) lembrando que : na coluna associada à x ji.
Transcrição da apresentação:

AULA COMPUTACIONAL - Síntese de Sistemas de Separação (Cap. 7) 20 DE OUTUBRO DE 2008

7.6 Resolução por Método de Busca Orientada por Árvore de Estados Descrição do Método de Rodrigo & Seader Resolução do Problema Ilustrativo pelo Método de Rodrigo & Seader

Sequenciamento de destilações.

Localização de alimentação e/ou refluxo de colunas de destilação

Rede de trocadores de calor

Problemas com o relaxamento da variáveis inteiras

As variáveis inteiras, z, com limites superiores e inferiores dados, z l  z  z u, podem ser expressas como um vetor de variáveis binárias, y  Y = {0,1} q, pela seguinte fórmula: onde q é o número mínimo de variáveis 0  1 necessárias para representar z. Este número mínimo é dado por: sendo que a função “int” trunca o argumento real para um valor inteiro.

Programação linear inteira mista (MILP) min c T x + d T y sujeito a: A x + B y  b x  0 x  X   n, y  Y = {0,1} q

Método de Branch & Bound O método de branch and bound está baseado nas idéias chaves de: Separação Relaxação Sondagem

Separação Denotando o problema MILP abaixo por (P) e o conjunto de suas soluções viáveis por FS(P). (i)uma solução viável de qualquer subproblema (P 1 ), (P 2 ),..., (P n ) é também uma solução viável de (P); (ii)cada solução viável de (P) é uma solução viável de exatamente um de seus subproblemas. Então o conjunto de subproblemas (P 1 ), (P 2 ),..., (P n ) de (P) é uma separação de (P) se: Neste caso, o problema (P) é chamado de problema Pai e os subproblemas (P 1 ), (P 2 ),..., (P n ) são chamados de problemas Filhos.

Uma questão importante no método de branch and bound é de como gerar uma separação do problema (P). A maneira geralmente utilizada é a introdução de restrições contraditórias em uma única variável binária (ou inteira) a cada estágio. Por exemplo, selecionando a variável binária y 1 de (P), pode-se separá- lo, ou ramificá-lo (branching), em dois subproblemas (P 1 ) e (P 2 ):

Um problema de otimização, denotado por (RP), é uma relaxação do problema (P) se o conjunto de soluções viáveis de (P) é um subconjunto de soluções viáveis de (RP), isto é, FS(P)  FS(RP) Deste modo, se (RP) não tem solução viável, então (P) também não tem. Além disto, se z P é a solução ótima de (P) e z RP é a solução ótima de (RP), então: z RP  z P ou seja, a solução do problema relaxado fornece um limite inferior para a solução do problema original. Naturalmente, se a solução ótima de (RP) é viável para (P), então ela é a solução ótima de (P). Relaxação

A forma de relaxação mais freqüentemente utilizada em problemas MILP é tornar as variáveis binárias em variáveis contínuas: 0  y  1 gerando um problema LP relaxado. Outra forma de relaxação é remoção de algumas restrições de (P). Porém, existe um compromisso entre a relaxação e a qualidade do limite inferior (z RP ) para a solução ótima. Em geral, quanto mais fácil for a solução do problema relaxado (maior relaxamento), maior será a diferença entre z RP e z P.

Sondagem Seja (CS) um subproblema candidato para a solução de (P). Deseja- se então determinar se a região viável de (CS), FS(CS), contém uma solução ótima de (P), para então encontrá-la. Este subproblema (CS) será considerado sondado se uma das seguintes condições for satisfeita: (i)estiver garantido que FS(CS) não pode conter uma solução melhor que a melhor solução já encontrada em estágios anteriores (ou solução titular, z*). Se nenhuma solução viável havia sido encontrada, então z* =  ; (ii)uma solução ótima de (CS) foi encontrada, z CS Em qualquer uma destas situações o subproblema (CS) não necessita de novas separações.

Denotando por (RCS) uma relaxação do subproblema (CS), e z RCS a sua solução ótima, então os critérios gerais de sondagem em um algoritmo de branch and bound, baseado em relaxação, são: a)Se (RCS) não possui solução viável, então (CS) também não possui e pode ser considerado sondado; b)Se z RCS  z* então (CS) está sondado; c)Se uma solução ótima de (RCS) é viável para (CS), então ela é também uma solução ótima de (CS), portanto o problema (CS) pode ser considerado sondado. Neste caso, a solução também é viável para (P) e se z RCS < z*, então a solução titular é substituída por esta nova solução, senão z RCS é um limite superior para o problema

Note que é possível ter z CS  z* > z RCS e neste caso (CS) não pode ser considerado sondado, sendo z RCS um limite inferior para o problema. Portanto, quanto menor a diferença entre a solução do problema (RCS) e o problema (CS), mais freqüentemente estes critérios serão utilizados para eliminar ramificações. O sucesso dos algoritmos de branch and bound está baseado no percentual de eliminação de subproblemas e no esforço requerido para resolver os subproblemas candidatos.

Um algoritmo genérico para os métodos de branch and bound: 1)Inicializar a lista de subproblemas (CS) = (P), ou árvore binária, z* =  ; 2) Se a lista de subproblemas (CS) estiver vazia, então FIM (se z* = , então não existe solução viável); 3)Selecionar um candidato da lista, tornado-o candidato (CS) corrente; 4)Selecionar e resolver uma relaxação (RCS) do (CS) corrente, obtendo a solução z RCS ; 5)Aplicar os três critérios de sondagem: a)Se (RCS) é inviável, então o (CS) corrente não tem solução viável e (ir para 2); b)Se z RCS  z*, então o (CS) corrente não tem solução viável melhor que z* e (ir para 2); c)Se a solução ótima de (RCS) é viável para (CS) e z RCS < z*, então z*  z RCS e (ir para 2); 6)Separar o (CS) corrente e adicionar os seus subproblemas filhos na lista de subproblemas (CS). (ir para 2).

Existem três alternativas principais para selecionar os candidatos da árvore binária: 1.Busca em primeira profundidade (depth-first search) com retrocesso (LIFO: Last-In-First-Out). Técnica padrão da maioria dos algoritmos; 2.Busca em primeira largura (breadth-first search); 3.Busca pelo melhor limite.

Exemplo: Para ilustrar o método de branch and bound com relaxação das variáveis binárias, seja o seguinte problema: onde a solução ótima ocorre no ponto x* = 0 e y* = [1 0 1] T, com o valor da função objetivo S(x*,y*) = z* =  6.

nível 0 nível 2 nível 3 nível 1 raiz Busca em primeira profundidade Busca em primeira largura