experimentos numéricos em algoritmo tipo projeção para o ... · 1 materiais preliminares 8 1.1...

55
U NIVERSIDADE F EDERAL DE G OIÁS I NSTITUTO DE I NFORMÁTICA H EBERT C OELHO DA S ILVA Experimentos Numéricos em Algoritmo tipo Projeção para o Problema de Viabilidade Convexa Goiânia 2007

Upload: dinhminh

Post on 04-Dec-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

UNIVERSIDADE FEDERAL DE GOIÁSINSTITUTO DE INFORMÁTICA

HEBERT COELHO DA SILVA

Experimentos Numéricos emAlgoritmo tipo Projeção para o

Problema de ViabilidadeConvexa

Goiânia2007

HEBERT COELHO DA SILVA

Experimentos Numéricos emAlgoritmo tipo Projeção para o

Problema de ViabilidadeConvexa

Dissertação apresentada ao Programa de Pós–Graduação do Instituto de Informática da Universi-dade Federal de Goiás, como requisito parcial paraobtenção do título de Mestre em Ciência da Compu-tação.

Área de concetração: Otimização

Orientador: Prof. Dr. Luis Román Lucambio Pérez

Goiânia2007

HEBERT COELHO DA SILVA

Experimentos Numéricos emAlgoritmo tipo Projeção para o

Problema de ViabilidadeConvexa

Dissertação defendida no Programa de Pós–Graduação do Ins-tituto de Informática da Universidade Federal de Goiás comorequisito parcial para obtenção do título de Mestre em Ciên-cia da Computação, aprovada em 29 de Junho de 2007, pelaBanca Examinadora constituída pelos professores:

Prof. Dr. Luis Román Lucambio PérezInstituto de Informática – UFG

Presidente da Banca

Prof. Dr. Rolando Garciga OteroCOPPE – UFRJ

Prof. Dr. Orizon Pereira FerreiraInstituto de Matemática e Estatística – UFG

Resumo

da Silva, Hebert Coelho. Experimentos Numéricos em Algoritmotipo Projeção para o Problema de Viabilidade Convexa. Goi-ânia, 2007. 54p. Dissertação de Mestrado. Instituto de Informática,Universidade Federal de Goiás.

O problema de viabilidade convexa consiste em encontrar um ponto na inter-seção de conjuntos convexos. Uma abordagem para resolução deste problemaé algorítmica utilizando a projeção. A projeção pode ser calculada explicita-mente para alguns conjuntos como hiperplanos e semi-espaços, porém no casogeral não é simples. Nosso interesse é estudar esse problema, bem como suasolução, implementação e as alternativas quando o cálculo da projeção não ésimples.

Palavras–chaveProblema de Viabilidade Convexa e Algoritmos tipo projeção

Abstract

da Silva, Hebert Coelho. Numeric experiments in ProjectionAlgorithm for Convex Feasibility Problem. Goiânia, 2007. 54p.MSc. Dissertation. Instituto de Informática, Universidade Federal deGoiás.

Finding a point in the intesection of convex sets is called Convex FeasibilityProblem. Most algorithms to solve this class of problems use the projectionmapping. The projection can be calculed for some simple sets as hiperplane,balls and etc. However in general it is not simple. Our interest is to study thatproblem, as well as its solution implementation and the alternatives when thecalculation of the projection is not simple.

KeywordsConvex Feasibility Problem, Projection Algorithm

Sumário

Introdução 6

1 Materiais Preliminares 81.1 Noções de Topologia no IRn 81.2 Tópicos de Convexidade 12

1.2.1 Conjuntos Convexos 121.2.2 O Operador Projeção Ortogonal 141.2.3 Funções Convexas 22

1.3 Matrizes 251.4 Elipsóides 26

2 O Problema de Viabilidade Convexa 282.1 O Problema de Viabilidade Convexa 28

3 Algoritmos tipo projeção 303.1 O Algoritmo Principal 303.2 O Caso Linear 333.3 O caso não linear 35

4 Implementações 374.1 Implementações projetando sobre Ci 384.2 Implementações utilizando super conjuntos 47

Conclusões 53

Referências Bibliográficas 54

Introdução

O Problema de Viabilidade Convexa (PVC) consiste em encontrar umponto em um conjunto convexo. Formalmente, sejam os conjuntos C1, . . . , Cm

em IRn, convexos e fechados. O problema de viabilidade convexa, consiste emencontrar um ponto na interseção não vazia,

C = C1 ∩ . . . ∩ Cm 6= ∅.

Uma abordagem para resolução deste problema é algorítmica. Nestetrabalho, estamos interessados nos algoritmos tipo projeção. A idéia destesalgoritmos é, a partir de um ponto inicial x0, calcular as projeções PCi

(x0)

sobre cada conjunto Ci, para i = 1, . . . ,m. Então calcula-se uma direção D apartir da combinação linear convexa das projeções PCi

(x0) e, caminha-se comum certo tamanho de passo α na direção D, a partir de x0, obtendo um novoponto x1. Este processo é repetido até gerar uma seqüência de pontos queconverge para o conjunto C.

Existem diversas aplicações para o problema de viabilidade convexa,veja [2]. Podemos destacar em Teoria de Aproximação, mais especificamenteem estatística, equações diferenciais parciais e análise de complexidade. Apli-cabilidade se encontra na área médica em reconstrução de imagens, utilizadasem tomografia computadorizada e processamento de sinais. Por fim, podemosdestacar aplicação em algoritmos de subgradiente, na solução de desigualda-des convexas e minimização de funções convexas não suaves.

Nosso objetivo neste trabalho, é estudar o problema de viabilidadeconvexa e implementar algoritmos tipo projeção para este problema. Paraisso, dividiremos este texto em 4 capítulos.

No capítulo 1, revisaremos alguns tópicos de topologia no IRn, estuda-remos conceitos de análise convexa de conjuntos e funções, definindo a pro-jeção sobre conjuntos convexos, enunciaremos alguns conceitos de matrizes efinalmente estudaremos um pouco sobre elipsóides, definindo sua forma ma-tricial. Acreditamos obtermos um bom embasamento teórico para a compre-ensão dos demais capítulos.

7

No capítulo 2, definiremos o Problema de Viabilidade Convexa e co-mentaremos sobre as dificuldades encontradas na implementação dos algo-rimtos do tipo projeção para o PVC.

Já no capítulo 3, estudaremos e enunciaremos o algoritmo tipo pro-jeção que resolve o PVC. Abordaremos dois tipos principais de algoritmos esuas variantes, um primeiro que resolve o PVC onde os conjuntos são semi-espaços fechados e um segundo tipo de algoritmo que resolve o problema paraoutros conjuntos convexos e fechados. Também, enunciaremos resultados deconvergência.

Por fim no Capítulo 4, apresentaremos as nossas implementações dosalgoritmos tipo projeção, e suas variantes, para resolver o PVC.

CAPÍTULO 1Materiais Preliminares

Neste capítulo será apresentado conceitos básicos necessários ao bomentendimento do trabalho. Vamos iniciar com alguns conceitos de topologia noespaço Euclideano IRn, definindo alguns conjuntos e apresentando o teoremade Weierstrass. Estudaremos alguns tópicos de convexidade, com algunsfatos sobre projeção e funções convexas. Revisaremos algumas definiçõessobre matrizes positivas definidas e finalizaremos, com uma seção sobreelipsóides, definindo uma forma matricial para estes. Alguns teoremas serãoapresentados sem suas demonstrações, em alguns casos devido ao fato doferramental necessário para as demonstrações não fazer parte do escopo destetexto, em outros casos por se tratarem de exemplos.

1.1 Noções de Topologia no IRn

Em nosso trabalho estaremos manipulando o espaço Euclideano IRn.As ênuplas (x1, x2, . . . , xn)T , ou uma matriz coluna simplesmente chamada devetor, serão a representação dos pontos de IRn. Usaremos indistintivamenteas palavras pontos ou vetores. Para denotar as componentes x1, x2, . . . deum vetor x normalmente serão usados sub-índices, os super-índices denotamvetores em IRn.

Dados x, y, z ∈ IRn e α ∈ IR, chamamos de produto interno umaoperação que associa a cada par de vetores x e y o número real denotado por〈x, y〉, obedecendo as seguintes propriedades:

(1) 〈x, y〉 = 〈y, x〉;

(2) 〈x, y + z〉 = 〈x, y〉+ 〈x, z〉;

(3) 〈αx, y〉 = α 〈x, y〉;

(4) 〈x, x〉 > 0, se x 6= 0.

1.1 Noções de Topologia no IRn 9

O produto interno canônico do espaço euclideano é definido por

〈x, y〉 = xT y =n∑

i=1

xiyi.

Quando 〈x, y〉 = 0, dizemos que os vetores x e y são ortogonais e escrevemosx⊥y.

Considere x, y ∈ IRn, α ∈ IR e |α| sendo o valor absoluto de α. Aaplicação real ||.|| : IRn → IR tal que:

(1) ||x|| ≥ 0, onde ||x|| = 0 quando x = 0;

(2) ||αx|| = |α|||x||;

(3) ||x + y|| ≤ ||x||+ ||y||,

é chamada de norma.Dado um produto interno qualquer 〈 , 〉, a operação

√〈x, x〉 define

uma norma. Em especial se 〈 , 〉 é o produto interno canônico, ||.|| é chamadonorma euclideana.

O próximo resultado pode ser encontrado na página 3 em [9].

Teorema 1.1.1 (Desigualdade de Schwarz) Para quaisquer x, y ∈ IRn,tem-se | 〈x, y〉 | ≤ ||x||.||y||, valendo a igualdade se, e somente se, um dos ve-tores x, y é multiplo do outro.

Demonstração: Para x = 0, temos 〈0, y〉 = 0 = ||0||.||y||. Supondo x 6= 0, podemosescrever

α =〈x, y〉〈x, x〉

.

O vetor z = y − αx é ortogonal a x, pois

〈x, z〉 = 〈x, y − αx〉 = 〈x, y〉 − 〈x, y〉〈x, x〉

〈x, x〉 = 〈x, y〉 − 〈x, y〉 = 0 .

Segue que, ||y||2 = 〈z + αx, z + αx〉 = ||z||2 + 2α 〈z, x〉+ α2||x||2 = ||z||2 + α2||x||2,logo ||y||2 ≥ α2||x||2. Substituindo o valor de α temos

||y||2 ≥ 〈x, y〉2

||x||2,

ou seja, 〈x, y〉2 ≤ ||x||2||y||2, implicando | 〈x, y〉 | ≤ ||x||.||y||. Vale a igualdade se,e somente se, z = 0, ou seja, y = αx. �

1.1 Noções de Topologia no IRn 10

Com as definições de produto interno e norma, podemos agora definiralguns conjuntos de nosso interesse.

Dados um ponto a ∈ IRn não nulo e um número real b ∈ IR, o conjunto

H = {x ∈ IRn; 〈a, x〉 = b}

é chamado de hiperplano. Considerando os mesmo dados, os conjuntos

H− = {x ∈ IRn; 〈a, x〉 ≤ b}, H+ = {x ∈ IRn; 〈a, x〉 ≥ b} (1-1)

são ditos semi-espaços fechados gerados pelo hiperplano H, e

H∗− = {x ∈ IRn; 〈a, x〉 < b}, H∗

+ = {x ∈ IRn; 〈a, x〉 > b}

são denominados semi-espaços abertos gerados pelo hiperplano H.Dados um ponto a ∈ IRn e um número real positivo δ > 0 ∈ IR, o

conjunto

B(a, δ) = {x ∈ IRn; ||x− a|| < δ},

é a bola aberta de centro a e raio δ. Analogamente, a bola fechada de centroa e raio δ é o conjunto

B[a, δ] = {x ∈ IRn; ||x− a|| ≤ δ}. (1-2)

Seja X ⊂ IRn, dizemos que X é um conjunto limitado se estivercontido em alguma bola aberta de centro na origem, i.é., existe k > 0 tal que||x|| ≤ k para todo x ∈ X.

Um ponto a ∈ X ⊂ IRn é dito ponto interior ao conjunto X quando,para algum r > 0, tem-se B(a, r) ⊂ X. O conjunto dos pontos interiores aX será denotado por intX. O conjunto A ⊂ IRn chama-se conjunto abertoquando A = intA.

Uma seqüência em IRn é uma aplicação x : IN → IRn, que associaa cada número natural k um vetor real xk, chamado de k-ésimo termo daseqüência.

Denotaremos uma seqüência, cujo k-ésimo termo é xk, por {xk} e suai-ésima coordenada por xk

i , onde i = 1, . . . , n. Quando existe c > 0 tal que||xk|| ≤ c, para todo k ∈ IN , {xk} é uma seqüência limitada. Isto é, quandoexiste uma bola em IRn que contém todos os termos da seqüência.

Dizemos que um ponto a ∈ IRn é o limite de uma seqüência {xk}

1.1 Noções de Topologia no IRn 11

quando, para todo ε > 0 dado, é possível obter k0 ∈ IN tal que k > k0 ⇒xk ∈ B(a, ε). Neste caso, pode-se escrever

limk→∞

xk = a ou lim xk = a,

e dizemos que {xk} converge ou tende para a. Uma seqüência {xk} em IRn édita convergente quando o limite acima existe.

Um ponto a ∈ X é aderente à X quando é limite de alguma seqüênciade pontos em X, isto é, quando existe uma seqüência {xk} ∈ X tal quelim xk = a. O conjunto X̄ formado por todos os pontos aderentes a X é chamadode fecho do conjunto X.

Um conjunto X é fechado quando X = X̄. Ainda, um conjunto X écompacto em IRn quando é limitado e fechado.

A interseção entre conjuntos fechados é também um conjunto fechado,vejamos o próximo resultado cuja demonstração pode ser encontrada em [8].

Teorema 1.1.2 Suponha que C1, . . . , Cp são subconjuntos fechados de IRn.Então,

C = C1 ∩ . . . ∩ Cp (1-3)

é um conjunto fechado.

Demonstração: Se C = ∅ então C é fechado pois não existem pontos de ade-rência. Caso contrário, consideremos i = 1, 2, . . . , p e suponhamos um ponto c

aderente a C arbitrário. Por hipótese, existe uma seqüência {xk}, xk ∈ C, paratodo k ∈ IN , tal que lim xk = c. Segue de (1-3), que xk ∈ Ci para todo i. Daí,c é aderente para cada Ci. Como Ci é fechado, então c ∈ Ci, para todo i. Peladefinição de interseção de conjuntos (1-3), c ∈ C. Portanto, C é fechado. �

Seja X ⊂ IRn e uma função f : X → IRn. Dizemos que f é contínuaem a ∈ X quando

limk→∞

xk = a ⇒ limk→∞

f(xk) = f(a).

Diremos que f é uma aplicação contínua em X, quando f for contínua em todoponto a ∈ X.

O Teorema de Weierstrass garante que toda função contínua definidanum conjunto compacto C, atinge seus valores mínimo e máximo em pontosde C. A demonstração do próximo resultado pode ser encontrada na página 7em [6].

1.2 Tópicos de Convexidade 12

Teorema 1.1.3 (Teorema de Weierstrass) Seja C ⊂ IRn. Se f : C → IRn éuma função contínua, então existem x1, x2 ∈ C tais que f(x1) ≤ f(x) ≤ f(x2)

para todo x ∈ C.

1.2 Tópicos de Convexidade

Para nossos estudos é fundamental o conceito de convexidade. Nestaseção, iremos definir conjuntos convexos e funções convexas e estudaremosalgumas de suas características importantes.

1.2.1 Conjuntos Convexos

Sejam dados dois vetores x, y ∈ IRn. O vetor z ∈ IRn é combinaçãolinear convexa de x e y quando, z = λx + (1 − λ)y, para λ ∈ [0, 1]. Em geral,dados p vetores x1, x2, · · · , xp ∈ IRn, dizemos que z é combinação linear convexadesses p vetores quando, existem λ1, λ2, . . . , λp ∈ [0, 1] tais que

z =

p∑i=1

λixi, e

p∑i=1

λi = 1.

Considere X um subconjunto de IRn. Dizemos que X é um conjuntoconvexo quando a combinação linear convexa de dois pontos x, y ∈ X tambémpertence a X.

Verifiquemos um conjunto convexo com o seguinte exemplo:

Exemplo 1.2.1 A bola fechada B[a, r] é um conjunto convexo. De fato, tome-mos dois pontos x, y ∈ B[a, r], queremos verificar que para λ ∈ [0, 1] a combina-ção linear convexa λx+(1−λ)y está na bola B[a, r]. Como tomamos x, y ∈ B[a, r]

e pela definição de bola fechada temos que

||x− a|| ≤ r e ||y − a|| ≤ r. (1-4)

Agora note que, com algumas manipulações algébricas

||λx+(1−λ)y−a|| = ||λx−λa+(1−λ)y− (1−λ)a|| ≤ λ||x−a||+(1−λ)||y−a||,

da expressão acima e de (1-4) obtemos que

||λx + (1− λ)y − a|| ≤ r.

1.2 Tópicos de Convexidade 13

A demonstração do próximo resultado pode ser encontrada na página65 em [1].

Teorema 1.2.2 Um conjunto X é convexo se, e somente se, toda combinaçãolinear convexa de p vetores x1, x2, . . . , xp ∈ X esta em X.

Demonstração:Suponha que X é um conjunto convexo. Sejam x1, . . . , xp ∈ X,

λ1, . . . , λp ∈ [0, 1] e λ1 + λ2 + · · · + λp = 1. A demonstração será feita por in-dução em p.

Para p = 1, temos que λ1x1 ∈ X pois, por definição λ1 = 1.

Por hipótese, vamos assumir que seja válido para p = k. Então,

λ1x1 + λ2x

2 + · · ·+ λpxp ∈ X.

Usando a hipótese de indução queremos estender para p = k+1. Sejamxp+1 ∈ X, λp+1 ∈ [0, 1] e

x = λ1x1 + · · ·+ λpx

p + λp+1xp+1,

p+1∑i=1

λi = 1,

uma combinação linear convexa de pontos de X. Sem perda de generalidade,vamos assumir que λp+1 6= 1 pois, caso contrário, teríamos λi = 0 parai = 1, . . . , p, e recairíamos no caso p = 1. Então podemos escrever

x = (1− λp+1)z + λp+1xp+1, (1-5)

onde o vetor z é a combinação linear,

z =λ1

1− λp+1

x1 + · · ·+ λp

1− λp+1

xp. (1-6)

Observe que

p∑i=1

λi

1− λp+1

=

(p∑

i=1

λi

1− λp+1

)+

λp+1

1− λp+1

− λp+1

1− λp+1

=

=

∑p+1i=1 λi

1− λp+1

− 1− λp+1

1− λp+1

=1− λp+1

1− λp+1

= 1. (1-7)

Agora, como assumimos que λp+1 ∈ [0, 1) temos que

λi

1− λp+1

≥ 0, ∀ i = 1, . . . , k.

1.2 Tópicos de Convexidade 14

Da última expressão e de (1-7) temos que z, definido em (1-6), é uma combina-ção linear convexa de p pontos em X. Então segue, pela hipótese de indução,que z ∈ X. Como xp+1, z ∈ X temos, pela convexidade de X, que x ∈ X.

Reciprocamente, se toda combinação linear convexa de X está em X,em particular, x1, x2 ∈ X, λ1, λ2 ≥ 0, e λ1 + λ2 = 1 implica λ1x

1 + λ2x2 ∈ X.

Então X é um conjunto convexo. �

O próximo resultado é importante para nossos estudos, visto queestaremos interessados em encontrar um ponto na interseção de conjuntosconvexos. Sua demonstração pode ser encontrada na página 65 em [1].

Teorema 1.2.3 Suponha que C1, . . . , Cp são subconjuntos convexos de IRn.Então,

C = C1 ∩ . . . ∩ Cp (1-8)

é um conjunto convexo.

Demonstração: Se C = ∅ então C é convexo. Caso contrário, tomemos x1, x2 ∈ C

arbitrários e λ1, λ2 ∈ [0, 1], com λ1 + λ2 = 1. Como x1, x2 ∈ C segue de (1-8) que,x1, x2 ∈ Ci para i = 1, . . . , p. Por hipótese, C1, . . . , Cp são conjuntos convexosentão, temos que

x = λ1x1 + λ2x

2 ∈ Ci i = 1, . . . , p.

Da expressão acima e de (1-8) obtemos que x ∈ C. Como tomamos x1, x2 ∈ C

arbitrários temos que C é convexo. �

1.2.2 O Operador Projeção Ortogonal

Nesta seção verificaremos que a projeção ortogonal sobre um conjuntoconvexo, fechado e não vazio, existe, é única e, também, é não expansiva.Também utilizaremos a projeção para demonstrar o teorema da separação.Vamos iniciar definindo a função distância de um ponto em um conjunto.

A função distância de um ponto x ∈ IRn a um conjunto C ⊂ IRn édefinida por

d(., C) : IRn → IR (1-9)

x 7→ d(x, C) = inf{||c− x||; c ∈ C}. (1-10)

1.2 Tópicos de Convexidade 15

Seja um conjunto C ⊂ IRn convexo e fechado. Utilizando a normaEuclideana, a projeção ortogonal de um ponto x ∈ IRn sobre C, é a funçãoPC : IRn → C definida como sendo o único ponto PC(x) ∈ C, tal que

d(x, C) = ||PC(x)− x||. (1-11)

Em outras palavras, a projeção ortogonal do ponto x ∈ IRn sobre umconjunto C ⊂ IRn é um ponto de C que está mais próximo de x.

A demonstração do próximo resultado pode ser encontrada na página10 em [6].

Proposição 1.2.4 Seja C um conjunto fechado e não vazio em IRn. Então,para todo x ∈ IRn, PC(x) existe.

Demonstração: Queremos verificar que o problema

inf{||y − x||; y ∈ C}, (1-12)

tem solução. Seja c ∈ C e considere o seguinte conjunto de subnível

L = {y ∈ IRn; ||y − x|| ≤ ||c− x||}.

Desta forma o problema (1-12) é equivalente ao seguinte problema

inf{||y − x||; y ∈ C ∩ L}. (1-13)

Note que L é compacto, desta forma C ∩ L também é compacto e comof(x) = ||y − x|| é contínua, temos pelo teorema de Weierstrass que o problemaacima tem solução. Portanto o problema (1-12) tem solução e PC(x) existe. �

Utilizamos apenas o fato do conjunto ser fechado na existência da pro-jeção, porém agora, vamos demonstrar que a projeção é única e a convexidadede C será necessária. O próximo resultado nos auxiliará a demonstrar a uni-cidade da projeção, sua demonstração pode ser encontrada na página 117 em[3].

Proposição 1.2.5 Seja C um conjunto convexo, fechado e não vazio em IRn.Um ponto z ∈ C é a projeção PC(x) se, e somente se,

〈x− z, y − z〉 ≤ 0 ∀ y ∈ C.

1.2 Tópicos de Convexidade 16

Demonstração: Primeiramente verificaremos que se z = PC(x), então〈x− z, y − z〉 ≤ 0 para todo y ∈ C. Considere z ∈ C, como C é convexo valeque

(1− λ)z + λy = Qλ ∈ C, ∀ λ ∈ (0, 1). (1-14)

Pela definição de projeção ortogonal, temos que ||x− z|| ≤ ||x−Qλ|| e portantoelevando ao quadrado ambos termos,

0 ≥ ||x− z||2 − ||x−Qλ||2.

Realizando algumas manipulações algebricas na desigualdade acima obte-mos,

0 ≥ 2 〈x, Qλ〉 − 2 〈x, z〉+ 〈z, z〉 − 〈Qλ, Qλ〉 .

Adicionando e subtraindo os termos 2 〈z, Qλ〉 e 〈z, z〉 do lado direito da últimadesigualdade temos com algumas operações,

0 ≥ 2 〈x, Qλ − z〉 − 2 〈z, Qλ − z〉 − (〈Qλ, Qλ〉 − 2 〈z, Qλ〉+ 〈z, z〉).

Que é equivalente a seguinte desigualdade,

0 ≥ 2 〈x− z, Qλ − z〉 − ||Qλ − z||2.

Substituindo o valor Qλ, definido em (1-14), podemos escrever

0 ≥ 2 〈x− z, z − λz + λy − z〉 − ||z − λz + λy − z||2,

= 2λ 〈x− z, y − z〉 − λ2||y − z||2.

Dividindo, a última expressão, por 2λ > 0 e passando o limite quando λ → 0+,temos

0 ≥ 〈x− z, y − z〉 .

Como tomamos y ∈ C qualquer, o resultado segue.Agora iremos verificar a recíproca. Suponha que z ∈ C. Por hipótese,

para todo y ∈ C temos que,

0 ≥ 〈x− z, y − z〉

Utilizando as propriedades de produto interno temos,

0 ≥ 〈x, y〉+ 〈z, z〉 − 〈y, z〉 − 〈x, z〉

1.2 Tópicos de Convexidade 17

Com algumas manipulações algébricas e completando o quadrado obtemos,

0 ≥ 1

2(||x− z||2 + ||y − z||2 − ||x− y||2)

Retirando o segundo termo do lado direito, que é positivo, a última desigual-dade pode ser reescrita como

0 ≥ 1

2(||x− z||2 − ||x− y||2).

Assim, com algumas manipulações simples, ||x − z|| ≤ ||x − y|| para qualquery ∈ C, em outras palavras z = PC(x). �

A demonstração do próximo resultado pode ser encontrada na página94 em [6].

Proposição 1.2.6 Seja C um conjunto convexo, fechado e não vazio em IRn.Para todo x ∈ IRn, PC(x) é única.

Demonstração: Verifiquemos o resultado por contradição. Suponha que exis-tam duas soluções z = PC(x) e w = PC(x). Assim, pela Proposição 1.2.5 temosque,

〈x− z, w − z〉 ≤ 0, w ∈ C e 〈x− w, z − w〉 ≤ 0, z ∈ C.

Somando as duas desigualdades obtemos,

0 ≥ 〈x− z − (x− w), w − z〉 = ||w − z||2.

Como a norma é sempre um número não negativo, temos da última expressãoque ||w − z||2 = 0. Portanto, da primeira propriedade de norma, concluímosque w = z. �

Sejam x, y ∈ IRn, uma função f : IRn → IRn é dita não expansivaquando

||f(x)− f(y)|| ≤ ||x− y||.

Outra propriedade importante do operador projeção ortogonal é dadano próximo resultado, cuja demonstração pode ser encontrada na página 98em [6].

Proposição 1.2.7 Seja C um conjunto convexo, fechado e não vazio em IRn.Para x, y ∈ IRn a projeção ortogonal é não expansiva.

1.2 Tópicos de Convexidade 18

Demonstração: Usando a proposição 1.2.5 para x, vale que para todo w ∈ C

temos,0 ≥ 〈w − PC(x), x− PC(x)〉 .

Podemos usar também a proposição 1.2.5 para y e respectivamente,

0 ≥ 〈w − PC(y), y − PC(y)〉 .

Como w é qualquer e PC(y), PC(x) ∈ C, podemos substituir w na primeiradesigualdade por PC(y) e na segunda por PC(x),

0 ≥ 〈PC(y)− PC(x), x− PC(x)〉 ,

0 ≥ 〈PC(x)− PC(y), y − PC(y)〉 .

Somando as duas últimas desigualdades vale,

0 ≥ 〈PC(x)− PC(y), y − PC(y)− x + PC(x)〉 .

Utilizando algumas propriedades de produto interno, obtemos que,

〈PC(x)− PC(y), x− y〉 ≥ ||PC(x)− PC(y)||2,

finalmente, usando a desigualdade de Schwarz no lado esquerdo da desigual-dade acima temos,

||PC(x)− PC(y)||||x− y|| ≥ ||PC(x)− PC(y)||2.

Se PC(x) = PC(y), então ||PC(x) − PC(y)|| = 0 e vale o resultado pois, x = y.Caso contrário, obtemos o resultado dividindo os dois lados da desigualdadepor ||PC(x)− PC(y)|| > 0 e vale que,

||x− y|| ≥ ||PC(x)− PC(y)||.

Uma aplicação T é firmemente não expansiva, quando puder serescrita como (1/2)Id + (1/2)N , onde N é não expansiva.

Seja uma função f : C → IRn não expansiva, o conjunto dos pontosfixos de f denotado por Fix(f) é dado por

Fix(f) = {x ∈ C; x = f(x)}.

1.2 Tópicos de Convexidade 19

No caso da projeção, o conjunto dos pontos fixos é o próprio conjuntosobre o qual a projeção é aplicada. Ainda, a projeção é firmemente não ex-pansiva, verifiquemos este fato nos próximos resultados, cuja demonstraçõespodem ser encontradas nas páginas 29 e 31 em [7].

Proposição 1.2.8 Se C é um conjunto convexo e fechado de IRn e T : C → IRn

é um aplicação, então as seguintes afirmações são equivalentes:

(i) T é firmemente não-expansiva.

(ii) ||Tx− Ty||2 ≤ 〈Tx− Ty, x− y〉, para todo x, y ∈ C.

(iii) 2T − Id é não-expansiva.

Demonstração: Verifiquemos que (i) ⇒ (ii). Considere T firmemente nãoexpansiva então, por definição, podemos escrever 1/2Id + 1/2N , onde N é nãoexpansiva. Temos então,

Tx =1

2Idx +

1

2Nx =

1

2x +

1

2Nx. (1-15)

Usando propriedades da função norma, podemos escrever

||Tx− Ty||2 = 〈Tx− Ty, Tx− Ty〉 .

Utilizando a expressão (1-15) e com algumas manipulações algébricas, aúltima expressão pode ser escrita como,

||Tx− Ty||2 =

⟨1

2(x− y) +

1

2(Nx−Ny),

1

2(x− y) +

1

2(Nx−Ny)

⟩Aplicando propriedade distributiva e propriedade da norma, obtemos da úl-tima igualdade que,

||Tx− Ty||2 =1

4||x− y||2 +

1

2〈x− y, Nx−Ny〉+

1

4||Nx−Ny||2. (1-16)

Como, por hipótese, N é não expansiva temos que, ||Nx−Ny|| ≤ ||x−y||. Entãoaplicando o quadrado obtemos que,

||Nx−Ny||2 ≤ ||x− y||2.

Agora, utilizando a última desigualdade em (1-16) obteremos,

||Tx− Ty||2 ≤ 1

2||x− y||2 +

1

2〈x− y, Nx−Ny〉 . (1-17)

1.2 Tópicos de Convexidade 20

Novamente, utilizando a expressão (1-15) temos,

〈Tx− Ty, x− y〉 =

⟨1

2(x− y) +

1

2(Nx−Ny), x− y

⟩.

Utilizando propriedade distributiva e com algumas manipulações algébrica,temos da última igualdade que,

〈Tx− Ty, x− y〉 =1

2||x− y||2 +

1

2〈Nx−Ny, x− y〉 .

Logo, da última expressão e de (1-17), obtemos que,

||Tx− Ty||2 ≤ 〈Tx− Ty, x− y〉 ∀ x, y ∈ C.

Agora, verifiquemos que (ii) ⇒ (iii). Queremos provar que,

||(2T − Id)x− (2T − Id)y|| ≤ ||x− y|| ∀ x, y ∈ C. (1-18)

Primeiro note que, (2T − Id)x = 2Tx− x. Então,

||(2T − Id)x− (2T − Id)y||2 = ||2(Tx− Ty)− (x− y)||2

Utilizando propriedades da norma temos, da última expressão que,

||(2T − Id)x− (2T − Id)y||2 = 〈2(Tx− Ty)− (x− y), 2(Tx− Ty)− (x− y)〉 ,

e, aplicando propriedade distributiva e propriedade da norma, podemos rees-crever a última igualdade como,

||(2T − Id)x− (2T − Id)y||2 = 4||Tx− Ty||2 − 4 〈Tx− Ty, x− y〉+ ||x− y||2.

Como a aplicação T é firmemente não expansiva, obtemos da última igualdadeque,

||(2T − Id)x− (2T − Id)y||2 ≤ 4 〈Tx− Ty, x− y〉 − 4 〈Tx− Ty, x− y〉 = ||x− y||2.

Logo, aplicando o quadrado em ambos os lados obtemos (1-18).Por fim, verifiquemos que (iii) ⇒ (i). Suponha que 2T −Id seja não expansiva.Tomemos N = 2T − Id. Assim,

T =1

2Id +

1

2N.

1.2 Tópicos de Convexidade 21

Como, por hipótese, N é não expansiva, temos que T é firmemente nãoexpansiva. �

Teorema 1.2.9 Seja C um conjunto convexo, fechado e não vazio em IRn.Então, a projeção ortogonal é firmemente não expansiva.

Demonstração: Note que, da Proposição 1.2.5, temos que

〈w − PC(x), x− PC(x)〉 ≤ 0 e 〈w − PC(y), y − PC(y)〉 ≤ 0 ∀ w ∈ C.

Logo, como PC(x), PC(y) ∈ C, temos das desigualdades acima que,

〈PC(y)− PC(x), x− PC(x)〉 ≤ 0 e 〈PC(x)− PC(y), y − PC(y)〉 ≤ 0.

Portanto, das últimas expressões temos que

〈PC(x)− PC(y), y − PC(y)− x + PC(x)〉 ≤ 0.

Agora, utilizando propriedade distributiva e propriedade da norma, podemosreescrever a última desigualdade como,

〈PC(x)− PC(y), y − x〉 ≤ −||PC(x)− PC(y)||2,

que com simples manipulações algébricas, pode ser reescrito como

||PC(x)− PC(y)||2 ≤ 〈PC(x)− PC(y), x− y〉 .

Portanto, da Proposição 1.2.8 e da última desigualdade, concluímos que aprojeção ortogonal é firmemente não expansiva. �

Vamos agora, enunciar e demonstrar o Teorema da Separação, umademonstração pode ser encontrada na página 122 em [3].

Teorema 1.2.10 (Teorema da Separação) Seja C um conjunto convexo, fe-chado e não vazio em IRn e considere z /∈ C. Então, existem um vetor a ∈ IRn,a 6= 0, e um escalar δ ∈ IR tais que, para todo x ∈ C,

〈a, x〉 ≤ δ < 〈a, z〉 . (1-19)

1.2 Tópicos de Convexidade 22

Demonstração: Considere o conjunto convexo, fechado e não vazio C e z /∈ C.Pelos Teoremas 1.2.5 e 1.2.6, temos que existe um único ponto y ∈ C tal que

〈z − y, x− y〉 ≤ 0, (1-20)

para cada x ∈ C. Agora defina

a := z − y 6= 0, δ := 〈a, y〉

De (1-20) e da definição de a acima temos 〈a, x〉 ≤ 〈a, y〉. Com a definição de δ

implica que 〈a, x〉 ≤ δ, que é a primeira desigualdade em (1-19).Usando as definições de a e δ, para a segunda desigualdade em (1-19), obtemosque

〈a, z〉 − δ = 〈z − y, z〉 − 〈a, y〉 = ||z − y||2 ≥ 0.

Mas como z /∈ C, a última desigualdade é estrita e δ < 〈a, z〉. �

O Teorema da separação garante que, dado um ponto z /∈ C, sendoC um conjunto convexo, fechado e não vazio, existe um hiperplano aT x = δ

que separa z de C. Quando precisarmos utilizar superconjuntos (conjunto quecontém outro conjunto) em algum algoritmo, um dos semi-espaços gerado pelohiperplano do teorema da separação, englobará o conjunto C e assim, teremospelo menos um superconjunto.

1.2.3 Funções Convexas

Aqui, nosso interesse é definir funções convexas e estudar algumas desuas propriedades.

Uma função f : C → IR, onde C ∈ IRn é um conjunto convexo, é ditauma função convexa em C quando, para quaisquer x, y ∈ C e α ∈ [0, 1]

temos,

f(αx + (1− α)y) ≤ αf(x) + (1− α)f(y). (1-21)

Quando a desigualdade acima é estrita para todos x 6= y e α ∈ (0, 1) afunção f é estritamente convexa.

Seja uma função f : C → IR, o conjunto

Ef = {(x, δ) ∈ C × IR; f(x) ≤ δ},

é chamado de epígrafo de f .

1.2 Tópicos de Convexidade 23

Outra forma de definir a classe de funções convexas é dizer que sãofunções cujo epigrafo é convexo. Esta outra definição relaciona a convexidadede conjuntos e de funções. A demonstração do próximo teorema pode serencontrada na página 67 em [6].

Teorema 1.2.11 Seja C ⊂ IRn um conjunto convexo. Uma função f : C → IR

é convexa em C se, e somente se, o epígrafo de f é um conjunto convexo emIRn × IR.

Demonstração: Considere que uma função f seja convexa em C ⊂ IRn. Entãopara x, y ∈ C e α ∈ [0, 1] temos de (1-21) que,

f(αx + (1− α)y) ≤ αf(x) + (1− α)f(y).

Sejam (x, δ1) ∈ Ef e (y, δ2) ∈ Ef , pela definição de epígrafo f(x) ≤ δ1 e f(y) ≤ δ2

então a última inequação pode ser reescrita como,

f(αx + (1− α)y) ≤ αδ1 + (1− α)δ2.

A desigualdade acima implica em

α(x, δ1) + (1− α)(y, δ2) = (αx + (1− α)y, αδ1 + (1− α)δ2) ∈ Ef .

Portanto, da definição de conjunto convexo e da expressão acima, concluímosque Ef é convexo.

Vamos agora verificar a recíproca. Suponha que o epígrafo de f éconvexo então, queremos provar que f é convexa. Para isso, tomemos doispontos x, y ∈ C quaisquer. Da definição de epígrafo sabemos que, (x, f(x)) ∈ Ef

e (y, f(y)) ∈ Ef . Por hipótese, para todo α ∈ [0, 1] temos que,

α(x, f(x)) + (1− α)(y, f(y)) ∈ Ef .

Manipulando a equação acima podemos obter,

(αx + (1− α)y, αf(x) + (1− α)f(y)) ∈ Ef .

Novamente pela definição de epígrafo, isto equivale a

f(αx + (1− α)y) ≤ αf(x) + (1− α)f(y),

portanto f é convexa. �

1.2 Tópicos de Convexidade 24

Um ponto a ∈ C é um mínimo local da função f : C → IR quando,existe δ > 0 tal que f(a) ≤ f(x) para todo x ∈ C ∩ B(a, δ). E dizemos que umponto a ∈ C é um mínimo global de f se f(a) ≤ f(x), para todo x ∈ C.

Um fato importante sobre convexidade é dado no próximo resultado,sua demonstração pode ser encontrada na página 69 em [6].

Teorema 1.2.12 Sejam C ⊂ IRn um subconjunto convexo e f : C → IR umafunção convexa em C. Então todo mínimo local de f em C é global. Se f éestritamente convexa, não pode haver mais de um mínimo.

Demonstração: Vamos supor que z ∈ C é um mínimo local que não é global.Então f(y) < f(z) para algum y ∈ C.

Sendo C um conjunto convexo αy + (1 − α)z ∈ C, para todo α ∈ [0, 1].Pela convexidade de f temos

f(αy + (1− α)z) ≤ αf(y) + (1− α)f(z).

Agrupando os termos que multiplicam α e como f(y) < f(z) obtemos que

f(αy + (1− α)z) ≤ f(z) + α(f(y)− f(z)) < f(z). (1-22)

Escolhendo um α > 0 suficientemente pequeno αy + (1 − α)z ∈ B(z, δ), temosainda que αy + (1 − α)z ∈ C e a expressão (1-22). Mas então, um pontosuficientemente próximo de z tem um valor funcional menor que f(z). Istocontradiz o fato que z é mínimo local. Portanto, z é mínimo global de f .

Agora demonstraremos que se f é estritamente convexa, não podehaver mais de um mínimo. Vamos supor que existam dois pontos de mínimox 6= z e que f seja estritamente convexa. Pela primeira parte deste teorema,x e z são mínimos globais e, pela convexidade de C, αx + (1 − α)z ∈ C, seguedisto que

f(αx + (1− α)z) ≥ f(x) = f(z) = v.

Sendo v o valor mínimo de f . Mas pela convexidade estrita de f ,

f(αx + (1− α)z) < αf(x) + (1− α)f(z) = v,

isto é uma contradição, pois x e z são mínimos globais. �

1.3 Matrizes 25

1.3 Matrizes

Em geral, métodos computacionais manipulam matrizes na resoluçãode diversos problemas. Desta forma, o estudo de alguns conceitos e proprie-dades dessas estruturas é interessante. Nesta seção vamos estudar apenasmatrizes com algumas características especiais.

Dizemos que uma matriz quadrada A ∈ IRn×n é simétrica se AT = A.Isto equivale a dizer que aij = aji, para todo i e todo j. Então as linhas de A

são as colunas de AT e vice-versa. Como todo vetor x é uma matriz de umacoluna, seu transposto xT é um vetor linha.

Se A ∈ IRn×n é uma matriz simétrica e também satisfaz a propriedade

xT Ax > 0, (1-23)

para todo vetor x ∈ IRn não nulo, dizemos que A é positiva definida.Uma matriz quadrada A é não singular se, a única solução do

sistema Ax = 0 é x = 0. A demonstração do próximo resultado pode serencontrada na página 18 em [10].

Teorema 1.3.1 Se uma matriz A é positiva definida, então A é não singular.

Demonstração: A demonstração pode ser feita por contradição. Suponha queA é singular. Então o sistema Ax = 0 admite solução para algum x ∈ IRn nãonulo. Mas neste caso xT (Ax) = 0 e pela definição, concluímos que A não épositiva definida. �

O próximo resultado é interessante pois, provê uma forma simples deconstruir matrizes positivas definidas. Sua demonstração pode ser encontradana página 18 em [10].

Teorema 1.3.2 Seja uma matriz M ∈ IRn×n não singular, e defina a matrizA = MMT . Então A é positiva definida.

Demonstração: Dada uma matriz não singular M , queremos primeiro mostrarque a matriz A = MMT é simétrica. Temos que

AT = (MMT )T = (MT )T MT = MMT = A.

Assim A é simétrica.

1.4 Elipsóides 26

Agora vamos demostrar que xT Ax > 0. Para isso, considere um vetorx ∈ IRn não nulo. Então pela definição da matriz A temos que

xT Ax = xT MMT x.

Defina a vetor y = MT x então

yT = (MT x)T = xT M.

Como M é não singular, sua transposta MT também é não singular. Então,x 6= 0 implica y 6= 0. Assim, xT Ax = yT y e considerando as componentes de ytemos,

xT Ax =n∑

i=1

y2i .

Como a soma de quadrados é não negativa e y 6= 0 obtemos que,

xT Ax > 0,

e a matriz A é positiva definida. �

1.4 Elipsóides

Sejam os pontos F e F1 e uma constante r > d(F1, F ), onde d(F1, F ) éa distância entre F1 a F definido pela norma euclideana. Elipse é o conjuntodos pontos P do plano tais que d(P, F ) + d(P, F1) = r.

Os pontos F e F1 são denominados focos da elipse, r é o eixo maior e,o ponto médio do segmento que liga os pontos F1 e F é o centro da elipse. Aequação reduzida de uma elipse centrada em [x0, y0]

T com semi-eixos paralelosaos eixos coordenados é dada por

(x− x0)2

a2+

(y − y0)2

b2= 1, a,b > 0,

onde a e b são os semi-eixos da elipse. Estaremos interessados em conjuntosconvexos, portanto, chamaremos elipse os pontos que satisfazem a inequação

(x− x0)2

a2+

(y − y0)2

b2≤ 1.

Chama-se elipsóide de revolução ao conjunto gerado pela rotação de uma

1.4 Elipsóides 27

elipse em torno de um de seus eixos. A inequação de um elipsóide com centroem xT

0 = (u0, v0, w0) é dada por:

(u− u0)2

a2+

(v − v0)2

b2+

(w − w0)2

c2≤ 1.

Elipsóide de revolução é um caso particular de elipsóide. Se x é o eixode rotação então c = b e, quando y é o eixo de rotação então a = c.

A inequação de um elipsóide pode ser reescrita na seguinte formamatricial u

v

w

T

1a2 0 0

0 1b2

0

0 0 1c2

u

v

w

+

−2u0

a2

−2v0

b2

−2w0

c2

T u

v

w

+

(u2

0

a2+

v20

b2+

w20

c2− 1

)≤ 0.

Se denotarmos a matriz diagonal M = diag (1/a2, 1/b2, 1/c2), o vetordT = (−2u0/a

2,−2v0/b2,−2w0/c

2), o escalar σ = (u20/a

2 + v20/b

2 + w20/c

2 − 1) esubstituirmos na equação anterior, obtemos que

xT Mx + dx + σ ≤ 0. (1-24)

Para o caso n-dimensional a expressão acima não se altera. Pela forma que amatriz M foi construída é fácil verificar que se trata de uma matriz simétricapositiva definida.

CAPÍTULO 2O Problema de Viabilidade Convexa

O problema de viabilidade convexa consiste em encontrar um pontoem um conjunto convexo. Neste capítulo, vamos definir o problema de viabili-dade convexa, comentar sobre o método de resolução por nós escolhido e sobrealgumas dificuldades encontradas para sua resolução.

2.1 O Problema de Viabilidade Convexa

Sejam dados os conjuntos C1, . . . , Cm em IRn, convexos fechados econsidere a interseção não vazia,

C = C1 ∩ . . . ∩ Cm 6= ∅.

O Problema de Viabilidade Convexa (PVC) consiste em encontrar algumponto c em C.

Uma abordagem para resolução deste problema é algorítmica. Dentreos algoritmos existentes para resolução do PVC, estamos interessados nosalgoritmos tipo projeção. Dado um ponto inicial x0 ∈ IRn, a idéia geral dosalgoritmos tipo projeção é, a partir de x0, calcular as projeções PCi

(x0), sobrecada conjunto Ci, para i = 1, . . . , n. Então calcula-se uma direção D a partirda combinação linear convexa das projeções PCi

(x0) e, caminha-se com umcerto tamanho de passo α na direção D, a partir de x0, obtendo um novoponto x1. Este processo é repetido até gerar uma seqüência de pontos queé "convergente"para o conjunto C. Naturalmente, a direção D e o tamanho depasso α tomados, devem ser escolhidos de tal forma que o algoritmo convirja.

Como foi definido no capítulo 1, a projeção ortogonal do ponto x ∈ IRn

sobre um conjunto C ⊂ IRn é um ponto de C que está mais próximo de x. Então,em cada passo do algoritmo tipo projeção é necessário resolver um problemade otimização, para encontrar a projeção de x sobre cada conjunto Ci. Há duasclasses importantes de problemas que são consideradas:

2.1 O Problema de Viabilidade Convexa 29

1. O calculo da projeção de x sobre o conjunto Ci é "simples", podendo serobtida explicitamente. Assim o problema de otimização para encontrar aprojeção pode se reduzir, em alguns casos, a resolver uma equação. Comoexemplo, o conjunto Ci poderia ser um hiperplano, um semi-espaço ouuma bola.

2. É difícil obter a projeção de x sobre Ci. Contudo, é pelo menos possíveldescrever a projeção de x sobre algum superconjunto, conjunto maior quecontém Ci, aproximador de Ci.

Para a classe de problemas difíceis é importante utilizar algum superconjuntoque exista e, no qual, a projeção possa ser calculada explicitamente. Peloteorema da separação, temos a garantia da existência de um hiperplano quesepara x /∈ Ci de Ci. Podemos então escolher como superconjunto um Semi-espaço gerado por um hiperplano separador de x e Ci. Um novo algoritmopode ser escrito neste caso. Este algoritmo envolve um oráculo para o conjuntoCi, que aceita como entrada o ponto inicial x0 ∈ IRn e produz uma saídadependendo se x0 ∈ Ci. Caso x0 ∈ Ci o oráculo determina que o algoritmo pare,senão o oráculo retorna um hiperplano separador H0. Então é gerado um novoponto x1, mais próximo do conjunto Ci, pela projeção do ponto x0 sobre H0.Neste caso, a confiança é que o oráculo gere hiperplanos Hk cujas projeçõesPHk

(xk), convirjam para algum ponto de Ci. Nosso interesse é estudar oproblema de viabilidade convexa, bem como sua solução algorítmica para oscasos mais simples e alternativas quando o cálculo da projeção não é simples.

CAPÍTULO 3Algoritmos tipo projeção

Neste capítulo, vamos estudar algumas variações dos algoritmos tipoprojeção que resolvem o problema de viabilidade convexa em IRn. Este capítuloserá dividido em três seções.

O assunto da primeira seção é um algoritmo que utiliza algumaaplicação que obedeça a certas condições, a projeção é uma dessas aplicações.Depois de enunciado o algoritmo, abordaremos algumas de suas variantes.

Na segunda seção, abordaremos um algoritmo tipo projeção para re-solver o PVC quando cada conjunto Ci é o conjunto solução de uma inequaçãolinear, isto é, os conjuntos serão semi-espaços fechados, veja em [4].

O que faremos, na terceira seção, será apresentar um algoritmo tipoprojeção que resolve o PVC, este algoritmo pode ser encontrado em [5].

3.1 O Algoritmo Principal

Conforme idéia exposta no capítulo 2, para resolver o PVC podem serutilizados os algoritmos tipo projeção. Nosso objetivo, nesta seção é enunciarum algoritmo que generaliza os algoritmos tipo projeção. O algoritmo aquienunciado, pode ser encontrado em [2], assim como a demonstração dosteoremas de convergência.

Sejam os conjuntos C1, . . . , Cm em IRn, convexos fechados, e considerea interseção,

C = C1 ∩ . . . ∩ Cm.

A generalidade do algoritmo, se deve ao fato da utilização de umaaplicação que abrange a projeção. Suponha que T k

i : IRn → IRn é uma aplicaçãonão expansiva com Fix(T k

i ) ⊇ Ci, para todo i = 1, . . . ,m e todo k.Enunciaremos agora o Algoritmo.

3.1 O Algoritmo Principal 31

Algoritmo 1 Algoritmo Principal.Dados: x0 ponto inicial e Ci, i = 1, . . . ,m.

k := 0.

REPITA

Defina αki ∈ [0, 2].

Ri(xk) := xk + αk

i (Tki (xk)− xk).

Defina λki , λk

i ≥ 0 e∑m

i=1 λki = 1.

A(xk) :=∑m

i=1 λki Ri(x

k).

xk+1 = A(xk).

k := k + 1.

ATÉ QUE convirja.

Vamos definir o conjunto dos índices ativos Ik ⊆ {1, . . . ,m}, como

Ik := {i ∈ {1, . . . ,m}; λki > 0}, (3-1)

e dizer que r é a cardinalidade do conjunto Ik.Vamos denotar

µki := λk

i αki

[2−

m∑j=1

λkj α

kj

],∀ i e k ≥ 0,

para facilitar a apresentação de alguns teoremas.O próximo teorema garante que o Algoritmo 1 converge. Sua demons-

tração pode ser encontrada em [7].

Teorema 3.1.1 (Condições suficientes para convergência) Se C = C1 ∩. . . ∩ Cm 6= ∅ temos:

1. A sequência {xk} gerada pelo Algoritmo 1 converge para um ponto emIRn.

2. Se a sequência {xk} gerada pelo Algoritmo 1 tem uma subseqüência {xk′}onde d(xk′

, C) → 0, então a seqüência {xk} converge para um ponto em C.

Dizemos que o algoritmo é focalizador se para todo índice i e todasubseqüência {xkn}k do algoritmo,

3.1 O Algoritmo Principal 32

xkn → x

xkn − T kni (xkn) → 0

i ∈ Ikn

implica que x ∈ Ci.

Proposição 3.1.2 (Prototipo de um algoritmo focalizador) . SuponhaT1, . . . , Tm : IRn → IRn é firmemente não expansivo e sejam Ci = Fix(Ti) paratodo índice i. Se {T k

i } converge para Ti para todo índice i, então o algoritmo éfocalizador.

Do Capítulo 1, temos que a projeção é uma aplicação firmementenão expansiva com Ci = Fix(PCi

(xk)). Então da proposição anterior, temosque se no Algoritmo 1, T k

i (xk) = PCi(xk), então o algoritmo é focalizador.

Outro resultado de convergência pode ser conseguido para o algoritmo, suademonstração pode ser encontrada em [2].

Teorema 3.1.3 Suponha que o algoritmo é focalizador e o conjunto C 6= ∅.Se limk µk

i > 0, onde k é a iteração onde i é ativo, para cada índice i, então aseqüência {xk} converge para algum ponto em C.

O conjunto I, definido em (3-1), é uma forma de controlar quaisconjuntos Ci serão utilizados em cada iteração. Dependendo da forma comose define o conjunto I, podemos ter as seguintes variações:

• Algoritmo Simultâneo ou Pesado: Neste iremos definir o conjunto I

da seguinte formaI = {1, . . . ,m}.

Desta forma, serão utilizados em cada iteração todos os conjuntos para,posteriormente, calcular o próximo ponto.

• Algoritmo intermitente ou p-intermitente: Se existe um inteiro p

positivo tal que

i ∈ Ik ∪ Ik+1 ∪ . . . Ik+p−1, para cada índice i e todo n ≥ 0.

Teorema 3.1.4 Suponha que o algoritmo é focalizador e intermitente e C 6= ∅.Seja

vk := min{µk′

i : kp ≤ k′ ≤ (k + 1)p− 1, e i ativo em k′}.

Se limk vk = +∞, então a seqüência {xk} converge em norma para algum pontoem C.

3.2 O Caso Linear 33

Um algoritmo de projeção é dito linearmente focalizador, se existealgum β > 0 tal que,

βd(xk, Ci) ≤ d(xk, Cki ),

para todo k grande e para todo índice i ativo em k.

Teorema 3.1.5 Se Fix(T ki ) = Si, ∀ k, então o algoritmo é linearmente focali-

zador.

Teorema 3.1.6 Suponha que o algoritmo de projeção é linearmente focaliza-dor e que exista algum ε > 0 tal que ε ≤ αk

i ≤ 2−ε, para todo k grande e o índicei ativo em k. Suponha que o interior de C é não vazio. Então a sequência {xk}converge em norma para algum ponto x. Se

∑k µk

i = +∞ para algum índice i,então x ∈ Ci. Consequentemente, se Se

∑k µk

i = +∞ para todo índice i, entãox ∈ C.

3.2 O Caso Linear

Nesta seção vamos estudar o algoritmo tipo projeção para o casolinear, isto é, quando os conjuntos são semi-espaços fechados.

Sejam os conjuntos C1, . . . , Cm em IRn, convexos fechados e considere ainterseção não vazia,

C = C1 ∩ . . . ∩ Cm 6= ∅.

Dados um vetor ai ∈ IRn não nulo e um número real bi ∈ IR, cada Ci será umconjunto da forma

{x ∈ IRn;⟨ai, x

⟩≤ bi}. (3-2)

Considere um conjunto de índices I ⊆ {1, . . . ,m}, r é a cardinalidadedo conjunto I e Pi(x) a projeção ortogonal do ponto x ∈ IRn no conjuntoCi ⊂ IRn, definida em (1-11).

No caso de semi-espaços, a projeção é calculada a partir do próximoresultado, cuja demonstração pode ser encontrada em [4].

Proposição 3.2.1 Dado o conjunto convexo e fechado Ci definido em (3-2).Então Pi(x) = x + tia

i é a projeção de x em Ci, onde

ti = min

{0,

bi − 〈ai, x〉||ai||2

}. (3-3)

A partir da idéia exposta no Capítulo 2, enunciaremos o Algoritmo deprojeções simultâneas para resolução de inequações lineares.

3.2 O Caso Linear 34

Algoritmo 2 Tipo projeção para o caso linear.Dados: x0 ponto inicial e Ci, i = 1, . . . ,m.

k := 0.

REPITA

Ik = {1, . . . ,m}

ti = min

{0,

bi−〈ai,xk〉||ai||2

}.

Pi(xk) = xk + tia

i.

Defina λi, λi ≥ 0 e∑m

i=1 λi = 1.

P :=∑m

i=1 λiPi(xk)

Defina αk ∈ [0, 2]

xk+1 = xk + αk(P (xk)− xk)

k := k + 1;

ATÉ QUE convirja.

Note que, definindo T ki = Pi e αk

i = αk, o Algoritmo 2 é um caso parti-cular do Algoritmo 1. Confirmemos esta afirmação, substituindo no Algoritmo1 em Ri(x

k), a aplicação T ki (xk) por Pi(x

k) obtendo

Ri(xk) = xk + αk(Pi(x

k)− xk).

Ainda no Algoritmo 1, substituindo o valor acima em A(xk), temos

A(xk) =m∑

i=1

λi

[xk + αk(Pi(x

k)− xk)]

=m∑

i=1

λi

[(1− αk)xk + αk(Pi(x

k))],

e com algumas manipulações algebricas obtemos que,

A(xk) =m∑

i=1

λi(1− αk)xk +m∑

i=1

αkλiPi(xk) = (1− αk)xk

m∑i=1

λi + αk

m∑i=1

λiPi(xk).

Como∑m

i=1 λi = 1 verificamos que

A(xk) = (1− αk)xk + αk

m∑i=1

λiPi(xk).

O próximo resultado garante a convergência do Algoritmo 1, suademonstração pode ser encontrada em [4].

3.3 O caso não linear 35

Teorema 3.2.2 Para qualquer ponto inicial x0 ∈ IRn a sequência {xk} geradapelo Algoritmo 2 converge.

i) Se C = C1 ∩ . . . ∩ Cm 6= ∅, então o ponto limite é um ponto viável para(3-2).

ii) Caso contrário, o ponto limite minimiza f(x) =∑m

i=1 λi||PCix− x||2.

O último teorema garante que, mesmo quando não há interseção entreos conjuntos Ci o algoritmo converge.

3.3 O caso não linear

Nesta seção vamos estudar o algoritmo tipo projeção para o caso nãolinear.

Considere novamente os conjuntos C1, . . . , Cm em IRn, convexos fecha-dos e considere a interseção não vazia,

C = C1 ∩ . . . ∩ Cm 6= ∅.

Considere um conjunto de índices I ⊆ {1, . . . ,m}, r é a cardinalidade doconjunto I e, PC(x) a projeção ortogonal do ponto x ∈ IRn no conjunto C ⊂ IRn,definida em (1-11).

Para x ∈ IRn, seja I(x) = {i; x /∈ Ci, i ∈ I} e q a cardinalidade doconjunto I(x). Definiremos

α =

(∑

i∈I(x) λi

)−1

, se q ≥ 2

1, caso contrário.(3-4)

A partir das definições acima, enunciaremos o Algoritmo de projeçõessimultâneas para o caso não linear.

Algoritmo 3 Tipo projeção para o caso não linear.Dados: x0 ponto inicial e Ci, i = 1, . . . ,m.

k := 0.

REPITA

Ik = {1, . . . ,m}

Pj(xk) = PCIj

xk, j = 1, . . . , r

Defina λj, λi ≥ 0 e∑m

i=1 λi = 1.

3.3 O caso não linear 36

P :=∑r

j=1 λjPj(xk)

I(x) = {i; x /∈ Ci, i ∈ I}

Defina αk, satisfazendo (3-4)

xk+1 = xk + αk(P (xk)− xk)

k := k + 1;

ATÉ QUE convirja.

Conforme verificamos para o Algoritmo 2, o algoritmo acima tambémé um caso particular do Algoritmo 1.

Teorema 3.3.1 Se C = C1 ∩ . . . ∩ Cm 6= ∅, então a sequência {xk} gerada peloAlgoritmo 3 converge para um ponto em C, qualquer que seja o ponto inicialx0 ∈ IRn.

No caso linear, o cálculo da projeção pode ser feito de maneira simplesconforme exposto na seção anterior. Porém no caso não linear o cálculo daprojeção é o que dificulta a implementação do Algoritmo 2.

CAPÍTULO 4Implementações

Neste capítulo, vamos apresentar resultados computacionais referen-tes as implementações de algumas variantes dos algoritmos tipo projeção.Conforme exposto no capítulo 3, os algoritmos tipo projeção podem resolverqualquer PVC, porém nossas implementações foram realizadas em três tiposde conjuntos, hiperplanos, bolas e elipses.

Os algoritmos deste trabalho foram implementados em MATLAB, ver-são 6.5. Utilizamos dois computadores pessoais, um com processador Pentium2.4 GHz e 1GB de memória RAM, outro com processador Pentium 1.73 GHze 512 MB de memória RAM. Todos os problemas para nossos experimentosnuméricos foram gerados aleatoriamente.

Vamos considerar as seguintes implementações:

• Algoritmo pesado: Definido no capítulo 3.

• Algoritmo Cíclico: A idéia é diminuir o número de projeções a cadaiteração. Ao invés de projetar um certo iterado xk em todos os conjuntosCi, i = 1, . . . ,m, iremos calcular a projeção sobre alguns conjuntos eentão calcular o novo iterado. A cada iteração os índices {1, . . . ,m} serãodivididos em blocos Ji, i = 1, . . . , l, obedecendo duas condições:

1. J1 ∪ · · · ∪ Jl = {1, . . . ,m} com Ji 6= ∅ e Ji ∩ Jj = ∅, para todoi, j ∈ {1, . . . , l} com i 6= j.

2. Existe um escalar p inteiro e positivo onde, para todo n ≥ 0 e todoi ∈ {1, . . . , l}, I k̄ = Ji para todo k̄ ∈ {k, k + 1, . . . , k + p− 1}.

Definiremos o conjunto I em cada iteração da seguinte forma

Ik−1 = J(k mod l), ∀ k ≥ 1.

• Algoritmo Randômico: No algoritmo cíclico os blocos Ji eram utiliza-dos de maneira sequêncial e cíclica, isto é, se em uma certa iteração obloco Ji é utilizado então na iteração posterior é utilizado o bloco Ji+1.

4.1 Implementações projetando sobre Ci 38

A idéia neste algoritmo também é dividir os índices {1, . . . ,m} em blo-cos, satisfazendo as condições 1 e 2 acima. Mas a escolha do bloco naiteração corrente será feita de maneira aleatória e não sequêncial. Sejaq ∈ {1, . . . , l} escolhido de maneira aleatória de forma que, no decorrerde um número definido de iterações q já tenha assumido cada valor noconjunto {1, . . . , l}. Então o valor de I será

Ik = Jq, ∀ k ≥ 0.

Os algoritmos cíclico e randômico são um caso particular dos algorit-mos intermitentes.

4.1 Implementações projetando sobre Ci

Nesta seção, apresentaremos nossas implementações dos algoritmosonde a aplicação T k

i é a projeção. Iniciaremos com o caso linear.Para o caso linear, isto é, onde cada conjuto Ci, i = 1, . . . ,m, são

semi-espaços como definidos em (3-2), construímos os problemas de formaa garantir interseção não vazia entre os conjuntos, seguindo os seguintespassos:

1. Gerar cada vetor ai aleatoriamente;

2. Gerar aleatoriamente valores positivos para bi.

Como estamos considerando desigualdades da forma (3-2) e cada bi épositivo, temos a garantia que a origem (vetor de zeros) é uma das possíveissoluções deste sistema. O ponto inicial x0 terá todos seus elementos iguais a100.

Foi gerado, para cada par (m, n), apenas um problema. Todos osalgoritmos resolveram os mesmo problemas.

A próxima tabela é referente ao caso linear considerando o algoritmopesado. No Algoritmo 1.1.1 os valores de α e λ são fixos durante toda execuçãodo algoritmo. Os valores de α estão referidos na tabela, já cada componentede λi, i = 1, . . . ,m, é definido no ínicio do algoritmo com valor igual a 1/m.

No Algoritmo 1.1.2 os valores de α e λ variam em cada iteração. Ovalor de λk

i é definido através do seguinte cálculo:

λki :=

|tki |∑mi=1 |tki |

, (4-1)

4.1 Implementações projetando sobre Ci 39

onde ti é calculado conforme (3-3). Note que, com algumas manipulaçõesalgébricas verifica-se que as componentes de λi são todas não negativas esatisfazem,

∑mi=1 λi = 1. Quanto aos valores de αk, são calculados conforme

a equação abaixo:

αk :=Tm

1.95, (4-2)

onde T é a quantidade de conjuntos não satisfeitos.Já no Algoritmo 1.1.3 consideramos λk

i variável conforme (4-1) e fixa-mos α = 1.95 para todas as iterações.

Número de Iterações(Algoritmo Pesado)

Algoritmo 1.1.1 Algoritmo Algoritmom n α = 1 α = 1.5 α = 1.95 1.1.2 1.1.3

5 454 336 276 235 2613 1961 1389 1109 818 290

50 50 2442 1707 1352 1105 419250 743 513 404 307 129500 749 517 406 356 19210 1077 816 678 544 8625 3689 2718 2220 1611 570

100 100 4462 3116 2467 1931 859500 1608 1116 880 644 3151000 1317 912 719 595 30515 1545 1191 1033 839 17930 4967 3725 3078 2206 722

150 150 9086 6375 5061 4126 1863750 2218 1539 1214 994 4391500 2100 1456 1147 945 50520 1566 1170 965 786 17940 4893 3678 3045 2040 736

200 200 8781 6155 4884 4045 18621000 3256 2263 1787 1437 7292000 2775 1925 1518 1277 62550 3849 3064 2651 1959 585

100 10448 7816 6464 4463 1845500 500 18426 12956 10300 8069 3300

2500 7097 4944 3909 3160 15495000 6399 4450 3515 2936 1488

4.1 Implementações projetando sobre Ci 40

Observamos no Algoritmo 1.1.1, que quanto maior o valor de α, tama-nho do passo, menor o número de iteraçoes executados pelo algoritmo. Comrelação aos valores de m e n, respectivamente número de hiperplanos e di-mensão, todos os algoritmos se compotaram pior quando m = n. No geral, onúmero de iterações diminui quando os valores de n são muito pequenos oumuito grandes com relação a m. Os Algoritmos 1.1.2 e 1.1.3, resolveram osproblemas de forma mais eficiente que o algoritmo 1.1.1, com relação ao nú-mero de iterações. O algoritmo 1.1.3 executou o menor número de iteraçõesdentre todos os algoritmos na tabela acima.

Estes resultados sugerem que a melhor estratégia, no sentido dediminuir o número de iterações, é fixar o valor de α próximo de 2 e os valoresde λk

i segundo (4-1).A próxima tabela é referente ao caso linear considerando o Algo-

ritmo cíclico. Os conjuntos Ci, i = 1, . . . ,m, são divididos em blocos Jw, w =

1, . . . ,m/10, cada bloco poderá ter até 10 conjuntos escolhidos de formasequêncial. Então os blocos serão,

J1 = {C1, . . . , C10}; . . . ; Jm/10 = {Cm−10, . . . , Cm}.

No Algoritmo 1.2.1 os valores de α e λ são fixos durante toda execuçãodo algoritmo. Os valores de α estão referidos na tabela, já cada componentede λi, i = 1, . . . , 10, é definida no ínicio do algoritmo com valor igual a 1/10.

Os valores de α e λ para o algoritmo 1.2.2 variam em cada iteração e,são definidos do mesmo modo que para o algoritmo 1.1.2, bastando considerarque a cada iteração a projeção será aplicada a apenas 10 conjuntos.

Para o algoritmo 1.2.3 tomamos λki variável conforme (4-1), onde

novamente consideramos apenas dez conjuntos e, fixamos α = 1.95 para todasiterações.

4.1 Implementações projetando sobre Ci 41

Número de Iterações(Algoritmo Cíclico)

Algoritmo 1.2.1 Algoritmo Algoritmom n α = 1 α = 1.5 α = 1.95 1.2.2 1.2.3

5 220 155 155 100 18013 2300 1580 1230 680 325

50 50 2580 1755 1360 1205 2000250 780 525 405 1035 845500 785 530 410 1085 16510 1820 1280 1000 270 21025 5720 3710 2990 1410 450

100 100 5320 3610 2780 7610 10090500 1580 1070 830 2480 7601000 1310 890 680 1210 74015 1350 1125 840 1020 24030 8895 6285 4965 1860 480

150 150 10935 7410 5715 4095 6945750 2370 1605 1245 1995 4801500 2400 1620 1245 3120 45020 1820 1260 1000 600 28040 3180 2600 1520 1900 440

200 200 30580 19520 5840 16020 61001000 3860 2600 2000 5400 13602000 3080 2080 1600 4500 116050 12000 8850 7100 2000 450

100 23700 17850 14150 4700 950500 500 17850 12100 9450 34550 35400

2500 8450 5700 4400 11800 12505000 7300 4950 3800 10600 1100

O número de iterações para o algoritmo 1.2.1 é menor para valoresmaiores de α. Quando observamos apenas os dados dos algoritmos 1.2.2 ou1.2.3, vemos um comportamento ruim quando m = n.

Note que, o número de iterações para o algoritmo 1.2.1 é quase sempremaior se comparado ao algoritmo 1.1.1. Porém a quantidade de projeçõescalculadas em cada iteração é menor para o algoritmo 1.2.1, visto que o maiorgasto se encontra nesta operação. Quando comparamos os algoritmos 1.1.2 e1.2.2, vemos que o número de projeções calculadas em 1.2.2 é sempre menor.Este mesmo fato não ocorre para todos os valores de m e n nos algoritmos

4.1 Implementações projetando sobre Ci 42

1.1.3 e 1.2.3, pois quando m = 100 e n = 100 e também em m = 500 e n = 500

o número de iterações no algoritmo 1.2.3 é mais de dez vezes superior que noalgoritmo 1.1.3. Então nem sempre executar um número menor de projeçõesa cada passo é melhor.

Finalmente, para o caso linear apresentamos a última tabela conside-rando o Algoritmo randômico. Os conjuntos Ci, i = 1, . . . ,m são divididos emblocos Jw, w = 0, . . . , 9. Cada bloco será formado pelos conjuntos cujo índice i

terminam em w. Isto é, os blocos serão

J1 = {C1, C11, C21, . . .}; J2 = {C2, C12, C22, . . .}; . . .

Uma variável aleatória de 0 a 9 é gerada para identificar qual bloco Jw seráescolhido. Todo bloco é escolhido pelo menos a cada 29 iterações.

No Algoritmo 1.3.1 os valores de α e λ são fixos durante toda execuçãodo algoritmo. Os valores de α estão referidos na tabela, já cada componentede λi, i = 1, . . . ,m/10, é definido no ínicio do algoritmo com valor igual a 10/m.

Os valores de α e λ para o algoritmo 1.3.2 variam em cada iteração e,são definidos do mesmo modo que para o algoritmo 1.1.2, bastando considerarque a cada iteração a projeção será aplicada a apenas m/10 conjuntos.

Para o algoritmo 1.3.3 consideramos λki variável conforme (4-1) e

fixamos α = 1.95 para todas as iterações.

4.1 Implementações projetando sobre Ci 43

Número de Iterações(Algoritmo Aleatório)

Algoritmo 1.3.1 Algoritmo Algoritmom n α = 1 α = 1.5 α = 1.95 1.3.2 1.3.3

5 147 145 129 255 21213 888 778 770 1019 278

50 50 534 320 186 293 612250 250 127 128 190 545500 725 612 362 360 23610 1017 572 1124 90709 23725 2994 2862 1766 1949 407

100 100 4758 2842 2465 8801 5003500 1598 682 888 1788 8401000 1376 769 617 1732 72415 1302 1272 849 658 27530 4128 3188 2331 1802 503

150 150 10430 7353 5913 5411 11371750 2349 1467 1260 3362 28821500 2220 1504 1174 3376 152420 2049 1178 778 763 27140 3222 2489 2148 3008 513

200 200 10421 6691 5528 16385 112921000 3378 2262 1826 5385 70132000 2981 2062 1615 4424 95450 3782 3012 2376 3792 490

100 14819 10546 10375 5688 1614500 500 22462 15637 12428 33919 11079

2500 7908 5274 4341 11685 45555000 7028 4879 3738 10364 1972

Devido ao critério escolhido para os blocos nos algoritmos 1.3.1, 1.3.2e 1.3.3, o número de projeções calculadas em cada iteração é sempre igual am/10. No algoritmo 1.3.1 nem sempre um aumento no valor de α proporcionouum número menor de iteraçoes, como no caso em que m = 100 e n = 10. Emgeral os algoritmos randômicos, para os problemas gerados no caso linear,comportaram-se pior do que os algoritmos cíclicos. Porém, para os problemasem que m = 50 os algoritmos randômicos foram melhores, a não ser por umcaso no algoritmo 1.3.2 quando m = 50 e n = 5.

4.1 Implementações projetando sobre Ci 44

Quando m = 50, o número de projeções realizadas pelos algoritmosrandômicos é igual a cinco por iteração, calculando-se um número menor deprojeções, a cada iteração, se comparado aos algoritmos cíclicos. Este fato nosmotivou a implementar um algoritmo cíclico que projetasse sobre o menornúmero de conjuntos possíveis.

Implementamos então, uma variante do algoritmo cíclico onde cadabloco Jw contém apenas um conjunto Ci. Os valores de λk

i utilizados, foram va-riáveis conforme (4-1) e utilizamos α = 1.95 em todas iterações. Os resultadosobtidos, para os mesmos problemas anteriores, dependeram apenas dos valo-res de m. Sendo para m = 50, e todos os valores de n, o número de iterações foiigual a 50. Para m = 100 o número de iterações foi igual a 100, independentedo valor de n. O mesmo ocorreu para todos os valores de m, sendo o númerode iterações sempre igual a m.

Para os problemas gerados, esta variante do algoritmo cíclico,comportou-se melhor que todos os algoritmos anteriores. Geramos outrosexemplos com m = 2500 e m = 5000 e, obtivemos o número de iterações iguala 2500 e 5000 respectivamente. Porém o mesmo não ocorre quando m < 50,nestes casos o número de iterações é quase sempre maior que m.

Vamos agora ao caso não linear. Vamos considerar que cada conjuntoCi, i = 1, . . . ,m, são bolas fechadas definidas em (1-2). Desta forma, construíre-mos os problemas de forma a garantir interseção não vazia entre os conjuntos,seguindo os passos:

1. Gerar cada vetor ci aleatoriamente, onde ci, i = 1, . . . ,m é o centro dabola Ci;

2. Gerar o raio ri > |ci|.

Como em cada bola, ri é maior que a norma do centro ci, temos agarantia que a origem (vetor de zeros) é uma das possíveis soluções destesistema. E o ponto inicial x0 será gerado aleatoriamente.

A próxima tabela é referente ao caso não linear, no caso particularonde os conjuntos são bolas, considerando o algoritmo pesado. No Algoritmo2.1.1 os valores de α e λ são tomados da mesma forma que no algoritmo 1.1.1.

No Algoritmo 2.1.2 os valores de α e λ variam em cada iteração deforma análoga ao algoritmo 1.1.2. O valor de λk

i é definido através do seguintecálculo:

λki :=

d(xk, ci)/∑m

i=1 d(xk, ci), se d(xk, ci) > ri

0, caso contrário,(4-3)

4.1 Implementações projetando sobre Ci 45

onde d(xk, ci) é a distância do iterado xk ao centro da bola Ci. Quanto aosvalores de αk, são calculados conforme (4-2).

Já no Algoritmo 2.1.3 consideramos λki variável conforme (4-3) e fixa-

mos α = 1.95 para todas iterações.

Número de Iterações(Algoritmo Pesado)

Algoritmo 2.1.1 Algoritmo Algoritmom n α = 1 α = 1.5 α = 1.95 2.1.2 2.1.3

5 582 368 306 146 813 1071 745 592 471 40

50 50 509 352 286 213 13250 547 378 269 226 25500 591 406 300 356 910 957 665 360 325 725 1043 716 414 266 9

100 100 1022 708 489 367 8500 1033 714 589 474 211000 1078 745 598 483 1815 2310 1618 780 500 930 1334 936 777 599 13

150 150 1461 1016 824 636 22750 1514 1050 781 608 261500 1569 1085 855 690 1620 2510 1776 730 267 840 1747 1232 949 684 21

200 200 2056 1433 1126 868 361000 1799 1248 984 756 262000 2038 1413 1081 850 3050 5657 4005 1703 1031 9

100 4765 3349 2092 1405 39500 500 4111 2874 2226 1861 44

2500 4473 3112 2387 1711 255000 5901 3676 2192 952 31

Analisando apenas o Algoritmo 2.1.1 com relação aos valores de α,obtivemos um resultado análogo ao obtido no Algoritmo 1.1.1, isto é, quantomaior o valor de α menor o número de iteraçoes executados pelo algoritmo. OAlgoritmo 2.1.2 resolveu os problemas de forma mais eficiente que o algoritmo

4.1 Implementações projetando sobre Ci 46

2.1.1. Já o Algoritmo 2.1.3 executou o menor número de iterações dentre todosos algoritmos na tabela acima.

A próxima tabela é referente ao caso não linear para bolas conside-rando o Algoritmo cíclico. Os conjuntos Ci, i = 1, . . . ,m são divididos em blocosde 10 conjuntos escolhidos de forma análoga a divisão feita nos algoritmoscíclicos para o caso linear.

Nos Algoritmos 2.2.1, 2.2.2 e 2.2.3 os valores de α e λ serão utilizadosda mesma forma que nos Algoritmos 2.1.1, 2.1.2 e 2.1.3, respectivamente.

Número de Iterações(Algoritmo Cíclico)

Algoritmo 2.2.1 Algoritmo Algoritmom n α = 1 α = 1.5 α = 1.95 2.2.2 2.2.3

5 240 115 880 810 1513 95 50 40 45 15

50 50 415 95 75 70 15250 375 335 135 125 15500 235 190 65 65 1510 230 220 190 1810 3025 370 320 160 1560 30

100 100 420 210 2260 1520 30500 370 210 700 680 301000 610 280 120 120 3015 150 90 1200 1200 3030 300 195 255 2835 45

150 150 525 555 195 210 30750 1035 690 450 450 301500 1005 555 465 480 4520 1100 620 530 4760 4040 800 480 1120 1100 60

200 200 2120 1080 340 340 401000 1960 880 820 840 602000 1280 900 360 350 4050 1330 780 400 810 100

100 1270 1190 570 690 110500 500 3950 3480 1920 1330 110

2500 3190 2230 1640 920 1005000 2820 2350 1870 1050 90

4.2 Implementações utilizando super conjuntos 47

Neste caso, nem sempre com aumento de α o número de iteraçõesdiminui, para o Algoritmo 2.2.1. Verificamos que, em geral, o Algoritmo 2.2.2ganha, em número de iterações, do Algoritmo 2.2.1 para os maiores valoresde n em cada m. O Algoritmo 2.2.3 se comportou bem, sendo melhor que osAlgoritmos 2.2.1 e 2.2.2.

4.2 Implementações utilizando super conjun-tos

Nesta seção, apresentaremos nossas implementações onde a aplica-ção T k

i não é a projeção. Esta opção se justifica pelo fato dos conjuntos Ci,i = 1, . . . ,m, serem elipsóides e, neste caso, o cálculo da projeção não é umproblema simples. Em todos as implementações desta seção, utilizamos umcomputador pessoal, com processador Pentium 1.73 GHz e 512 MB de memó-ria RAM.

Nossas implementações, desta seção, são para o caso não linear ondeconsideramos que cada conjuto Ci, i = 1, . . . ,m, são elipsóides definidos em(1-24), centrados na origem. Desta forma, os conjuntos são:

Ci = {x ∈ IRn; xT Mix− 1 ≤ 0}, i = 1, . . . ,m, (4-4)

onde Mi ∈ Sn++, isto é, Mi é uma matriz positiva definida.

Ao invés de calcular a projeção sobre os conjuntos Ci, a aplicação T ki ,

utilizada nas nossas implementações, irá calcular a projeção sobre um semi-espaço fechado H− que contem Ci. O hiperplano que define H− passa peloponto µix

k do elipsóide que está no segmento que une xk e o centro do elipsóide,que é a origem, e tem vetor normal dado pelo gradiente da função que defineo elipsóide no ponto µix

k. Desta forma, devemos calcular a e b conforme (1-1),a saber:

a = 2µiMixk, (4-5)

onde µi é obtido através da equação da elipse,

(µixk)T Mi(µix

k) = 1 ⇒ µi =1√

(xk)T Mixk.

Substituindo a última expressão em (4-5) obtemos que,

a =2√

(xk)T MixkMix

k,

4.2 Implementações utilizando super conjuntos 48

O valor de b será calculado através de:

b =

⟨2√

(xk)T MixkMix

k,1√

(xk)T Mixkxk

⟩=

2

(xk)T Mixk(xk)T Mix

k = 2.

Lembre-se de que a projeção sobre um semi-espaço é definida em (3-3).Assim, de posse de a e b, definiremos a aplicação T k

i como,

T ki (xk) = xk + min

0,2−

⟨(2/√

(xk)T Mixk)

Mixk, xk

⟩(4/(xk)T Mixk) ||Mixk||2

a.

Realizando algumas manipulações algébricas na expressão acima ob-temos que,

T ki (xk) = xk + min

{0,

1

2

(xk)T Mixk

||Mixk||2(1−

√(xk)T Mixk

)}a.

A partir do iterado xk e da aplicação T ki , calculada na expressão acima,

o novo iterado será determinado da seguinte forma,

xk+1 = xk + αk

[∑i∈Ik

λki T

ki (xk)− xk

].

Para garantir que a intercessão entre os conjuntos é não vazia, utili-zamos os passos:

1. Gerar uma matriz positiva definida M i aleatoriamente, a partir damultiplicação de uma matriz triangular inferior com diagonal positivae sua transposta;

2. Gerar cada vetor di como um vetor de zeros.

3. Gerar as constantes σi com valores iguais a -1.

Da forma como serão gerados os vetores di e σi temos que todos oselipsóides serão centrados na origem. Desta forma, podemos garatir que oconjunto C = C1 ∩ · · · ∩ Cm é diferente de vazio. O ponto inicial x0 terá emtodas suas componentes o valor 1000.

Para o Algoritmo 3.1.1, definimos os valores de α e λ conforme Algo-ritmo 1.1.1.

No Algoritmo 3.1.2 os valores de α e λ variam em cada iteração deforma análoga ao algoritmo 1.1.2. O valor de λk

i é definido através do seguinte

4.2 Implementações utilizando super conjuntos 49

cálculo:

λki :=

|xkMixk − 1| /

∑mi=1 |xkMix

k − 1|, se xk /∈ Ci

0, caso contrário,(4-6)

quanto aos valores de αk, são calculados conforme (4-2).Já no Algoritmo 3.1.3 consideramos λk

i variável conforme (4-6) e fixa-mos α = 1.95 para todas iterações.

Na próxima tabela, exibimos o número de iterações para o algoritmopesado.

Número de Iterações(Algoritmo Pesado)

Algoritmo 3.1.1 Algoritmo Algoritmom n α = 1 α = 1.5 α = 1.95 3.1.2 3.1.3

5 562 381 280 38 913 79 63 53 34 11

50 50 38 27 25 22 16250 29 19 18 18 19500 29 19 19 19 1910 81 60 53 39 1225 52 38 34 31 15

100 100 31 19 18 17 17250 29 18 16 17 18500 29 18 17 17 1715 76 59 53 42 1330 52 40 38 32 14

150 150 30 18 17 16 17250 29 17 16 16 17500 29 17 16 16 1720 70 53 47 38 1240 39 28 25 22 15

200 200 29 17 16 16 17250 29 16 15 16 17500 29 17 16 16 17

Tivemos que restringir as experiências numéricas a espaços de dimen-são até 500 e onde m ≤ 200, porque a quantidade de memória utilizada emexemplos maiores, foi superior a memória RAM do computador utilizado e

4.2 Implementações utilizando super conjuntos 50

os cálculos realizados tornam-se honerosos devido a representação matricialexigida para cada elipsóide.

Conforme esperado, o número de iterações para o Algoritmo 3.1.1diminui conforme o valor de α é aumentado. Nos casos onde n = 250 en = 500, para quaisquer valores de m, os Algoritmos 3.1.2 e 3.1.3 sempre temo número de iterações maior ou igual do que o Algoritmo 3.1.1 no melhor caso.Nestes problemas, apenas o número de iterações não representa uma grandevantagem no uso dos algoritmos 3.1.2 e 3.1.3.

Como executamos todos os exemplos desta seção no mesmo computa-dor, outra tabela apresentada aqui é referente ao tempo gasto em segundospara executar cada exemplo.

Tempo em Segundos(Algoritmo Pesado)

Algoritmo 3.1.1 Algoritmo Algoritmom n α = 1 α = 1.5 α = 1.95 3.1.2 3.1.3

5 3,468 2,219 1,703 0,219 0,15613 1,125 0,735 0,61 0,234 0,188

50 50 2,734 1,781 1,578 0,688 0,625250 136,13 29,922 27,453 28,547 28,156500 352,97 229,17 224,13 232,89 236,4110 0,922 0,625 0,516 0,485 0,29725 1,188 0,75 0,671 0,625 0,5

100 100 9,609 5,719 5,172 4,781 4,75250 97,297 57,078 51,453 52,078 51,375500 708,47 436,94 409,16 411,11 413,7715 1,594 1,032 0,875 0,781 0,530 2,031 1,359 1,156 1,094 0,843

150 150 38,063 21,719 20,422 21,218 19.234250 143,03 84,625 77,609 78,469 73,203500 1111,2 626,89 592,14 590,61 593,3920 2,75 1,422 1,25 1,157 0,87540 3,625 2,109 1,859 1,75 1,546

200 200 104,52 58,875 54,86 53,625 54,234250 189,72 103,42 96,235 98,641 98,047500 1473,7 830,03 777,3 782,72 806,52

Os resultados são condizentes com o número de iterações. Destaforma, também não podemos dizer que os Algoritmos 3.1.2 e 3.1.1 são muito

4.2 Implementações utilizando super conjuntos 51

eficientes se comparados ao Algoritmo 3.1.1 quando α se aproxima de dois.Outro resultado interessante é a quantidade de restrições não satisfeitas emcada algoritmo, vejamos a tabela a seguir.

Restrições Não Satisfeitas(Algoritmo Pesado)

Algoritmo 3.1.1 Algoritmo Algoritmom n α = 1 α = 1.5 α = 1.95 3.1.2 3.1.3

5 1 1 1 1 113 2 1 1 2 1

50 50 7 5 4 3 1250 31 22 19 12 1500 40 36 19 17 410 3 3 3 4 125 7 7 4 2 1

100 100 30 23 16 13 1250 57 37 37 20 1500 93 61 48 40 2315 5 5 3 2 130 9 5 4 3 1

150 150 56 44 34 26 1250 89 66 50 29 1500 133 93 75 54 1020 9 8 5 6 140 28 18 17 13 1

200 200 112 67 59 39 1250 133 99 80 42 1500 179 125 94 67 5

Da última tabela, vemos um resultado pouco eficiente do Algoritmo3.1.1 quando a dimensão aumenta, sendo os piores resultados obtidos quandoα = 1. O número de restrições não satisfeitas foi menor para todos os pares(m,n) no Algoritmo 3.1.3. Então, apesar do tempo de execução e do número deiterações do Algoritmo 3.1.1, quando α = 1.95, e dos Algoritmos 3.1.2 e 3.1.3serem equivalentes, o número de restrições não satisfeitas torna o Algoritmo3.1.3 a melhor opção dentre os algoritmos pesados.

Apesar do algoritmo pesado ter resolvido os problemas gerados paraelipsóides com um pequeno número de iterações, os resultados obtidos pelo al-goritmo cíclico em semi-espaços e bolas, nos motivou a implementar também

4.2 Implementações utilizando super conjuntos 52

está variante para elipsóides. Implementamos então, uma variante do algo-ritmo cíclico onde cada bloco Jw contém apenas um conjunto Ci. Os valoresde λk

i utilizados, foram iguais a 1 e utilizamos α = 1.95 em todas iterações. Osresultados obtidos para essa implementação são mostrados na tabela a seguir.

Tabela de Resultados(Algoritmo Cíclico)

m n Iterações Tempo Restrições não Satisfeitas5 300 0,187 0

13 400 0,359 050 50 450 0,766 0

250 500 33,953 1500 550 257,12 110 400 0,11 025 500 0,187 0

100 100 500 1,437 0250 500 15,734 0500 600 126,78 115 450 0,125 030 600 0,203 0

150 150 600 4,125 0250 600 16,5 0500 600 129,81 120 600 0,219 040 400 0,516 8

200 200 600 8,484 1250 600 16,578 0500 600 139,53 2

Apesar do número de iterações no algoritmo cíclico ser grande quandocomparado ao algoritmo pesado, o custo de cada iteração é bem menor. Nestaversão do algoritmo cíclico, por exemplo, para m = 50, 300 iterações repre-sentam apenas 6 aplicações T k

i realizadas sobre cada conjunto. Sendo que,quando m = 50, o menor número de aplicações T k

i realizadas sobre cada con-junto, pelos algoritmos pesados, iguais a 9. Com relação ao tempo de execução,o algoritmo cíclico perdeu apenas quando m = 50. A quantidade de restriçõesnão atendidas para esta variante foi pequena e apenas no caso onde m = 200

e n = 40, o algoritmo 3.1.3 foi melhor.

Conclusões

Nosso trabalho foi realizar experiências númericas com várias alter-nativas do algoritmo tipo projeção, para resolver o problema de viabilidadeconvexa. Os resultados sugerem que sempre é preferível usar os algoritmos 1-intermitentes. O número de exemplos gerados para a realização dos testes foipequeno e a forma como foram gerados os conjuntos pode ter influênciado nosresultados, mas resultados recentemente publicados, ver anexo 2, mostramque algoritmos 1-intermitentes devem resolver o problema eficientemente.

Referências Bibliográficas

[1] M. Avriel. Nonlinear Programming: Analysis and Methods. DoverPublications, New York, 2003.

[2] H. H. Bauschke, J. M. Borwein. On Projection Algorithms forSolving Convex Feasibility Problems. Siam Review, Vol. 38, No.3, pp. 367-426 (1996).

[3] J.-B. Hiriart-Urruty, C. Lemaréchal. Convex Analysis and Mini-mization Algorithms I. Springer-Verlag, New York, 1993.

[4] A. N. Iusem, A. R. De Pierro. A Simultaneous Projection Methodfor Linear Inequalities. Linear Algebra and its Aplications, Vol.64, pp. 243-253 (1985).

[5] A. N. Iusem, A. R. De Pierro. Convergence Results for an Accelera-ted Nonlinear Cimmino Algorithm. Numerische Mathematik, Vol.49, pp. 367-378 (1986).

[6] A. Izmailov e M. Solodov. Otimização - Volume 1: Condições de Oti-malidade, Elementos de Análise Convexa e de Dualidade. IMPA,2005.

[7] P. C. S. Júnior. Algoritmos tipo projeção para o problema deviabilidade convexa. Dissertação de Mestrado em Matemáticapela Universidade Federal de Goiás, defendida sobre orientaçãodo Prof. Dr. Luis Román Lucambio Pérez, Goiânia, 2003.

[8] E. L. Lima. Curso de Análise - Volume 2. Projeto Euclides, IMPA,2a edição, 1985.

[9] E. L. Lima. Análise Real - Volume 2. IMPA, 2004.

[10] D. S. Watkins. Fundamentals of Matrix Computations. John Wiley& Sons, 1991.