Você está na página 1de 31

ABORDAGENS DO PONTO INTERIOR PARA O VLSI

COLOCAÇÃO PRO

ABSTRATO
A colocação do VLSI envolve a organização dos componentes em uma placa
bidimensional, de modo que o comprimento total do fio de interconexão seja
minimizado, evitando a sobreposição de componentes e garantindo uma área
suficiente para o roteamento. ​A colocação é realizada em um procedimento
de duas etapas. ​A primeira etapa envolve calcular uma boa localização
relativa de todos os componentes, ignorando sobreposição e roteamento. ​A
segunda etapa envolve a remoção de sobreposição e roteamento. ​Este artigo
descreve dois novos modelos de posicionamento relativo que geram
programas esparsos de LP e QP. ​Os programas LP e QP resultantes são
resolvidos com eficiência usando métodos apropriados de pontos internos.
Além disso, uma extensão importante é descrita para reduzir a sobreposição
do módulo. ​Resultados numéricos em um conjunto representativo de
problemas reais de teste são apresentados.
Palavras-chave: posicionamento relativo, programação quadrática, métodos
de pontos interiores

13.1 INTRODUÇÃO

No sentido combinatório, o problema de layout é um problema de otimização


restrito. ​Nos é dado um circuito (geralmente uma lista de conexões por fio de
módulo chamada netlist) que é uma descrição dos elementos de comutação e
seus fios de conexão. ​Buscamos uma atribuição de coordenadas geométricas
dos componentes do circuito (no plano ou em uma das poucas camadas
planas) que atenda aos requisitos da tecnologia de fabricação (espaçamento
suficiente entre os fios, número restrito de camadas de fiação etc.) e que
minimiza certos critérios de custo. ​Praticamente, todos os aspectos do
problema de layout como um todo são intratáveis; ​isto é, eles são NP-difíceis
[4]. ​Consequentemente, temos que recorrer a métodos heurísticos para
resolver problemas muito grandes. ​Um desses métodos é dividir o problema
em subproblemas, que são resolvidos. ​Quase sempre, esses subproblemas
também são difíceis de NP, mas são mais propensos a soluções heurísticas
do que o próprio problema de layout. ​Cada um dos subproblemas de layout é
decomposto de maneira análoga. ​Dessa forma, procedemos à quebra dos
problemas de otimização até atingirmos os subproblemas primitivos.

Esses subproblemas não são decompostos ainda mais, mas resolvidos


diretamente, de maneira ideal (se existir um algoritmo de otimização de tempo
polinomial eficiente) ou aproximadamente se o subproblema for NP rígido ou
intratável, caso contrário. ​A maneira mais comum de dividir o problema de
layout em subproblemas é primeiro fazer o particionamento lógico em que um
circuito grande é dividido em uma coleção de módulos menores de acordo
com alguns critérios, depois executar o posicionamento dos componentes e
determinar o curso aproximado do ​fios em uma fase de roteamento global.
Essa fase pode ser seguida por uma fase de compactação topológica que
reduz o requisito de área do layout, após o qual uma fase de roteamento
detalhado determina o curso exato dos fios sem alterar a área de layout. ​Após
o roteamento detalhado, uma fase de compactação geométrica pode reduzir
ainda mais o requisito da área de layout [7].

No posicionamento do VLSI, que é o foco deste trabalho, recebemos um


conjunto de componentes (módulos) interconectados por um conjunto de
caminhos de sinal (redes). ​O objetivo é posicionar os módulos enquanto
minimiza o comprimento total do cabo necessário para conectar os módulos.
Ao posicionar os módulos, várias restrições de posicionamento devem ser
consideradas para garantir a viabilidade (um posicionamento legal). ​Por
exemplo, os módulos devem ser colocados dentro de uma determinada área
física e não devem se sobrepor. ​Além disso, os módulos devem ser colocados
de forma que as redes possam ser conectadas fisicamente (roteamento).
Exemplos do problema de posicionamento surgem em macrocélulas, array de
portas e design de células padrão [11].

Como o problema de posicionamento do VLSI é intratável


computacionalmente e os posicionamentos ideais são difíceis de produzir,
heurísticas avançadas como Tabu Search [14], recozimento simulado [11] e
particionamento hierárquico [10] são usadas para obter posicionamentos
próximos dos ideais.  ​Embora essas heurísticas produzam um posicionamento
próximo ao ideal, elas ainda tendem a exigir grandes tempos computacionais. 
No entanto, é sabido que quando boas colocações iniciais são geradas, essas
heurísticas tendem a convergir rapidamente para colocações próximas da
ideal com baixo esforço computacional [5].

O posicionamento relativo envolve a geração de bons canais iniciais. ​Para


gerar veiculações iniciais, algumas estimativas do comprimento do cabo são
minimizadas, ignorando problemas de viabilidade, como sobreposição e
roteamento. ​A idéia por trás do posicionamento relativo é determinar
rapidamente a localização geral dos módulos na área de posicionamento e,
em seguida, obter um posicionamento legal com outro método heurístico.

As heurísticas de posicionamento relativo incluem técnicas de vetor próprio [6]


e métodos direcionados à força [12]. ​No entanto, essas técnicas tendem a ser
restritivas, pois não permitem a adição de restrições que podem melhorar
ainda mais a colocação relativa. ​Mais recentemente, um modelo de
programação linear (LP) para posicionamento relativo foi proposto [17] e
posteriormente estudado em termos de eficiência [2]. ​O modelo LP fornece
uma visão global do problema de posicionamento considerando todos os
módulos simultaneamente. ​Além disso, o modelo é facilmente estendido,
incluindo restrições adicionais.

Neste trabalho, um procedimento de colocação alternativo é proposto usando


um modelo de módulo de ponto de rede (MNP). Neste modelo, todos os
módulos e redes são considerados pontos. Isso resulta em um modelo de
programa quadrático (QP) que pode ser resolvido eficientemente usando um
método de ponto interior [15]. Este modelo está muito dentro do espírito do
modelo LP mencionado anteriormente [17]; considera todos os módulos
simultaneamente e permite a inclusão de restrições adicionais. No entanto,
espera-se que o modelo MNP se estenda de maneira mais natural a modelos
mais complicados, pois é baseado em um QP e não em um modelo LP.
Apesar das semelhanças entre os modelos LP e QP, o objetivo deste trabalho
não é comparar diretamente esses dois modelos. Isso exigiria a colocação
dos canais relativos produzidos por cada modelo e a geração de um
posicionamento legal; essa análise está além do escopo deste trabalho. O
foco principal deste trabalho é explorar o modelo MNP e sua solução e
extensões que melhoram ainda mais o posicionamento relativo resultante.

O modelo de programa linear de Weis e Mlynski é descrito na Seção 13.2.


Uma nova extensão de um modelo de ponto de rede do módulo é descrita na
Seção 13.3. ​O modelo é mostrado como equivalente a um problema de
programação quadrática (QP) com uma matriz definida positiva esparsa na
função objetivo que pode ser resolvida eficientemente usando um método de
ponto interior. ​A Seção 13.4 descreve uma extensão importante que pode ser
incluída para melhorar o posicionamento relativo, forçando os módulos
sobrepostos ainda mais. ​O método do ponto interior quadrático usado no
trabalho para resolver o problema de posicionamento relativo é descrito na
Seção 13.5. ​Resultados numéricos em problemas de teste para os problemas
de LP e QP são apresentados na Seção 13.6. ​Finalmente, a Seção 13.7
resume os resultados deste trabalho e apresenta as direções para futuras
pesquisas.

13.2 UMA FORMULAÇÃO DO PROGRAMA LINEAR DO


PROBLEMA DE COLOCAÇÃO

Para resolver o problema de posicionamento, precisamos determinar os locais


em uma placa para os módulos e minimizar o comprimento do cabo. ​Weis e
Mlynski [17] propuseram um modelo de LP para determinar os
posicionamentos relativos.​ ​Sua solução fornece locais gerais para todos
Figura 13.1 Colocação de módulos livres e fixos em uma placa.

os módulos e, em seguida, outros métodos são usados para eliminar a


sobreposição e subsequentemente formar um posicionamento legal. O
método de força direcionada [12], que envolve a minimização de uma função
quadrática irrestrita, é mais comumente usado, pois requer apenas a solução
de um sistema linear. No entanto, o modelo LP geralmente fornece uma
estimativa mais precisa do comprimento total do cabo [13] e é mais fácil de
estender e generalizar. A formulação do problema de posicionamento é uma
modificação do modelo de Weis e Mlynski, e é apresentada abaixo.

Devemos calcular os locais dos M módulos livres conectados por redes.


Algumas redes N também podem envolver conexões com módulos fixos F. ​Os
módulos fixos geralmente são blocos de E / S colocados no perímetro da
placa (veja a Figura 13.1) e seus locais são conhecidos antecipadamente.
Figura 13.2 O retângulo circunscrito para uma rede.

13.2.1 Suposições básicas

1. ​Os módulos são modelados como pontos; ​ou seja, as informações de altura
e largura são desconsideradas. ​Essa suposição é razoável para calcular os
posicionamentos relativos iniciais e simplifica o modelo original em [17].

2. O comprimento do fio necessário para uma rede é aproximado pela metade


do perímetro do retângulo circunscrito da rede ((Vj - Uj) + (V’j - U’j) na Figura
13.2). ​Para redes de 2 módulos ou 3 módulos, essa medida é equivalente à
fornecida por uma árvore Steiner de abrangência mínima.

3.​ ​As seguintes informações são fornecidas:


• X e Y, a largura e altura da placa,
• uma lista de todos os módulos e suas conexões, e
• {(ci, di), i = 1,2, ..., F}, posições dos módulos que são fixos na placa
(incluindo blocos de E / S).

13.2.2​ ​Função Objetiva Construção

Resolvemos as seguintes incógnitas:

• {(Xi, Yi), i = 1, 2, ..., M}, as coordenadas dos módulos livres


• {(Uj, U'j), j = 1,2, ..., N} e {(Vj, V'j), j = 1,2, ..., N}, no canto inferior esquerdo e
cantos superior direito dos retângulos circunscritos das redes, como na Figura
13.2 (ou seja, se o módulo i estiver conectado à rede j, ele estará dentro do
retângulo circunscrito da rede j; consequentemente, Uj <= Xi <= Vj e U'j < = Yi
<= V'j).

Por conveniência, deixamos que os vetores X, Y, U, U ', V e V' contenham


todos os componentes Xi, Yi, Uj, U'j, Vj, V'j, respectivamente. Encontramos os
valores desses vetores para que a soma dos perímetros dos retângulos
circunscritos em todas as redes seja o menor possível. Ou seja, desejamos
minimizar a função de custo

onde w = [Wl, W2, ..., WN] ^ T e w = [W1, W2, ..., WN] ^ T são pesos nas
redes. Eles podem ser ajustados para obter layouts diferentes. Inicialmente,
Wj = W'j = 1 para todas as redes que conectam apenas módulos livres. Os
valores Wj e W'j para redes que conectam módulos livres a módulos fixos são
então ajustados para distribuir os módulos o mais uniformemente possível
pela área da placa especificada, para evitar agrupamentos.

13.2.3​ ​Geração de restrições

As restrições para a direção x são mostradas abaixo. As restrições da direção


y podem ser facilmente derivadas de maneira semelhante.

1. Cada rede possui uma largura mínima D > 0 que pode ser variada para
fornecer a distribuição desejada sobre a área da placa:

2. Os módulos devem ser colocados dentro das bordas da placa:


3. Cada módulo livre deve estar dentro do retângulo circunscrito de uma rede
à qual está conectado:

4. Um limite superior em Uj é a coordenada X mínima sobre todos os módulos


fixos na rede j. Um limite inferior em Vj é a coordenada X máxima sobre todos
os módulos fixos na rede j:

Quando,

Como as variáveis e restrições da direção X e da direção Y são


independentes uma da outra e a função de custo pode ser separada,
podemos resolver dois programas lineares independentes, um para cada
direção. Por uma questão de brevidade, apenas o LP formado para a direção
X é mostrado:
onde e é o vetor de uns e g e h são vetores contendo os limites em U e V. I é
a matriz de identidade, enquanto P e Q são matrizes que contêm uma única
entrada de I em cada linha.

Quando todos os módulos fixos são fixos nas direções X e Y, a matriz de


restrição para os LPs na direção X e Y é idêntica, embora, em geral, os
vetores do lado direito sejam diferentes um do outro. Mais precisamente, o LP
na direção Y parecerá idêntico ao de (13.7), com U, V, X e W substituídos por
U ', V', Y 'e W' e com os componentes do lado direito D, X, geh substituídos
por diferentes valores D ', Y, g' e h '.

É possível ter módulos que são fixados em apenas uma direção. Por
exemplo, podemos desejar especificar que uma placa de E / S possa ser
colocado em qualquer lugar na borda esquerda do

Figura 13.3 O padrão de esparsidade da matriz de restrição de um LP de


posicionamento.

borda. Nesse caso, o bloco de E / S é considerado um módulo fixo na direção


X, mas um módulo livre na direção Y. Conseqüentemente, as duas matrizes
de restrição diferem na estrutura.

Observe que, alterando o sinal da função de custo, o LP (13.7) pode ser


gravado na forma dual padrão, com restrições de desigualdade:
A matriz de restrição A (a transposição da matriz de restrição em LP (13.7))
possui M + 2N linhas.  ​O número de colunas varia, dependendo do número de
conexões de rede do módulo, mas geralmente é de duas a quatro vezes o
número de linhas.  ​Os aplicativos da vida real envolvem milhares de redes e
módulos, com problemas maiores sendo formulados continuamente.  ​No
entanto, embora a matriz possa ser grande em tamanho, é extremamente
esparsa, com apenas um ou dois não zeros em cada coluna.  ​A Figura 13.3
mostra o padrão de esparsidade da matriz A a partir de um exemplo típico de
posicionamento.  ​(Observe que a ordem das linhas e colunas pode não ser a
mesma mostrada no LP (13.7).)

13.3 ​UMA FORMULAÇÃO DO PROGRAMA


QUADRÁTICO DO MODELO DE COLOCAÇÃO NO MNP

A formulação de LP descrita na seção 2 leva a que muitos módulos sejam


"agrupados" sobre o centro da região de posicionamento.  ​É importante tentar
separar os módulos para que um posicionamento legal;  ​ou seja, um canal
sem sobreposição é mais facilmente gerado.  ​As abordagens descritas nesta
seção e na seção 4 separam os módulos ainda mais na região de
posicionamento desejada.

Na tentativa de forçar mais separação de módulos, desenvolvemos um novo


modelo de ponto de rede de módulo (MNP), em que todos os módulos e
redes são considerados pontos.  ​Estamos preocupados em determinar a
localização de módulos livres de M interconectados por redes N, minimizando
algumas medidas de comprimento de fio.  ​Além disso, algumas das redes N
podem envolver a conexão com blocos de E / S fixos localizados na periferia
da área de posicionamento.

Seja a localização do módulo livre i (Xi, Yi) e a localização da rede j (Uj, Vj). 
Nesse caso, tentamos encontrar um local da rede definindo (Uj, Vj) em
comparação com o modelo LP anterior que utilizava (Uj, U'j) e (Vj, V'j) para
descrever os respectivos níveis inferiores. ​localizações dos cantos esquerdo e
superior direito do retângulo que circunscreve a rede.  ​Finalmente, seja a
localização do módulo fixo i (ci, di).  ​Para denotar as interconexões de rede do
módulo, deixe

13.3.1​ ​Função Objetiva Construção

Para aproximar o comprimento de fio estimado total, usamos a soma do


comprimento de fio quadrado como função objetivo;​ ​ou seja,

O objetivo é encontrar pontos do módulo M e N pontos líquidos para


minimizar a função objetivo f. Observe que a minimização de f pode ser
realizada minimizando fx e fy independentemente, o que implica que o
problema de posicionamento bidimensional é equivalente a resolver dois
problemas unidimensionais. O restante da discussão envolve apenas efeitos,
mas se estende para efeitos sem perda de generalidade.

Seja X = [Xl, X2, ···, XM] ^ T e U = [Ul, U2, ···, UN] ^ T sejam vetores
representando o módulo e os pontos líquidos, respectivamente, e seja Z = [X
^ T  ​, U ^ T] ^ T. A função objetivo fx pode ser reescrita convenientemente na
seguinte forma de matriz:

onde B é uma matriz definida positiva simétrica.  ​A matriz B é definida


positivamente quando F> 0, que é sempre o caso de problemas práticos de
layout;​ ​isto é, pelo menos um módulo é sempre fixo.

A matriz N = [nij] é uma matriz M x N que descreve as interconexões livres de


rede de módulos;  ​por exemplo, nij = 1 se o módulo livre i estiver na rede j. ​As
matrizes Da = [da, J e Db = [db; j] são matrizes diagonais, onde

respectivamente. O vetor de custo linear g é dado por


onde 0 é um vetor M de zeros e beta é um vetor N com o elemento j dado por 
 

 
 
Finalmente, o escalar h é dado por 

13.3.2​ ​Geração de restrições

Várias restrições importantes devem ser incluídas no modelo de


posicionamento resultante.  ​Geramos apenas as restrições para a direção X; 
restrições equivalentes são geradas para o problema de QP formulado na
direção Y.  ​Primeiro, o módulo e os pontos de rede estão relacionados.  ​O
ponto líquido Uj deve representar o centro de gravidade de todos os módulos
conectados à rede j, ou seja,

Com  essa  restrição,  e  assumindo  que  cada  rede  seja  conectada  como  sua 
árvore  Steiner,  a  função  objetivo  resultante  f  deve  aproximar-se  do 
comprimento do cabo. 
 

 
 
Finalmente,  em  posicionamento  relativo,  é  desejável  obter  uma  distribuição 
uniforme  de módulos livres sobre a área de posicionamento (isto é, para evitar 
agrupamentos). Isso é obtido incluindo a restrição do primeiro momento 
 

 
 
para  forçar  uma distribuição uniforme de módulos livres ao redor do centro da 
área de posicionamento. 

Conforme descrito, o modelo de posicionamento envolve a minimização de


uma função objetivo quadrática definida positiva, sujeita a um conjunto de
restrições lineares de igualdade e desigualdade.  ​Usando a definição anterior
de Z e considerando apenas a minimização de fx, o problema de minimização
é declarado de forma concisa como

Esse problema pode ser resolvido com eficiência usando um método de ponto 
interior quadrático.

13.4 ​PARA REMOÇÃO DE SOBREPOSIÇÃO

O modelo MNP descrito na seção anterior depende muito da presença de


blocos de E / S e da primeira restrição de momento para forçar a separação
do módulo.  ​Sobreposição significativa ocorrerá quando houver poucas placas
de E / S e os módulos tendem a se agrupar no meio da área de
posicionamento.  ​Buscamos métodos para melhorar a separação livre do
módulo.
Para  forçar  uma  separação livre adicional do módulo, incluímos uma restrição 
de segundo momento dada por 
 

 
 
onde  ômega  ^  2 é uma variação desejada e m é a posição média dos módulos 
livres  (isto  é,  o  centro  da  placa).  Com  o  segundo  momento  de  restrição,  o 
problema relativo de posicionamento se torna 
 

 
 
onde  W  =  1/2  N  ((ômega ^ 2 + m ^ 2) e D é uma matriz diagonal com 0 ou 1 na 
diagonal  para  selecionar  os  componentes  de Z correspondentes aos módulos 
livres.  O  problema  resultante  agora  contém  um  restrição  quadrática  de 
igualdade e apenas uma solução local ideal pode ser garantida. 
 
Para  atacar  esse  problema,  consideramos  a  programação  quadrática 
recursiva,  onde  a  cada  iteração  temos  uma  solução  tentativa  Z  e  desejamos 
determinar  uma  direção  de  busca  apropriada  d.  Atualizamos  nossa  solução 
como 
 
 
 
onde 0 <= alfa <= 1 é um tamanho de etapa apropriado. Substituindo Z + d por 
Z em (13.26), a seguinte aproximação quadrática convexa do programa 
(13.26) é resolvida para determinar d 
 
 
Observe  que  -1/2  (d  ^  T)  Dd  não  é  considerado  na  restrição  do  segundo 
momento. 
 
Se  determinarmos  a  solução  inicial  Z  resolvendo  o  modelo  original  de  MNP 
fornecido  por  (13.24)  (ou  seja,  sem  a  restrição  do segundo momento), o lema 
a seguir se mantém 
 
Lema  13.4.1  Seja  d  diferente  de  0  uma  solução  para  o  problema  linearizado 
(13.28)  e  Z  seja  um  ponto  que  satisfaça  as  restrições  de  igualdade  Az  =  be  a 
variável limita 0 <= Z <= Xe. A solução atualizada (Z + alfa d) também atenderá 
às  restrições  de  igualdade  (A  (z  +  alfa  d)  = b) e limites variáveis para 0 <= alfa 
<= 1. 
 
Prova: Do problema linearizado, assumindo que AZ= b temos 
 

 
 
Achamos 
 

 
 
A prova para os limites das variáveis é trivial para 0 <= alfa <= 1. 
 
Portanto,  a  sequência  de  soluções  geradas  pela  programação  quadrática 
recursiva  satisfará  todas  as  restrições  e  limites  variáveis,  exceto  a  restrição 
do  segundo  momento.  Portanto,  é  necessário  mostrar  que  d  é  tal  que  a 
restrição  do  segundo  momento  se  move  em  direção  à  satisfação.  Nós temos 
a seguinte proposta: 
 
Proposição  1  Seja  d  diferente  de  0  a  solução  do  programa  quadrático 
linearizado  (13.28)  e  Z  seja  uma  proposição  estatística  de  pontos  13.4.1. 
Então d é uma direção de descida para a função de penalidade. 
 

 
 
onde theta> 0 é um grande parâmetro de penalidade.

Prova: Temos

Das restrições de (13.28), temos 


 

 
 
portanto 
 

 
 
Claramente, para um valor theta adequadamente grande, segue-se que
e para um valor suficientemente pequeno.

Realizamos uma pesquisa de linha usando d para minimizar a função de


penalidade.  ​Como theta tendendo a inf, o programa quadrático recursivo
abordará uma solução local ótima.  ​Supondo que a solução inicial fornecida
pelo modelo MNP original seja boa, essa solução local ideal também deve ser
boa, com um aumento na propagação do módulo.  ​Obviamente, como a
função penalidade não é uma função exata, para um valor finito de theta, a
restrição do segundo momento não será exatamente satisfeita [9]. ​No entanto,
a propagação do módulo será aumentada.

13.5 ​MÉTODOS DOS PONTOS INTERIORES QUADRÁTICO PRIMAL-DUAL

Nesta seção e por uma questão de completude, resumimos a abordagem


quadrática do ponto interior [15] usada para resolver os problemas de QP
formulados nas duas últimas seções.  ​Estamos interessados em resolver o
seguinte programa quadrático primal:

e seu programa quadrático duplo:

onde Q é uma matriz semidefinita positiva nxn, A é uma matriz mxn com
classificação de linha completa, c e u são n vetores, b é um vetor m e r é um
vetor n de variáveis de folga que permite ao problema duplo ​ser expresso em
forma de igualdade.

13.5.1​ ​Teoria

O algoritmo primal-duplo é derivado da aplicação de uma função de barreira


logarítmica ao problema primal, a fim de eliminar as restrições de não
​ problema de barreira resultante é dado por
negatividade.​ O
Uma  abordagem  semelhante  trará  um  problema  de  barreira  se  aplicado  ao 
problema duplo

Assumindo um ponto que satisfaça {(x, s, r, w, y): x, s, r, w> 0}, para um valor
fixo do parâmetro de penalidade mi> 0, as condições de primeira ordem para
otimizar simultaneamente a​ ​problemas primários e de barreira dupla são:

onde e denota o vetor n de uns, e X, S, W e R são matrizes diagonais que


contêm os componentes de x, s, w e r, respectivamente. ​As equações (13.36)
e (13.37) garantem a viabilidade primária e as equações (13.38) garantem a
viabilidade dupla.  ​As equações (13.39) e (13.40) representam as condições
de mi - complementaridade.

A idéia por trás do algoritmo de ponto interior primário-duplo pode ser


afirmada a seguir.  ​Let (x_mi, s_mi, r_mi, w_mi, y_mi) denota a solução das
condições de otimização para qualquer valor mi> 0, e let (x *, s *, r *, w *, y *)
denota a solução conforme mi tende  ​para zero.  ​Dado um ponto inicial (x, s, r,
w, y), o algoritmo primal-dual usa uma etapa do método de Newton para
tentar encontrar um ponto mais próximo de (x, s, r, w, y) · Isso se torna o ​nova
solução e o termo de penalidade mi são reduzidos adequadamente.  ​Esse
processo continua até que mi esteja suficientemente próximo de zero e a
solução (x *, s *, r *, w *, y *) seja obtida. ​Resulta das condições de otimização
de primeira ordem que esta solução é tanto primordial quanto dupla possível,
e a diferença de dualidade é zero. ​Assim,  (x  *,  s  *)  é  ideal  para  o  problema 
primal e (r *, w *, y *) é ideal para o problema duplo. 
 
A  aplicação  do  método  de  Newton  às  condições  de  otimização  de  primeira 
ordem  produz  o  seguinte  conjunto  de  equações  lineares  para  obter  a  direção 
da pesquisa: 
 

 
 
quando 

A solução desejada é então atualizada como

onde  alfa  'é  um  comprimento  de  etapa  escolhido  para  garantir  a  positividade 
das variáveis não negativas.

13.5.2 ​Pesquisar direções

O sistema linear de equações derivado do método de Newton geralmente não


é resolvido diretamente, mas é primeiro simplificado.  ​Se primeiro resolvermos
o delta s, o delta W e o delta r, chegaremos com o seguinte:
e

Este  sistema  é  referido  como  sistema  aumentado  e  é  simétrico  indefinido, 


enquanto o sistema original não é. 
 
A  solução  do  sistema  aumentado  em  cada  iteração  do  método  do  ponto 
interior  representa  a  principal  carga  computacional  do  algoritmo.  A  solução 
do  sistema  aumentado  normalmente  consome  de  80  a  90%  do  tempo 
computacional  total.  Várias  abordagens  foram  sugeridas  para  resolver  o 
sistema  aumentado,  incluindo  métodos  diretos  [1,16]  e métodos iterativos [2]. 
Em  vez  de  focar  na  solução  iterativa  do  sistema  aumentado  (que  é  uma  área 
ativa  de  pesquisa  em  si),  neste  trabalho  usamos  o  método  direto,  conforme 
descrito em [16]. 
 
13.5.3 ​Questões adicionais 

Vários problemas de adição devem ser abordados para implementar o


algoritmo de ponto interior.  ​Um ponto inicial inicial {(x, w, r, s, y): x, w, r, s> 0}
é necessário para iniciar o algoritmo.  ​Embora seja possível elaborar
esquemas elaborados para a seleção de um ponto de partida, uma solução
inicial arbitrária que geralmente é suficiente é dada por
Um critério de parada também é necessário.  ​A otimização requer viabilidade
primária e dupla e que o gap da dualidade esteja abaixo de um limite
pré-selecionado.​ ​A viabilidade primária e dupla são medidas por

​ ara medir a diferença de dualidade, usamos


respectivamente.​ P

Dois problemas surgem durante a progressão do algoritmo de ponto interior. ​A


primeira questão é a computação do parâmetro mi.  ​Das condições de
otimização, vemos que
 

Uma maneira de recuperar o mi é calcular 


 

 
 
e  reduzir  esse  valor  em  um  décimo  para  se aproximar da otimização em cada 
estágio do algoritmo. 
 
O  segundo  problema  que  deve  ser  resolvido  é a seleção do tamanho da etapa 
usada  para  atualizar  a  solução  a  cada  iteração.  O  tamanho  da  etapa deve ser 
selecionado  para  garantir  a  positividade  das  variáveis  não-negativas. 
Usaremos: 
 

 
 
13.6 ​RESULTADOS NUMÉRICOS 

Para testar os modelos de posicionamento, implementamos as abordagens


de QP descritas nas seções 3 e 4 em C e testamos o algoritmo em problemas
realistas de layout de teste da literatura VLSI.  ​As heurísticas e os programas
de LP e QP resultantes foram executados em uma estação de trabalho Sun
Spare 2 com 64Meg de memória.

13.6.1 ​Resultados de posicionamento do LP

Nesta subseção, exploramos a esparsidade da matriz de restrição A no


problema (8) para mostrar a vantagem de resolver esses problemas por um
algoritmo de ponto interior em comparação ao uso de um método Simplex. Os
LPs de posicionamento foram criados a partir de netlists no MCNC
Benchmark Test Suite [8] (fnn 4, fnn 8, primário 1 e primário 2) e quatro listas
de rede adicionais (local 1, local 2, local 3 e local 4).  ​Cada um desses
problemas listou blocos de E / S para cada extremidade da placa.  ​Os locais
para esses blocos foram corrigidos, distribuindo-os uniformemente pelas
arestas especificadas.  ​Os pesos líquidos para conectar módulos livres a
módulos fixos foram definidos como w_k = w'_k = 10 e todos os outros pesos
líquidos foram definidos como 1. A largura e altura mínimas da rede foram
definidas como D = 0,1X e D '= 0,​ ​1Y.
A Tabela 13.1 mostra as informações de tamanho para os 8 problemas.  ​Este
gráfico fornece o número de módulos livres, módulos fixos e redes para cada
caso de teste.  ​Além disso, o número de linhas m, o número de colunas n e o
número de elementos diferentes de zero na matriz de restrição A são
mostrados.  ​Nos testes documentados abaixo, apenas os resultados para os
programas lineares na direção x são relatados. ​Como a matriz de restrição é a
mesma para os problemas de direção x e direção y, os resultados da direção
y produziriam conclusões semelhantes.

Comparações foram feitas com as opções Barreira e Simplex do pacote


CPLEX LP [3].  ​Tolerâncias de viabilidade e diferença de dualidade de 10-4
foram usadas como critério de parada nos testes CPLEX e subsequente teste
de QP.  ​A Tabela 13.2 mostra o total de iterações realizadas;  ​ou seja, as
iterações de ponto interior para a barreira do CPLEX e o total de iterações
para a opção CPLEX Simplex.
A Tabela 13.2 também mostra os tempos de execução em segundos da CPU
para cada um dos solucionadores testados. ​O solucionador Simplex era muito
eficiente nos problemas menores, mas apresentava pior desempenho nos
problemas maiores, que são os problemas de interesse. ​A barreira do CPLEX
teve um bom desempenho na maioria dos casos de teste, mas teve o pior
tempo de execução para "primary2".  ​Chin e Vannelli [2] desenvolvem
solucionadores iterativos para reduzir os problemas de preenchimento
relacionados e os tempos de execução.

13.6.2 ​Resultados  do  posicionamento  do  modelo 


quadrático

Para mostrar que uma melhor separação de módulos é alcançada pelas


abordagens descritas nas seções 3 e 4, consideramos os seguintes novos
problemas de teste mostrados na Tabela 13.3. ​Esta tabela fornece o nome do
problema e o número de módulos fixos, módulos livres e redes no problema
de teste.  ​Na geração desses problemas, os painéis de E / S fixos foram
distribuídos uniformemente em torno das bordas da área de posicionamento. 
Desde a eficiência do

Como o algoritmo depende da eficiência na solução do sistema aumentado,


as estatísticas para o sistema aumentado também são mostradas na Tabela
13.3.  ​Isso inclui o número de linhas, colunas e não-congeladores no sistema
aumentado.
Para o modelo MNP quadrático, os posicionamentos relativos são
apresentados na Tabela 13.4 (somente na direção x). ​A Tabela 13.4 mostra o
número total de iterações de pontos internos, o tempo total de solução
necessário para obter os posicionamentos e a estimativa resultante do
comprimento do fio.  ​Também é fornecida na Tabela 13.4 a variação dos
módulos livres, que fornece uma medida da propagação do módulo.

A Figura 13.4 mostra a colocação relativa obtida para o chip. ​Como esperado,


há alguma dispersão de módulos devido à presença dos blocos de E / S, mas,
em geral, os módulos tendem a se agrupar em direção ao centro da área de
posicionamento.  ​Agora incluímos o segundo momento de restrição para
melhorar a propagação do módulo.

Figura 13.4 Posicionamento relativo para chip;  ​Modelo QP-MNP.  ​Um "x"
indica a posição de um módulo.
13.6.3 ​Melhoria da variação 

Para melhorar a dispersão dos módulos na área de posicionamento, a


variação do módulo foi aumentada em 50% em relação à mostrada na Tabela
13.4.  ​Usando a solução fornecida no modelo MNP original, os resultados de
posicionamento obtidos pela inclusão da restrição de segundo momento são
​ Tabela 13.5 mostra o total
mostrados na Tabela 13.5.​ A

número de iterações de pontos interiores para todos os QPs linearizados


(incluindo o primeiro QP necessário para gerar o ponto inicial), o número total
de QPs resolvidos e o tempo total de solução.  ​Também é mostrada a
estimativa resultante do comprimento do fio e a nova variação para os
módulos livres.  ​O novo posicionamento relativo para o chipl é mostrado na
Figura 13.5.  ​Pode-se observar que os módulos estão distribuídos de maneira
mais uniforme por toda a área de colocação.
Poucas linearizações são necessárias e o método converge rapidamente para
uma nova solução com variação melhorada.  ​Além disso, as localizações
gerais dos módulos não são afetadas e a nova estimativa do comprimento do
fio é próxima da obtida no modelo MNP original.

Figura 13.5 Posicionamento relativo para chipl com restrição de variância. ​Um


"x" anula a posição de um módulo.

13.7 CONCLUSÕES 
 
Neste  trabalho,  dois  modelos  de  posicionamento  relativo  foram 
desenvolvidos.  Os  modelos  resultam  em  programas  esparsos  de  LP  ou  QP, 
que  são  resolvidos  com  eficiência  por  métodos  de  pontos  internos.  A 
escassez  e  a  estrutura  desses  problemas  os  tornam  candidatos  mais 
adequados  para  esses  solucionadores,  em  vez  de  variantes  baseadas  em 
Simplex. 
 
Em  um posicionamento relativo, os módulos tendem a se agrupar em torno do 
centro  da  área  de  posicionamento  e  se  sobrepor.  Uma  abordagem  muito 
eficiente foi descrita para evitar agrupamentos e sobreposições. A abordagem 
resultante  "força"  os  módulos  ainda  mais,  aumentando  a  variação.  Um 
pequeno  número  de  QPs  adicionais  foi  resolvido.  Esta  abordagem 
demonstrou ser eficaz. 
 
Trabalhos  futuros  incluirão  maneiras  de  melhorar  a  separação  dos  módulos. 
Mesmo  com  a  restrição  do  segundo  momento, os módulos ainda se agrupam 
e  se  sobrepõem.  Uma  abordagem  mais  agressiva  é  incluir  restrições  que 
impeçam  diretamente  a  sobreposição.  Além  de  tornar  o  problema  não  linear, 
essas restrições combinam os problemas nas direções x e y. 
 
Para  avançar  em  direção  a  um  posicionamento  sem  sobreposição,  considere 
a  Figura  13.6,  que  mostra  dois  módulos  i  e  j  com  dimensões  (wi, hi) e (Wj, hj), 
respectivamente.  Ao  redor  de  cada  módulo  i,  desenhamos  um  círculo  com 
raio  ri, de modo que o círculo rodeia completamente o módulo i. Seja 'Y = {(i, j): 
i  =  1,  ...  M,  j  =  i  +  1,  …  M}  denotar  os  pares  de  módulos  livres.  A  sobreposição 
entre o par de módulos i e j pode ser evitada incluindo as restrições 
 

 
 
Reescrevemos  essa  restrição  de  uma  forma  um  pouco  mais  conveniente. 
Enquadramos  os  dois  lados  desta  expressão  para  remover  a  raiz  quadrada  e 
multiplicamos por 1/2 para obter 
 

 
 
Observe  que  as  coordenadas  x  e  y  dos  módulos  agora  interagem  e  o 
posicionamento  relativo  não  pode  mais  ser  dividido  em  dois  problemas 
unidimensionais.  Além  disso,  as  restrições  do  tipo  dado  em  (50)  são 
não-convexas. 
 
Se  deixarmos  Z  =  [x,  u,  y,  v]  ^  T, a restrição de sobreposição para os módulos i 
e j, denotada por g_ij (Z), pode ser escrita como 
 

 
 

where    and  Dij  is  a  sparse  semidefinite  matrix  which  picks 


off the appropriate components of the vector z.  
 

 
 
Figura 13.6 Evitando sobreposição nos módulos circundantes com círculos. 
 
Uma  restrição  de  desigualdade  é  necessária  para  cada  par  de  módulos, 
resultando  em  restrições  adicionais  de  desigualdade  de  O  (M2).  Embora 
escasso,  um  número  tão  grande  de  restrições  pode ser proibitivo. No entanto, 
deve-se  notar  que  pode  não ser necessário incluir a restrição de sobreposição 
para  cada  par  de  módulos.  Na  prática,  consideramos  os  pares  de  módulos 
que  se  sobrepõem  fortemente  primeiro.  Esta  observação  pode  reduzir 
substancialmente  o  número  de  restrições  adicionais.  Uma  conseqüência 
interessante  do  uso  de  círculos  é  que  eles  se  estendem  por  mais área do que 
é  realmente  exigido  pelos  módulos  abrangidos;  esse  espaço  extra  entre  os 
módulos pode ser útil para roteamento. 
 
Nosso problema de canal agora tem o formato 
 

 
 
Novos  trabalhos  se  concentrarão  na  redução  do  número  de  restrições 
necessárias  e  na  investigação  de  técnicas  para  melhorar  a  eficiência  do 
método do ponto interior usado para resolver os QPs linearizados. 
 
Por  fim,  a  integração  dos  resultados  da  veiculação  relativa  a  uma abordagem 
como  a  Pesquisa  Tabu  pode  levar  a  "veiculações  legais"  sem  sobreposição. 
Essa  abordagem  foi  desenvolvida  por  um  dos  autores  [14].  Propomos  incluir 
as  abordagens  de  posicionamento  relativo  descritas  neste  trabalho  como  um 
estágio  de  pré-processamento  antes  que  o  posicionamento  legal  seja 
encontrado  usando  essa  abordagem.  Este  trabalho  está  atualmente  em 
progresso. 

Você também pode gostar