SciELO - Scientific Electronic Library Online

 
vol.17 issue1Application of multivariate method and technique for prediction of thermo-environmental and perceptive variablesParallel strategies for a multi-criteria GRASP algorithm author indexsubject indexarticles search
Home Pagealphabetic serial listing  

Services on Demand

Journal

Article

Indicators

Related links

Share


Production

Print version ISSN 0103-6513On-line version ISSN 1980-5411

Prod. vol.17 no.1 São Paulo Jan./Apr. 2007

http://dx.doi.org/10.1590/S0103-65132007000100005 

Métodos de geração de colunas para problemas de atribuição

 

Column generation methods for assignment problems

 

 

Edson Luiz França SenneI; Luiz Antonio Nogueira LorenaII; Silvely Nogueira de Almeida SalomãoIII

IUNESP
IIINPE
IIIUNESP

 

 


RESUMO

Este trabalho apresenta métodos de geração de colunas para dois importantes problemas de atribuição: o Problema Generalizado de Atribuição (PGA) e o Problema de Atribuição de Antenas a Comutadores (PAAC). O PGA é um dos mais representativos problemas de Otimização Combinatória e consiste em otimizar a atribuição de n tarefas a m agentes, de forma que cada tarefa seja atribuída a exatamente um agente e a capacidade de cada agente seja respeitada. O PAAC consiste em atribuir n antenas a m comutadores em uma rede de telefonia celular, de forma a minimizar os custos de cabeamento entre antenas e comutadores e os custos de transferência de chamadas entre comutadores. A abordagem tradicional de geração de colunas é comparada com as propostas neste trabalho, que utilizam a relaxação lagrangeana/surrogate. São apresentados testes computacionais que demonstram a efetividade dos algoritmos propostos.

Palavras-chave: Otimização combinatória, problemas de atribuição, relaxação lagrangeana/surrogate, geração de colunas.


ABSTRACT

This work presents column generation methods for two important assignment problems: the Generalized Assignment Problem (GAP) and the problem of assigning cells to switches in cellular mobile networks (PACS). GAP is one of the most representative combinatorial optimisation problems and can be stated as the problem of optimising the assignment of n jobs to m agents, such that each job is assigned to exactly one agent and the resource capacity of each agent is not violated. PACS consists of determining a cell assignment pattern which minimizes cabling costs between a cell and a switch and transfer costs between cells assigned to different switches, while respecting certain constraints, especially those related to limited switch's capacity. The traditional column generation process is compared with the proposed algorithms that combine the column generation and lagrangean/surrogate relaxation. Computational experiments are presented in order to confirm the effectiveness of the proposed algorithms.

Key words: Combinatorial optimization, assignment problems, lagrangean/surrogate relaxation, column generation.


 

 

INTRODUÇÃO

O problema de atribuição é um problema clássico de Otimização Combinatória. De uma forma geral, o problema pode ser estabelecido como: um conjunto de n tarefas deve ser atribuído a um conjunto de m agentes. É necessário que todas as tarefas sejam atribuídas e que cada tarefa seja atribuída a apenas um agente, de tal forma que o custo total da atribuição seja minimizado. Este problema tem grande importância prática, estando presente, por exemplo, na distribuição de tarefas entre processadores de um sistema de computação paralela (BOKHARI, 1987), no planejamento de tarefas de um telescópio espacial (NOWAKOVSKI et al., 1999), na distribuição de pacientes em viagens de assistência médica (RULAND, 1999), na atribuição de freqüências em redes de comunicação celular (FISCHETTI et al., 2000; WANG e GU, 2004), dentre inúmeras outras situações. Além disto, existem muitos problemas de decisão que, não sendo diretamente um problema de atribuição, contêm um problema de atribuição como subproblema.

Existem diversos tipos de problemas de atribuição. Em sua forma mais simples, o problema não envolve restrições de capacidade. Neste caso, quando m = n, ou seja, quando o número de agentes é igual ao número de tarefas, o problema é conhecido como Problema Linear de Atribuição (PLA). Neste caso, o problema é um caso especial de outro problema de otimização, conhecido como Problema de Transporte. Devido à sua estrutura especial, o PLA pode ser resolvido eficientemente (em tempo polinomial) por diversos métodos bem conhecidos (KUHN, 1955; HUNG; ROM, 1980; WRIGHT, 1990).

Outro tipo de problema de atribuição é conhecido como Problema Quadrático de Atribuição (PQA). O problema ocorre quando, para designar objetos a locais, deve-se levar em conta as distâncias entre os pares de locais e os fluxos de algum tipo de demanda entre os pares de objetos. O PQA consiste em encontrar uma alocação de custo mínimo dos objetos aos locais, sendo os custos obtidos por produtos distância ´ fluxo. O primeiro trabalho sobre esse tipo de problema de atribuição foi publicado por Koopmans e Beckmann (1957) e, desde então, o problema tem aparecido em diversas situações práticas, como em projetos de circuitos eletrônicos, em problemas de escalonamento de horário, em análise estatística, em planejamentos de hospitais, dentre muitas outras. Uma extensa revisão sobre o PQA pode ser vista em Loiola et al. (2004).

Outro tipo de problema de atribuição ocorre quando elementos de um número variável de conjuntos devem ser atribuídos mutuamente. Este problema é conhecido como Problema de Atribuição Multidimensional (PAM) (PIERSKALLA, 1968; GRUNDEL et al., 2005). Diversas situações relatadas na literatura envolvem o PAM, dentre as quais a determinação de trajetórias de partículas elementares (PUTSZTASZERI et al., 1996) e a determinação de células fibroblásticas a partir de seqüências de imagens biomédicas (KIRUBARAJAN et al., 2001).

Outras variações conhecidas para o problema de atribuição são: o Problema de Atribuição Dinâmica, em que a atribuição de agentes a tarefas deve ser feita de forma dinâmica sobre períodos de tempo, o que é muito comum em problemas de roteamento e escalonamento; o Problema de Atribuição Aleatória, que corresponde a encontrar, em uma matriz m ´ n de variáveis aleatórias, k elementos tais que sua soma seja mínima; o Problema de Atribuição Axial, que consiste em encontrar um clique (subgrafo completo) de peso mínimo para um grafo tripartido completo. Uma revisão sobre os principais problemas de atribuição pode ser encontrada em Burkard (2002).

Neste trabalho, são apresentados métodos de resolução para duas formas do problema de atribuição, para as quais existem restrições de capacidade e o número de agentes é menor do que o número de tarefas (m < n): o Problema Generalizado de Atribuição (PGA), um problema clássico e já bastante estudado, e o Problema de Atribuição de Antenas a Comutadores (PAAC), um problema mais recente e que ganhou importância com o surgimento das redes de telefonia celular. Estes dois tipos de problemas de atribuição fazem parte da classe de problemas combinatórios NP-difíceis (GAREY; JOHNSON, 1979).

Uma das primeiras aplicações do PGA deve-se a Balachandran (1976), que estudou o problema de atribuir tarefas em uma rede de computadores. Desde então, muitos outros problemas têm sido apresentados na literatura como aplicações do PGA, dentre os quais podem ser citados: a alocação de salas de aula (LUAN; YAO, 1996), o roteamento de veículos (BAKER; SHEASBY, 1999), o carregamento de caminhões (PIGATTI, 2003) e a recuperação de blocos de dados a partir de discos paralelos (AERTS et al., 2003).

Mesmo o PGA se apresenta de várias formas. Uma forma bem conhecida é o Problema Generalizado de Atribuição Multinível (LAGUNA et al. 1995; FRENCH; WILSON, 2002; OSORIO; LAGUNA, 2003) onde, na atribuição de tarefas a agentes, leva-se em conta que os agentes podem executar as tarefas em mais de um nível de eficiência. Outra forma é o Problema Generalizado de Atribuição Estocástico (ALBAREDA-SAMBOLA et al., 2002). Neste caso, a natureza estocástica do problema pode ser devida à falta de informação a priori sobre a quantidade de recursos necessários para os agentes realizarem as tarefas ou à incerteza sobre a presença ou a ausência de tarefas individuais, ou seja, quando existe um conjunto potencial de tarefas, mas somente algumas delas serão realmente realizadas (o que acontece, por exemplo, em serviços de emergência).

Uma revisão geral das técnicas de solução propostas para o PGA pode ser vista em Cattrysse e Van Wassenhove, (1992). Com relação aos métodos aproximados, em geral, as abordagens propõem heurísticas de duas fases, em que em primeiro lugar as atribuições são calculadas de modo a satisfazer um determinado critério (por exemplo, minimizar uma função de penalização, como em Martello e Toth, 1981) e, numa segunda fase, as atribuições são melhoradas. Amini e Racer (1994) também propõem uma abordagem heurística em duas fases para o problema e fazem uma cuidadosa comparação de vários métodos. Metaheurísticas também já foram propostas para o PGA, dentre as quais podem ser citados os algoritmos genéticos (WILSON, 1997; CHU; BEASLEY, 1997), a busca tabu (LAGUNA et al., 1995) e simulated annealing (OSMAN, 1995). Narciso (1998) aplicou a relaxação lagrangeana/surrogate combinada com otimização por subgradientes para a solução do PGA. Nauss (2003) propõe a utilização de cortes, relaxação lagrangeana e otimização por subgradientes. Outras abordagens são propostas por Yagiura et al. (2004a, 2004b).

O outro problema de atribuição abordado neste trabalho é o PAAC. Este problema difere do PGA pela necessidade de considerar novos custos devidos às transferências de chamadas entre comutadores, o que torna o problema mais difícil.

Nos trabalhos de Merchant e Sengupta (1995) e Saha et al. (2000), o PAAC é formulado como um problema de Programação Inteira e resolvido por meio de heurísticas gulosas de atribuição das antenas aos comutadores. Abordagens que utilizam metaheurísticas também já foram propostas para o PAAC. Podem ser citados os trabalhos de Pierre e Houéto (2002), que usaram a busca tabu, de Quintero e Pierre (2002), que empregaram simulated annealing (SA) e algoritmos genéticos, e de Menon e Gupta (2004), que combinaram SA com um método de geração de colunas. Uma comparação de abordagens para o PAAC pode ser encontrada em Quintero e Pierre (2003).

Neste trabalho são apresentados métodos de geração de colunas para a solução aproximada do PGA e do PAAC. Os métodos apresentados diferem das abordagens tradicionais por utilizarem a relaxação lagrangeana/surrogate, o que resulta em algoritmos mais eficientes.

 

FORMULAÇÕES E BASES TEÓRICAS

Considerando cij como o custo associado de atribuir a tarefa j ao agente i, rij como a quantidade de recursos necessários ao agente i para realizar a tarefa j, bi como a capacidade total de recursos do agente i, e xij como uma variável de decisão binária, tal que xij = 1, se a tarefa j está atribuída ao agente i, e xij = 0, caso contrário, o Problema Generalizado de Atribuição pode ser formulado como:

sujeito a:

A restrição (2) elimina a possibilidade de a tarefa j ser atribuída a mais de um agente, e a restrição (3) garante que a capacidade do agente i será respeitada. Esta formulação foi usada por Cattrysse et al. (1994) para desenvolver um algoritmo heurístico para o PGA.

Para a formulação do PAAC outras considerações são necessárias. Geralmente, uma área geográfica atendida por serviços de comunicação móvel é dividida em unidades geográficas denominadas células. Para efeito de estudo, as células são representadas por hexágonos, conforme mostra a Figura 1.

 

 

Cada célula possui uma antena de transmissão e recepção, também conhecida como estação rádio base, responsável pela comunicação entre o equipamento celular móvel e um comutador, que tem a função de encaminhar o tráfego de chamadas entre antenas. Durante uma chamada, conforme aumenta a distância entre a unidade móvel (celular) e a estação rádio base, o sinal torna-se fraco e aumentam os ruídos provenientes de interferências da vizinhança. Para evitar isto, é preciso fazer uma transferência da chamada de uma antena para outra adjacente que esteja mais próxima do usuário. Esta transferência deve ser realizada para que o assinante não perca a qualidade do sinal enquanto estiver realizando uma chamada. Quando o assinante se move entre antenas atendidas por um mesmo comutador, como, por exemplo, quando sai da célula A e entra na célula B da Figura 1, a transferência é simples e não acarreta custos consideráveis. No entanto, quando o assinante se move entre antenas atendidas por comutadores diferentes, como, por exemplo, quando sai da célula B e entra na célula C da Figura 1, tem-se o denominado rooming e a transferência acarreta um custo, denominado custo de handoff, que precisa ser considerado.

Assim, considerando M = {1, ..., m} como o conjunto de índices de comutadores, N = {1, ..., n} como o conjunto de índices de antenas, cij como o custo de cabeamento entre o comutador i e a antena j (i Î M, j Î N), hjk como o custo de handoff entre as células j e k (j, k Î N), vj como o volume de chamadas da célula j (j Î N), bi como a capacidade de atendimento de chamadas do comutador i (i Î M), e xij como uma variável de decisão binária, tal que xij = 1 se a antena j está atribuída ao comutador i e xij = 0, caso contrário (i Î M, j Î N), o PAAC pode ser formulado como:

sujeito a:

A função-objetivo (5) busca minimizar os custos de cabeamento e de handoff. Observe que os custos de handoff só devem ser considerados para antenas atribuídas a comutadores diferentes. As restrições de atribuição (6) evitam que uma antena seja atribuída a mais de um comutador e as restrições de capacidade (7) impossibilitam que as capacidades de atendimento dos comutadores sejam violadas.

Os métodos de geração de colunas propostos neste trabalho baseiam-se em tópicos abordados por Lorena et al. (2003), dentre os quais: a reformulação dos problemas de atribuição como problemas de partição de conjuntos, a relaxação lagrangeana/surrogate e a decomposição de Dantzig-Wolfe. Um resumo destes tópicos é apresentado a seguir.

O Problema de Particionamento de Conjuntos

O problema de determinar uma partição de um conjunto de modo a satisfazer algumas restrições e otimizar uma função linear é conhecido como Problema de Particionamento de Conjuntos (PPC). Sejam: M = {1, ..., m}, um conjunto finito, P = {P1, ..., Pn}, o conjunto de todos os subconjuntos de M, e N = {1, ..., n}, o conjunto de índices de P. Um subconjunto F de N (F Í N) é uma partição de M se = M e Pj Ç Pk = f, " j, k Î F. Se o subconjunto Pj (j Î N) é representado pelo vetor zj = (z1j,...,zmj)t, tal que zij = 1 se o elemento i Î M está no conjunto Pj, e zij = 0, caso contrário, o PPC pode ser formulado como:

sujeito a:

onde c(zj) é o custo associado ao subconjunto Pj.

Em geral, os subconjuntos Pj factíveis de um problema são tais que: Pj = {zj/Ajzj < bj} (j Î N), ou seja, para cada subconjunto existe um conjunto de restrições a serem satisfeitas, como no caso dos problemas de atribuição considerados neste trabalho.

A Relaxação Lagrangeana/Surrogate

A relaxação lagrangeana/surrogate consiste em aplicar a relaxação lagrangeana sobre restrições já relaxadas pela relaxação surrogate. Por exemplo, a relaxação surrogate das restrições (2) do problema (1)-(4), conduz ao seguinte problema:

sujeito a:

onde l = (l1,...,ln) é o vetor formado pelos multiplicadores surrogate, que transformam as restrições (2) numa única restrição. Seja t o multiplicador lagrangeano aplicado sobre esta restrição. Assim, a relaxação lagrangeana/surrogate do problema (12)-(15) pode ser escrita como:

sujeito a:

Se t = 1, a relaxação lagrangeana/surrogate é idêntica à relaxação lagrangeana tradicional. No entanto, um valor conveniente para t, que pode ser obtido por uma heurística de busca como a proposta por Senne e Lorena (2000), pode melhorar o limitante produzido pela relaxação.

A Decomposição de Dantzig-Wolfe

Seja um problema de Programação Linear inteiro da forma:

sujeito a:

onde: A (uma matriz m ´ n), A' (uma matriz m' ´ n), c (um vetor n ´ 1), b (um vetor m ´ 1) e b' (um vetor m' ´ 1) são conhecidos, e a variável de decisão x é um vetor n ´ 1. A decomposição de Dantzig-Wolfe (DANTZIG; WOLFE, 1960) para problemas deste tipo é recomendada quando as restrições (20) e (21) podem ser trabalhadas separadamente. Neste caso, tais restrições são chamadas de restrições gerais e restrições especiais, respectivamente. As restrições especiais, em geral, têm uma interpretação natural (restrições da mochila, por exemplo).

Definindo S = { x inteiro / A'x < b' }, seja { xk / k Î K } o conjunto dos pontos extremos de S, onde K é o conjunto de índices destes pontos. Se S é limitado, então x Î S pode ser representado como uma combinação linear convexa de pontos extremos de S, ou seja:

onde:

Com isto, o problema original (19)-(22) pode ser escrito como:

sujeito a:

Na decomposição de Dantzig-Wolfe, o problema de encontrar soluções viáveis (extremos) de S é chamado de subproblema e o problema (25)-(28) é denominado de problema-mestre.

O Método de Geração de Colunas

Em geral, o número de pontos extremos xk é grande e, por razões práticas, em um algoritmo opta-se por trabalhar apenas com um número restrito de extremos. Seja Ki Í K, o conjunto de índices de pontos extremos de S gerados até a iteração i do algoritmo. O problema-mestre (25)-(28), quando se considera a substituição de K por Ki, ou seja, quando se considera apenas um subconjunto dos extremos de S, passa a ser denominado problema-mestre restrito. Neste caso, o subproblema pode ser chamado de subproblema de geração de colunas, pois as variáveis obtidas pela resolução deste subproblema constituirão novas colunas para o problema-mestre restrito. A fim de gerar variáveis que melhorem a função-objetivo do problema-mestre restrito, os índices destas variáveis são determinados pelo cálculo dos custos reduzidos:

onde l e µ são as variáveis duais do problema-mestre restrito referentes às restrições (26) e (27), respectivamente, e xj (j = 1, ..., s) os extremos de S. Desta forma, o subproblema torna-se um problema de custo reduzido, também conhecido como problema pricing.

Assim, se , então a solução é ótima. Se existir algum índice tal que , então a coluna é selecionada para entrar no problema-mestre restrito e, dessa forma, o conjunto de índices pode ser atualizado como: . Como a casca convexa de S é poliédrica e limitada, e xj, j = 1, ..., s são os extremos de S, então a solução do problema linear-inteiro será um dos extremos de S, ou seja, a solução ótima de (29) é equivalente à solução ótima do problema:

Assim, o algoritmo de geração de colunas pode ser estabelecido como:

1.

Seja i = 0. Determine um conjunto inicial K0 de índices de colunas para o problema-mestre restrito;

2.

Resolva a relaxação de Programação Linear do problema-mestre restrito (PMR);

3.

Utilize os valores duais ótimos obtidos no passo anterior e resolva o subproblema para obter novas colunas em S;

4.

Adicione as colunas com custos reduzidos negativos à formulação do problema-mestre restrito. Se não houver tais colunas, então pare, pois a solução é ótima;

5.

Caso contrário, faça , i = i + 1 e volte para o passo 2.

Uma vez evitadas soluções cíclicas no problema-mestre restrito e a degeneração no subproblema, o algoritmo converge em um número finito de iterações, pois consiste do algoritmo Simplex Revisado com a inclusão dos custos reduzidos dados pela resolução do subproblema. O subproblema não precisa ser completamente otimizado em cada iteração. É necessário apenas que as colunas xk geradas tenham custos reduzidos negativos para que seus respectivos lk sejam candidatos a entrar na base.

 

OS MÉTODOS DE GERAÇÃO DE COLUNAS PROPOSTOS

O método de geração de colunas proposto para o PGA baseia-se na reformulação deste problema como um PPC. Para isto, seja o conjunto de padrões de atribuição viáveis para o agente i, onde é uma solução viável para as restrições (2) e (4). Considerando , i Î M e k Î Ki, como uma variável binária indicando se o padrão de atribuição está sendo utilizado, ou seja, = 1, se o padrão faz parte das atribuições do agente i, e = 0, caso contrário, o PGA pode ser reformulado como:

sujeito a:

A formulação (31)-(34) define o problema-mestre a ser considerado, no sentido da decomposição de Dantzig-Wolfe. Nesta formulação, para determinar as atribuições possíveis a cada agente i é necessário resolver os seguintes m Problemas da Mochila, para i = 1, ..., m:

sujeito a:

Por outro lado, considerando e t = t*, onde t* é o multiplicador que resolve o problema dual:

a relaxação lagrangeana/surrogate (16)-(18) pode ser escrita como:

e pode ser resolvido separadamente por m problemas da forma:

onde .

Assim, após resolver a relaxação de Programação Linear do problema-mestre (31)-(34), obtida substituindo-se a restrição (34) por Î[0. 1], a busca por novas colunas pode ser realizada resolvendo-se o problema de custo reduzido:

onde µi é o custo dual ótimo associado à restrição (33) e v(Mi) é o valor da solução ótima do seguinte Problema da Mochila:

sujeito a:

ond lj é o custo dual ótimo associado às restrições (32).

Desta forma, o método de geração de colunas para o PGA pode ser estabelecido pelo seguinte algoritmo:

1.

Determine um conjunto inicial de colunas para o problema (31)-(34);

2.

Resolva a relaxação de Programação Linear do problema (31)-(34) considerando o conjunto atual de colunas, obtendo as variáveis duais lj (j Î N), referentes às restrições (32) e mi (i Î M), referentes às restrições (33);

3.

Utilize as variáveis duais lj (j Î N) para determinar o multiplicador t* que resolve o problema (38);

4.

Utilize as variáveis duais lj (j Î N) e o multiplicador t* para resolver os subproblemas (43)-(45) para cada i Î M. Sejam Î S as colunas referentes às soluções destes subproblemas;

5.

Adicione as colunas com custos reduzidos negativos ao problema-mestre restrito (31)-(34);

6.

Se, no passo anterior, nenhuma nova coluna foi acrescentada ao problema-mestre restrito, então pare. Caso contrário, volte para o passo 2.

Este método pode ser usado também para resolver, de forma aproximada, o PAAC, pois este problema tem estrutura semelhante à do PGA, exceto pelos custos de handoff na função-objetivo. Assim, para o PAAC pode-se considerar a seguinte formulação:

sujeito a:

onde S é o conjunto de colunas que satisfazem (7)-(8), onde cada coluna s Î S é da forma: (a1s,..., ans, b1s,...,bms)t,tal que ajs Î {0,1} (j Î N) e $ k Î M tal que bks = 1 e bis = 0, "i Î M, i ¹ k, ou seja, {a1s,..., ans} é um conjunto de índices de células atribuídas a um comutador k, e cs é o custo da coluna s, dado por:

Neste caso, a relaxação lagrangeana/surrogate do problema leva aos seguintes m subproblemas geradores de colunas, para k = 1, ..., m:

sujeito a:

onde: li são as variáveis duais associadas às restrições (47) da relaxação de Programação Linear do problema-mestre restrito (46)-(49).

Assim, o método de geração de colunas para o PAAC pode ser estabelecido pelo seguinte algoritmo:

1.

Determine um conjunto inicial de colunas para o problema (46)-(49);

2.

Resolva a relaxação de Programação Linear do problema (46)-(49) considerando o conjunto atual de colunas, obtendo as variáveis duais lj (j Î N), referentes às restrições (47) e µi (i Î M), referentes às restrições (48);

3.

Estipule um valor apropriado para o multiplicador t;

4.

Utilize as variáveis duais lj (j Î N) e o valor do multiplicador t e resolva os subproblemas (51)-(53) para cada k Î M. Seja S' o conjunto de colunas referentes às soluções destes subproblemas;

5.

Para cada coluna s Î S', determine o custo reduzido da coluna por: , onde cS é o custo da coluna s, conforme estabelecido em (50), e acrescente as colunas s tais que crs < 0 ao problema-mestre restrito (46)-(49).

6.

Se, no passo anterior, nenhuma nova coluna foi acrescentada ao problema-mestre restrito, então pare. Caso contrário, volte para o passo 2.

 

RESULTADOS COMPUTACIONAIS

Os algoritmos propostos foram implementados na linguagem C e executados em um microcomputador Pentium III com 1.1 GHz e 512 MB de RAM, utilizando a versão 7.5 do software CPLEX para a solução dos problemas de Programação Linear.

Para o PGA, utilizou-se o algoritmo de Horowitz-Sahni (MARTELLO; TOTH, 1990) para a solução dos Problemas da Mochila. Neste caso, o conjunto inicial de colunas do PMR é constituído por n colunas artificiais e por um conjunto de colunas referentes a uma primeira solução inteira encontrada para o problema (1)-(4) pelo software CPLEX, ou seja, colunas que representam uma solução factível para o problema original. Cada coluna artificial corresponde a um vetor nulo, exceto por um elemento unitário que corresponde à restrição de associação de uma das tarefas. O custo de cada coluna artificial é estabelecido como o custo da atribuição (agente, tarefa) mais cara.

Nos testes computacionais, considerou-se como 5.000 o número máximo de colunas para o PMR e foi implementado um procedimento para remover colunas do problema sempre que este limite para o número de colunas for excedido. Este procedimento remove as colunas cujos custos reduzidos são maiores do que o custo reduzido médio, consideradas todas as colunas do problema. Para os testes realizados, não se buscou o melhor valor para o multiplicador t. Em vez disso, a cada iteração do algoritmo, foram considerados os seguintes valores para t: 0.50, 0.60, 0.70, 0.80, 0.85, 0.90, 0.93, 0.95, 0.97 e 1.00. É interessante notar que para cada valor de t tem-se um novo conjunto de m Problemas da Mochila e, conseqüentemente, um novo conjunto de m possíveis colunas candidatas a entrarem no PMR.

Para os experimentos computacionais foram consideradas as seguintes classes de problemas para as quais as soluções ótimas são conhecidas: classes A, B, C, D e E, disponíveis na OR-Library (Beasley, 2004), e classe Y, em Yagiura (2003). Cada classe contém 6 problemas. Para as classes da OR-Library, m Î {5, 10, 20} e n Î {100, 200}. Para a classe Y, m Î {20, 40} e n Î {200, 400}. A Tabela 1 mostra os resultados médios obtidos para cada classe com o algoritmo proposto (que utiliza a relaxação lagrangeana/surrogate) e, entre colchetes, os resultados médios obtidos pelo método tradicional de geração de colunas (que utiliza a relaxação lagrangeana e que, portanto, pode ser obtido a partir do algoritmo proposto fixando-se t = 1).

Nessa tabela:

Iter é o número de iterações do algoritmo;

Cols-a é o número de colunas aproveitadas;
Cols-r é o número de colunas removidas do PMR pelo procedimento de remoção de colunas;
Gap é calculado como: Gap = 100 * | Soluc – LCpx | / Soluc, onde Soluc é o valor da solução ótima do problema e LCplx é o limite obtido para o PMR;

Cpu é o tempo computacional do algoritmo proposto, em segundos;

S/L é a relação entre o tempo de execução do algoritmo proposto e o tempo de execução do algoritmo tradicional de geração de colunas.

Pelos resultados mostrados na Tabela 1, nota-se que, mesmo sem buscar t* (melhor valor para o multiplicador t) e considerando 10 valores preestabelecidos para t, o que leva a ter que resolver 10 Problemas da Mochila a cada iteração e, conseqüentemente, à geração de um número bem maior de colunas, o algoritmo proposto supera em velocidade o método tradicional de geração de colunas. Deve-se observar que este ganho em velocidade não se dá às custas da qualidade da solução obtida, medida pelo valor de Gap.

No caso do algoritmo proposto para o PAAC foram consideradas como colunas iniciais do PMR as colunas relativas à primeira solução inteira obtida pelo software CPLEX para o problema sem os custos de handoff (que é denominada de solução de referência) e outras colunas geradas aleatoriamente até completar 1.000 colunas para o PMR. A dificuldade no método proposto para o PAAC está no fato de os m subproblemas serem Problemas da Mochila com função-objetivo não-linear. As seguintes heurísticas foram consideradas para a solução dos subproblemas, a cada iteração do algoritmo:

-

Heurística Sub: consiste na solução pelo CPLEX de cada um dos m subproblemas separadamente, levando-se em conta as equações de linearização consideradas por Merchant e Sengupta (1995). Deve-se observar que, como os subproblemas são resolvidos separadamente, ao final pode haver antenas atribuídas a mais de um comutador e mesmo antenas não atribuídas a comutador algum.

-

Heurística LSH: consiste em resolver, separadamente, cada subproblema k por meio do seguinte algoritmo:

1.

Ordenar as células em ordem crescente dos valores (cki – tpi), onde t é o multiplicador lagrangeano/surrogate;

2.

Alocar as células ao comutador k, segundo a ordenação, enquanto isso for possível, considerando a capacidade bk do comutador;

3.

Para as células não atribuídas, tentar a atribuição de menor custo ainda possível, respeitando as restrições de capacidade dos comutadores.
-

Heurística GSH: consiste em resolver todos os m subproblemas por meio do seguinte algoritmo:

1.

Ordenar as células em ordem crescente segundo os valores de (cki – tpi), onde t é o multiplicador lagrangeano/surrogate;

2.

Seja {o1,...,on*m} a ordenação dos pares (i, k) de índices das n células atribuídas aos m comutadores;

3.

Para j = 1, ..., n*m, faça:

• Seja oj = (i, k);
• Alocar a célula i ao comutador k, caso a célula i ainda não esteja atribuída a comutador algum e a capacidade do comutador k não seja violada;

4.

Para as células não atribuídas, tentar a atribuição de menor custo ainda possível, respeitando as restrições de capacidade dos comutadores.

-

Heurística Ref: usada para encontrar soluções viáveis melhores para o problema original, com base nas atribuições obtidas pela heurística Sub e pela solução de referência. A heurística Ref consiste nos seguintes passos:

1.

Selecionar, dentre as atribuições obtidas através da heurística Sub, aquelas em que uma célula está atribuída a um único comutador;

2.

Para cada célula i ainda não atribuída, atribuí-la ao comutador k ao qual esta célula está atribuída na solução de referência, caso isto seja possível, ou seja, se a restrição de capacidade do comutador k não for violada. Caso contrário, procurar atribuir a célula i a um comutador com capacidade para recebê-la ao menor custo possível;

3.

Realizar trocas entre as n células e os m comutadores considerando o melhor ganho para a função-objetivo do problema original.

4.

Substituir a solução de referência pela solução obtida, caso esta solução seja viável e melhor do que a solução de referência atual.

O método de geração de colunas proposto para o PAAC foi implementado utilizando três estratégias de resolução para os subproblemas:

- Estratégia LG: a cada iteração, os m subproblemas são resolvidos pela heurística LSH. Caso o valor da solução obtida pelo CPLEX para o PMR não se altere, utiliza-se também a heurística GSH;
-

Estratégia GSR: a cada iteração, os m subproblemas são resolvidos pelas heurísticas GSH, Sub e Ref;

-

Estratégia GLR: a cada iteração, os m subproblemas são resolvidos pelas heurísticas GSH, LSH e Ref.

Para o experimento computacional foram considerados os mesmos problemas testados por Menon e Gupta (2004). Para estes problemas, m (número de comutadores) varia de 2 a 5, e os problemas estão divididos nas seguintes classes, segundo o valor de n (número de antenas):

- Classe P: n Î {15, 30, 45, 60};

- Classe M: n Î {75, 100, 125, 150};

- Classe G: n Î {175, 200, 225, 250}.

Nos testes realizados não se buscou o melhor multiplicador lagrangeano/surrogate. O valor do multiplicador t foi estabelecido inicialmente em 0.50 e, a cada iteração, este valor foi incrementado de 0.01 até atingir o valor 1.00, quando então foi mantido inalterado. A Tabela 2 mostra os resultados médios obtidos para cada classe e para cada uma das estratégias de resolução dos subproblemas.

Nesta tabela:

- Tempo é o tempo gasto pelo CPLEX para determinar a solução ótima do problema linearizado;
-

Iter é o número de iterações do algoritmo;

  FCols é o número final de colunas do PMR;
- GapC é calculado como GapC = 100 * | Soluc – LCpx | / Soluc, onde Soluc é o valor da solução ótima do problema linearizado e LCplx é o limite obtido para o PMR;
-

GapV é calculado como GapV = 100 * | Soluc – Viável | / Soluc, onde Viável é o valor da melhor solução viável encontrada;

-

Cpu é o tempo computacional do algoritmo proposto, em segundos.

Pelos resultados mostrados na Tabela 2 pode-se constatar que os algoritmos propostos obtêm soluções de melhor qualidade (medida pelo indicador GapV) do que as obtidas pelo método tradicional de geração de colunas e, em geral, em menos tempo. Na comparação entre as três estratégias de resolução dos subproblemas, a estratégia LG é muito superior às outras duas em relação ao tempo computacional, embora a qualidade das soluções, tanto relaxada (medida pelo GapC), quanto viável (medida pelo GapV), seja melhor para a estratégia GSR.

Para os problemas das classes A, B, C e D da OR-Library, pode-se fazer uma comparação do método proposto para o PGA com os métodos propostos por Narciso (1998). A Tabela 3 apresenta os valores médios obtidos para essas classes de problemas. Nessa tabela:

- Método corresponde ao método utilizado, onde GC é o método de geração de colunas proposto, (Lt*SGAPl)a, (Lt*SGAPl)b e (Lt*SGAPl)c são os métodos propostos por Narciso (1998), que utilizam otimização por subgradientes e relaxação lagrangeana/surrogate;
-

Iter corresponde ao número de iterações;

 

Gap é o desvio percentual que, para o método proposto, é calculado como para a Tabela 1 e no caso dos métodos propostos por Narciso e Lorena (1999) é calculado como: , onde Soluc é o valor da solução ótima do problema e LB é o melhor limite inferior obtido para o problema;

-

Cpu é o tempo computacional, em segundos, que para os métodos propostos por Narciso (1998), foi obtido em uma estação Sun SPARC 5.

Nota-se pelos resultados da Tabela 3 que, embora os métodos baseados na otimização por subgradientes sejam muito rápidos, a qualidade da solução obtida pelo método proposto é muito superior.

Para o PAAC, a Tabela 4 compara os resultados obtidos pelos métodos propostos com os resultados apresentados por Menon e Gupta (2004). Nessa tabela:

- Método corresponde ao método utilizado, onde GC/LG, GC/GSR e GC/GLR são os métodos propostos usando as estratégias LG, GSR e GLR, respectivamente, e MG é o método de Menon e Gupta (2004);
-

Gap corresponde aos desvios percentuais, que no caso dos métodos propostos é calculado como: onde LCpx e Viável são conforme estabelecidos para a Tabela 2, e no caso do método MG é calculado como: onde UB é o valor da melhor solução viável obtida e LB é o valor obtido pela relaxação linear do problema;

-

Cpu é o tempo computacional, em segundos.

Embora esta comparação não possa ser considerada perfeita, pois os valores de Gap são calculados de forma diferente e os valores de Cpu foram obtidos em ambientes computacionais distintos (microcomputador Pentium III com 1.1 GHz e 512 MB de RAM e software CPLEX versão 7.5, para os métodos propostos, e microcomputador Pentium IV 2.4 GHz e software LINDO, para o método MG), os valores da Tabela 4 apresentam alguma evidência sobre o desempenho dos métodos propostos, indicando que a utilização da relaxação lagrangeana/surrogate pode ser vantajosa também para o PAAC.

 

CONCLUSÃO

Este trabalho apresentou métodos de solução para dois problemas difíceis de atribuição: o Problema Generalizado de Atribuição (PGA), um dos mais representativos problemas de Otimização Combinatória e para o qual existem muitos trabalhos publicados na literatura, e o Problema de Atribuição de Antenas a Comutadores (PAAC), um problema mais recente e ainda relativamente pouco estudado. Tanto para o PGA como para o PAAC, foram propostos métodos de geração de colunas para a solução aproximada do problema. Os métodos propostos utilizam a relaxação lagrangeana/surrogate que, como para outros problemas estudados anteriormente (NARCISO; LORENA, 1999; SENNE; LORENA, 2000; LORENA; SENNE, 2004), demonstrou sua superioridade em relação à relaxação lagrangeana tradicional.

Em relação aos resultados computacionais para problemas de atribuição generalizados (Tabela 1), existem ganhos de desempenho em relação ao tempo de CPU, mas estes ganhos dependem da dimensionalidade do problema. Uma pesquisa interessante seria analisar este efeito em termos da estratégia surrogate e do uso de uma estrutura fixa de valores para o multiplicador t.

Em relação aos problemas de atribuição de antenas a comutadores (Tabela 2), existem ganhos em relação aos indicadores de qualidade das soluções e tempo de CPU para alguns problemas-teste, ainda que aparentemente não se possa afirmar que os algoritmos propostos sejam substancialmente melhores do que os métodos tradicionais de geração de colunas. Da mesma forma, pela falta de um índice de Gap único, ainda não é possível concluir pelo melhor desempenho dos algoritmos propostos para o PAAC, em relação aos algoritmos propostos por Menon e Gupta (2004), embora existam indicações de que a relaxação lagrangeana/surrogate possa ser vantajosa também para o PAAC.

 

AGRADECIMENTOS

Os autores agradecem a dois revisores anônimos pelos valiosos comentários e sugestões.

 

REFERÊNCIAS

AERTS, J.; KORST, J.; SPIEKSMA, F. Approximation of a retrieval problem for parallel disks. Lecture Notes in Computer Science, v. 2653, p. 178-188, 2003.        [ Links ]

ALBAREDA-SAMBOLA, M.; VAN DER VLERK, M.H.; FERNÁNDEZ, E. Exact Solutions to a Class of Stochastic Generalized Assignment Problems. Research report no. 02A11, University of Groningen, Research Institute of Systems, Organisations and Management, Feb. 2002.        [ Links ]

AMINI, M.M.; RACER, M. A rigorous comparison of alternative solution methods for the generalized assignment problem. Management Science, v. 40, p. 868-890, 1994.        [ Links ]

BAKER, B.M. E SHEASBY, J. Accelerating the convergency of subgradient optimisation. European Journal of Operational Research, v. 117, p. 136-144, 1999.        [ Links ]

BALACHANDRAN, V. An integer generalized transportation model for optimal log assignment in computer networks. Working Paper 34-72-3. Graduate School of Industrial Administration, Carnegie-Mellon University, Pittsburg, 1976.        [ Links ]

BEASLEY, J.E. OR-Library. Disponível em: http://www.brunel.ac.uk/depts/ma/research/ jeb/orlib/gapinfo.html. Acesso em: 23 dez. 2004.        [ Links ]

BOKHARI, S.H. Assignment Problems in Parallel and Distributed Computing. Kluwer Academic Publisher, Boston, USA, 1987.        [ Links ]

BURKARD, R.E. Selected topics on assignment problems. Discrete Applied Mathematics, v. 123, n. 1-3, p. 257-302, Nov. 2002.        [ Links ]

CATTRYSSE, D.; SALOMON, M.; VAN WASSENHOVE, L. A set partitioning heuristic for the generalized assignment problem. European Journal of Operational Research, v. 72, p. 167-174, 1994.        [ Links ]

CATTRYSSE, D.G.; VAN WASSENHOVE, L.N. A survey of algorithms for the generalized assignment problem. European Journal of Operational Research, v. 60, p. 260-272, 1992.        [ Links ]

CERNY, V. Thermodynamical approach to the traveling salesman problem: an efficient simulation algorithm. Journal Optimization Theory Applications, v. 45, n. 1, p. 41-51, 1985.        [ Links ]

CHU, P.C.; BEASLEY, J.E. A genetic algorithm for the generalised assignment problem. Computers and Operations Research, v. 24, p. 17-23, 1997.        [ Links ]

DANTZIG. G.B.; WOLFE, P. Decomposition principle for linear programs. Operations Research, v. 8, p. 101-111, 1960.        [ Links ]

FISCHETTI, M.; LEPSCHY, C.; MINERVA, G.; ROMANIN-JACUR, G.; TOTO, E. Frequency assignment in mobile radio systems using branch-and-cut techniques. European Journal of Operational Research, v. 123, p. 241-255, 2000.        [ Links ]

FRENCH, A.P.; WILSON, J.M. Heuristic Solution Methods for the Multilevel Generalized Assignment Problem. Journal of Heuristics, v. 8, n. 2, p. 143-153, Mar. 2002.        [ Links ]

GAREY, M.R.; JOHNSON, D.S. Computers and intractability: A guide to the theory of NP-completeness. San Francisco: W.H. Freeman and Co., 1979. 340 p.        [ Links ]

GRUNDEL, D.A.; KROKHMAL, P.; OLIVEIRA, C.A.S.; PARDALOS, P.M. On the average case behavior of the multidimensional assignment problem. Pacific Journal of Optimization, v. 1, n. 1, p. 39-57, 2005.        [ Links ]

HUNG, M.S.; ROM, W.O. Solving the assignment problem by relaxation. Operations Research, v. 28, n. 4, p. 969-982, 1980.        [ Links ]

KIRUBARAJAN, T.; BAR-SHALOM, Y.; PATTIPATI, K.R. Multiassignment for tracking a large number of overlapping objects. IEEE Transactions on Aerospace and Electronic Systems, v. 37, n. 1, p. 2-21, jan. 2001.        [ Links ]

KOOPMANS, T.C.; BECKMANN, M.J. Assignment problems and the location of economic activities. Econometrica, v. 25, p. 53-76, 1957.        [ Links ]

KUHN, H.W. The Hungarian method for the assignment problem. Naval Research Logistic Quaterly, v. 2, p. 83-97, 1955.        [ Links ]

LAGUNA, M.; KELLY, J.P.; GONZALEZ-VELARDE, J.L.; GLOVER, F. Tabu search for the multilevel generalized assignment problem. European Journal of Operations Research, v. 42, p. 677–687, 1995.        [ Links ]

LOIOLA, E.M.; ABREU, N.M.M.; BOAVENTURA NETTO, P.O. Uma revisão comentada das abordagens do problema quadrático de alocação. Pesquisa Operacional, v. 24, n. 1, p. 73-109, Jan.-Abr. 2004.        [ Links ]

LORENA, L.A.N., PEREIRA, M.A.; SALOMÃO, S.N.A. A RElaxação lagrangeana/surrogate e o método de geração de colunas: novos limitantes e novas colunas. Revista Pesquisa Operacional, v. 23, n. 1, p. 29-47, 2003.        [ Links ]

LORENA. L.A.N.; SENNE, E.L.F. A column generation approach to capacitated p-median problems. Computers and Operations Research, v. 31, n. 6, p. 863-876, 2004.        [ Links ]

LUAN, F.; YAO, X. Solving real-world lecture room assignment problems by genetic algorithms, Complex Systems - From Local Interactions to Global Phenomena, Amsterdam: IOS Press, p.148-160, 1996.        [ Links ]

MARTELLO, S.; TOTH, P. An algorithm for the generalized assignment problem. Operational Research, v. 81, p. 589-603, 1981.        [ Links ]

MARTELLO, S.; TOTH, P. Knapsack problems: algorithms and computer implementations. New York: Wiley, 1990.        [ Links ]

MENON, S.; GUPTA, R. Assigning cells to switches in cellular networks by incorporating a pricing mechanism into simulated annealing. IEEE Transactions on Systems, Man, and Cybernetics, Part B, v. 34, n. 1, p. 558-565, 2004.         [ Links ]n ReferênciasMerchant, A.; Sengupta, B. Assignment of cells to switches in PCS networks. IEEE/ACM Transactions on Networks, v. 3, n. 5, p. 521-526, 1995.        [ Links ]

NARCISO, M. G. A relaxação lagrangeana/surrogate e algumas aplicações em otimização combinatória. 1998. Tese (Doutorado em Computação Aplicada) Instituto Nacional de Pesquisas Espaciais, São José dos Campos. 134 p.        [ Links ]

NARCISO, M. G.; LORENA, L.A.N. Lagrangean/surrogate relaxation for generalized assignment problems. European Journal of Operational Research, v. 114, p. 165-177, 1999.        [ Links ]

NAUSS, R. M. Solving the generalized assignment problem: An optimizing and heuristic approach. INFORMS Journal on Computing, v. 15, n. 3, p. 249-266, 2003.        [ Links ]

NOWAKOVSKI, J.; SCHWÄRZLER, W.; TRIESCH, E. USIng the generalized assignment problem in scheduling the ROSAT space telescope. European Journal of Operational Research, v. 112, n. 3, p. 531-541, 1999.        [ Links ]

OSMAN, I. H. Heuristics for the Generalized Assignment Problem: Simulated Annealing and Tabu Search Approaches, OR Spektrum, v. 17, p. 211-225, 1995.        [ Links ]

OSORIO, M. A.; LAGUNA M. Logic cuts for multilevel generalized assignment problems. European Journal of Operational Research, v. 151, n. 1, p. 238-246, nov. 2003.        [ Links ]

PIERRE, S.; HOUÉTO, F. Assigning cells to switches in cellular mobile networks using taboo search. IEEE Transactions on Systems, Man and Cybernetics, Part B, v. 32, n. 3, p. 209-224, 2002.        [ Links ]

PIERSKALLA, W. P. The multidimensional assignment problem. Operations Research, v. 16, p. 422-431, 1968.        [ Links ]

PIGATTI, A. A. Modelos e algoritmos para o problema de alocação generalizada e aplicações. Dissertação de Mestrado, Pontifícia Universidade Católica do Rio de Janeiro, julho 2003.        [ Links ]

PUSZTASZERI, J.; RENSING, P. E.; LIEBLING, T. M. Tracking elementary particles near their primary vertex: A combinatorial approach. Journal of Global Optimization, v. 9, n. 1, p. 41-64, July 1996.        [ Links ]

QUINTERO, A.; PIERRE S. A memetic algorithm for assigning cells to switches in cellular mobile networks. IEEE Communication Letters, v. 6, n. 11, p. 484-486, 2002.        [ Links ]

QUINTERO, A.; PIERRE S. Assigning cells to switches in cellular mobile networks: a comparative study. Computer Communications, v. 26, n. 9, p. 950-960, 2003.        [ Links ]

RULAND, K. S. A model for aeromedical routing and scheduling. International Transactions in Operational Research, v. 6, n. 1, p. 57-73, 1999.        [ Links ]

SAHA, D.; MUKHERJEE, A.; BHATTACHARYA, P. A simple heuristic for assignment of cells to switches in a PCS network. Wirelles Personal Communications, v. 12, n. 3, p. 209-223, 2000.        [ Links ]

SENNE, E. L. F.; LORENA, L.A.N. Lagrangean/surrogate heuristics for p-median problems. In: Computing tools for modeling, optimization and simulation: interfaces in computer science and operations research. M. Laguna and J.L. Gonzalez-Velarde (eds.). Kluwer Academic Publishers, 2000, p. 115-130.        [ Links ]

WANG, L.; GU, W. Genetic algorithms with stochastic ranking for optimal channel assignment in mobile communications. Lecture Notes in Computer Science, v. 3314, p. 154-159, 2004.        [ Links ]

WILSON, J.M. A genetic algorithm for the generalised assignment problem. Journal of the Operational Research Society, v. 48, n. 8, p. 804-809, 1997.        [ Links ]

WRIGHT, M.B. Speeding up the Hungarian algorithm. Computers and Operations Research, v. 17, n. 1, p. 95-96, 1990.        [ Links ]

YAGIURA, M. Generalized assignment problem instances. Disponível em: http://www-or.amp.i.kyoto-u.ac.jp/members/yagiura/gap/. Acesso em: 10 de jan. 2003.        [ Links ]

YAGIURA, M.; IBARAKI, T.; GLOVER, F. A path relinking approach with ejection chains for the generalized assignment problem. Technical Report 2004-002, Department of Applied Mathematics and Physics, Kyoto University, 2004a.        [ Links ]

YAGIURA, M.; IBARAKI, T.; GLOVER, F. An ejection chain approach for the generalized assignment problem. Informs Journal on Computing, v. 16, n. 2, p. 133-151, Spring, 2004b.         [ Links ]

 

 

Artigo recebido em 12/08/2005
Aprovado para publicação em 12/07/2006

 

 

Sobre os autores
Edson Luiz França Senne
Professor Adjunto
UNESP – Campus de Guaratinguetá – Faculdade de Engenharia
End.: Av. Ariberto Pereira da Cunha, 333 – Pedregulho – CEP 12516-410 – Guaratinguetá – SP
Tel.: (12) 3123-2847 Fax: (12) 3123-2868
E-mail: elfsenne@feg.unesp.br

Luiz Antonio Nogueira Lorena
Pesquisador Titular
INPE – Instituto Nacional de Pesquisas Espaciais – Laboratório Associado de Computação e Matemática Aplicada
End.: Av. dos Astronautas, 1758 – Jardim da Granja – CEP 12227-010 – São José dos Campos – SP
Tel.: (12) 3945-6553
E-mail: lorena@lac.inpe.br

Silvely Nogueira de Almeida Salomão
Professora Assistente-Doutor
UNESP – Campus de Presidente Prudente – Faculdade de Ciências e Tecnologia
End.: Rua Roberto Simonsen, 305 – CEP 19060-900 – Presidente Prudente – SP
Tel.: (18) 229-5388 Fax: (18) 223-2227
E-mail: silvelysalomao@prudente.unesp.br

Creative Commons License All the contents of this journal, except where otherwise noted, is licensed under a Creative Commons Attribution License