78
Universidad de Chile Facultad de Ciencias F´ ısicas y Matem´ aticas Departamento de Ingenier´ ıa Matem´ atica Desarrollo e Implementaci´ on de Algoritmos de Ramificaci´ on y Acotamiento para Resoluci´ on de Problemas Enteros Cuadr´ aticos ´ Alvaro Mois´ es Valdebenito Bustamante Abril 2003

Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

Universidad de Chile

Facultad de Ciencias Fısicas y Matematicas

Departamento de Ingenierıa Matematica

Desarrollo e Implementacion de Algoritmosde Ramificacion y Acotamiento para

Resolucion de Problemas EnterosCuadraticos

Alvaro Moises Valdebenito Bustamante

Abril 2003

Page 2: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

Universidad de Chile

Facultad de Ciencias Fısicas y Matematicas

Departamento de Ingenierıa Matematica

Desarrollo e Implementacion de Algoritmos deRamificacion y Acotamiento para Resolucion de

Problemas Enteros Cuadraticos

ALVARO MOISES VALDEBENITO BUSTAMANTE

Comision Examinadora CALIFICACIONES

Nota(no) (Letras) FirmaProfesor GuıaSr. Rafael Correa

Profesor Co-GuıaSr. Oscar Barrientos

Profesores Integrantes

Sr. Felipe Alvarez

Sr. Roberto Cominetti

Nota FinalExamen de Tıtulo

MEMORIA PARA OPTAR AL TITULO DEINGENIERO CIVIL MATEMATICO

SANTIAGO DE CHILEAbril 2003

Page 3: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

RESUMEN DEL INFORME FINAL

PARA OPTAR AL TITULO DE

INGENIERO CIVIL MATEMATICO

POR: ALVARO VALDEBENITO B.

PROF. GUIA: SR. RAFAEL CORREA F.

Desarrollo e Implementacion de Algoritmos de Ramificaciony Acotamiento para Resolucion de Problemas Enteros

Cuadraticos

El problema entero concavo separable, y en particular el problema deasignacion cuadratica, cuentan con una amplia gama de aplicaciones, entreestas se cuentan el problema del maximo clique, el de particion de un grafo,problemas en computacion paralela y distribuida, y en analisis estadıstico.

Este trabajo consta principalmente de dos partes mas las conclusiones.La primera, esta orientada al estudio y resolucion de dos problemas, el pro-blema entero concavo separable, que brinda la formulacion necesaria parael desarrollo teorico general, y el problema entero bilineal con restriccionesbilineales, sobre el cual se hace una primera implementacion computacional.La segunda parte esta dedicada al problema de asignacion cuadratica, parael cual se implementa una segunda experiencia computacional, tendiente aaprovechar la estructura del problema que no es tomada en cuenta por suformulacion como problema entero bilineal con restricciones bilineales.

El metodo utilizado para la resolucion de cada uno de estos problemas,es un algoritmo de ramificacion y acotamiento, dicho algoritmo se basa dosresultados expuestos en la primera parte de este trabajo, el primero es queel dual de un problema continuo concavo separable sobre una region rectan-gular resulta ser lineal, el segundo es un excelente candidato a punto factiblejunto a una condicion suficiente de optimalidad local.

En cuanto a las experiencias numericas, teniendo en cuenta la comple-jidad de los problemas estudiados (ambos NP-duros), los resultados para elproblema entero bilineal con restricciones bilineales, dada su generalidad,resultan satisfactorios; mostrando ası la versatilidad de la tecnica empleda.Mientras que para el problema de asignacion cuadratica, pese a estar bienencaminado, la tecnica utilizada todavıa no logra explotar toda la estructuradel problema.

Page 4: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

AGRADECIMIENTOS

Dentro de lo posible, quisiera agradecer a quienes me ayudaron y apo-yaron durante el desarrollo de este trabajo:

A Rafael Correa y Oscar Barrientos, sin su guıa este trabajo no existirıa.A Roberto Cominetti y Felipe Alvarez, por formar parte de la comisionexaminadora. Oscar Barrientos, merece ademas mi agradecimiento por supaciencia y dedicacion. Al Departamento de Ingenierıa Matematica, Centrode Modelamiento Matematico y sus integrantes, por proveer de un excelenteambiente de trabajo y estudio, y por permitirme ser parte de el.

A mis amigos Nelson Morales y Luis Rademacher, por su omnipresenteapoyo tecnico. En particular quiero agradecer a Patricio Reyes, mi granamigo y companero desde siempre, y a Pıa Villarroel (Moima), por su apoyoy companıa en la elaboracion y revision de este trabajo, a quienes esperonunca terminar de agradecer.

Finalmente, quiero agradecer a mis abuelos, a mi tıo, a mi padre y a mimadre, por el amor y el apoyo incondicional, no solo ahora, sino siempre yen cada paso de mi camino.

Page 5: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

Indice general

Introduccion VIII

I Problema Entero Concavo Separable 1

1. Introduccion 2

2. Solving Integer Separable Concave Problems 4

2.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2. Reducing the Duality Gap . . . . . . . . . . . . . . . . . . . . 6

2.3. A Branch & Bound Method . . . . . . . . . . . . . . . . . . . 14

2.3.1. The Branching . . . . . . . . . . . . . . . . . . . . . . 15

2.3.2. The Bounding . . . . . . . . . . . . . . . . . . . . . . 16

2.3.3. Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.4. Numerical Results . . . . . . . . . . . . . . . . . . . . . . . . 19

2.5. Concluding Remarks . . . . . . . . . . . . . . . . . . . . . . . 22

2.6. References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3. Observaciones Parte I 25

3.1. Sobre el Teorema 2.2.1 . . . . . . . . . . . . . . . . . . . . . . 25

3.2. Gap por Relajacion de Dominio . . . . . . . . . . . . . . . . . 25

3.3. Resultados Numericos . . . . . . . . . . . . . . . . . . . . . . 28

v

Page 6: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

II Problema de Asignacion Cuadratica 30

4. Introduccion 31

4.1. Preliminares . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4.1.1. Formulaciones . . . . . . . . . . . . . . . . . . . . . . . 32

4.1.2. Conjunto Factible . . . . . . . . . . . . . . . . . . . . 34

4.1.3. Perturbaciones de la Funcion Objetivo . . . . . . . . . 34

4.1.4. Relajaciones . . . . . . . . . . . . . . . . . . . . . . . . 35

4.2. Complejidad Computacional . . . . . . . . . . . . . . . . . . . 36

4.3. Metodos de Resolucion . . . . . . . . . . . . . . . . . . . . . . 38

4.3.1. Algoritmos Exactos . . . . . . . . . . . . . . . . . . . 38

4.3.2. Cotas Inferiores . . . . . . . . . . . . . . . . . . . . . . 39

5. Resolucion del Problema 42

5.1. Formulacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5.1.1. Problema de Asignacion Cuadratica . . . . . . . . . . 42

5.1.2. Forma Bilineal . . . . . . . . . . . . . . . . . . . . . . 43

5.1.3. Dual Lagrangeano . . . . . . . . . . . . . . . . . . . . 44

5.2. Algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

5.2.1. Branching . . . . . . . . . . . . . . . . . . . . . . . . . 47

5.2.2. Bounding . . . . . . . . . . . . . . . . . . . . . . . . . 50

5.3. Resultados Numericos . . . . . . . . . . . . . . . . . . . . . . 52

6. Observaciones Parte II 55

6.1. Algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

6.2. Resultados Numericos . . . . . . . . . . . . . . . . . . . . . . 56

III Conclusiones 58

7. Conclusiones 59

7.1. Consecucion de Objetivos y Logros . . . . . . . . . . . . . . . 59

vi

Page 7: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

7.2. Ideas para Trabajos Futuros . . . . . . . . . . . . . . . . . . . 60

vii

Page 8: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

Introduccion

Este trabajo se centra, a grandes rasgos, en el estudio y resolucion me-diante algoritmos de ramificacion y acotamiento de tres problemas de op-timizacion entera, los que son estudiados bajo distintas opticas y resueltoscon diversas finalidades. Estos problemas son:

El problema entero concavo separable.

El problema entero bilineal con restricciones bilineales.

El problema de asignacion cuadratica.

Estos tres problemas se encuentran en diversas areas con numerosas apli-caciones, lo que hace necesario contar con metodos para su resolucion, perodesde el punto de vista de la complejidad computacional, resultan ser NP-duros, por lo que es poco probable el encontrar un algoritmo que sea capazde resolverlos en tiempo polinomial, lo que hace aun mas atractivo el temade la implementacion de algoritmos para su resolucion.

El problema entero concavo separable, por su generalidad, sirve comouna plataforma perfecta para el desarrollo de las herramientas teoricas queposibiliten generar un algoritmo, permitiendo la resolucion de una ampliagama de problemas, sin embargo, su gran generalidad imposibilita la imple-mentacion de dicho algoritmo.

El problema entero bilineal con restricciones bilineales, un caso particu-lar del problema anterior, es lo suficientemente general para implementarel algoritmo mencionado anteriormente. Sin embargo, no cuenta con aplica-ciones modeladas directamente en esta forma, lo que dificulta la evaluaciondirecta del algoritmo mediante pruebas numericas, por lo que esta se deberealizar indirectamente aplicando el algoritmo a algunos casos particularescomo el problema de la mochila, el de asignacion cuadratica o el del maximocorte.

viii

Page 9: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

Por su parte, el problema de asignacion cuadratica, resulta ser uno delos problemas mas difıciles de resolver dentro de la optimizacion combina-torial y posee una estructura dada por las restricciones de asignacion quela formulacion como problema entero bilineal con restricciones bilineales noaprovecha. Ademas cuenta con una amplia gama de aplicaciones practicasy una base de datos de problemas de prueba ampliamente difundida.

De forma general, este trabajo pretende estudiar los problemas descritosanteriormente para proponer un metodo para su resolucion, mas especıfica-mente, desarrollar un algoritmo de ramificacion y acotamiento para la reso-lucion del problema entero concavo separable e implementar dicho metodopara el problema entero bilineal con restricciones bilineales. Ademas, se pre-tende desarrollar e implementar un algoritmo especıfico para la resoluciondel problema de asignacion cuadratica que tome en cuenta su estructura.

El presente trabajo se encuentra dividido en tres grandes partes. Laprimera de ellas se centra en el problema entero concavo separable. La se-gunda parte se enfoca en el problema de asignacion cuadratica y finalmentela tercera parte da cuenta de las conclusiones.

La primera parte, consta de dos capıtulos mas una introduccion. En elCapıtulo 2 se presenta un artıculo realizado en conjunto con O. Barrientos,R. Correa y P. Reyes1. Un resultado de este trabajo muestra que el dualde un problema continuo concavo separable sobre una region rectangulares un problema lineal (Teorema 2.2.1). Luego, se propone un algoritmo deramificacion y acotamiento para la resolucion del problema entero conca-vo separable, en el que se utiliza dualidad lagrangeana para obtener cotassuperiores e inferiores, reduciendo localmente el salto de dualidad mediantela ramificacion.

En el Capıtulo 3 se exponen distintas observaciones sobre el artıculopresentado en el capıtulo anterior, y en particular, una en la que se estudiala relajacion continua de una subregion y su aporte a la diferencia entre elvalor optimo del problema entero en la subregion y la cota obtenida medianteel Teorema 2.2.1.

La segunda parte, consta de tres capıtulos. A lo largo del Capıtulo 4 seintroduce el problema de asignacion cuadratica, mientras que en el Capıtulo5 se detalla un metodo de ramificacion y acotamiento para abordar este pro-blema basado en el Teorema 2.2.1. En el Capıtulo 6 se incluyen observacionessobre distintos elementos tratados en esta parte del trabajo.

1Este artıculo ha sido aceptado para publicacion en “Computational Optimization and

Applications”.

ix

Page 10: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

Finalmente la en la tercera parte, en el Capıtulo 7, se presentan las con-clusiones, logros obtenidos e ideas para trabajos futuros, correspondientes alas dos primeras partes del trabajo.

x

Page 11: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

Parte I

Problema Entero Concavo

Separable

1

Page 12: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

Capıtulo 1

Introduccion

El problema entero concavo separable en un problema general, medianteel cual se pueden formular, entre otros, problemas cuadraticos con restric-ciones cuadraticas o lineales, como por ejemplo el problema de asignacioncuadratica.

En el Capıtulo 2 presenta un artıculo titulado: A Branch and BoundMethod for Solving Integer Separable Concave Problems, o en espanol “UnMetodo de Ramificacion y Acotamiento para Resolver Problemas EnterosConcavos Separables”. En este artıculo se propone un algoritmo de rami-ficacion y acotamiento para resolver problemas de la clase ya mencionada.En este algoritmo se utiliza dualidad lagrangeana para acotar el valor delproblema en cada subregion, mientras que se reduce localmente el salto dedualidad mediante la ramificacion. Dicho artıculo fue realizado en conjuntocon los senores O. Barrientos, R. Correa y P. Reyes, y ha sido aceptado parapublicacion en “Computational Optimization and Applications”1.

En el artıculo se trata el siguiente problema:

α = min{f(x, y) :gl(x, y) ≤ al ∀l = 1, · · · , L;

hk(x, y) = bk ∀k = 1, · · · , K; (x, y) ∈ D}(1.1)

donde f , gl y hk son funciones reales separables definidas en Rn × R

n; fy gl son funciones concavas por componentes; hk son funciones lineales porcomponentes; y D ⊂ Z

n × Zn es finito.

Problemas como este se encuentran en diversas areas tales como “cap-ital budgeting” [Lau70], “computer-aided layout design” [KP78], “portfolio

1Kluwer Academic Publishers, http://www.kluweronline.com/issn/0926-6003.

2

Page 13: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

selection” [Marrk], seleccion de sitios para sistemas de mensajes electricos[Wit] y “shared fixed costs” [Rhy70].

Aplicaciones utiles para el problema (1.1) se han encontrado en pro-blemas de localizacion [PW94], “scheduling” [GG76], “the backboard wiringproblem in electronics” [Ste61], computacion paralela y distribuida [Bok81],y analisis estadıstico [Hub87], entre otras [Bur91, FW74, GGM84, McC70].

Un caso particular del problema (1.1), es la programacion cuadratica0-1, ya que problemas NP-duros pueden ser formulados como problemascuadraticos 0-1, el problema (1.1) resulta ser NP-duro.

Un resultado de este trabajo muestra que el dual de un problema con-tinuo concavo separable sobre una region rectangular es un problema lineal,ademas se logra identificar un excelente candidato a punto factible, concondicion suficiente de optimalidad local, sobre cada region de la ramifi-cacion.

En el Capıtulo 3 se expone, entre otras, una observacion posterior aldesarrollo de la publicacion, en la que se hace referencia a la relajacioncontinua de un problema entero, necesaria para aplicar el Teorema 2.2.1, ysu consiguiente aporte al gap entre el valor del problema entero y la cotaobtenida.

3

Page 14: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

Capıtulo 2

A Branch and Bound

Method for Solving Integer

Separable Concave

Problems1

O. Barrientos, R. Correa, P. Reyes and A. Valdebenito2

Abstract: A branch and bound algorithm is proposed for solving integerseparable concave problems. The method uses Lagrangian duality to obtainlower and upper bounds. We show that the dual program of a separableconcave problem is a linear program. Moreover, we identify an excellentcandidate to test on each region of the branch and we show an optimalitysufficient condition for this candidate. Preliminary computational results arereported.

Key words: concave programs, NP-hard problems, branch and bound me-thods, Lagrangian duality.

1This research was supported in part by Fondap.2Centro de Modelamiento Matematico, UMR Universidad de Chile-CNRS. Casilla

170/3, Correo 3, Santiago, CHILE.

4

Page 15: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

2.1. Introduction

We consider the following problem:

α = min{f(x, y) :gl(x, y) ≤ al∀l = 1, · · · , L;

hk(x, y) = bk∀k = 1, · · · , K; (x, y) ∈ D},(2.1)

where f , gl and hk are separable real-valued functions defined on Rn×R

n; fand gl are concave functions by components; hk are linear functions by com-ponents and D ⊂ Z

n×Zn is finite. Problems of this form are encountered in

a wide variety of areas, such as capital budgeting [11], computer-aided layoutdesign [10], portfolio selection [12], site selection for electric message systems[17] and shared fixed costs [15]. In addition the problem 2.1 has been founduseful in applications such as facility location problems [14], scheduling [6],the backboard wiring problem in electronics [16], parallel and distributedcomputing [3], and statistical data analysis [9]. Others applications may befound in [4, 5, 8, 13]. From a complexity viewpoint, we will see that 0-1 qua-dratic programming is a particular case of 2.1. Since NP-hard problems, forexample the maximum cycle problem, can be formulated as a quadratic 0-1problem, the problem is itself NP-hard. In this work, we present a branchand bound algorithm for solving problem 2.1. By using Lagrangian duality,we obtain lower and upper bounds on each region of the branch. Moreover,the method proposed can be seen as a generalization of the classical relax-ation method for solving integer linear programs (see examples in section 2).The paper is organized into five sections. In the second section we extendthe technique developed in [2] for reducing the duality gap to problem 2.1.Next, we establish the main result of this work (see Theorem 2.2.1) whichshows that the dual program of a separable concave problem is a linear pro-gram. Moreover, we show that many interesting problems may be writtenin this form. In particular, we show that quadratically constrained quadra-tic problems are in this class. In section 3, we describe the simple Branchand Bound method implicit in this technique and describe the algorithm indetail. Moreover, we identify an excellent candidate to test on each regionof the branch and show an optimality sufficient condition for this candidate(see Proposition 3.1). In section 4, we report preliminary computational re-sults. They show that the method is, on average, efficient and can be used forsolving a wide variety of problems. Finally, in the last section, we commentour theoretical and numerical results.

5

Page 16: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

2.2. Reducing the Duality Gap

It is well-known that problem 2.1 can be written as:

α = min(x,y)∈D

supµ∈R

L+

λ∈RK

.L(x, y, µ, λ), (2.2)

where L is the Lagrange function defined on Rn × R

n × RL+ × R

K by

L(x, y, µ, λ) = f(x, y) +L

l=1

µl[gl(x, y)− al] +K

k=1

λk[hk(x, y)− bk]. (2.3)

In this way, the dual of the above problem is defined as

β = supµ∈R

L+

λ∈RK

min(x,y)∈D

L(x, y, µ, λ).

Let us consider a coverΛ = {Rj : j ∈ J}

of the set D (∪j∈JRj = D) and let us write 2.2 in the form

α = minj∈J

min(x,y)∈Rj

supµ∈R

L+

λ∈RK

L(x, y, µ, λ).

The intermediate dual program of 2.1 associated with the cover Λ is definedby

γ(Λ) = minj∈J

γj

whereγj = sup

µ∈RL+

λ∈RK

min(x,y)∈Rj

L(x, y, µ, λ). (2.4)

It is easy to see that for any cover Λ

β ≤ γ(Λ) ≤ α, (2.5)

and that the left inequality in 2.5 is an equality when Λ = {D} whereas theright one is an equality when Λ = {{(x, y)} : (x, y) ∈ D}.

The specific goal of this section is to find a lower bound for the value γj .In such a way, we consider the following result:

6

Page 17: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

Theorem 2.2.1 Let f , gl for l = 1, · · · , L, and hk for k = 1, · · · , K bereal valued functions defined on R

n ×Rn. Let us suppose that there are real

valued functions εi, ηli and θk

i for i = 1, · · · , n, l = 1, · · · , L and k = 1, · · · , Kdefined on R× R, such that:

(i) for all x = (x1, · · · , xn) ∈ Rn, for all y = (y1, , · · · , yn) ∈ R

n,

f(x, y) =n

i=1

εi(xi, yi),

gl(x, y) =n

i=1

ηli(xi, yi) ∀l = 1, · · · , L,

hk(x, y) =n

i=1

θki (xi, yi) ∀k = 1, · · · , K,

(ii) the functions εi and ηli are concave by component over [ui, Ui]× [vi, Vi]

for all i = 1, · · · , n and for all l = 1, · · · , L,

(iii) the function θki is linear by component over [ui, Ui] × [vi, Vi] for all

i = 1, · · · , n and for all k = 1, · · · , K.

Then, the problem

min{f(x, y) : gl(x, y) ≤ al∀l = 1, · · · , L;

hk(x, y) = bk∀k = 1, · · · , K;

(x, y) ∈n

i=1

[ui, Ui]×n

i=1

[vi, Vi]}

(2.6)

7

Page 18: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

has by dual the following linear problem:

max{〈e, w〉 − 〈a, µ〉 − 〈b, λ〉 :

wi ≤ εi(ui, vi) +L

l=1

µlηli(ui, vi) +

K∑

k=1

λkθki (ui, vi)∀i = 1, · · · , n;

wi ≤ εi(ui, Vi) +L

l=1

µlηli(ui, Vi) +

K∑

k=1

λkθki (ui, Vi)∀i = 1, · · · , n;

wi ≤ εi(Ui, vi) +L

l=1

µlηli(Ui, vi) +

K∑

k=1

λkθki (Ui, vi)∀i = 1, · · · , n;

wi ≤ εi(Ui, Vi) +L

l=1

µlηli(Ui, Vi) +

K∑

k=1

λkθki (Ui, Vi)∀i = 1, · · · , n;

w = (wi) ∈ Rn; µ = (µl) ∈ R

L+; λ = (λk) ∈ R

K},(2.7)

where e = (1, · · · , 1) ∈ Rn, a = (a1, · · · , aL) ∈ R

L and b = (b1, · · · , bK) ∈R

K .

Proof. From hypothesis (i), the Lagrangian function L (defined in 2.3) maybe written as

L(x, y, µ, λ) =n

i=1

[

εi(xi, yi) +L

l=1

µlηli(xi, yi) +

K∑

k=1

λkθki (xi, yi)

]

− 〈a, µ〉 − 〈b, λ〉.

For simplicity, we define the subsets Ii and Ji of Rn for i = 1, · · · , n by

Ii =i

j=1

[uj , Uj ]× Rn−i and Ji =

i∏

j=1

[vj , Vj ]× Rn−i,

and the real-valued functions ` on RL+ × R

K and Θi on [ui, Ui] × [vi, Vi] ×R

L+ × R

K for i = 1, · · · , n by

`(µ, λ) = min{L(x, y, µ, λ) : (x, y) ∈ In × Jn},

Θi(xi, yi, µ, λ) =εi(xi, yi) +L

l=1

µlηli(xi, yi) +

K∑

k=1

λkθki (xi, yi).

(2.8)

8

Page 19: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

Then, we have the following equalities

`(µ, λ) = min(x,y)∈In×Jn−1

minyn∈[vn,Vn]

L(x, y, µ, λ)

= min(x,y)∈In×Jn−1

[

n−1∑

i=1

Θi(xi, yi, µ, λ) + minyn∈[vn,Vn]

Θn(xn, yn, µ, λ)]

− 〈a, µ〉 − 〈b, λ〉.

Since the function Θn(xn, ·, µ, λ) is quasi-concave over [vn, Vn], we can write

`(µ, λ) = min(x,y)∈In×Jn−1

[

n−1∑

i=1

Θi(xi, yi, µ, λ)

+ min{Θn(xn, vn, µ, λ), Θn(xn, Vn, µ, λ)}]

− 〈a, µ〉 − 〈b, λ〉.

Repeating this procedure for yi ∈ [vi, Vi] with i = n − 1, n − 2, · · · , 2, 1, weobtain

`(µ, λ) = minx∈In

[

n∑

i=1

min{Θi(xi, vi, µ, λ), Θi(xi, Vi, µ, λ)}]

− 〈a, µ〉 − 〈b, λ〉.

Now, repeating this procedure for the variables xi:

`(µ, λ) = minx∈In−1

[

n−1∑

i=1

min{Θi(xi, vi, µ, λ), Θi(xi, Vi, µ, λ)}

+ minxn∈[un,Un]

min{Θn(xn, vn, µ, λ), Θn(xn, Vn, µ, λ)}]

− 〈a, µ〉 − 〈b, λ〉,

and from the quasi-concavity of the function

min{Θn(·, vn, µ, λ), Θn(·, Vn, µ, λ)}

over [un, Un], we can write

`(µ, λ) = minx∈In−1

[

n−1∑

i=1

min{Θi(xi, vi, µ, λ), Θi(xi, Vi, µ, λ)}

+min{Θn(un, vn, µ, λ), Θn(un, Vn, µ, λ), Θn(Un, vn, µ, λ), Θn(Un, Vn, µ, λ)}]

−〈a, µ〉 − 〈b, λ〉.

9

Page 20: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

Repeating this procedure for xi ∈ [ui, Ui] with i = n− 1, n− 2, · · · , 2, 1, weobtain

`(µ, λ) =n

i=1

min{Θi(ui, vi, µ, λ), Θi(ui, Vi, µ, λ), Θi(Ui, vi, µ, λ), Θi(Ui, Vi, µ, λ)}

− 〈a, µ〉 − 〈b, λ〉.

Therefore, the dual problem associated with 2.6 may be written as

sup{n

i=1

min[Θi(ui, vi, µ, λ), Θi(ui, Vi, µ, λ), Θi(Ui, vi, µ, λ), Θi(Ui, Vi, µ, λ)]

− 〈a, µ〉 − 〈b, λ〉 : µ ∈ RL+, λ ∈ R

K}.

We finish the proof, by defining for all i = 1, · · · , n, the variable wi ∈ R andby introducing the constraint

wi ≤ min{Θi(ui, vi, µ, λ), Θi(ui, Vi, µ, λ), Θi(Ui, vi, µ, λ), Θi(Ui, Vi, µ, λ)}.�

Remark 2.2.1 The dual problem of 2.7 may be written as

min{〈ε(u, v), p〉+〈ε(u, V ), q〉+ 〈ε(U, v), r〉+ 〈ε(U, V ), s〉 :

η(u, v)tp + η(u, V )tq + η(U, v)tr + η(U, V )ts ≤ a

θ(u, v)tp + θ(u, V )tq + θ(U, v)tr + θ(U, V )ts = b

p + q + r + s = e

p, q, r, s ∈ Rn+},

where At denotes the transpose of the matrix A,

η(x, y) =[

ηli(xi, yi)

]

∈ Rn×L, ε(x, y) = (εi(xi, yi)) ∈ Rn,

θ(x, y) =[

θki (xi, yi)

]

∈ Rn×K , and e = (1, · · · , 1) ∈ Rn.

(2.9)

Remark 2.2.2 From the theorem’s proof, we observe that a weaker con-dition than (ii) and (iii) is to suppose the functions Θi(·, ·, µ, λ) for i =1, · · · , n (defined in 2.8) quasi-concave by component.

In order to see when we can use this result for underestimating the valueγj (defined in 2.4), we consider three examples.

10

Page 21: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

Example 1. Let us consider the following bilinear problem:

min{〈a0∗y, x〉+ 〈c0, x〉+ 〈d0, y〉 :

〈al∗y, x〉+ 〈cl, x〉+ 〈dl, y〉 ≤ bl∀l = 1, · · · , L;

〈al∗y, x〉+ 〈cl, x〉+ 〈dl, y〉 = bl∀l = L + 1, · · · , M ;

u ≤ x ≤ U, v ≤ y ≤ V ; (x, y) ∈ Zn × Zn},

(2.10)

where al, cl, dl ∈ Rn for all l = 0, · · · , M , u, U, v, V ∈ R

n and x∗y = (xiyi) ∈R

n. On the other hand, in order to apply Theorem 2.2.1 we identify

ε(x, y) = a0∗y∗x + c0∗x + d0∗y;

η(x, y) =[

aliyixi + cl

ixi + dliyi

]

∈ Rn×L;

θ(x, y) =[

aL+li yixi + cL+l

i xi + dL+li yi

]

∈ Rn×(M−L).

Let Rj = {(x, y) ∈ Zn × Zn : uj ≤ x ≤ U j , vj ≤ y ≤ V j} be an element ofa rectangular cover Λ of the set {(x, y) ∈ Zn × Zn : u ≤ x ≤ U, v ≤ y ≤ V }and let us consider the problem over Rj defined by

αj = min{〈a0∗y, x〉+ 〈c0, x〉+ 〈d0, y〉 :

〈al∗y, x〉+ 〈cl, x〉+ 〈dl, y〉 ≤ bl∀l = 1, · · · , L;

〈al∗y, x〉+ 〈cl, x〉+ 〈dl, y〉 = bl∀l = L + 1, · · · , M ;

(x, y) ∈ Rj}.

Then, we have the following inequalities

αj≥γj≥βj = supµ∈R

L+

λ∈RM−L

min{L(x, y, µ, λ) :uj≤x≤U j , vj≤y≤V j ,

(x, y)∈Rn×R

n},

where L is the Lagrange function of 2.10 defined in 2.3. We can calculate

11

Page 22: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

the value βj by using Theorem 2.2.1 and Remark 2.2.1. In fact,

βj = min{〈a0∗uj∗vj + c0∗uj + d0∗vj , p〉

+ 〈a0∗uj∗V j + c0∗uj + d0∗V j , q〉

+ 〈a0∗U j∗vj + c0∗U j + d0∗vj , r〉

+ 〈a0∗U j∗V j + c0∗U j + d0∗V j , s〉 :

〈al∗uj∗vj + cl∗uj + dl∗vj , p〉

+ 〈al∗uj∗V j + cl∗uj + dl∗V j , q〉

+ 〈al∗U j∗vj + cl∗U j + dl∗vj , r〉

+ 〈al∗U j∗V j + cl∗U j + dl∗V j , s〉 ≤ bl

∀l = 1, · · · , L;

〈aL+k∗uj∗vj + cL+k∗uj + dL+k∗vj , p〉

+ 〈aL+k∗uj∗V j + cL+k∗uj + dL+k∗V j , q〉

+ 〈aL+k∗U j∗vj + cL+k∗U j + dL+k∗vj , r〉

+ 〈aL+k∗U j∗V j + cL+k∗U j + dL+k∗V j , s〉 = bL+k

∀k = 1, · · · , M − L;

p + q + r + s = e;

p, q, r, s ∈ Rn+}.

Example 2. Let us consider the following linearly constrained quadraticproblem:

min{〈Qx, x〉+ 〈c, x〉 : Ax ≤ a, Bx = d, x ∈ {0, 1}n}, (2.11)

where Q ∈ Zn×n is symmetric, A ∈ Rm×n, B ∈ Rk×n, c ∈ Rn, a ∈ R

m andd ∈ R

k. By defining, for example, the vectors v, V ∈ Rn as

vi =min{〈Qx, ei〉 : Ax ≤ a, Bx = d, 0 ≤ x ≤ e, x ∈ Rn} and

Vi =max{〈Qx, ei〉 : Ax ≤ a, Bx = d, 0 ≤ x ≤ e, x ∈ Rn},

where ei is the i-th canonical vector of Rn and e = (1, · · · , 1) ∈ R

n, it iseasy to see that 2.11 is equivalent to the following problem:

min{〈y, x〉+ 〈c, x〉 :Ax ≤ a, Bx = d, Qx = y, 0 ≤ x ≤ e, v ≤ y ≤ V,

(x, y) ∈ Zn × Zn}

12

Page 23: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

(a similar transformation has been used in [1]). Therefore, we have reducedproblem 2.11 to the case of Example 1. More explicitly, if Rj = {(x, y) ∈Zn × Zn : uj ≤ x ≤ U j , vj ≤ y ≤ V j} is an element of a rectangular coverΛ of the set {(x, y) ∈ Zn × Zn : 0 ≤ x ≤ e, v ≤ y ≤ V }, by using Theorem2.2.1 and Remark 2.2.1, we obtain the following equality

βj = min{〈(c + vj)∗uj , p〉+ 〈(c + V j)∗uj , q〉

+ 〈(c + vj)∗U j , r〉+ 〈(c + V j)∗U j , s〉 :

A[uj∗(p + q) + U j∗(r + s)] ≤ a,

B[uj∗(p + q) + U j∗(r + s)] = d,

Q[uj∗(p + q) + U j∗(r + s)] = vj∗(p + r) + V j∗(q + s),

p + q + r + s = e,

p, q, r, s ∈ Rn+}.

Example 3. Let us consider the following general bilinear problem:

min{〈Q0yM+1, x0〉+ 〈c0, x0〉+ 〈d0, yM+1〉 :

〈QlyM+1, x0〉+ 〈cl, x0〉+ 〈dl, yM+1〉 ≤ bl∀l = 1, · · · , L;

〈QlyM+1, x0〉+ 〈cl, x0〉+ 〈dl, yM+1〉 = bl∀l = L + 1, · · · , M ;

x0 ∈ {0, 1}n, yM+1 ∈ {0, 1}k},

(2.12)

where Ql ∈ Zn×k, cl ∈ Rn, dl ∈ R

k for all l = 0, · · · , M and b = (b1, · · · , bM )∈ R

M . By defining, for example, the vectors vl, V l ∈ Rn for all l = 0, · · · , M

asvli = min{〈QlyM+1, ei〉 : 0 ≤ yM+1 ≤ ek, y

M+1 ∈ Rk} and

V li = max{〈QlyM+1, ei〉 : 0 ≤ yM+1 ≤ ek, y

M+1 ∈ Rk},

where ei is the i-th canonical vector of Rk and ek = (1, · · · , 1) ∈ R

k, it is

13

Page 24: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

easy to see that 2.12 is equivalent to the following problem:

min{〈γ0 ∗ y, x〉+ 〈c0, x〉+ 〈d0, y〉 :

〈γl ∗ y, x〉+ 〈cl, x〉+ 〈dl, y〉 ≤ bl∀l = 1, · · · , L;

〈γl ∗ y, x〉+ 〈cl, x〉+ 〈dl, y〉 = bl∀l = L + 1, · · · , M ;

QlyM+1 − yl = 0∀l = 0, · · · , M ;

xl − xl+1 = 0∀l = 0, · · · , M − 1;

xM+1 = 0;

x = (xl), y = (yl);

0 ≤ xl ≤ en∀l = 0, · · · , M ;

0 ≤ xM+1 ≤ 0;

vl ≤ yl ≤ V l∀l = 0, · · · , M ;

0 ≤ yM+1 ≤ ek;

(x, y) ∈ Z [(M+1)n+k] × Z [(M+1)n+k]},

where γl = (0, · · · , 0, en, 0, · · · , 0) ∈ R(M+1)n+k and en = (1, · · · , 1) ∈ R

n isin the l-th position; cl = (cl, 0, · · · , 0) ∈ R

(M+1)n+k; and dl = (0, · · · , 0, dl) ∈R

(M+1)n+k for all l = 0, · · · , M . Therefore, we have reduced problem 2.12to the case of Example 1.

2.3. A Branch & Bound Method

In this section we describe the simple Branch and Bound method implicitin results of the previous section. In the method that we propose, branchingis the refinement of Λ and bounding is the determination of lower and upperbounds for the value α defined in 2.1.

From now on, we suppose that the set D is a rectangle in Zn ×Zn, thatis

D = {(x, y) ∈ Zn × Zn : u ≤ x ≤ U, v ≤ y ≤ V }

for some u, U, v, V ∈ Zn.

In section 2, we have seen that the intermediate dual program γ(Λ)(defined in 2.4) is a lower bound for the optimal value α (see 2.5). Thereforewe hope that refining the cover Λ, we can approximate the value γ(Λ) toα. More specifically, we start with defining Λ = {D}. If we initially know

14

Page 25: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

a feasible point (x, y) ∈ D, i.e. such that gl(x, y) ≤ al for all l = 1, · · · , L;and, hk(x, y) = bk for all k = 1, · · · , K; we start with defining α(Λ) =f(x, y), otherwise α(Λ) = +∞. Now, at each iteration we define new localrefinements of Λ and improve the lower bound of the value α by solving dualprograms of the type

sup{`(µ, λ) : µ ∈ RL+, λ ∈ R

K},

where `(µ, λ) = min(x,y)∈R L(x, y, µ, λ) and R is a set in the cover Λ of D.Since D is a rectangle, we can choose a rectangular cover Λ of D, that is eachR ∈ Λ is a rectangle in R

n × Rn. Thus using Theorem 2.2.1, we can solve

the dual linear problem above. Let us now describe precisely this Branchand Bound method:

2.3.1. The Branching

To avoid storing an exponential amount of regions, we employ a deep-search for crossing the graph implicit in set D. This graph is stored in stackS. Thus, the number of regions stored in stack S is polynomially boundedfor the number of points in D. Indeed, if mi is the number of integer pointsfor the i-th variable in D then, at the current iteration, the number of storedregions in stack S is at the most

∑2ni=1(mi−1). On the other hand, we have a

list order which points out the order for cutting the variables, that is order[i]is the i-th variable to cut for i = 1, · · · , 2n. At the current iteration, we takethe first element R in the stack S. This element contains the informationabout the region, that is R = {(x, y) : ui ≤ xi ≤ Ui, vi ≤ yi ≤ Vi}; the lowerbound on the region R; and, moreover the information referent to the lastindex cut ı. Next, we bisect the next variable order(ı+1) of region R. Moreexplicitly, if order(ı + 1) ≤ n, we define two regions R1 and R2 as:

R1 = {(x, y) : ui ≤ xi ≤ Ui i = 1, · · · , order(ı + 1)− 1;

uorder(ı+1) ≤ xorder(ı+1) ≤ uorder(ı+1);

ui ≤ xi ≤ Ui i = order(ı + 1) + 1, · · · , n;

vi ≤ yi ≤ Vi i = 1, · · · , n},

R2 = {(x, y) : ui ≤ xi ≤ Ui i = 1, · · · , order(ı + 1)− 1;

uorder(ı+1) + 1 ≤ xorder(ı+1) ≤ Uorder(ı+1);

ui ≤ xi ≤ Ui i = order(ı + 1) + 1, · · · , n;

vi ≤ yi ≤ Vi i = 1, · · · , n},

(2.13)

15

Page 26: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

where uorder(ı+1) = max{z ∈ Z : z ≤ (uorder(ı+1) + Uorder(ı+1))/2}. Analo-gously if order(ı+1) > n then repeat with the yorder(ı+1)−n variable. In thispoint, we note that there are cases in which is not necessary to cut all vari-ables. More explicitly, if there is functional dependence y = T (x) betweenthe variables, which is not affected by the transformations of Theorem 2.2.1in Section 2, then it is not necessary to cut the y variables. For example, ifthe problem contains linear equality constraints such that if the x variable isreduced to a singleton there this implies that the y variable is also reducedto a singleton. See Examples 2 and 3 in Section 2.

2.3.2. The Bounding

For this step we store additional information:

- the best feasible candidate (x?, y?) at the current iteration and costfunction value α(Λ) = f(x?, y?),

- a link which allows the recovery of the region that at the currentiteration attains the lowest bound γ(Λ).

For each region defined by the branching, R1 and R2, we calculate thelower bound defined by the dual linear problem from Theorem 2.2.1 (seeRemark 2.2.1 below this result):

βj = min{〈ε(uj , vj), p〉+ 〈ε(uj , V j), q〉+ 〈ε(U j , vj), r〉+ 〈ε(U j , V j), s〉 :

η(uj , vj)tp + η(uj , V j)tq + η(U j , vj)tr + η(U j , V j)ts ≤ a;

θ(uj , vj)tp + θ(uj , V j)tq + θ(U j , vj)tr + θ(U j , V j)t = b;

p + q + r + s = e;

p, q, r, s ∈ Rn+},

(2.14)where η, ε, θ and e are defined in 2.9; and Rj = {(x, y) : uj

i ≤ xi ≤ U ji , vj

i ≤

yi ≤ V ji } for j = 1, 2.

On the other hand, at the same time that we calculate βj , we obtain avector (p, q, r, s) ∈ R

n solution of the problem 2.14. We define the vectors:

xji =round(uj

i (pi + qi) + U ji (ri + si)),

yji =round(vj

i (pi + ri) + V ji (qi + si)),

(2.15)

where the round function is defined as round(x) = max{z ∈ Z : z ≤ x+0,5}.Next, we test if the vector (xj , yj) is a feasible point to the problem 2.1. The

16

Page 27: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

reason for using this point as a candidate may be explained by the followingresult:

Proposition 2.3.1 (Local optimality sufficient condition) Let (pj , qj , rj , sj)be a solution point of the problem 2.14. If (pj , qj , rj , sj) is a binary pointthen the vector (xj , yj) defined in 2.15 is an optimal point for the followingproblem:

min{f(x, y) : gl(x, y) ≤ al ∀l = 1, · · · , L;

hk(x, y) = bk ∀k = 1, · · · , K;

(x, y) ∈ Rj ∩ Z}.

(2.16)

Proof. Since (pj , qj , rj , sj) is a binary point and satisfies pj +qj +rj +sj = e,we can write the following equalities:

n∑

i=1

εi(uji (p

ji +qj

i ) + U ji (rj

i +sji ), v

ji (p

ji +rj

i ) + V ji (qj

i +sji )) =

pji =1

εi(uji , v

ji )

+∑

qji =1

εi(uji , V

ji ) +

rji =1

εi(Uji , vj

i ) +∑

sji =1

εi(Uji , V j

i ),

n∑

i=1

ηli(u

ji (p

ji +qj

i ) + U ji (rj

i +sji ), v

ji (p

ji +rj

i ) + V ji (qj

i +sji )) =

pji =1

ηli(u

ji , v

ji )

+∑

qji =1

ηli(u

ji , V

ji ) +

rji =1

ηli(U

ji , vj

i ) +∑

sji =1

ηli(U

ji , V j

i ) ∀l = 1, · · · , L,

n∑

i=1

θki (uj

i (pji +qj

i ) + U ji (rj

i +sji ), v

ji (p

ji +rj

i ) + V ji (qj

i +sji )) =

pji =1

θki (uj

i , vji )

+∑

qji =1

θki (uj

i , Vji ) +

rji =1

θki (U j

i , vji ) +

sji =1

θki (U j

i , V ji ) ∀k = 1, · · · , K.

From the above equalities, it is clear that (xj , yj) is a feasible point of prob-lem 2.16 and that we have the equality f(xj , yj) = βj . �

For the bounding process, we test if the point (xj , yj) (defined in 2.15) isfeasible, in which case we update α(Λ) = min{α(Λ), f(xj , yj)}. We eliminatefrom the stack S the elements with lower bounds greater than α(Λ). We thentest if the point satisfies the local optimality sufficient condition (f(xj , yj) =βj) in which case we eliminate the region Rj because we have obtained the

17

Page 28: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

global minimum over this region. Next, we analyze if βj ≤ α(Λ), in whichcase we push the region Rj in the stack S, otherwise we eliminate the regionbecause it does not contain global minima of the problem 2.1. Finally, wetest if α(Λ) ≤ γ. If so, we have found the global minimum of the problem2.1, otherwise branching. To complete this section, we describe the algorithmfor solving problem 2.1 in detail.

2.3.3. Algorithm

The elements of the cover Λ are stored in stack S. Moreover, there isa double link which organizes stack S in ascending order in relation to thelower bounds. Each element of stack S contains the following information:the vertices that define the region, lower bound on the region, index of lastvariable cut to the region, and the links to the previous and following regionin relation to the lower bounds. Some global information is necessary: α(Λ)the best cost function value (and the feasible point where it is attained) andγ(Λ) the lowest bound on stack S.

1.- Initialization:

READ: the data of the problem, cut order of the variables, depen-dency flag of the variables and initial value of best feasible known (ifavailable).

DEFINE: α(Λ) = +∞ if no feasible solution available; the element Rwith the original vertices; and γ(Λ) = −∞ as lower bound for thisregion. PUSH R in stack S.

2.- POP from S the element R. Denote as: u, U, v, V the vertices of theregion, i the last variable cut and γ the lower bound of the region.

3.- BISECT the element R along the variable indicated for list order(i+1)(see 2.13).

4.- For each j = 1, 2; CALCULATE the lower bound (see 2.14), at thesame time TEST if candidate point (see 2.15) is feasible, if necessary:update the value α(Λ), store the point, eliminate the elements of stackS with a lower bound greater than α(Λ), and test local optimalitysufficient condition (see Proposition 2.3.1) in which case eliminate theregion Rj .

5.- For each j = 1, 2; if βj ≤ α(Λ), PUSH the element Rj in the stack S.

18

Page 29: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

6.- TEST if stack S is not empty and α(Λ) > γ(Λ) then GO TO 2.

7.- TEST if we have found a feasible point, then PRINT: “The solutionpoint is: (x?, y?) and the minimum cost function is: f(x?, y?)”, elsePRINT: “The problem is not feasible”.

2.4. Numerical Results

The computational results presented below were obtained using an Ori-gin 2000 computer of Silicon Graphics. The Origin 2000 has 6 MIPS R10000processor chips (revision: 2.6). Each processor has 32 Kb instruction cache,a main memory of 256 Mb and a CPU speed of 195 MHz. We have devel-oped a sequential code (in C++ language) for solving bilinearly constrainedbilinear problems. For solving the linear subproblems, we use the CPLEX(version 5.0) package from ILOG.

Test Problem 1 This is the classical 0-1 knapsack problem:

Given n integers a1, ..., an and an integer δ, determine if there is asubset

J ⊂ {1, ..., n} such that∑

j∈J aj = δ.

We consider the following 0-1 quadratic approach for solving this problem:

min{n

i=1

xi(1− xi) :

n∑

i=1

aixi = δ, xi ∈ {0, 1} for all i ∈ {1, ..., n}}.

We solved 5 problems (50 for each dimension), the smallest of dimension100 and the largest of dimension 500. The data ai ∈ [1, 2000] i ∈ {1, ..., n}are randomly generated integer numbers and we have chosen δ = 1

2

∑ni=1 ai.

Table 1 below summarizes the computational results.

Table 1

n trials av iter mx reg it cand av time mx time

100 50 2866 64 2866 67 229

200 50 2596 114 2596 236 705

300 50 3397 171 3397 814 1792

400 50 2308 220 2308 1904 3243

500 50 2460 237 2460 4537 6570

19

Page 30: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

Note: n = number of variables; trials = numbers of trials; av iter = averageof iterations; mx reg = maximum number of stored regions; it cand = aver-age of iterations that find the solution or determine that the problem is notfeasible; av time = average of CPU time (in seconds) iterations; mx time =maximum of CPU time (in seconds) iterations.

Test Problem 2 This is the classical quadratic assignment problem:

min{m

i=1

m∑

j=1

m∑

k=1

m∑

l=1

qijklxikxjl :m

i=1

xij = 1, j = 1, . . . , m;

m∑

j=1

xij = 1, i = 1, . . . , m; xij ∈ {0, 1}}.

We solved 6 problems, the smallest of dimension 5 and the largest of dimen-sion 10. The data qijkl ∈ [1, 100] i, j, k, l ∈ {1, ..., m} are randomly generatedinteger numbers. Table 2 below summarizes the computational results.

Table 2

n = m2 trials av iter mx reg it cand av time mx time

25 50 1070 4 790 8.7 15.3

36 50 2784 5 2064 37.9 62.8

49 50 10368 6 7204 250.4 340.4

64 50 53957 7 35229 2183.1 2813.9

81 10 332373 8 150075 19900.8 28053.5

100 10 2935563 9 1857915 241333.4 369402.5

Note: See Table 1 note.

Test Problem 3 This is the classical max cut problem:

max{n

i=1

n∑

j=1

wij(1− xixj) : xi ∈ {−1, 1}} for all i ∈ {1, ..., n}.

We consider the following 0-1 quadratic approach for solving this problem:

min{n

i=1

n∑

j=1

wij(yiyj − yi − yj) : yi ∈ {0, 1} for all i ∈ {1, ..., n}}.

20

Page 31: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

For four different types of random graphs, we ran 50 instances on graphs of20 vertices and 20 on graphs of size 30. In the type A random graphs, eachedge (i, j) is included with probability 1/2. In the type B random graphs,each edge is given a weight drawn uniformly from interval [−50, 50]. In thetype C random graphs of size n ≥ 10, an edge (i, j) is included with prob-ability 10/n, leading to constant expected degree. Finally, in the type Drandom graphs, an edge (i, j) is included with probability 0,1 if i ≤ n/2 andj > n/2 and probability 0,05 otherwise, leading to a large cut between thevertices in [1, . . . , n/2] and those in [n/2+1, . . . , n]. In the types A, C and D,each edge is given a weight drawn uniformly from interval [0, 100]. Similartest problems have been used by Goemans and Williamson in [7]. Table 3below summarizes the computational results.

Table 3

type n trials av iter mx reg it cand av time mx time

A 20 50 13996 19 6196 52.9 130.5

A 30 20 3739428 29 1336077 21317.0 41467.2

B 20 50 29109 20 24053 116.9 226.4

B 30 20 5795540 30 5068042 35478.3 79969.5

C 20 50 13908 19 6010 52.7 110.0

C 30 20 1353224 29 643699 7347.5 15113.5

D 20 50 1622 6 227 5.2 103.2

D 30 20 4597 19 2450 22.4 112.9

Note: See Table 1 note.

Test Problem 4 This is a nonconvex bilinearly constrained bilinear prob-lem:

min{n

i=1

(a0i xiyi+b0

i xi+c0i yi) :

n∑

i=1

(aki xiyi+bk

i xi+ckyi) ≤ dk, k = 1, . . . , n2;

xi, yi ∈ {0, 1} i = 1, · · · , n}.

We solved 5 problems, the smallest of dimension 10 and the largest of dimen-sion 50. The data ak

i , bki , c

ki , d

k ∈ [−50, 50] i ∈ {1, ..., n}, k ∈ {0, ..., n2 } are

randomly generated integer numbers. Table 4 below summarizes the com-putational results.

21

Page 32: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

Table 4

n trials av iter mx reg it cand av time mx time

10 50 210 14 176 0.5 2.8

20 50 6108 34 5627 33.5 222.9

30 50 131033 45 127633 1317.6 8779.8

40 50 2335327 60 2269351 38735.4 509148.3

Note: See Table 1 note.

2.5. Concluding Remarks

We have shown a method for solving integer separable concave problemsbased on the idea of reducing the duality gap. We have developed a branchand bound method, which uses Lagrangian duality for obtaining lower andupper bounds on each region of the branch. From a theoretical viewpoint,we have proved that the dual problem of a separable concave program on arectangle is a linear problem. This result is the basis on which to developthe branch and bound method described in this paper. Additionally, we haveidentified an excellent candidate to test on each region of the branch andhave shown a local optimality sufficient condition for this candidate. In fact,the implementation of the algorithm developed becomes very simple. Theimplemented deep-search uses less computational resources (RAM memory)and since the linear problems differ only in some columns, they are verysimple to solve by CPLEX. Moreover, we also tried to use a search of typemost probable region, that is, to cut the region with the lowest bound. Theresults however were disastrous because to solve the same test problems thenecessary computational resources increased significantly. Furthermore, weobserve that the candidate point proposed is very good. From the resulttables we establish that finding the solution takes approximately a 66 % oftotal iterations. We also conclude that the proposed method is, on average,efficient and can be used for solving a wide variety of problems. However,in the worst case, if we consider the following knapsack problem: ai = 2ifor i = 1, · · · , n, δ = 1

2n(n + 1) where n = 6 + 4p p ∈ N, we see that thenecessary number of iterations for solving this problem grows exponentially.Finally based on the same idea, we are working on developing a methodfor solving quadratic assignment problems which takes advantage of theparticular structure of the problem. We are also working on extending thisidea to the quadratic continuous case, but the greatest problem will be to

22

Page 33: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

assure the feasibility of our candidate.

2.6. References

[1] Al-Khayyal, F.A., Larsen, C., and Voorhis, T.V., “A Relaxation Me-thod for Nonconvex Quadratically Constrained Quadratic Programs”,J. of Global Optimization 6, pp. 215-230, 1995.

[2] Barrientos, O. and Correa, R., “An algorithm for global minimizationof linearly constrained quadratic functions”, J. of Global Optimization,Vol. 16, No 1, pp. 77-93, 2000.

[3] Bokhari, S.H., “On the mapping problem”, IEEE Transactions on Com-puters C-30, No 3, pp. 207-214, 1981.

[4] Burkard, R.E., “Locations with spatial interactions: the Quadratic As-signment Problem”, Discrete Location Theory (P.B. Mirchandani andR.L. Francis, eds.), John Wiley, 1991.

[5] Francis, R.L. and White, J.A., “Facility layout and Locations”, Pren-tice - Hall, Englewood Cliffs, N.J., 1974.

[6] Geoffrion, A.M. and Graves, G.W., “Scheduling parallel productionlines with changeover costs: Practical applications of a QP/LP ap-proach”, Operations Research 24, pp. 595-610, 1976.

[7] Goemans, M.X., and Williamson, D.P., “Improved Approximation Al-gorithms for Maximum Cut and Satisfiability Problems Using Semidef-inite Programming”, J. of the Association for Computing MachineryVol. 42, Number 6, pp. 1115-1145, 1995.

[8] Gulati, V.P., Gupta, S.K., and Mittal, A.K., “Unconstrained quadraticbivalent programming problem”, European J. of Oper. Res. 15, pp. 121-125, 1984.

[9] Hubert, L.J., “Assignment methods in combinatorial data analysis”,Marcel Dekker, Inc., New York, NY 10016, 1987.

[10] Krarup, J. and Pruzan, P.M., “Computer-aided layout design”, Math-ematical Programming Study 9, pp. 75-94, 1978.

[11] Laughunn, D.J., “Quadratic binary programming with applications tocapital-budgeting problem”, Operations Research 14, pp. 454-461, 1970.

23

Page 34: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

[12] Markovitz, H.M., “Portfolio Selection”, Wiley, New York, 1978.

[13] McCormik, E.J., “Human factors engineering”, McGraw-Hill, NewYork, 1970.

[14] Pardalos, P.M. and Wolkowics (Eds), Quadratic Assignment and Re-lated Problems, DIMACS A.M.S, Vol. 16, 1994.

[15] Rhys, J., “A selection problem of shared fixed costs on network flow”,Management Science 17 (3), pp. 200-207, 1970.

[16] Steinberg, L., “The backboard wiring problem: A placement algorithm”,SIAM Review 3, pp. 37-50, 1961.

[17] Witzgall, C., “Mathematical methods of site selection for Electric Mes-sage Systems (EMS)”, NBS Internal Report, 1975.

24

Page 35: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

Capıtulo 3

Observaciones Parte I

3.1. Sobre el Teorema 2.2.1

En cuanto a situar bibliograficamente al Teorema 2.2.1 y sus consecuen-cias, se puede citar [BC00] por Correa y Barrientos, en donde presenta unalgoritmo de ramificacion y acotamiento que utiliza dualidad lagrangeanapara la obtencion de cotas inferiores para un problema cuadratico continuosobre un poliedro acotado de R

n.

En el artıculo anterior se puede encontrar un resultado que podrıa con-siderarse como un caso particular del expuesto en el Teorema 2.2.1, en elque se utiliza la estructura del problema dual para caracterizarlo como unproblema lineal.

Mas alla de esta referencia se hace difıcil encontrar otros trabajos conresultados comparables al del Teorema 2.2.1, tal vez debido al resultadoen sı o a que este se orienta hacia la elaboracion de una herramienta pararesolver un problema tan general que la mayorıa de los trabajos sobre temasrelacionados son eminentemente teoricos.

3.2. Aporte nulo en el gap por relajacion del do-

minio

En esta seccion se estudiara el aporte al gap de la relajacion de subre-giones del dominio entero D del problema (2.1), relajacion necesaria paraobtener cotas mediante al aplicacion del Teorema 2.2.1.

25

Page 36: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

Supongamos que se tiene un problema como en el Teorema 2.2.1 sobreuna region discreta:

min{f(x, y) : gl(x, y) ≤ al ∀l = 1, · · · , L;

hk(x, y) = bk ∀k = 1, · · · , K;

(x, y) ∈ Rx×Ry}

(3.1)

donde Rx×Ry ⊂ Zn × Z

n finito, mas en detalle:

Rx =n

i=1

{ui = rxi

1 < rxi

2 < · · · < rximxi

= Ui} ⊂ Rx =n

i=1

[ui, Ui]

Ry =n

i=1

{vi = ryi

1 < ryi

2 < · · · < ryimyi

= Vi} ⊂ Ry =n

i=1

[vi, Vi]

(3.2)

es decir para x ∈ Rx, rxi

1 , · · · , rximxi

corresponden a los mxivalores posibles

para la i-esima de x, siendo ui el menor y Ui el mayor; de manera analoga,para y ∈ Ry, ryi

1 , · · · , ryimyi

corresponden a los myivalores posibles para la

i-esima de y, siendo vi el menor y Vi el mayor.

Ademas se tiene la relajacion continua del problema (3.1):

min{f(x, y) : gl(x, y) ≤ al ∀l = 1, · · · , L;

hk(x, y) = bk ∀k = 1, · · · , K;

(x, y) ∈ Rx×Ry}

(3.3)

Para obtener una version continua equivalente del problema entero (3.1),es necesario introducir una serie de restricciones como:

(xi − rxi

j )(rxi

j+1 − xi) ≤ 0 ∀j = 1, · · · , mxi−1 ∀i = 1, · · · , n

para relajar x ∈ Rx a Rx, y como:

(yi − ryi

j )(ryi

j+1 − yi) ≤ 0 ∀j = 1, · · · , myi−1 ∀i = 1, · · · , n

para relajar y ∈ Ry a Ry.

Luego, al escribir estas restricciones en forma bilineal, se puede describirla region Rx en terminos de Rx como:

x ∈ Rx ⇔

〈−ei∗x′, y′〉+ 〈(rxi

j + rxi

j+1)ei, x′〉 − rxi

j rxi

j+1 ≤ 0

∀j = 1, · · · , mxi−1 ∀i = 1, · · · , n;

x = x′; x′ = y′; x, x′, y′ ∈ Rx

(3.4)

26

Page 37: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

donde ei corresponde al i-esimo vector canonico de Rn.

Ası mismo se puede describir la region Ry en terminos de Ry, de lasiguiente forma:

y ∈ Ry ⇔

〈−ei∗x′′, y′′〉+ 〈(ryi

j + ryi

j+1)ei, y′′〉 − ryi

j ryi

j+1 ≤ 0

∀j = 1, · · · , myi−1 ∀i = 1, · · · , n;

y = y′′; x′′ = y′′; y, x′′, y′′ ∈ Ry

(3.5)

De (3.4) y (3.5) es posible escribir una version continua equivalente alproblema entero (3.1) como:

min{f(x, y) : gl(x, y) ≤ al ∀l = 1, · · · , L;

hk(x, y) = bk ∀k = 1, · · · , K;

〈−ei∗x′, y′〉+ 〈(rxi

j + rxi

j+1)ei, x′〉 − rxi

j rxi

j+1 ≤ 0

∀j = 1, · · · , mxi−1 ∀i = 1, · · · , n;

〈−ei∗x′′, y′′〉+ 〈(ryi

j + ryi

j+1)ei, y′′〉 − ryi

j ryi

j+1 ≤ 0

∀j = 1, · · · , myi−1 ∀i = 1, · · · , n;

x = x′; x′ = y′; y = y′′; x′′ = y′′;

x, x′, y′ ∈ Rx; y, x′′, y′′ ∈ Ry}

(3.6)

Por su parte, en el la formulacion dual dada por la Observacion 2.2.1,las restricciones descritas en (3.4) transforman en:

〈−ei∗u∗u, p′〉+ 〈−ei∗u∗U, q′〉+ 〈−ei∗U ∗u, r′〉+ 〈−ei∗U ∗U, s′〉

+ 〈(rxi

j + rxi

j+1)ei, u∗(p′ + q′) + U ∗(r′ + s′)〉 − rxi

j rxi

j+1 ≤ 0

∀j = 1, · · · , mxi−1 ∀i = 1, · · · , n

u∗(p + q) + U ∗(r + s) = u∗(p′ + q′) + U ∗(r′ + s′)

u∗(p′ + q′) + U ∗(r′ + s′) = u∗(p′ + r′) + U ∗(q′ + s′)

p′ + q′ + r′ + s′ = e

p′, q′, r′, s′ ∈ [0, 1]n

(3.7)

donde e = (1, · · · , 1)t ∈ Rn, mientras las restricciones descritas en (3.5) se

27

Page 38: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

convierten en:

〈−ei∗v∗v, p′′〉+ 〈−ei∗v∗V , q′′〉+ 〈−ei∗V ∗v, r′′〉+ 〈−ei∗V ∗V , s′′〉

+ 〈(ryi

j + ryi

j+1)ei, u∗(p′′ + r′′) + U ∗(q′′ + s′′)〉 − ryi

j ryi

j+1 ≤ 0

∀j = 1, · · · , myi−1 ∀i = 1, · · · , n

v∗(p + r) + V ∗(q + s) = v∗(p′′ + r′′) + V ∗(q′′ + s′′)

v∗(p′′ + q′′) + V ∗(r′′ + s′′) = v∗(p′′ + r′′) + V ∗(q′′ + s′′)

p′′ + q′′ + r′′ + s′′ = e

p′′, q′′, r′′, s′′ ∈ [0, 1]n

(3.8)

Suponiendo que p, q, r, s ∈ [0, 1]n satisfacen las restricciones duales ori-ginales, en particular p + q + r + s = e, tomando p′ = p + q; q′ = 0; r′ = 0;s′ = r + s; p′′ = p + r; q′′ = 0; r′′ = 0; s′′ = q + s, las nuevas restriccionesduales (3.7) y (3.8) resultan ser triviales.

De aquı se concluye que el problema dual de (3.6) resulta ser igual alproblema dual de (3.3), es decir para el problema entero (3.1) su versioncontinua y su relajacion continua resultan ser iguales al pasar al dual.

Con esto queda demostrado que para una region Rx×Ry como la descritaen (3.2), el gap entre el problema entero (3.1) y el dual de su relajacioncontinua, corresponde a la dualizacion y no a la relajacion de dominio.

3.3. Resultados Numericos

En cuanto al analisis de los resultados de las pruebas numericas, se debeconsiderar que el problema entero bilineal con restricciones bilineales es en-frentado de una forma bastante general. Al intentar evaluar el desempenodel algoritmo desarrollado mediante su comparacion con otras aplicacionesexistentes, se observa la dificultad de encontrar en la literatura problemas es-encialmente bilineales similares al tratado. De lo anterior se desprende que,para realizar cualquier comparacion, se precisa forzar distintos problemastest a la formulacion bilineal. Esto resulta contraproducente con el objetivode la evaluacion.

La variedad y complejidad de los problemas utilizados para evaluar eldesempeno numerico del algoritmo, ponen de manifiesto la versatilidad ylos alcances de la tecnica utilizada. Sin embargo, el desempeno de otrosalgoritmos especıficos para el problema de la mochila, el de asignacion cua-dratica o el del maximo corte, resulta considerablemente superior al logrado

28

Page 39: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

con el algoritmo general. De esto se desprende que los problemas de pruebaconocidos como difıciles se encuentran, probablemente, fuera del alcance delalgoritmo desarrollado.

Para resolver cualquiera de estos tipos particulares de problema, es nece-sario estudiar su estructura para, sacando provecho de ella, implementar unalgoritmo especıfico para enfrentar su resolucion, lo que se realizo para elproblema de asignacion cuadratica, trabajo que se expone en la segundaparte del presente trabajo.

29

Page 40: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

Parte II

Problema de Asignacion

Cuadratica

30

Page 41: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

Capıtulo 4

Introduccion

Este capıtulo esta basado en el artıculo “The Quadratic AssignmentProblem: A Survey and Recent Developments” [PRW94a] del libro “Qua-dratic Assignment and Related Problems” [PW94].

El avance computacional de las ultimas dos decadas ha permitido el de-sarrollo de algoritmos para enfrentar problemas de optimizacion combinato-rial NP-duros cada vez mas grandes. Este avance ha hecho posible resolverproblemas de gran escala, como el problema de maximo clique en grafos concientos de vertices y millones de arcos, o el problema del vendedor viajeropara varios cientos de ciudades. Sin embargo, el problema de asignacion cua-dratica1 ha resultado ser uno de los mas difıciles de resolver, considerandosehoy en dıa intratable su resolucion en forma general para dimensiones may-ores a 20.

Es por esto que esta parte del presente trabajo se dedica a la resoluciondel problema de asignacion cuadratica. A lo largo del presente capıtulo sepresentan distintas formulaciones, metodos de resolucion y otros resultados,tendientes a ilustrar el problema y su complejidad. En el siguiente capıtulo sedetalla un metodo de ramificacion y acotamiento para abordar este problemautilizando el Teorema 2.2.1, junto con su formulacion, implementacion yresultados numericos.

Dadas tres matrices A = (aij), B = (bij) y C = (cij) ∈ Mn×n(R), el

1En ingles quadratic assignment problem o QAP.

31

Page 42: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

problema de asignacion cuadratica puede ser enunciado como:

minp∈Πn

n∑

i=1

n∑

j=1

aij bp(i)p(j) +n

i=1

cip(i) (4.1)

donde Πn es el conjunto de todas las permutaciones de {1, 2, · · · , n}.

Una de las principales aplicaciones del problema de asignacion cuadra-tica es el ambito de teorıa de localizacion donde A es la matriz de flujos,es decir aij es el flujo de material entre la planta i y la planta j; y B es lamatriz de distancias, es decir, bkl es la distancia entre la localidad k y lalocalidad l [DH72, Els77, KB57]. Luego el costo de asignar simultaneamentela planta i a la localidad k y la planta j a la localidad l es aijbkl. El objetivo,es encontrar una asignacion de todas las plantas a todas las localidades,es decir, una permutacion p ∈ Πn tal que minimize el costo total de laasignacion.

Ademas de su aplicacion a problemas de localizacion de plantas, el pro-blema de asignacion cuadratica tiene otras aplicaciones como “scheduling”[GG76], “the backboard wiring problem” [Ste61], computacion paralela y dis-tribuida [Bok81], analisis estadıstico [Hub87], entre otros [FW74, KP78,McC70].

El termino “cuadratico” viene de la reformulacion del problema comoun problema de optimizacion con funcion objetivo cuadratica. Esta junto aotras reformulaciones seran descritas mas adelante en la Seccion 4.1.1.

4.1. Preliminares

4.1.1. Formulaciones

Distintas formulaciones han sido usadas para el estudio del problemade asignacion cuadratica, a continuacion se describen algunas. Para masdetalles y mas formulaciones, ver [Had89].

Koopmans-Beckmann

Esta formulacion fue introducida por Koopmans y Beckmann en [KB57]y se basa en la biyeccion entre Πn y el conjunto de las matrices de per-mutacion de n × n, X = [xij ] ∈ Mn×n({0,1}), con lo que el problema de

32

Page 43: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

asignacion cuadratica se escribe como:

min{n

i=1

n∑

j=1

n∑

k=1

n∑

l=1

aij bkl xik xjl :

n∑

i=1

xij = 1 ∀j = 1, · · · , n; (4.2)

n∑

j=1

xij = 1 ∀i = 1, · · · , n; (4.3)

xij ∈ {0, 1} ∀i, j = 1, · · · , n}

donde las restricciones (4.2) y (4.2) corresponden a las restricciones de asig-nacion. Las variables xij se interpretan como sigue:

xij =

{

1, si la planta i es asignada a la localidad j;0, si no.

Traza

Esta compacta forma de presentar el problema de asignacion cuadra-tica fue introducida en [Edw77, Edw80], donde describe al problema dedimension n como:

minX∈Π

traza(AXB + C)X t

donde Xt denota a la matriz transpuesta de X y Π al conjunto de matricesde permutacion de dimension n. A, B y C ∈ Mn×n(R); A y B se suponensimetricas.

Producto de Kronecker

El producto de Kronecker es el Hessiano de la forma cuadratica presen-tada en la formulacion vıa traza:

A⊗ B = [aijbkl] = [aijB]

es decir, la matriz formada por todos los productos posibles entre elementosde A y B.

Luego, usando la notacion vec(X) para denotar al vector formado por lascolumnas de X, el problema de asignacion cuadratica puede escribirse como:

minX∈Π

vec(X)t(A⊗ B)vec(X) + vec(C)tvec(X)

33

Page 44: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

Para mas detalles en relacion a calculos que utilicen el producto de Kro-necker, ver [Gra81].

4.1.2. Conjunto Factible

El conjunto factible para el problema de asignacion cuadratica consisteen todas las posibles asignaciones de n objetos a n localidadess, y su en-voltura convexa corresponde al conjunto de los puntos no negativos en R

n2

,que satisfacen las restricciones de asignacion. Alternativamente, en la for-mulacion vıa traza, el conjunto factible consiste en todas las matrices depermutacion de dimension n. Es sabido que las matrices de permutacion den×n satisfacen:

Π = O ∩ E ∩ N = S ∩ E ∩ N ⊂Mn×n(R) (4.4)

donde O = {X ∈ Mn×n(R) : XtX = I} es el conjunto de las matricesortogonales; S = {X ∈ Mn×n(R) : trazaXtX = n}; E = {X ∈ Mn×n(R) :X11 = Xt11 = 11} es el conjunto de las matrices que tienen suma de filas ycolumnas igual a uno, donde 11 = (1, · · · , 1)t ∈ R

n; y N = {X ∈ Mn×n(R) :X � 0} es el conjunto de las matrices semi-definidas positivas. Sea D =E ∩ N ⊂Mn×n(R) el conjunto de las matrices doble estocasticas.

4.1.3. Perturbaciones de la Funcion Objetivo

Las propiedades del conjunto factible permiten, para una familia particu-lar de perturbaciones, perturbar la funcion objetivo sin cambiar la soluciondel problema original. Ademas, estas perturbaciones son utilizadas conjunta-mente con relajaciones del problema por lo que resultan importantes para elmejoramiento de distintos tipos de cotas. Dos perturbaciones tıpicas, cono-cidas por tener dicha propiedad, son las perturbaciones de filas y columnasy las perturbaciones diagonales. Mas especıficamente, sean e, f, r, s ∈ R

n, ysean:

A(e, r) = A + e11t + 11et + diag(r)

B(f, s) = B + f11t + 11f t + diag(s)

C(e, f, r, s) = C + 2A11f t + 2e11tB− 2nef t − 2n

k=1

ek11ft

+ diag(A)st + rdiag(B)t − 2est − 2rf t − rst

34

Page 45: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

donde diag transforma un vector en una matriz diagonal e, inversamente,transforma una matriz en un vector formado por sus elementos diagonales.Luego:

traza(AXB + C)Xt = traza(A(e, r)XB(f, s) + C(e, f, r, s))Xt ∀X ∈ Π

donde Π representa al conjunto de matrices de permutacion. Cabe notarque, bajo esta perturbacion, la simetrıa de las matrices se preserva.

Si se mantiene la restriccion X ∈ E , es decir, X tiene suma 1 por cada filay columna, entonces la perturbacion de filas y columnas resulta redundante,luego solo se hace necesaria la perturbacion diagonal. Para mas detallesver [Hef77]. El tema de cual perturbacion se hace necesaria bajo distintasrelajaciones es tratado en [PRW94b]

4.1.4. Relajaciones

Dado que el problema de asignacion cuadratica es NP-duro, la expresion(4.4) resulta sumamente util ya que inmediatamente se obtienen relajaciones.Estas relajaciones remueven la naturaleza combinatorial del problema y per-miten su resolucion mediante metodos de optimizacion continua. La estrate-gia es relajar la funcion objetivo y/o las restricciones, de manera de obtenerun problema mas tratable. En general no se obtienen aproximaciones utilesmediante estas relajaciones, pero es posible encontrar la mejor relajaciondentro de una familia de problemas generados mediante las perturbacionesmencionadas en la Seccion 4.1.3.

Linealizacion

Al eliminar termino cuadratico del problema de asignacion cuadratica, elproblema se transforma en un problema lineal de asignacion, que puede serresuelto de manera bastante eficiente. En general, el problema de asignacioncuadratica puede ser relajado a un problema lineal binario. Esto puede ha-cerse mediante la introduccion de nuevas variables binarias yijkl = xij xkl.Estas nuevas variables reemplazan al termino cuadratico en la funcion obje-tivo. Se agregan nuevas restricciones para asegurar la consistencia con el pro-blema original. Tıpicamente, para obtener un problema lineal ordinario, seusa el envoltura convexa del conjunto factible. Ver [Law63, LW76b, LW76a,KB78, BM80, BS79, CMT80, BB83, FY81, AS86, Had89]

35

Page 46: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

Programacion cuadratica

Como se senala en la Seccion 4.1.3, la funcion objetivo puede ser pertur-bada sin cambiar el optimo del problema de asignacion cuadratica. Ademas,estas perturbaciones resultan muy utiles en la obtencion de problemas rela-jados. Ya que se pueden realizar perturbaciones diagonales, es posible per-turbar las matrices A y B con el fin de hacer convexa a la Hessiana de lafuncion objetivo. Por otras parte, se puede tomar la envoltura convexa delconjunto factible, es decir, se puede relajar el conjunto factible del conjuntode matrices de permutacion al conjunto de matrices doble estocasticas D.Este procedimiento da como resultado un problema cuadratico tıpico, quepuede ser resuelto por metodos bien conocidos.

Subproblemas de region de confianza

Usando la segunda expresion en (4.4) y relajando el conjunto factible aX ∈ S∩E , luego no es necesario preocuparse por la convexidad de la funcionobjetivo, es decir se obtiene un problema tratable llamado subproblema deregion de confianza. En [SW92] se muestra que los duales de estos problemasresultan problemas de maximizacion concavos.

Programacion semidefinida

Las restricciones ortogonales pueden ser relajadas a XXt � I, es decir,XXt − I es semidefinida negativa. Esta relajacion es discutida en detalle en[KRW93].

4.2. Complejidad Computacional

En 1976, Sahni y Gonzalez demostraron que el problema de asignacioncuadratica es NP-completo, por lo que encontrar un algoritmo que resuelva elproblema en tiempo polinomial es poco probable [SG76]. Ademas, probaronque encontrar una solucion ε-aproximada del problema de asignacion cua-dratica tambien es un problema NP-completo, por lo que el problema deasignacion cuadratica pertenece a una clase aun mas difıcil en cuanto a sucomplejidad.

Varios problemas NP-completos pueden ser facilmente formulados co-mo casos especiales del problema de asignacion cuadratica, entre estos se

36

Page 47: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

encuentran:

El problema del vendedor viajero: La matriz de distancia del problemay la matriz de flujo corresponde a la matriz de adyacencia en un ciclode largo n.

El problema de particion de grafo: La matriz de distancia correspondea la matriz de adyacencia del problema y la matriz de flujo correspondea la matriz de adyacencia de dos grafos completos disjuntos de tamanon/2 (suponiendo n par).

El problema del maximo clique: Para identificar la existencia de unclique de tamano k, se construye una matriz de distancia que corres-ponde a la matriz de adyacencia del problema y la matriz de flujo co-rresponde a la matriz de adyacencia de un clique de tamano k. Luegoel maximo clique puede ser determinado resolviendo n problemas deasignacion cuadratica, uno para cada k = 1, · · · , n.

Existen alguno casos especiales del problema de asignacion cuadrati-ca que son resolubles en tiempo polinomial. Christofides y Gerard [CG76]investigaron condiciones bajo las cuales el problema de asignacion cuadra-tica puede se resuelto en tiempo polinomial. Ellos mostraron que si las dosmatrices A y B son matrices de adyacencia con pesos de un arbol, entoncesel problema puede ser resuelto en tiempo polinomial. Pero si solo una de lasdos matrices es una matriz de adyacencia con pesos de un arbol, entoncesel problema continua siendo NP-completo ya que el problema del vendedorviajero puede ser reducido a esta forma.

En 1973 Adolphson y Hu [CG76] presentan un problema resoluble entiempo O(n log n). En el caso en que una de las matrices representa la matrizde adyacencia con pesos de un arbol, mientras la otra matriz representa ladistancia en un grafo reticular G = (V, E), donde la distancia entre dosnodos resulta ser el numero de arcos del camino mas corto entre dichosnodos.

Otros problemas resolubles en tiempo polinomial son cuando una delas matrices representa una matriz de adyacencia con pesos de una dobleestrella (ver [CG76]); y cuando ambas matrices son matrices de adyacenciacon pesos de grafos en serie-paralelo que no contienen subgrafos bipartitosK2,2 [Ren86].

37

Page 48: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

4.3. Metodos de Resolucion

4.3.1. Algoritmos Exactos

En esta seccion, se describiran diferentes metodos usados para encon-trar soluciones optimas del problema de asignacion cuadratica. Entre estosmetodos se incluyen los de ramificacion y acotamiento, plano cortante yprogramacion dinamica.

Ramificacion y acotamiento

La experiencia numerica indica que, entre estos tres tipos de algoritmos,los de ramificacion y acotamiento resultan ser los mas exitosos, por lo queseran descritos de manera mas extensa. Actualmente, problemas de tamanomayor a 15 son difıciles de resolver. Esto se debe a la dificultad inherente deproblema de asignacion cuadratica, caracterizada por la ausencia de tecni-cas para el calculo de cotas inferiores ajustadas, tanto para problemas demediana como gran escala. Por esta razon, se dedica la Seccion 4.3.2 a estetema.

Entre los metodos de ramificacion y acotamiento se pueden encontrartres tipos de algoritmos: los de asignacion simple, asignacion pareada y losde posicionamiento relativo. Estos tres tipos de algoritmos parten con unapermutacion parcial vacıa la que se va extendiendo durante el desarrollo delalgoritmo, hasta llegar a una permutacion completa.

Los metodos de asignacion simple se remontan a Gilmore [Gil62] y fueronextendidos al problema de asignacion cuadratica general por Lawer [Law63].En este ambito, en cada nodo del arbol de corte se asigna una planta a unalocalidad. Algunos de los primeros algoritmos de ramificacion y acotamientoorientados a la resolucion del problema de asignacion cuadratica se puedenencontrar en [BD80, Edw80, PC89, Rou87]. La asignacion pareada fue desar-rollada por Gravett y Plyter [GP66], Land [Lan63], Nugent [NVR68], etc. Encada nodo del arbol de corte un determinado par de plantas en asignado a undeterminado par de localidades. Por su parte el posicionamiento relativo fueintroducido por Mirchandani y Obata [MO79]. En este enfoque, los nivelesdel arbol de corte no corresponden a asignaciones de plantas a localidedes.Las permutaciones parciales de cada nivel son determinados en terminos delas distancias entre las localidades, es decir, sus posiciones relativas.

La experiencia numerica indica que entre estos tres tipos de algoritmos,

38

Page 49: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

la asignacion simple es la mejor [PRW94a].

Plano cortante

Este tipo de metodos fueron introducidos por Bazaraa y Sherali en[BS80]. A pesar que la experiencia computacional no resulta satisfactoria, es-tos metodos pueden ser usados para encontrar buenas soluciones suboptimas,ver por ejemplo [BB83]. En Bazaraa y Sherali [BS82], se utilizan metodos deplano cortante para resolver la formulacion de minimizacion concava del pro-blema de asignacion cuadratica. Varias heurısticas se derivan de los metodosde plano cortante, obteniendo buenas soluciones en etapas tempranas.

Programacion dinamica

Christofides y Benavent [CB89] usan un enfoque particular del tipo dela programacion dinamica para un caso especial del problema de asigna-cion cuadratica en el cual la matriz de flujos corresponde a la matriz deadyacencia con pesos de un arbol, resolviendo problemas de tamano hasta30.

4.3.2. Cotas Inferiores

Las cotas inferiores son fundamentales para el exito de algoritmos deramificacion y acotamiento en optimizacion combinatorial. La cota inferiorideal debe ser cenida y rapida de calcular. Para el problema de asignacioncuadratica, las cotas inferiores se pueden clasificar principalmente en trestipos. La primera categorıa corresponde a las cotas tipo Gilmore-Lawler[Gil62, Law63]. La segunda categorıa esta compuesta por las cotas basadasen valores propios [FBR87, HRW92a, HRW90, RW92, HRW92b]. En la ter-cera categorıa caen casi todas las otras cotas inferiores, las que resultanestar basadas en una reformulacion del problema de asignacion cuadratica ygeneralmente involucran la resolucion de un numero de subproblemas linea-les [AX85, CM92, CG81, FY83]. Ademas de estas tres categorıas se puededestacar un pequeno grupo de cotas basadas en una separacion de la funcionobjetivo [LPRR92b, LPRR92a].

Cabe notar que, si bien, las cotas basadas en valores propios son las masajustadas, son tambien mas costosas en calculo. A continuacion se describenlas dos primeras categorıas.

39

Page 50: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

Cotas tipo Gilmore-Lawler

Las cotas tipo Gilmore-Lawler son calculadas por medio del productointerno maximal y del producto interno minimal, denotados 〈·, ·〉+ y 〈·, ·〉−respectivamente, definidos por:

〈x, y〉+ = maxP∈Π〈x, Py〉

〈x, y〉− = minP∈Π〈x, Py〉

donde Π representa al conjunto de matrices de permutacion de dimension ny las variables x, y ∈ R

n 2.

Sean ai y bi ∀i = 1, · · · , n los vectores columna de las matrices A y B,respectivamente. Ademas, sean ai (respectivamente bi), ∀i = 1, · · · , n, losvectores consistentes en las n− 1 componentes de ai (resp. bi), a excepcionde aii (resp. bii). Sea tambien la matriz L = [lij ] definida como:

lij = aij bij + 〈ai, bi〉−, ∀i, j = 1, · · · , n

Luego la cota de Gilmore-Lawler para el problema de asignacion cuadra-tica definido por las matrices de flujos A y la matriz de distancias B, resultade la resolucion de un problema lineal de asignacion que tiene por funcionde costos a la matriz L, es decir:

GLB(A, B) = maxP∈Πn

n∑

i=1

lip(i)

donde Πn es el conjunto de todas las permutaciones de {1, 2, · · · , n}.

Cotas basadas en valores propios

Las cotas basadas en los valores propios de las matrices de flujos y dis-tancias A y B, fueron propuestas en una serie de artıculos de Finke [FBR87],Hadley [HRW92a, HRW90], y Rendl y Wolkowicz [RW92]. Estas cotas sebasan en la formulacion vıa traza descrita en la Seccion 4.1.1.

Una cota inferior para la parte cuadratica del problema de asignacioncuadratica, basada en los valores propios de A y B, es dada mediante la

2Si se definen x+, x−, y+ e y− como los vectores resultantes de ordenar creciente ydecrecientemente las componentes de x e y respectivamente, se tiene que 〈x, y〉+ = x+ ·y+

y 〈x, y〉− = x+ · y− = x− · y+.

40

Page 51: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

relajacion del conjunto factible del conjunto de las matrices de permutacional conjunto de matrices O. Esto da por resultado es siguiente teorema (ver[Fan51, FBR87]).

Teorema 4.1 Sean A y B matrices simetricas, sean λ1 ≤ λ2 ≤ · · · ≤ λn

los valores propios de A, y sean µ1 ≤ µ2 ≤ · · · ≤ µn los valores propios deB. Entonces ∀p ∈ Π:

n∑

i=1

λiµn−i+1 ≤n

i=1

n∑

j=1

aij bp(i)p(j) ≤n

i=1

λiµi

La parte lineal del problema de asignacion cuadratica, correspondientea la matriz C, es acotada resolviendo un problema de asignacion de sumalineal, o LSAP (C). Con lo que se obtiene la siguiente cota para el problemade asignacion cuadratica:

EV (A, B, C) =n

i=1

λiµn−i+1 + LSAP (C)

Antes de utilizar los valores propios para obtener las cotas inferiores parael problema de asignacion cuadratica, se deben hacer ciertas reducciones a lasmatrices originales, lo que involucra realizar perturbaciones diagonales y/ode filas y columnas a las matrices. Cotas como las descritas anteriormenteson desarrolladas en [FBR87, HRW90].

En [HRW90], las cotas inferiores se obtienen de la relajacion del conjun-to factible a O ∩ E ; esta relajacion hace las reduccion de filas y columnasredundantes.

41

Page 52: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

Capıtulo 5

Resolucion del Problema de

Asignacion Cuadratica

5.1. Formulacion

5.1.1. Problema de Asignacion Cuadratica

La formulacion de la cual se origina el presente estudio del problema deasignacion cuadratica, es una modificacion de la formulacion de Koopmans-Beckmann1 en la que la incognita se escribe vectorialmente. Se usa el produc-to de Kronecker para caracterizar la funcion objetivo, omitiendo el terminolineal.

Haciendo x = vec(X) 2 y Q = A⊗B, el problema de asignacion cuadra-tica puede escribirse como:

min{〈Qx, x〉 : Fx = 11; Cx = 11; x ∈ {0, 1}n2

} (5.1)

donde n es la dimension asociada al problema, 11 = (1, · · · , 1)t ∈ Rn, 〈·, ·〉

es el producto interno habitual en Rn2

, Q ∈Mn2×n2(Z) y F, C ∈Mn×n2(Z)3,

mas especıficamente:

F = [ e1, · · · , e1 | e2, · · · , e2 | · · · | en, · · · , en ]

C = [ e1, · · · , en | e1, · · · , en | · · · | e1, · · · , en ]

1Esta y otras formulaciones del problema de asignacion cuadratica son descritas en laSeccion 4.1.1.

2vec(X) denota al vector formado por las columnas de X.3F y C son la matriz de suma por filas y por columnas respectivamente.

42

Page 53: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

donde ei corresponde al i-esimo vector canonico de Rn.

Region a estudiar

El metodo usado para enfrentar este problema es un algoritmo de rami-ficacion y acotamiento, por lo que constantemente se estara tratando con elproblema de asignacion cuadratica en una subregion de {0, 1}n

2

. La forma

general para una de estas subregiones es Rx =∏n2

i=1 {ui, Ui}, donde ui, Ui ∈{0, 1} y ui ≤ Ui ∀i = 1, · · · , n2 4.

Luego el problema de asignacion cuadratica para la subregion Rx queda:

min{〈Qx, x〉 : Fx = 11; Cx = 11; x ∈n2∏

i=1

{ui, Ui}} (5.2)

5.1.2. Forma Bilineal

Para llevar el problema a la forma bilineal, requerida para usar el Teo-rema 2.2.1, se introduce la variable auxiliar y = Qx, con lo que el problema(5.2) queda:

min{〈y, x〉 : Qx = y; Fx = 11; Cx = 11;

x ∈n2

i=1

{ui, Ui}; y ∈ Q(n2

i=1

{ui, Ui})}(5.3)

Ya que el Teorema 2.2.1 esta formulado para problemas bilineales so-bre regiones rectangulares continuas, se hace necesario relajar el dominio.

Mientras para x ∈ Rx =∏n2

i=1 {ui, Ui} la relajacion es obvia: x ∈ Rx =∏n2

i=1 [ui, Ui] ⊃ Rx, para y ∈ Ry = Q(∏n2

i=1 {ui, Ui}) la relajacion no es tan

clara, pudiendo tomarse de la forma y ∈ Ry =∏n2

i=1 [vi, Vi] ⊃ Ry, donde∀i = 1, · · · , n2 vi, Vi ∈ R, pudiendo ser obtenidos de distintas formas como:

vi ≤ min{〈Qx, ei〉 : Fx = 11; Cx = 11; x ∈ R}

Vi ≥ max{〈Qx, ei〉 : Fx = 11; Cx = 11; x ∈ R}

4Mas detalles sobre la forma de las subregiones de {0, 1}n2

se pueden inferir del procesode branching descrito en la Seccion 5.2.1.

43

Page 54: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

donde ei corresponde al i-esimo vector canonico de Rn2

, y donde R puedeser R

n2

+ , {0, 1}n2

, [0, 1]n2

,Rx o Rx5.

Luego el problema (5.3) queda de la forma:

min{〈y, x〉 : Qx = y; Fx = 11; Cx = 11;

x ∈n2

i=1

[ui, Ui]; y ∈n2

i=1

[vi, Vi]}(5.4)

Es claro que, debido a la relacion Qx = y, la variable y solo puede tomarvalores en Ry, de modo que la eleccion de las constantes vi y Vi no afecta elvalor optimo del problema (5.4). Sin embargo mientras vi y Vi sean cotas demejor calidad el analisis del dual arrojara mejores cotas para la region Rx.

5.1.3. Dual Lagrangeano

En este punto, el problema se encuentra en el formato necesario paraaplicar el Teorema 2.2.1. Para calcular el dual lagrangeano del problema(5.4), se empleara el resultado enunciado en el Ejemplo 2 en la Seccion 2.2,de acuerdo a esto el dual del problema (5.4) es6:

min{〈u∗v, p〉+ 〈u∗V , q〉+ 〈U ∗v, r〉+ 〈U ∗V , s〉 :

Q[u∗(p + q) + U ∗(r + s)] = v∗(p + r) + V ∗(q + s);

F[u∗(p + q) + U ∗(r + s)] = 11;

C[u∗(p + q) + U ∗(r + s)] = 11;

p + q + r + s = e;

p, q, r, s ∈ [0, 1]n2

}

(5.5)

donde 11 = (1, · · · , 1)t ∈ Rn, u = (u1, · · · , un2)t, U = (U1, · · · , Un2)t,

v = (v1, · · · , vn2)t, V = (V1, · · · , Vn2)t, e = (1, · · · , 1)t ∈ Rn2

y a∗ b =(a1 · b1 , · · · , an2 · bn2 )t ∈ R

n2

.

5Las consecuencias de la eleccion de los vi y Vi, la forma e instante de sus calculosdentro del algoritmo seran abordados mas adelante en la Seccion 5.2.2.

6Esta formulacion corresponde al bidual del problema (5.4), que corresponde a su dual,como se hace notar en la Observacion 2.2.1.

44

Page 55: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

5.2. Algoritmo

A partir del algoritmo presentado en la Seccion 2.3.3, orientado a laresolucion de problemas enteros bilineales con restricciones bilineales, se de-sarrollo un algoritmo dedicado especıficamente a la resolucion de problemasde asignacion cuadratica. En este ultimo algoritmo, el arbol generado porel proceso de branching se recorre de una manera particular, donde en cadaiteracion a partir de un nodo se recorre el arbol de corte en profundidadsolo hasta una profundidad prefijada. A continuacion se presenta una ver-sion simplificada de dicho algoritmo, donde el arbol de corte es recorrido enprofundidad.

Durante la ejecucion de este algoritmo se almacena la siguiente informa-cion:

Los elementos del recubrimiento Λ son almacenados en un stack S.Cada elemento del stack contiene los vertices que definen la region

R =∏n2

i=1 [ui, Ui]×∏n2

i=1 [vi, Vi], la mejor cota inferior encontrada paraesta region γ y los enlaces para llegar a region antecesora y sucesora,segun el orden de las cotas inferiores. Ademas de estos elementos,junto con cada region se almacena una variable espacial que indica elproximo grupo de variables a cortar y el orden en que se evaluaran lasregiones producidas por este corte7.

Como informacion global se necesita: α(Λ) el mejor valor obtenido conun punto primal factible (x∗, y∗) y γ(Λ) la mas pequena cota inferiorsobre el stack S.

Para un mejor entendimiento del algoritmo, algunos de sus pasos serantratados en detalle mas adelante.

1. Inicializacion

Inicializar el stack S comenzando vacıo.

α(Λ)←∞. Si se conociera inicialmente un punto factible (x, y)se puede definir α(Λ)← f(x, y) y (x∗, y∗)← (x, y).

7Los detalles de la obtencion y uso de estas variables especiales se encuentran en laSeccion 5.2.1.

45

Page 56: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

γ(Λ)← −∞.

Para∏n2

i=1 [ui, Ui] = [0, 1]n2

: calcular vi, Vi i = 1, · · · , n2, como

se describe en la Seccion 5.2.2.

Ingresar la region [0, 1]n2

×∏n2

i=1 [vi, Vi] al stack S, conteniendo

γ(Λ) como la mejor cota inferior de la region.

2. Sacar un elemento del stack S, que llamaremos

R =∏n2

i=1 [ui, Ui]×∏n2

i=1 [vi, Vi].

3. Dividir R generando las subregiones R1, R2, · · · , Rn−prof , segun se

explica en la Seccion 5.2.1.

4. Para cada una de las regiones, Rj =∏n2

i=1 [uji , U

ji ]×

∏n2

i=1 [vji , V

ji ],

con j = 1, · · · , n− prof :

Si diametro(Rj) = 0 entonces:

• Sea {(xj , yj)} = Rj , si (xj , yj) es factible sea

βj ← f(xj , yj); si no βj ← +∞.

Si diametro(Rj) > 0 entonces:

• Calcular su cota inferior βj y punto candidato a ser factible

(xj , yj), como se describe en la Seccion 5.2.2.

Actualizar la cota inferior de la subregion: γj ← max{γj , βj}.

Si (xj , yj) es factible entonces:

• Si α(Λ) > f(xj , yj) entonces:

◦ α(Λ)← f(xj , yj).

◦ (x∗, y∗)← (xj , yj).

◦ Eliminar las regiones en S cuya cota inferior sea mayor

que α(Λ).

• Verificar condicion suficiente de optimalidad descrita en la

Seccion 2.3.1.

Si γj ≤ α(Λ), diametro(Rj) > 0 y la condicion suficiente de

optimalidad NO se cumple:

• Para∏n2

i=1 [uji , U

ji ]: actualizar vj

i , V ji i = 1, · · · , n2, como se

describe en 5.2.2.

• Determinar el proximo grupo de variables a cortar y el

orden en que seran evaluadas las regiones producidas por

dicho corte, como se detalla en 5.2.1.

46

Page 57: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

• Poner Rj en S.

5. Si S no esta vacıo y α(Λ) > γ(Λ) ir a 2.

6. Si hemos encontrado un (x∗, y∗), este punto es solucion del problema;

si no, el problema es infactible.

Cabe notar que no es necesario actualizar explıcitamente γ(Λ), ya que secaracteriza mediante un enlace a la region con menor cota inferior, enlace quees actualizado junto con el stack. Por su parte, debido a la forma crecientede las cotas inferiores γ, γ(Λ) se actualiza al cortar la region con menor cotainferior, que resulta ser la primera del stack S.

5.2.1. Branching

Las principales diferencias entre este algoritmo y el descrito en la Seccion2.3.3, se encuentran en el branching. Las razones de estas diferencias son lassiguientes:

Para brindar una mayor adaptabilidad a los distintos problemas deasignacion, no existe un orden de corte de variables preestablecido, esdecir, el orden en que se recorre el arbol generado por el branching esdecidido a medida que este es construido.

Gracias a las restricciones de asignacion en el problema entero, unbranching “0-1” independiente para cada variable generarıa un arbolde corte practicamente lleno de regiones infactibles. Sin embargo, te-niendo en cuenta estas restricciones, se obtiene un arbol de corteasimetrico tremendamente desbalanceado8, es por esto que se eligeuna forma particular de recorrer el arbol, distinta al recorrido en pro-fundidad de 2.3.3.

Es por estas razones que dentro del proceso de branching , previo a ladivision de la region, se elige un grupo de variables directamente relacionadaspor las restricciones de asignacion para ser cortadas en conjunto, generandomas de dos regiones nuevas, las que seran evaluadas en un orden particular.

La forma en que se que se subdivide una region se puede resumir, intui-tivamente, en el ejemplo esquematizado en la Figura 5.1.

8Esto se debe a que fijar una variable en “1” obliga a fijar otras variables en “0”(corres-pondientes a la misma fila y columna en la formulacion de Koopmans-Beckmann 4.1.1).

47

Page 58: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

{X1•,X2•,X3•,X4•} = {et

1, et

2, et

3, et

4}

X1• = et

1

{X2•,X3•,X4•} = {et

2, et

3, et

4}

X1• = et

2

{X2•,X3•,X4•} = {et

1, et

3, et

4}

X1• = et

3

{X2•,X3•,X4•} = {et

1, et

2, et

4}

X1• = et

4

{X2•,X3•,X4•} = {et

1, et

2, et

3}

X1• = et

3

X2• = et

1

{X3•,X4•} = {et

2, et

4}

X1• = et

3

X2• = et

2

{X3•,X4•} = {et

1, et

4}

X1• = et

3

X2• = et

4

{X3•,X4•} = {et

1, et

2}

X1• = et

3

X2• = et

2

X3• = et

1

X4• = et

4

X1• = et

3

X2• = et

2

X3• = et

4

X4• = et

1

Figura 5.1: Ejemplo esquema de corte en un problema de asignacion cuadra-tica de dimension n = 4, donde ei corresponde al i-esimo vector canonicode R

n y Xj• a la j-esima fila de X ∈ Mn×n({0,1}), segun la formulacion deKoopmans-Beckmann.

Los detalles de los procesos de seleccion de variables a cortar, divisionde la region y el orden de evaluacion las subregiones son expuestos a con-tinuacion.

48

Page 59: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

Corte de una variable

Antes de detallar como se divide una region en sus subregiones es nece-sario entender como se fijan las variables y su relacion con las restriccionesde asignacion.

El problema de asignacion cuadratica en su formulacion Koopmans-Beckmann busca una matriz de permutacion9 X ∈ Mn×n({0,1}), esta res-triccion en la formulacion bilineal usada para el calculo de cotas inferiores10

da origen a las restricciones de asignacion11, donde la variable es un vectorx ∈ {0, 1}n

2

.

Sea la formulacion de Koopmans-Beckmann o la bilineal, la forma es-cogida para representar el problema, en ambas cuando se fija una variable a1 se debe fijar otro grupo de variables a 0. En la formulacion de Koopmans-Beckmann las variables que deben ser fijadas en 0 son simplemente las dela misma fila o columna que la variable fijada en 1. Esta descripcion resultaalgo mas compleja para la formulacion bilineal, por lo que se mantendra lanocion de fila y columna para x = vec(X) 12.

En cuanto al corte de las variables, se dira que una variable esta cortadaen 0 si su valor ha sido fijado en 0; que esta cortada en 1 si su valor hasido fijado en 1; y que no esta cortada, si su valor aun no ha sido fijado13.Con lo anterior en mente, en adelante se entendera por cortar una variablea cortarla en 1 junto con cortar en 0 a todas las variables correspondientesa la misma fila o columna.

Por ultimo, cabe notar que, si en una region hay p variables cortadas en1, en cualquier fila o columna de variables hay exactamente n−p variables sincortar. Luego se entendera por profundidad de corte de la region a prof = p.

Division de una region

En el algoritmo descrito en la Seccion 5.2 se hace referencia a “unavariable espacial que indica el proximo grupo de variables a cortar y el ordenen que se evaluaran las regiones producidas por este corte”. Teniendo encuenta la notacion introducida en el punto anterior, para una region R, de

9Es decir una matriz de ceros y unos, con un unico 1 por fila y columna.10Problema (5.4).11Fx = 11 y Cx = 11.12vec(X) denota al vector formado por las columnas de X.13O sea, se dira que la i-esima variable esta cortada en 0 si ui = Ui = 0; que esta cortada

en 1 si ui = Ui = 1; y que no esta cortada si ui = 0 y Ui = 1.

49

Page 60: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

profundidad de corte (prof), el grupo de variables a cortar corresponde a unafila de variables, que se indica por su numero de fila: i∗. Mientras el ordende evaluacion de dichas variables se almacena en un arreglo con los numerosde columna de las variables no cortadas de la fila: ord[1], · · · , ord[n− prof ].

Luego al cortar en el orden indicado cada una de las variables no cortadasde la fila senalada14, se generan cada una de las subregiones R1, · · · , Rn−prof .

Seleccion del proximo grupo variables a cortar y orden de evalua-

cion de las subregiones

En el algoritmo descrito en la Seccion 5.2, antes de ingresar una regional stack S, se determinan el proximo grupo de variables a cortar y el ordenen que seran evaluadas la subregiones resultantes, esto es, la proxima fila acortar y el orden en que seran cortadas sus variables sin cortar, originandopor cada corte una subregion. Este proceso de “seleccion y orden” funcionaen base a la siguiente heurıstica:

Dada la region R =∏n2

i=1 [ui, Ui]×∏n2

i=1 [vi, Vi] de profundidad de corteprof , si notamos por (p, q, r, s) a la solucion del problema (5.5) para laregion R. Para todo j correspondiente a una variable no cortada sea Rj =∏n2

i=1 [uji , U

ji ]×

∏n2

i=1 [vji , V

ji ] a la subregion de R que se produce al cortar al

j-esima variable, sea βj = 〈uj∗vj , p〉+ 〈uj∗V j , q〉+ 〈U j∗vj , r〉+ 〈U j∗V j , s〉el valor objetivo de (p, q, r, s) para el problema (5.5) para la region Rj .

Luego la proxima fila a cortar i∗ se caracteriza como la fila correspon-diente al mayor valor βj y el orden de corte ord[1], ord[2], · · · , ord[n− prof ]corresponde a los numeros de columna de las variables no cortadas en la filai∗, ordenados de forma creciente segun los βj .

5.2.2. Bounding

Cotas variable dependiente

Como se ve en el algoritmo descrito en la Seccion 5.2 la variable depen-

diente y = Qx ∈∏n2

i=1 [vi, Vi] ⊃ Q{∏n2

i=1 [ui, Ui]} no es cortada, sino quees calculada para la region inicial y actualizada para cada region al sacarladel stack S. La razon de esto es practica; CPLEX15, programa utilizado

14Es decir, al cortar las variables correspondientes a la fila i∗ y a las columnasord[1], · · · , ord[n − prof ].

15CPLEX version 5.0, para mas informacion ver [ILO98].

50

Page 61: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

para calcular las cotas inferiores de cada region, al resolver problemas suce-sivos mejora su rendimiento mientras mas similares son los problemas queresuelve, y al actualizar los vi y Vi el problema al resolver el problema (5.5)cambia casi completamente16. Luego a fin de ganar en velocidad de calculose sacrifica precision en las cotas de la variable y, lo que se traduce en unamejora en el rendimiento general del algoritmo.

Para el calculo de estas cotas para la variable dependiente y, se resuelvenlos siguientes problemas usando CPLEX:

vi = min{〈Qx, ei〉 : Fx = 11; Cx = 11; x ∈n2∏

i=1

[ui, Ui]}

Vi = max{〈Qx, ei〉 : Fx = 11; Cx = 11; x ∈n2∏

i=1

[ui, Ui]}

donde ei corresponde al i-esimo vector canonico de Rn2

, y 11 = (1, · · · , 1)t ∈R

n.

Es decir,∏n2

i=1 [vi, Vi] se calcula como el menor rectangulo que contiene

a Q(∏n2

i=1 [ui, Ui]).

Cota inferior region

A fin de calcular la cota inferior del problema de asignacion cuadratica(β), utilizada en el algoritmo descrito en la Seccion 5.2, para una region

R =∏n2

i=1 [ui, Ui]×∏n2

i=1 [vi, Vi]; se resuelve el problema (5.5) sobre dicharegion mediante el uso de CPLEX.

Candidato a punto factible

En un algoritmo de ramificacion y acotamiento la obtencion de puntosfactibles a medida que se desarrolla el branching resulta de suma importan-cia. Si notamos por (p, q, r, s) a la solucion del problema (5.5) para region

R =∏n2

i=1 [ui, Ui]×∏n2

i=1 [vi, Vi], se puede obtener un punto candidato a ser

16De emplearse otro programa para calcular las cotas inferiores para cada region, elcalculo de las cotas para y deberıa realizarse antes del calculo de las cota inferior de cadaregion.

51

Page 62: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

factible haciendo:

xi = Redondear(ui(pi + qi) + Ui(ri + si)) ∀i = 1, · · · , n2

y = Qx

5.3. Resultados Numericos

Al igual que en los resultados numericos presentados en la Seccion 2.4 es-tos tambien fueron obtenidos usando un Computador Origin 2000 de SiliconGraphics [Sil]. El Origin 2000 tiene 6 procesadores MIPS R10000 (revision:2.6). Cada procesador tiene 32 Kb de memoria cache, una memoria RAMde 256 Mb y una velocidad de CPU de 195 MHz. A partir del codigo se-cuencial17 usado para resolver problemas enteros bilineales con restriccionesbilineales, se desarrollo un codigo especializado en la resolucion de problemasde asignacion cuadratica18. Para la resolucion de los subproblemas linealesse utilizo el paquete CPLEX19 de ILOG [ILO].

QAPLIB

En 1991 Burkard, Karisch y Rendl presentaron QAPLIB en [BKR91],una base de datos consistente en distintos problemas de asignacion cua-dratica junto a sus permutaciones optimas, o en su defecto las mejorespermutaciones conocidas a la fecha. QAPLIB fue creada para servir co-mo una baterıa de problemas de prueba uniforme para los trabajos so-bre el problema de asignacion cuadratica. Es actualizada periodicamentey puede encontrarse en http://www.diku.dk/~karisch/qaplib y http:

//www.opt.math.tu-graz.ac.ta/~karisch/qaplib.

Los problemas de asignacion cuadratica utilizados para probar la efec-tividad del algoritmo expuesto en la Seccion 5.2 corresponden a distintostipos de problemas en QAPLIB, los que se describen, junto con los resul-tados obtenidos, a continuacion.

17Dado que el caracter secuencial del codigo, solo se utiliza uno de los procesadores delOrigin 2000.

18Codigo programado en lenguaje C++.19CPLEX version 5.0, para mas informacion ver [ILO98].

52

Page 63: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

Problemas Chr

Christofides y Benavent en [CB89] presentan este tipo de problemas,donde las matrices de flujos y distancias corresponden, una a la matriz deadyacencia de un arbol con pesos, mientras que la otra corresponde a lamatriz de adyacencia de un grafo completo.

Tabla 5

prob n iter mx reg cand fact tpo [seg] tpo [min]

Chr12a 12 105 126 3247 633 11

Chr12b 12 12 12 350 73 2

Chr12c 12 767 847 13928 3270 55

Chr15a 15 1973 2347 267654 121897 2032

Chr15b 15 219 491 3275 3114 52

Chr15c 15 196 227 107090 133880 2231

Nota: prob = nombre del problema estudiado; n = dimension del problema;iter = numero de iteraciones; mx reg = numero maximo de regiones alma-cenadas; cand fact = numero de puntos factibles encontrados; tpo = tiempode CPU, en segundos [seg] y minutos [min].

Problemas Nug

En [NVR68] Nugent, Vollmann y Ruml introducen estos problemas,donde la matriz de distancia corresponde a las distancias tipo Manhattansobre una malla rectangular.

Tabla 6

prob n iter mx reg cand fact tpo [seg] tpo [min]

Nug12 12 3286 1497 205452 226827 3781

Nota: Ver nota Tabla 5.

Problemas Scr

Los problemas Scr se deben a Scriabin y Vergin [SV75], en donde lasdistancias son rectangulares.

53

Page 64: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

Tabla 7

prob n iter mx reg cand fact tpo [seg] tpo [min]

Scr12 12 789 1841 2110 4555 76

Nota: Ver nota Tabla 5.

Problemas Tai

Taillard propone los problemas uniformemente generados Taixxa [Tai91].Por su parte, los problemas Taixxb son simetricos, generados aleatoriamente[Tai94].

Tabla 8

prob n iter mx reg cand fact tpo [seg] tpo [min]

Tai10a 10 723 721 7709 4869 82

Tai10b 10 1007 574 41030 6717 112

Tai12a 12 1350 1341 34703 121685 2029

Tai12b 12 5950 1728 507953 177014 2867

Nota: Ver nota Tabla 5.

54

Page 65: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

Capıtulo 6

Observaciones Parte II

6.1. Algoritmo

Convergencia del algoritmo

Al igual que en el algoritmo descrito en la Seccion 2.3.3, la convergenciade este algoritmo resulta trivial, gracias a que el problema de asignacioncuadratica tiene un numero finito de puntos factibles, luego en el peor casose recorre el arbol de corte en tiempo finito.

Otras restricciones de filas y columnas

A fin de mejorar la calidad de las cotas obtenidas mediante el Teorema2.2.1, se intento introducir otro tipo de restricciones a las del problema (5.4)de manera de tener un problema dual mas rico en restricciones.

En este contexto se probo introducir distintas combinaciones de restric-ciones de normalidad y ortogonalidad para filas y columnas1, sin embargo,debido a la forma de las subregiones obtenidas mediante el proceso de bran-ching2 las nuevas restricciones no representan un aporte al mejoramiento delas cotas.

1Las nociones de filas y columnas para la formulacion bilineal del problema de asig-nacion cuadratica (problema (5.4)) son introducidas en la Seccion 5.2.1, a partir de laformulacion de Koopmans-Beckmann descrita en la Seccion 4.1.1.

2Proceso descrito en la Seccion 5.2.1.

55

Page 66: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

Factibilidad en las sub regiones

Gracias a la forma en que subdividen las regiones en el proceso de bran-ching , el problema de asignacion cuadratica en cada una de las subregionesse mantiene factible, de modo que en el algoritmo descrito en la Seccion 5.2no se produce eliminacion sub regiones por infactibilidad.

Aporte nulo en el gap por relajacion del dominio

Pese a que, en un principio, la relajacion de dominio de∏n2

i=1 {ui, Ui}×

Q(∏n2

i=1 {ui, Ui}) a∏n2

i=1 [ui, Ui]×∏n2

i=1 [vi, Vi] no es de la forma descrita en(3.2), aun ası es posible obtener un resultado como el expuesto la Seccion3.2. Esto se debe a que dada la restriccion Qx = y, el paso de la region

Q(∏n2

i=1 {ui, Ui}) a la region∏n2

i=1 [vi, Vi] no sea una relajacion de dominiopara la variable dependiente y, mientras que para la variable independiente

x la relajacion de dominio de∏n2

i=1 {ui, Ui} a∏n2

i=1 [ui, Ui] corresponde a laforma descrita en (3.2), por lo que la demostracion de la propiedad resultaanaloga a la presentada en la Seccion 3.2.

6.2. Resultados Numericos

En cuanto al analisis de los resultados numericos presentados en la Sec-cion 5.3, se puede observar que en los mejores resultados se obtuvieron sobrelos problemas Chr, alcanzando a resolverse problemas de dimension 15; encambio para los otros problemas de prueba solo se llego a dimension 12.

La razon de esta disparidad se encuentra en la estructura de las matricesde flujos y de distancias, sin embargo la forma en que esta estructura afectael desempeno del algoritmo, no es parte del estudio del presente trabajo,dicho estudio se plantea como idea para trabajos futuros en la Seccion 7.2.

En cuanto a la comparacion de estos resultados numericos con los deotros algoritmos se puede citar a Brixius y Anstreicher [BA00], quienes pormedio de una cota basada en los valores propios de modificaciones de lasmatrices de distancias y flujos; utilizando distintas y elaboradas estrategiasde branching, logran resolver problemas como el Nug20, Nug22 y Tai17a,entre otros, en tiempos comparables a los obtenidos al aplicar el algoritmopara resolver problemas Chr15a, Chr15c o Tai12b. De esto se concluye quelos resultados numericos no son impresionantes, sin embargo el algoritmo

56

Page 67: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

presentado en este trabajo no utiliza la estructura particular de la funcionobjetivo. Es por esto que en la Seccion 7.2 se propone estudiar la estructurade la funcion objetivo y buscar la forma de incorporar esta informacion enla resolucion de problema de asignacion cuadratica.

57

Page 68: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

Parte III

Conclusiones

58

Page 69: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

Capıtulo 7

Conclusiones

7.1. Consecucion de Objetivos y Logros

Con respecto al problema entero concavo separable, si bien los resulta-dos de las pruebas numericas no son impresionantes, teniendo en cuenta lageneralidad del problema y el tipo de problemas de prueba utilizados, sepuede decir que los objetivos especıficos fueron alcanzados, destacandose lossiguientes logros:

Desde el punto de vista teorico, en este trabajo se muestra que el dualde un problema continuo concavo separable sobre una region rectan-gular es un problema lineal.

Basado en este resultado se desarrollo un algoritmo de ramificacion yacotamiento para la resolucion del problema entero concavo separable.

Mediante la implementacion de este, para el problema entero bilinealcon restricciones bilineales, indirectamente se obtiene un metodo deresolucion para el problema de la mochila, el problema de asignacioncuadratica y el problema del maximo corte, entre otros. Con lo que seabre la posibilidad de desarrollar a futuro, metodos especıficos para laresolucion de estos problemas basados en las ideas, metodos y tecnicasde dualizacion utilizadas.

Se logro identificar un excelente candidato a punto factible, con condi-cion suficiente de optimalidad local, sobre cada region de la ramifi-cacion. Ademas, en la practica, mediante el uso de este candidato se

59

Page 70: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

logra encontrar la solucion optima mucho antes de certificar su opti-malidad.

Si bien, con respecto al problema de asignacion cuadratica, las experien-cias numericas pueden parecer desalentadoras1, en un principio, antes de suevaluacion se debe tener en cuenta lo siguiente:

El algoritmo resuelve la forma general del problema de asignacion cua-dratica.

El algoritmo propuesto es de resolucion exacta, es decir, no solo en-cuentra el valor optimo, sino que tambien lo certifica como tal.

Habitualmente el valor optimo es alcanzado mucho antes de su certi-ficacion.

El metodo para la obtencion de cotas inferiores y de puntos factibleses bastante distinto a lo que se puede encontrar en la literatura.

Con esto en mente, el resultado obtenido puede considerarse como un primerpaso en la direccion deseada, quedando aun muchas ideas para su desarrollosin tratar, algunas de las cuales son mencionadas en la siguiente seccion.

7.2. Ideas para Trabajos Futuros

Para el problema de asignacion cuadratica se propone:

Estudiar el tipo y estructura de problemas sobre los que el metodoobtiene mejores resultados, para ası generar estrategias de corte apro-piadas para estos problemas.

Estudiar la formulacion de la funcion objetivo, en la que se describeel termino cuadratico mediante Q = A ⊗ B, el efecto del corte delas variables en dicha formulacion, y sus consecuencias al aplicar elTeorema 2.2.1.

En el espıritu del Teorema 2.2.1, buscar un resultado similar parala formulacion de Koopmans-Beckmann del problema de asignacion

1Si bien el algoritmo es capaz de resolver instancias de dimensiones mayores a 15, eltiempo de espera resulta inaceptable.

60

Page 71: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

cuadratica, ya que en la formulacion bilineal en base al producto deKronecker, utilizada para aplicar el Teorema 2.2.1, se pierde buenaparte de la estructura del problema.

Tanto para el marco teorico dado por el problema entero concavo sepa-rable, como para el ambito practico del problema de asignacion cuadratica,se propone estudiar en detalle el candidato a punto factible, las condicionespara su factibilidad y su relacion con la estructura de cada problema, bus-cando formas de calculo que mejoren sus posibilidades de factibilidad, paraluego:

En base al candidato a punto factible, generar algoritmos de resolucionaproximada.

Dado que en cualquier algoritmo de ramificacion y acotamiento unode los mayores problemas es la generacion de puntos factibles, es posi-ble utilizar el candidato a punto factible junto a otro tipo de cotasinferiores como las descritas en la Seccion 4.3.2.

61

Page 72: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

Bibliografıa

[AS86] W.P. Adams y H.D. Sherali. A tight linearization and an algo-rithm for zero-one quadratic programming problems. Manage-ment Science, 32(10):1274–1290, 1986.

[AX85] A.A. Assad y W. Xu. On lower bounds for a class of quadratic{0, 1} programs. Operations Research Letters, 4:175–180, 1985.

[BA00] N. Brixius y K. Anstreicher. Solving quadratic assignment prob-lems using convex quadratic programming relaxations. SIAMJ. of Matrix Analysis and Applications, 22(1):41–55, 2000.

[BB83] R.E. Burkard y T. Bonniger. A heuristic for quadratic booleanprograms with applications to quadratic assignment problems.European J. of Operational Research, 13:374–386, 1983.

[BC00] O. Barrientos y R. Correa. An algorithm for global minimiza-tion of linearly constrained quadratic functions. J. of GlobalOptimization, 16(1):77–93, 2000.

[BD80] R.E. Burkard y U. Derigs. Assignment and matching prob-lems: Solution methods with Fortran programs, tomo 184 de Lec-ture Notes in Economics and Mathematical Systems. Springer,Berlin, 1980.

[BKR91] R.E. Burkard, S. Karisch, y F. Rendl. QAPLIB – A quadra-tic assignment problem library. European J. of Operations Re-search, 55:115–119, 1991.

[BM80] E. Balas y J.B. Mazzola. Quadratic 0-1 programming by a newlinearization. En Proceedings of the TIMS/ORSA. 1980.

[Bok81] S.H. Bokhari. On the mapping problem. IEEE Transactions onComputers, C-30(3):207–214, 1981.

62

Page 73: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

[BS79] M.S. Bazaraa y H.D. Sherali. New approaches for solving thequadratic assignment problem. Operations Research Verfahren,32:29–46, 1979.

[BS80] M.S. Bazaraa y H.D. Sherali. Bender’s partitioning scheme ap-plied to a new formulation of the quadratic assignment problem.Naval Research Logistics Quaterly , 1980.

[BS82] M.S. Bazaraa y H.D. Sherali. On the use of exact and heuristiccutting plane methods for the quadratic assignment problem.J. of Operations Research Society , 1982.

[Bur91] R.E. Burkard. Locations with spatial interactions: the quadra-tic assignment problem. En P.B. Mirchandani y R.L. Francis,editores, Discrete Location Theory . John Wiley, 1991.

[CB89] N. Christofides y E. Benavent. An exact algorithm for thequadrtic assignment problem. Operations Research, 37(5):760–768, 1989.

[CG76] N. Christofides y M. Gerrard. Special cases of the quadratic as-signment problem. Management Science Research Report 391,Carnegie Mellon University, April 1976.

[CG81] N. Christofides y M. Gerrard. A graph theoretic analysis ofbounds for the quadratic assignment problem. En P. Hansen,editor, Studies on graphs and discrete programming , paginas61–68. North-Holland, 1981.

[CM92] P. Carraresi y F. Malucelli. A new lower bound for the quadra-tic assignment problem. Operations Research, 40(Supplement1):S22–S27, 1992.

[CMT80] N. Christofides, A. Mingozzi, y P. Toth. Contributions to thequadratic assignment problem. European J. of Operations Re-search, 4:243–247, 1980.

[DH72] J.W. Dicky y J.W. Hopkins. Campus building arrangementusing TOPAZ. Transportation Research, 6:59–68, 1972.

[Edw77] C.S. Edwards. The derivation of a greedy approximator forthe Koopmans-Beckman quadratic assignment problem. Proc.CP77 Combinatorial Prog. Conf., paginas 55–86, 1977.

63

Page 74: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

[Edw80] C.S. Edwards. A branch and bound algorithm for theKoopmans-Beckman quadratic assignment problem. Mathemat-ical Programming Study , 13:35–52, 1980.

[Els77] A.N. Elshafei. Hospital layout as a quadratic assignment prob-lem. Operations Research Quarterly , 28:167–179, 1977.

[Fan51] K. Fan. Maximum properties and inequalities for the eigenva-lues of completely continuous operators. Proc. Nat. Acad. Sci.U.S.A., 35:1951, 1951.

[FBR87] G. Finke, R.E. Burkard, y F. Rendl. Quadratic assignmentproblems. Annals of Discrete Mathematics, 1987.

[FW74] R.L. Francis y J.A. White. Facility Layout and Location.Prentice-Hall, Englewood Cliffs, N.J., 1974.

[FY81] A.M. Frieze y J. Yadegar. An algorithm for solving 3-dimensional assignment problem with application to schedulinga teaching practice. Operations Research, 32:989–995, 1981.

[FY83] A.M. Frieze y J. Yadegar. On the quadratic assignment prob-lem. Discrete Applied Mathematics, 5:89–98, 1983.

[GG76] A.M. Geoffrion y G.W. Graves. Scheduling parallel productionlines with changeover costs: Practical applications of a quadra-tic assignment/LP approach. Operations Research, 24:595–610,1976.

[GGM84] V.P. Gulati, S.K. Gupta, y A.K. Mittal. Unconstrained bivalentprogramming problem. European J. of Operations Research,15:121–125, 1984.

[Gil62] P.C. Gilmore. Optimal and suboptimal algorithms for the qua-dratic assignment problem. J. SIAM , 10:305–313, 1962.

[GP66] J.W. Gavett y N.V. Plyter. The optimal assignment of facilitiesto locations by branch and bound. Operations Research, 14:210–232, 1966.

[Gra81] A. Graham. Kronecker Products and Matrix Calculus: withApplications. Halsted Press, Toronto, 1981.

64

Page 75: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

[Had89] S.W. Hadley. Continuous Optimization Approaches for the Qua-dratic Assignment Problem. Tesis Doctoral, University of Wa-terloo, 1989.

[Hef77] D.R. Heffley. Assigning runners to a relay team. En S.P. Ladanyy R.E. Machol, editores, Optimal Strategies in Sports, paginas169–171. North-Holland, Amsterdam, 1977.

[HRW90] S.W. Hadley, F. Rendl, y H. Wolkowicz. Bounds for the qua-dratic assignment problem using continuous optimization tech-niques. En Integer Programming and Combinatorial Optimiza-tion, paginas 237–248. University of Waterloo Press, 1990.

[HRW92a] S.W. Hadley, F. Rendl, y H. Wolkowicz. A new lower bound viaprojection for the quadratic assignment problem. Mathematicsof Operations Research, 17(3):727–739, 1992.

[HRW92b] S.W. Hadley, F. Rendl, y H. Wolkowicz. Nonsymmetric quadra-tic assignment problems and the Hoffman-Wielandt inequality.Linear Algebra and its Applications, 58:109–124, 1992.

[Hub87] L.J. Hubert. Assignment methods in combinatorial data analy-sis. Marcel Dekker, Inc., New York, NY 10016, 1987.

[ILO] ILOG Inc. CPLEX. http://www.ilog.com/products/cplex/.Sitio web de ILOG.

[ILO98] ILOG Inc. Manual CPLEX version 5.0 . ILOG, Oct 1998.

[KB57] T.C. Koopmans y M.J. Beckmann. Assignment problems andthe location of economic activities. Econometrica, 25:53–76,1957.

[KB78] T.C. Kaufman y F. Broeckx. An algorithm for the quadraticassignment problem using Bender’s decomposition. EuropeanJ. of Operations Research, 2:204–211, 1978.

[KP78] J. Krarup y P.M. Pruzan. Computer-aided layout design. Math-ematical Programming Study , 9:75–94, 1978.

[KRW93] S.E. Karisch, F. Rendl, y H. Wolkowicz. Trust regions and thequadratic assignment problem. Research Report CORR 93-15,DIMACS, Rutgers University, New Brunswick, NJ, 1993. Toappear in the Proceedings of the Workshop on the QuadraticProgramming Problem, DIMACS, 1993.

65

Page 76: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

[Lan63] A. M. Land. A problem of assignment with interrelated costs.Operations Research Quarterly , 14:185–198, 1963.

[Lau70] D.J. Laughunn. Quadratic binary programming with appli-cations to capital-budgeting problem. Operations Research,14:454–461, 1970.

[Law63] E.L. Lawler. The quadratic assignment problem. ManagementScience, 9:586–599, 1963.

[LPRR92a] Y. Li, P.M. Pardalos, K.G. Ramakrishnan, y M.G.C. Resende.A branch-and-bound algorithm for the quadratic assignmentproblem. Informe tecnico, AT&T Bell Laboratories, MurrayHill, NJ 07974-2070, December 1992.

[LPRR92b] Y. Li, P.M. Pardalos, K.G. Ramakrishnan, y M.G.C. Resende.Lower bounds for the quadratic assignment problem. Informetecnico, AT&T Bell Laboratories, Murray Hill, NJ 07974-2070,April 1992. To appear in Annals of Operations Research.

[LW76a] R.F. Love y J.Y. Wong. On solving a one-dimensional spaceallocation problem with integer programming. INFOR, 14:139–143, 1976.

[LW76b] R.F. Love y J.Y. Wong. Solving quadratic assignment problemswith rectangular distances and integer programming. Naval Re-search Logistics Quarterly , 23:623–627, 1976.

[Marrk] H.M. Markovitz. Portfolio Selection. Wiley, 1978, New York.

[McC70] E.J. McCormik. Human Factors Engineering . McGraw-Hill,New York, 1970.

[MO79] P.B. Mirchandani y T. Obata. Locational decisions with inter-actions between facilities: the quadratic assignment problem areview. Working Paper Ps-79-1, Rensselaer Polytechnic Insti-tute, Troy, New York, May 1979.

[NVR68] C.E. Nugent, T.E. Vollmann, y J. Ruml. An experimental com-parison of techniques for the assignment of facilities to locations.J. of Operations Research, 16:150–173, 1968.

[PC89] P.M. Pardalos y J. Crouse. A parallel algorithm for the quadra-tic assignment problem. En Proceedings of the Supercomputing1989 Conference, paginas 351–360. ACM Press, 1989.

66

Page 77: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

[PRW94a] Panos M. Pardalos, Franmz Rendl, y Henry Wolkowicz. Thequadratic assignment problem: A suvery and recent develop-ments. En Panos M. Pardalos y Henry Wolkowicz, editores,Quadratic Assignment and Related Problems, tomo 16. 1994.

[PRW94b] S. Poljak, F. Rendl, y H. Wolkowicz. General relaxations andconcave extensions for (0,1)-quadratic programming. Informetecnico, University of Waterloo, 1994. In progress.

[PW94] P.M. Pardalos y Wolkowics, editores. Quadratic Assignmentand Related Problems, tomo 16. DIMACS A.M.S, 1994.

[Ren86] F. Rendl. Quadratic assignment problems on series-parallel di-graphs. Zeitschrift fur Operations Research A, 30:161–173, 1986.

[Rhy70] J. Rhys. A selection problem of shared fixed costs on networkflow. Management Science, 17(3):200–207, 1970.

[Rou87] C. Roucairol. A parallel branch and bound algorithm for thequadratic assignment problem. Discrete Applied Mathematics,18:211–225, 1987.

[RW92] F. Rendl y H. Wolkowicz. Applications of parametric program-ming and eigenvalue maximization to the quadratic assignmentproblem. Mathematical Programming , 53:63–78, 1992.

[SG76] S. Sahni y T. Gonzalez. P-complete approximation problems. J.of the Association of Computing Machinery , 23:555–565, 1976.

[Sil] Silicon Graphics Inc. http://www.sgi.com. Sitio web de SiliconGraphics.

[Ste61] L. Steinberg. The backboard wiring problem: A placement al-gorithm. SIAM Review , 3:37–50, 1961.

[SV75] M. Scriabin y R.C. Vergin. Comparison of computer algorithmsand visual based methods for plant layout. Management Sci-ence, 22:172–187, 1975.

[SW92] R.J. Stern y H. Wolkowicz. Indefinite trust region subproblemsand nonsymmetric eigenvalue perturbations. Informe TecnicoCORR 92-38, University of Waterloo, Waterloo, Canada, 1992.To appear in SIOPT.

67

Page 78: Desarrollo e Implementaci on de Algoritmos de Rami caci on ...€¦ · Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a Matem atica Desarrollo

[Tai91] E. Taillard. Robust tabu search for the quadratic assignmentproblem. Parallel Computing , 17:443–455, 1991.

[Tai94] E. Taillard. Comparison of iterative searches for the quadraticassignment problem. Location Science, 1994.

[Wit] C. Witzgall. Mathematical methods of site selection for electricmessage systems (EMS). Internal report, NBS.

68