A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "AULA COMPUTACIONAL - Síntese de Sistemas de Separação (Cap. 7) 20 DE OUTUBRO DE 2008."— Transcrição da apresentação:

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

2 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

3 Sequenciamento de destilações.

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

5 Rede de trocadores de calor

6 Problemas com o relaxamento da variáveis inteiras

7 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.

8 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

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

10 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.

11 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 ):

12 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

13 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.

14 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.

15 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

16 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.

17 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).

18 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.

19 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.

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

21


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

Apresentações semelhantes


Anúncios Google