• Nenhum resultado encontrado

Método de Pontos Interiores

N/A
N/A
Protected

Academic year: 2021

Share "Método de Pontos Interiores"

Copied!
29
0
0

Texto

(1)
(2)

Introdução

História:

• 1955 - Frisch publica o primeiro manuscrito do método de pontos interiores - MPI

• 1968 – Fiacco e Mc Cormick apresentam um método de pontos interiores para problemas de programação não linear - PNL

• 1969 – Khachiyan apresenta o método elipsoidal para resolver problemas de PL em tempo polinomial. A experiência prática, no entanto, foi um pouco frustrante. Em quase todos os casos, o método simplex era muito mais rápido do que o método elipsoidal

• 1984 – Karmarkar usa a transformada projetiva para resolver PLs. Aos poucos a comunidade científica entendeu que a ideia de Karmarkar era revolucionária.

O MPI de Karmarkar é superior ao Simplex (Dantzig - 1941) para problemas de grande porte – É um algoritmo com tempo de convergência polinomial

– Algumas ideias do MPI podem ser estendidas para PNL ou inteira para conseguir algoritmos com tempo de convergência polinomial.

• Depois do método de Karmarkar surgiram diversas variantes do MPI. Hoje os MPI mais populares são:

– Métodos baseados na transformada projetiva – Método afim primal e dual

(3)

Ideias Básicas

O MPI é iterativo

Inicia em um ponto dentro da região factível

Os próximos pontos continuam dentro da região factível (são pontos interiores)O método apresenta uma boa estimativa da função objetivo desde as primeiras

iterações

Na figura se apresentam as trajetórias seguidas pelo método simplex e pelo MPI

(4)

Algoritmo de Karmarkar

• Este algoritmo resolve problemas na forma padronizada

s.a.

• Algumas considerações do algoritmo de Karmarkar:

– , então é um ponto factível

– O valor da função objetivo no ponto ótimo é zero,

(5)

Algoritmo de Karmarkar

• Define-se a transformada projetiva que

coloca o ponto atual no centro da região

factível e é definida como:

• onde D é uma matriz diagonal formada pelas

coordenadas da solução corrente

• A transformação inversa é definida como:

(6)

Algoritmo de Karmarkar

1. Iniciar em um ponto dentro da região factível e fazer k=0 2. Se pare. Caso contrário ir ao passo 3

3. Colocar o ponto atual no centro da região factível usando a transformação projetiva 4. Transformar as restrições e o gradiente da função objetivo

5. Projetar o gradiente da função objetivo dentro do espaço que atravesa as restrições (colunas de mais )

Onde

6. A direção de descida, é dada por Substituindo

Este é o passo onde se realiza o maior esforço computacional

(7)

Algoritmo de Karmarkar

7. Calcular o tamanho do passo

8. Calcular o novo ponto

Na prática

9. Retornar ao espaço original

10. Fazer e voltar ao passo 2

(8)

Exemplo

• Considere o seguinte problema no formato

padrao de Karmarkar:

s.a.

Suponha x

0

=(1/3)*[1 1 1]

(9)

Observações

• Para resolver qualquer problema de PL o

algoritmo de Karmakar precisa de 3 fases:

– Fase I: Converter o PL no formato padrão de Karmarkar

– Fase II: Resolver o PL padrão usando o algoritmo de

Karmarkar

– Fase III: Rotina de arredondamento ao ponto ótimo

• O algoritmo de Karmarkar pode ser modificado

para considerar problemas na forma padronizada

de PL

(10)

Método escala-afim primal

Será visto agora a natureza da abordagem proposta por Karmarkar

descrevendo uma variante relativamente elementar ("afim" ou

“escala-afim"). As ideias básicas do algoritmo podem ser resumidas da seguinte

forma:

Conceito 1: desloque através do interior da região viável em direção a uma

solução ótima.

Conceito 2: mova em uma direção de melhoria do valor da função objetivo à

taxa mais rápida possível.

Conceito 3: transforme a região viável de modo a posicionar a solução

tentativa atual próximo de seu centro permitindo, assim, uma grande

melhoria quando o conceito 2 é aplicado.

Exemplo : Resolva o seguinte PL usando MPI escala-afim

s.a.

(11)

Ilustração gráfica do problema

anterior

(12)

Direção de Busca

• O algoritmo começa com uma solução teste inicial que se

situa no interior da região factível.

• Uma solução teste que se encontre na fronteira não pode ser

utilizada porque isso levaria à indefinição matemática por

divisão por zero em um dado passo do algoritmo.

• Escolhe-se arbitrariamente (, ) = (2, 2) para ser a solução

inicial.

• A direção do movimento a partir de (2, 2) que aumenta o

mais rapidamente possível é perpendicular à reta da função

objetivo . Usando a adição de vetores, tem-se:

(13)

O algoritmo na verdade funciona para problemas de

programação linear depois que estes tenham sido reescritos na

forma aumentada. Assumindo como uma variável de folga para

a restrição funcional do exemplo, vemos que esta forma é

em que

(14)

Para o exemplo, note-se que c

T

=[1, 2, 0] agora é o gradiente da

função objetivo.

(15)

• Projeção do vetor gradiente: Na forma aumentada, a solução tentativa inicial para o exemplo é (x1, x2, x3) = (2, 2, 4). Ao somar com o gradiente (1, 2, 0) resultante, o próximo ponto é

(3, 4, 4) = (2, 2, 4) + (1, 2, 0)

• Observe que (3, 4, 4) é inviável! Quando = 3 e = 4, então deveríamos ter x3 = 8 – – = 1, em lugar de 4.

• Portanto, para permanecer viável, o algoritmo (indiretamente) projeta o ponto (3, 4, 4) sobre o triângulo viável pela definição de uma linha perpendicular a este triângulo. Um vetor de (0, 0, 0) a (1, 1, 1) é perpendicular a este triângulo e, então, a linha perpendicular através de (3, 4, 4) é descrita pela equação

(, , ) = (3, 4, 4) – (1, 1, 1)

• em que  é um escalar. Visto que o triângulo satisfaz a equação + + = 8, esta linha perpendicular intercepta o triângulo em (2, 3, 3). Como

(2, 3, 3) = (2, 2, 4) + (0, 1,-1)

• o gradiente projetado da função objetivo (gradiente projetado na região viável) é (0,1,-1). É este gradiente projetado que define o sentido de movimento da busca a partir de (2, 2, 4) com base no algoritmo.

(16)

Para o cálculo direto do gradiente projetado utiliza-se matriz de projeção P

o gradiente projetado (em forma de coluna) é Então, para o exemplo, temos

de modo que

(17)

Mover-se a partir de (2, 2, 4) na direção do gradiente projetado (0, 1, -1) implica no aumento de  na equação

em que o coeficiente 4 é usado simplesmente para dar um limite superior de 1 para  de modo a manter a viabilidade (todos xj  0). Assim,  controla a fração da distância que poderia levar a busca para fora da região viável.

Quão grande  deveria ser para a busca se encaminhar à próxima solução tentativa? Visto que o aumento em Z é proporcional a , um valor próximo do limite superior de 1 é bom para se dar um passo relativamente grande em direção à otimalidade na iteração atual. Por outro lado, o problema com um valor muito próximo de 1 é que a próxima solução tentativa é pressionada contra uma fronteira restritiva, tornando difícil de se realizar grandes passos de melhoria durante várias iterações seguintes. Por conseguinte, é muito útil que as soluções tentativa fiquem o mais perto possível do centro da região viável (parece um contra-senso!) ou, pelo menos, perto do centro da porção da região viável na vizinhança da solução ótima!), e não muito perto de qualquer fronteira criada por restrição.

(18)

Com isto, Karmarkar sugeriu para seu algoritmo um valor para 

não maior do que 0,25, considerado "seguro". Na prática,

valores muito maiores (por exemplo,  = 0,9), por vezes, são

utilizados.

Esquema para Centralização. Outro benefício importante deste

esquema de centralização é que ele mantém a rotação do

gradiente projetado de modo a dar a direção para que ele

aponte mais acertadamente para o ótimo do espaço de busca à

medida que o algoritmo converge para esta solução. A ideia

básica do esquema de centralização é simples: basta alterar a

escala (unidades) de cada uma das variáveis, de modo que a

solução tentativa torna-se equidistante das fronteiras criadas

pelas restrições no novo sistema de coordenadas.

(19)

A solução tentativa inicial é (, , ) = (2, 2, 4), de modo que esta solução é 2

unidades distante das fronteiras x1 = 0 e x2 = 0, e 4 unidades distante da

fronteira x3 = 0, quando são usadas as unidades das respectivas variáveis.

Portanto, vamos redimensionar as variáveis do seguinte modo:

a fim de fazer a solução tentativa corrente (, , ) = (2, 2, 4) tornar-se

Nestas novas coordenadas, o problema passa a ser

(20)

Graficamente, a região viável é reescalonada.

Veja que a solução tentativa (1, 1, 1) encontra-se equidistante das três restrições:

Para cada iteração subsequente, o problema é reescalonado novamente para se obter esta mesma propriedade (situação), de modo que a solução tentativa atual é sempre (1, 1, 1) para as coordenadas atuais...

(21)

Iteração 1. Dada a solução tentativa inicial (, , ) = (2,2,4), faça D ser a matriz

diagonal correspondente de tal modo que . Para o exemplo:

As variáveis reescalonadas são então as componentes de

Nestas novas coordenadas, A e C tornam-se

(22)

Portanto, a matriz de projeção é:

e o gradiente projetado é:

(23)

Definir v como o valor absoluto da componente negativa de cp tendo o maior valor absoluto, de modo que v = |-2| = 2, neste caso. Consequentemente, nas coordenadas atuais, o algoritmo define um movimento a partir da solução tentativa atual para a próxima

A definição de v foi feita para fazer a menor componente de x igual a zero quando =1 nesta equação para a solução tentativa seguinte. No sistema de coordenadas original, esta solução é:

Isto completa a iteração, e esta nova solução vai ser utilizada para iniciar a iteração seguinte.

(24)

1. Dada a solução tentativa corrente (, , , ..., ), defina

2. Calcule e .

3. Calcule e .

4. Identifique o componente negativo de cp que tenha o maior valor absoluto, atribua a v este valor absoluto. Em seguida, calcule

em que  é uma constante selecionada entre 0 e 1 (por exemplo, 0,5).

5. Calcule como a solução tentativa para a iteração seguinte (passo 1). (Se esta solução se mantiver praticamente inalterada em relação à precedente (admitindo um valor de tolerância ), então pare pois o algoritmo convergiu.

(25)

Passo 1:

Dada a solução corrente (, , ) = (5/2, 7/2, 2), defina

Note-se que as variáveis são escalonadas.

de modo que as soluções básicas viáveis (BFs) nestas novas coordenadas são

e

(26)

Graficamente, tem-se

Passo 2:

e

(27)

Passo 3:

Passo 4:

de modo que e

Passo 5:

é a solução tentativa para a iteração 3...

(28)

O processo deve então continuar... A figura a seguir mostra a aparência da

região viável após o escalonamento baseado na solução tentativa obtida pela

3ª iteração.

Como

sempre,

o

reescalonamento

posiciona a solução teste a (, , ) = (1,1,1)

equidistante das fronteiras de restrição.

Verifique pela evolução do processo como

a

sequência

de

iterações

e

redimensionamento tem o efeito de

“deslizar" a solução ótima para (1,1,1).

Eventualmente,

depois

de

uma

quantidade suficiente de iterações, a

solução ótima estará muito perto de

após o

redimensionamento.

(29)

A figura abaixo mostra o progresso do algoritmo no sistema de coordenadas original , antes do problema ser aumentado. Os três pontos - (, ) = (2, 2), (2.5, 3.5) e (2,08, 4,92) - são as soluções tentativas para se iniciar as iterações 1, 2, e 3, respectivamente. Uma curva suave pode ser desenhada através e além destes pontos para mostrar a trajetória do algoritmo nas iterações subsequentes, à medida que ele se aproxima de (, ) = (0, 8).

Evolução do algoritmo de Ponto

Interior

Referências

Documentos relacionados

A partir de pesquisa realizada junto ao Comitê Popular da Copa e das Olimpíadas do Rio de Janeiro, o artigo analisa alguns efeitos colaterais do processo de preparação e

esta espécie foi encontrada em borda de mata ciliar, savana graminosa, savana parque e área de transição mata ciliar e savana.. Observações: Esta espécie ocorre

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

libras ou pedagogia com especialização e proficiência em libras 40h 3 Imediato 0821FLET03 FLET Curso de Letras - Língua e Literatura Portuguesa. Estudos literários

Como profissional de marketing digital, você precisa da permissão de um consumidor, cliente ou visitante do site para enviar a eles qualquer forma de comunicação que

Os resultados deste estudo mostram que entre os grupos pesquisados de diferentes faixas etárias não há diferenças nos envoltórios lineares normalizados das três porções do

•   O  material  a  seguir  consiste  de  adaptações  e  extensões  dos  originais  gentilmente  cedidos  pelo 

Deste modo, o adequado zoneamento e sua observância são fundamentais para a conciliação da preservação ou conservação de espécies, hábitats e paisagens dentre outras e