resolvemos a relaxa¸c˜ao linear desse pl, obtendo uma solu¸c˜ao ´otima x∗. Supondo que a
solu¸c˜ao seja fracion´aria, deve existir pelo menos uma componente x∗
i fracion´aria. Criam-
se ent˜ao dois novos pl’s. Ambos tˆem a mesma fun¸c˜ao objetivo do pl de entrada. Por´em, um deles fica sujeito `as restri¸c˜oes que formam o poliedro P1 = {P ∩(xi ≤ �x∗i�)} enquanto
o outro sujeito `as restri¸c˜oes que formam o poliedro P2 = {P ∩ (xi ≥ �x∗i�)}. Escolhemos
um desses pl’s e repetimos o procedimento. Observe que esse algoritmo pode ser visto como uma busca em uma ´arvore, onde cada n´o corresponde a um pl. Eventualmente, o algoritmo ter´a processado todos os n´os e teremos uma solu¸c˜ao ´otima. Para melhorar o desempenho na pr´atica, o B&B tenta fazer trˆes tipos de podas em cada n´o i:
0 por otimilidade, que ocorre quando a solu¸c˜ao ´otima ´e inteira. Nesse caso, n˜ao precisamos mais explorar a sub´arvore.
0 por inviabilidade, quando o pl correspondente ´e invi´avel (ou seja, Pi ´e vazio). 0 por limitante. Para isso, o algoritmo armazena o valor da melhor solu¸c˜ao inteira
conhecida at´e o momento (tamb´em chamado de limitante inferior ou primal), deno- tado por z. Esse valor ´e inicializado com −∞ ou com o valor de uma solu¸c˜ao vi´avel, n˜ao necessariamente ´otima, obtida atrav´es de algum algoritmo polinomial, tamb´em conhecido por heur´ıstica primal. Cada vez que uma solu¸c˜ao inteira ´e encontrada na explora¸c˜ao da ´arvore e possui valor maior do que esse limitante, atualizamos z. A poda por limitante ´e feita ent˜ao sempre que o valor da relaxa¸c˜ao linear do n´o i ´e menor ou igual a z. Isso porque o valor da relaxa¸c˜ao representa um limitante superior (dual) para qualquer solu¸c˜ao inteira que ser´a encontrada na sub´arvore com raiz i.
Um algoritmo B&C ´e um B&B onde, em um dado n´o i, podemos executar um algoritmo de planos de corte para aproximar o poliedro Pi da envolt´oria convexa. Com isso busca-
se diminuir o valor do limitante dual, aumentando a chance de ocorrer uma poda por limitante.
Se o n´umero de cortes conhecidos n˜ao for muito grande, podemos adicion´a-los `a for- mula¸c˜ao `a priori, antes de iniciar o algoritmo B&C . Neste caso, denotamos tal algoritmo por cut and branch.
2.5
Geometria Computacional
A seguir, apresentamos algumas defini¸c˜oes e nota¸c˜oes geom´etricas necess´arias para o en- tendimento do nosso trabalho. A partir de agora trabalharemos com geometria euclidiana plana, a menos que explicitado o contr´ario.
14 Cap´ıtulo 2. Fundamenta¸c˜ao Te´orica
Um ponto p no plano R2 possui coordenadas denotadas por x
p e yp. A distˆancia
euclidiana entre dois pontos p e q ser´a denotada por dist(p, q), sendo dada por �(xp − xq)2+ (yp− yq)2.
Dado um ponto c e um escalar positivo r, definimos a circunferˆencia de centro em c e raio r, como o conjunto de pontos no plano que est˜ao a uma distˆancia r de c, ou seja, {x ∈R2 : dist(x, c) = r}. Um disco de centro c e raio r, representa o conjunto de pontos
no plano a uma distˆancia de c igual ou menor do que r, {x ∈ R2 : dist(x, c) ≤ r}. A
borda de um disco de raio r e centro c corresponde `a circunferˆencia de mesmo raio e centro.
Dizemos que dois objetos geom´etricos se interceptam se a interse¸c˜ao de seus conjuntos de pontos ´e n˜ao vazia. Considere dois discos d1 e d2 quaisquer. Verificamos que tais
discos se interceptam se, e somente se, dist(cd1, cd2) ≤ r1 + r2. Considere agora duas circunferˆencias C1 e C2, tais que r1 ≥ r2. Temos que tais circunferˆencias se interceptam
se, e somente se, r1 − r2 ≤ dist(cC1, cC2) ≤ r1 + r2. Em particular, h´a quatro tipos de interse¸c˜oes entre C1 e C2:
0 Se r1− r2 > dist(cC
1, cC2) ou dist(cC1, cC2) > r1 + r2. A interse¸c˜ao ´e vazia, caso em que as circunferˆencias s˜ao ditas disjuntas;
0 Se r1−r2 = dist(cC
1, cC2) ou dist(cC1, cC2) = r1+ r2. A interse¸c˜ao ´e apenas um ponto, e dizemos que as circunferˆencias s˜ao tangentes;
0 Se r1−r2 < dist(cC
1, cC2) < r1+r2. As circunferˆencias se interceptam em exatamente dois pontos;
0 Se r1 = r2e dist(cC
1, cC2) = 0. Ent˜ao C1 e C2 s˜ao ditas coincidentes e sua interse¸c˜ao s˜ao todos os pontos das circunferˆencias.
Dado um conjunto de circunferˆencias n˜ao coincidentes no plano, definimos uma es- trutura chamada arranjo, composto por v´ertices, arcos e faces, e que induz uma decom- posi¸c˜ao do espa¸co R2 em regi˜oes conexas. Os v´ertices desse arranjo s˜ao os pontos de
interse¸c˜ao entre as circunferˆencias. Um arco ´e um segmento de circunferˆencia que conecta dois v´ertices, n˜ao necessariamente distintos, e que n˜ao cont´em nenhum outro v´ertice. As faces s˜ao regi˜oes maximais conexas do plano delimitadas por arcos e que n˜ao cont´em nenhum arco em seu interior. O conjunto de arcos que delimitam uma tal face constituem sua fronteira. Dada uma face f e um arco r na borda de f , dizemos que r ´e convexo em rela¸c˜ao a f se esta est´a no interior da circunferˆencia de r. Caso contr´ario dizemos que r ´e cˆoncavo em rela¸c˜ao a f . Sempre que um conjunto de arcos ´e convexo para uma dada face f e pertencem `a mesma circunferˆencia, agrupamo-los em uma s´o unidade, denominada arco canˆonico (veja um exemplo na Figura 2.3). A partir de agora, para
2.6. Problemas de Mapas de S´ımbolos Proporcionais 15 f g r1 r2 r3 r4
Figura 2.3: Trˆes arcos canˆonicos r1, r2, r3 formados por apenas um peda¸co de arco e um
arco canˆonico r4, formado por dois peda¸cos de arcos.
facilitar a nota¸c˜ao, referir-nos-emos aos arcos canˆonicos simplesmente por arcos e aos objetos definidos inicialmente como arcos por peda¸cos de arcos.
2.5.1
Grafos de Discos
Definimos como um grafo de discos de um conjunto de discos S, o grafo n˜ao-direcionado denotado por GS = (V, E), onde cada v´ertice de V corresponde a um disco e existe uma
aresta (u, v) ∈ E se os seus discos correspondentes se interceptam, excluindo o caso em que os discos s˜ao tangentes, ou seja, s´o consideramos as interse¸c˜oes com mais de um ponto.
2.6
Problemas de Mapas de S´ımbolos Proporcionais
No trabalho de Cabello et. al [12] s˜ao definidos dois tipos de disposi¸c˜oes de discos e duas fun¸c˜oes objetivos, dando origem a quatro problemas relacionados ao desenho de mapas de s´ımbolos proporcionais.
Tipos de desenhos. Um desenho fisicamente realiz´avel pode ser visto como qual- quer desenho constru´ıdo a partir de discos de papel desde que estes n˜ao sejam dobrados ou cortados. Assim, podemos entrela¸c´a-los conforme a Figura 2.4, mas n˜ao conseguimos construir a Figura 2.5 sem que possamos cort´a-los. Considere o arranjo de quatro discos na Figura 2.6. Supondo que os discos possuam cores diferentes, est´a claro que cada face do arranjo ter´a uma cor associada. ´E f´acil ver que a cor de uma face ´e determinada pelo disco que est´a por cima dos outros que a contˆem. Ao removermos esse disco do topo, a face ir´a tomar a cor do disco que estiver imediatamente abaixo e assim sucessivamente at´e que todos os discos que a contenham sejam removidos. Dada essa observa¸c˜ao, podemos concluir que uma face do arranjo induz uma ordem total entre os discos que a contˆem. Assim, um desenho fisicamente realiz´avel deve necessariamente satisfazer essa ordem total induzida pelas faces. Al´em do mais, dados dois discos di e dj que se interceptam, temos
que ou di est´a sobre dj (denotado por di > dj) ou vice-versa, j´a que n˜ao podemos cortar
nem dobr´a-los. Isso implica que ordens induzidas por diferentes faces n˜ao podem confli- tar, ou seja, um disco n˜ao pode induzir uma ordem em que um disco esteja sobre outro e outra face induzir uma ordem que diga o contr´ario. Vejamos novamente o exemplo da Figura 2.5. A face f2 induz a ordem d2 > d3, a face f3 induz d3 > d4 e finalmente a face f4
16 Cap´ıtulo 2. Fundamenta¸c˜ao Te´orica
Figura 2.4: Exemplo de um desenho onde os discos s˜ao entrela¸cados.
d4 d1 d3 d2 f1 f2 f3 f4 (i) (ii)
Figura 2.5: Um desenho que n˜ao ´e fisicamente realiz´avel (i) e o arranjo correspondente (ii). Se removermos o disco do topo, como estar´a organizado o restante dos discos?
induz d4 > d2. Note que a ordem entre f2, f3 e f4 ´e c´ıclica, o que certamente ir´a conflitar
com qualquer ordem total entre os discos d1, d2, d3 e d4, induzida pela face f1. Se, al´em
de respeitar as ordens totais induzidas pelas faces, os discos formarem uma ´unica ordem total, ent˜ao temos o caso especial de desenhos em pilha.
Qualidade de um desenho. Visando quantificar a qualidade de uma solu¸c˜ao, os autores de [12] definem duas m´etricas para serem maximizadas. Dado um disco d ∈ S, define-se a quantidade de borda vis´ıvel de d, em um desenho D, denotada por bd, como
o comprimento total dos arcos na borda de d vis´ıveis em D. A m´etrica Max-Min ´e o comprimento da borda vis´ıvel do disco com o menor comprimento de borda vis´ıvel, ou seja, min{bd|d ∈ S}. J´a a m´etrica Max-Total ´e a soma das bordas vis´ıveis de todos os
discos, ou seja, �
d∈Sbd. Em geometria computacional ´e comum considerar que o bordo
de um objeto n˜ao encobre partes dos objetos posicionados abaixo dele. Por causa disso, se dois ou mais arcos vis´ıveis s˜ao coincidentes, o comprimento a ser considerado ´e a soma dos comprimentos desses arcos.
Problemas de Mapas de S´ımbolos Proporcionais Dados os dois tipos de desenhos e as duas m´etricas, podemos definir quatro problemas de otimiza¸c˜ao combinat´oria:
2.7. Trabalhos Relacionados 17