Me todos secuenciales y paralelos de optimizaci6n · 2016-02-13 · busqueda multidireccional, y...

11
Revista Cubana de Ciencias Informáticas ISSN: 1994-1536 [email protected] Universidad de las Ciencias Informáticas Cuba Trujillo Rasúa, Rafael A.; Vidal Maciá, Antonio M.; García Mollá, Víctor Manuel Métodos secuenciales y paralelos de optimización basados en búsqueda directa Revista Cubana de Ciencias Informáticas, vol. 1, núm. 3, 2007, pp. 26-35 Universidad de las Ciencias Informáticas Ciudad de la Habana, Cuba Disponible en: http://www.redalyc.org/articulo.oa?id=378343633003 Cómo citar el artículo Número completo Más información del artículo Página de la revista en redalyc.org Sistema de Información Científica Red de Revistas Científicas de América Latina, el Caribe, España y Portugal Proyecto académico sin fines de lucro, desarrollado bajo la iniciativa de acceso abierto

Transcript of Me todos secuenciales y paralelos de optimizaci6n · 2016-02-13 · busqueda multidireccional, y...

Page 1: Me todos secuenciales y paralelos de optimizaci6n · 2016-02-13 · busqueda multidireccional, y dos anos mas tarde, Torczon (1991) public6 la convergencia de estos metodos. El interes

Revista Cubana de Ciencias Informáticas

ISSN: 1994-1536

[email protected]

Universidad de las Ciencias Informáticas

Cuba

Trujillo Rasúa, Rafael A.; Vidal Maciá, Antonio M.; García Mollá, Víctor Manuel

Métodos secuenciales y paralelos de optimización basados en búsqueda directa

Revista Cubana de Ciencias Informáticas, vol. 1, núm. 3, 2007, pp. 26-35

Universidad de las Ciencias Informáticas

Ciudad de la Habana, Cuba

Disponible en: http://www.redalyc.org/articulo.oa?id=378343633003

Cómo citar el artículo

Número completo

Más información del artículo

Página de la revista en redalyc.org

Sistema de Información Científica

Red de Revistas Científicas de América Latina, el Caribe, España y Portugal

Proyecto académico sin fines de lucro, desarrollado bajo la iniciativa de acceso abierto

Page 2: Me todos secuenciales y paralelos de optimizaci6n · 2016-02-13 · busqueda multidireccional, y dos anos mas tarde, Torczon (1991) public6 la convergencia de estos metodos. El interes

Me todos secuenciales y paralelos de optimizaci6nbasados en bOsqueda directaParal/e/ and sequentia/ methods of optimization based ondl'rect searchRafael A. Trujillo RasOal *, Antonio M. Vidal MaCia2 y Victor Manuel

Garcia MOIIa2

lDepartamento de Tcnicas de Programaci6n Universidad de las Ciencias Informaticas (UCI) Car-retera a San Antonio de los Baos Km 2 1/2, Torrens, Boyeros, Ciudad de La Habana, Cuba.2Departamento de Sistemas Informaticos y Computaci6n, Universidad Politcnica de Valencia,Camino de Vera s/n, 46002 Valencia, Espana.*Autor para la correspondencia: [email protected]

REV/STA CUBANA DE C/ENC/AS INFORMA'T/CAS VOL.1 No~3 AGOSTO 2007 p. 26-37

Page 3: Me todos secuenciales y paralelos de optimizaci6n · 2016-02-13 · busqueda multidireccional, y dos anos mas tarde, Torczon (1991) public6 la convergencia de estos metodos. El interes

Los metodos de Busqueda Directa son bien conocidos comotecnicas de resoluci6n de problemas de optimizaci6n sinrestricciones que no utilizan derivadas explicitamente. En este

Los metodos fueron probados con el Problema InversoAditivo de Va/ores Singulares. Se realiza una comparaci6n delos resultados experimentales siguiendo diferentes puntosde vista: tiempo de ejecuci6n, convergencia y precisi6n dela soluci6n, haciendo el analisis del comportamiento delos metodos para diferentes tamahos del problema. Losresultados arrojados por los mtodos de Busqueda Directa secomparan, adems, con los obtenidos por mtodos basadosen derivadas.Se muestran tambin las soluciones obtenidas por losmtodos paralelos, y se analizan segun la ganancia develocidad y la escalabilidad.

Palabras clave: Busqueda directa, optimizaci6n, metodoparalelo, Va/ores singulares

Direct Search Methods are well known as unrestrictedoptimization techniques that do not explicitly use derivatives. Inthis paper, two versions of Direct Search Methods are proposed,and implementation variants in parallel environments for eachversion are also presented

These methods have been tested with the Inverse AdditiveSingular Values. A comparison of the experimental resultsis performed according to different criteria: execution time,convergence and precision of the solution. The analyses of thebehaviour of the methods for different sizes of the problem arecarried out. Moreover, the results obtained by the Direct SearchMethods are compared with those obtained through derivative-based methods.

The results obtained by the parallel methods are also shown anddiscussed according to speed-up and scalability

Key words: Direct search, optimization, parallel method,singular values

Page 4: Me todos secuenciales y paralelos de optimizaci6n · 2016-02-13 · busqueda multidireccional, y dos anos mas tarde, Torczon (1991) public6 la convergencia de estos metodos. El interes

Consideremos el problema de encontrar un minimo de una funci6n continua f : " > Si f es diferenciable y el gradiente vf (x) puede ser calculado o estimado de formabastante precisa mediante diferencias finitas, entonces se puede seleccionar un metodode optimizaci6n basado en derivadas para solucionar el problema (como un metodotipo Newton o quasi-Newton). Sin embargo, si se supone, que no Esta disponibleinformaci6n alguna de las derivadas de la funci6n, y que la estimaci6n de ellas no arrojaresultados muy precisos, los metodos de Busqueda Directa intentan resolver estos tiposde problemas de optimizaci6n.

Los metodos de Busqueda Directa son bien conocidos como tecnicas de resoluci6nde problemas de optimizaci6n sin restricciones que no usan informaci6n alguna delas derivadas de la funci6n. Uno de los primeros trabajos relacionados con estos fueel publicado por Hooke y Jeeves en 1961, donde se introduce el termino "busquedadirecta" en el campo de la optimizaci6n. Hooke y Jeeves (1961) pretendieron exponerque los mtodos de busqueda directa son aplicables en situaciones en las cuales no sepuede hacer mas que comparar Va|ores de la funci6n objetivo.

La epoca dorada de la Busqueda Directa fue el periodo 1 960-1971 . Desde su surgimientoestos mtodos tuvieron mucha aceptaci6n, pues son faciles de programar y algunosde ellos bastante fiables. Surgieron entonces los metodos de busqueda par patrones,introducidos en el mencionado trabajo de Hooke y Jeeves (1961) y los metodos Simplexque fueron publicados por primera vez en 1 962 por Spendley, Hext y Himsworth (Spendleyet a/. . 1 962). En 1 965 apareci6 el mtodo Nelder-Mead (Nelder y Mead, 1965), el cual esUna versi6n mejorada de los mtodos Simplex descritos por Spendley et al. (1962), y queha tenido Una gran popularidad en la comunidad cientifica, especialmente en la dedicadaa la ingenieria quimica y la medicina (Walters et a/., 1991).Pero en la decada de los setenta, los mtodos de busqueda directa fueron relegados aun Segundo piano debido fundamentalmente a la falta de coherencia en su desarrollo yanalisis matematico.

A pesar de ello, en el transcurso de estos af:ios se han obtenido numerosos resultadosconcernientes a la convergencia de estos metodos. En 1971, (ea demostr6 que el algoritmode Hooke y Jeeves es globalmente convergente (Cea, 1971). En 1997, Torczon (Torczon,1997) formaliza los mtodos de busqueda por patrones y demuestra su convergenciaglobal. Los trabajos de Lagarias et al. (1998) y McKinnon (1998) evidencian que no seraposible demostrar la convergencia del mtodo Nelder-Mead para problemas de grandimensi6n. En 1989 son publicados por primera vez por Torczon (1989) los metodos debusqueda multidireccional, y dos anos mas tarde, Torczon (1991) public6 la convergenciade estos metodos.

El interes por los mtodos de busqueda directa crece aun mas cuando, a principios de ladcada de los noventa se publican trabajos ubicndolos en el contexto de la computaci6nparalela. Entre las lineas futuras de la tesis doctoral, Torczon (1989) plantea que losmetodos de busqueda multi-direccional que proponia son inherentemente paralelos,debido a la independencia que existe entre las busquedas por cada direcci6n. Luego,segun Dennis Jr. y Torczon (1991) se report6 una paralelizaci6n de la busqueda multi-direccional, yse trazaron estrategias para balancear la carga en los procesadores, aunque los analisis se hicieronbajo la precondici6n de que el numero de procesadores sea mayor que el tamano del problema.

Page 5: Me todos secuenciales y paralelos de optimizaci6n · 2016-02-13 · busqueda multidireccional, y dos anos mas tarde, Torczon (1991) public6 la convergencia de estos metodos. El interes

La paralelizaci6n de metodos de busqueda por patrones ha sido abordada por Hough et a/. (2001)y Kolda y Torczon (2002). En el primero de ellos proponen un algoritmo paralelo sincrono, delcual plantean que puede provocar desequilibrio en la carga de los procesadores, especialmenteen maquinas paralelas heterogeneas; por tanto se plantean un algoritmo paralelo asincrono. Enel Segundo trabajo se demuestra la convergencia global del algoritmo paralelo asincrono de labusqueda por patrones.

Un buen numero de metodos de BOsqueda Directa poseen convergencia global a unpunto estacionario, mientras que con los metodos basados en derivadas, en algunosproblemas, se debe procurar que el punto inicial se encuentre cerca del minimo paraque converjan. Por otro lado, dos cuestiones que inevitablemente estn presentes enla Busqueda Directa son su convergencia lenta y el deterioro de su ejecuci6n cuando eltamaho def problema crece.

Este trabajo se enfoca en la paralelizaci6n de un subconjunto de estos metodos, IlamadoGSS (Generating Set Search) formalizado y ampliamente estudiado segun Kolda eta/. (2003). Para el trabajo descrito en este articulo, se implementaron y paralelizarondiferentes versiones, de las cuales se presentan las dos mejores versiones secuenciales ySus respectivas implementaciones paralelas, las cuales obtienen sustanciales reduccionesde tiempo de ejecuci6n. Un resultado que merece destacarse es la robustez de los metodosde Busqueda Directa. ElIos fueron probados con un problema complejo, como lo es elProblema Inverso Aditivo de Va/ores Singulares (IASVP), el cual es donde los metodostipo Newton usualmente no convergen, incluso usando tecnicas de globalizaci6n comola Regla de Armijo. Como se mostrara mas adelante, los metodos de Busqueda Directaconvergen donde los metodos de Newton fallan, aunque son substancialmente maslentos.

La pr6xima secci6n esta dedicada a la descripci6n de la Busqueda Directa y las versionessecuenciales implementadas. Luego en la secci6n 3 se presentan las versiones paralelas,seguido def aha|Isis de los resultados experimentales de los metodos secuenciales yparalelos en la secci6n 4. Finalmente en la secci6n 5 se dan las conclusiones.

Presentaremos dos algoritmos de Busqueda Directa, Ilamados GSSI y GSS2 Ambospertenecen a la clase de los metodos GSS (Generating Set Search) formalizada por Koldaet a/. (2003). Los metodos GSS agrupan una gran variedad de algoritmos que habianaparecido en la literatura, y deben su hombre a que en la optimizaci6n sin restriccioneses crucial que el conjunto de direcciones de busqueda constituya una base generadora

del espacio "

Los metodos GSS parten de un punto inicial xo , Una longitud de paso inicial Do y un

conjunto de direcciones D - {/I , ..., dp } I i p di E " En cada iteraci6n k se

calcula f (xk + Dkd,. ) para todos los p vectores del conjunto D, hasta encontrar un

vector di tal que f (xk + Dkdl" )< f (xk ). Si ninguno de los vectores de D redujo la

funci6n objetivo, se contrae la longitud def paso haciendo f (xk + Dkdi )< f (xk )

Page 6: Me todos secuenciales y paralelos de optimizaci6n · 2016-02-13 · busqueda multidireccional, y dos anos mas tarde, Torczon (1991) public6 la convergencia de estos metodos. El interes

donde 0 < qk < 1 , de lo contrario se puede expandir hacienda D k+1 f k D k donde

f k-> I El metodo termina cuando la longitud del paso sea suficientemente pequeha,

Para que los vectores de D puedan abarcar todo el espacio " deben formar una basegeneradora del espacio.

2.1 M6todo GSSIHough et al. (2001) plantean la estrategia de doblar la longitud del paso Si en dositeraciones consecutivas la direcci6n de descenso encontrada es la misma. En efecto, sea

Dk la longitud del paso de la iteraci6n k, y Sean d (k ) y d (k-1) las direcciones de descenso

de las iteraciones k y k - I ; si d (k ) - d (k -I) entonces se actual|Zaria el paso para la

iteraci6n k + 1 hacienda D k+I 2 D k , en caso que Sean distintas ambas direcciones,

entonces Dk+I Dk Esta estrategia se basa en que si d (k ) = d (k -1) , se puede inferirque la longitud del paso es muy corta, por tanto se duplica. En caso que en la iteraci6n

k no se encuentre ninguna direcci6n de descenso, entonces la longitud del paso se

contraeria hacienda Dk+1 D kEn el metodo GSSI se implementa Una estrategia que complementa la descritaanteriormente y ace|era el proceso de busqueda. Consiste en rotar el orden de lasdirecciones en cada iteraci6n, siempre que se encuentre una direcci6n de descenso. Sea

Dk el conjunto de direcciones de la iteraci6n k, y sea i la posici6n que ocupa d (k ) en

el conjunto Dk Denotemos a d (k ) coma di(k ) Si Dk - ) ,. . . , d'(k) ,. . .,d(pk) }entonces Dk+1 ~k ) ,d . . . ,d (kp) , dl(k ) . . . ,d } De esta forma, en la iteraci6n k + 1

se comenzaria la b0squeda por d (k )

En[HoughOl]tomanlasdireccionescoordenadas G = { e/" : 1 i n } comodirecciones

de bdsqueda, En el GSSI se agregan las direcciones {(I, 1, . . . , I) (-1, -1,. . . , -1) }, lascuales pueden acelerar la busqueda cuando el punto inicial Se encuentra muy alejado delpunto minimo.El tiempo de ejecuci6n de este metodo depende del numero de iteraciones K, la dimensi6n

del espacio n, y del tiempo de evaluaci6n de la funci6n Tf ,

T (n, K)Gssl ~~ K ' (2n + 2)(Tf + n)

2.2 Ma todo GSS2Este metodo tiene Una estrategia similar a la descrita por Hooke y Jeeves (1961) cuandodescriben la busqueda por patrones. Hooke y Jeeves proponen que en cada iteraci6nprimeramente se realice un conjunto de movimientos exp|oratorios para conocer acercadel comportamiento de la funci6n objetivo. Este conocimiento se infiere del exito o fracasode cada movimiento exp|Oratorio, y luego se puede combinar para construir un patr6nque indica una direcci6n que probablemente sea de descenso. Hooke y Jeeves proponenque un movimiento exp|oratorio puede ser sencillamente el incremento o decremento del

tna

..v<J`a

Ea~at+

C:t^O.~vC:W._

1O

Oac:Oa:3

<O4tn.~>O~

valor de una coordenada del punto de iteraci6n xk .

Page 7: Me todos secuenciales y paralelos de optimizaci6n · 2016-02-13 · busqueda multidireccional, y dos anos mas tarde, Torczon (1991) public6 la convergencia de estos metodos. El interes

Con el metodo GSS2 se formaliza una variante def metodo descrito por Hooke y Jeeves,y se define c6mo construir la nueva direcci6n. En este metodo el conjunto de direcciones

es D - {+-ei .' 1 S i s n } En cada iteraci6n del metodo GSS2 se exp|Oran todas las

direcciones, para saber cuales son de descenso y cuales no. Sean d~k) ,di<k)2 ,. . .,d~las direcciones de descenso, entonces se construye una nueva direcci6n

d - d ik ) + di(k2) + . . . + dk ) la cual probablemente provoque un mayor descenso, Si

d no es una direcci6n de descenso, el algoritmo escoge entre di(kI ),di<k2 ) , . . .,di(k ladirecci6n que disminuye en mayor medida la funci6n objetivo. El criterio de contracci6nde la longitud del paso es el mismo que se sigui6 en el metodo GSSI.Este algoritmo supone un numero menor de iteraciones que el GSSI. Sin embargo, elcosto del tiempo por iteraci6n es mayor, pues siempre se evalua la funci6n en 2n puntos.El tiempo de ejecuci6n del algoritmo GSS2 quedarfa expresado como:

T (n, K)GSS2 ~~ K ' 2n ' r + n)

La sencillez de los metodos de busqueda directa, unido a que las direcciones de busquedasson independientes entre sf, hacen que su paralelizaci6n no sea un proceso diffcil deresolver. Como se vera, la cuesti6n fundamental a resolver es el desequilibrio de la cargaque puede ocurrir en la paralelizaci6n def metodo GSSI Es por ello que primeramente sedescribe el algoritmo paralelo correspondiente aI metodo GSS2, y luego se presentan dosformas de paralelizaci6n def metodo GSSI.

3.1 Metodo Paralelo PGSS2La independencia de las 2n evaluaciones de la funci6n que se realizan en cada iteraci6n,permiten disehar un algoritmo paralelo en el cual cada uno de los procesadores seencargue de realizar aproximadamente 2n|p evaluaciones de la funci6n. Es por ello,que en el algoritmo paralelo PGSS2, inicialmente se distribuyen a cada procesador elpunto inicial xo , la longitud del paso inicial Do , la tolerancia para dicha longitud Dto/ ylas direcciones coordenadas que le corresponden. En cada iteraci6n cada procesadorevaluarfa la funci6n por cada direcci6n, y aI terminar le envfa a un procesador root lasdirecciones de descenso encontradas y los Va|ores de f correspondientes, El procesadorroot entonces forma la nueva direcci6n, escoge entre esta y las enviadas cuaI logra mayordescenso, determina Xk+I y actualiza Dk+I y le envfa a todos la dupla (Xk+1 , D k+1 )En este algoritmo PGSS2 apenas hay desequilibrio en la carga de los procesadores, yoperaciones de comunicaci6n, por lo que se asume que la ganancia de velocidad queobtiene es muy cercana a la 6ptima que se pude lograr.

3.2 Me todo Paralelo PGSSIEste metodo tiene en comun con el PGSS2 la distribuci6n inicial de los datos. Recordemosque el GSSI no necesariamente evalua la funci6n en todas las direcciones, pues encuanto encuentra una direcci6n de descenso detiene la busqueda. No se puede diseharun metodo paralelo donde cada procesador tenga que esperar a que el resto termine subusqueda por todas sus direcciones, ello implicarfa un desequilibrio notable en la carga,ya que es muy probable que un procesador termine su busqueda primero que el resto.

Page 8: Me todos secuenciales y paralelos de optimizaci6n · 2016-02-13 · busqueda multidireccional, y dos anos mas tarde, Torczon (1991) public6 la convergencia de estos metodos. El interes

tna

._v4..,`a

Ea~O%+

C

L^O. .17

COJ

1

WO

a

c:Oa:3

<O1t^.~>07

Q:

Si un procesador encuentra una direcci6n de descenso, lo mas factible es que el restodetenga Sus busquedas y se pase a actualizar el punto de la siguiente iteraci6n.El mtodo PGSSI plantea la idea de que cada procesador, despues de haber buscado enm de Sus direcciones, debe reportarle al resto los resultados de su busqueda. De modoque cada m evaluaciones de la funci6n objetivo, todos los procesadores saben cual hatenido xito y cual no. En caso de que ninguno alcanz6 exito, prosiguen la busquedaen m direcciones mas, y asi hasta que se agoten Sus direcciones. De cierta forma el valorde m depende del costo de la funci6n objetivo y los parametros de la red. Para funcionescostosas es mejor m =1, pues es preferible realizar envios de mas que evaluaciones demas.En el algoritmo paralelo PGSSI se puede introducir una estrategia para acelerar laconvergencia del metodo. En el momento en que todos reportan los resultados deSus busquedas, puede suceder que mas de un procesador haya tenido exito, es decir,que existe mas de Una direcci6n de descenso. En ese caso se escoge aquella de mayordescenso. Por tanto, el metodo PGSSI puede consumir menos iteraciones que el mtodosecuencial GSSI

3.3 M6todo Paralelo MSPGSSIEn este trabajo se desarroll6 una paralelizaci6n asincrona, siguiendo un esquema master-s/ave, del algoritmo GSSI . El algoritmo paralelo se nombr6 MSPPSI.

Un procesador master Ileva todo el control del proceso de busqueda. El trabajo del restode los procesadores, Ilamados s/aves, es evaluar la funci6n objetivo y enviar el resultado almaster . Las direcciones se distribuyen por los procesadores s/aves. Todo procesador s/ave,luego de cada evaluaci6n, envia el valor de la funci6n al master a travs de un mensajeno bloqueante. El mensaje no bloqueante permite que el procesador s/ave continue suejecuci6n aun cuando no haya Ilegado el mensaje a su destino. Por su lado, el procesadormaster va recibiendo los valores de la funci6n en cada direcci6n, y en cuanto detecte undescenso en la funci6n envia a los procesadores s/aves un mensaje SUCCESS para quedetengan Sus evaluaciones, Es el procesador master el que determina Xk+I y actualizaDk+I y le envia a todos los s/aves la dupla (xk +1 , Dk+1 ) Como los pro esadores s/avesno tienen control del mtodo, en cada iteraci6n el procesador master envia un mensajeTERMINATE o CONTINUE en dependencia si el mtodo ha convergido o no.

Un inconveniente que presenta este algoritmo es que tiene un procesador menos parahacer la busqueda y realizar los ca|cu|Os de la funci6n. Sin embargo, ahade la ventaja desolapar tiempos aritmeticos con tiempos de comunicaciones.

4.1 Experimentos con los metodos secuencialesLos algoritmos descritos fueron implementados y aplicados a un problema complejo,como lo es el Problema Inverso Aditivo de Va|ores Singulares, el cual se define como:

Dado un conjunto de matrices reales Ao , Al , ..., An e m xn (m n ) y un conjunto

encontrar un vector c = (cl , C2 , ... , Cn ) E n de modo que el conjunto de valores

singulares de A(c )- Ao + cl Al + . . . + cnAn sea precisamente s . *

Page 9: Me todos secuenciales y paralelos de optimizaci6n · 2016-02-13 · busqueda multidireccional, y dos anos mas tarde, Torczon (1991) public6 la convergencia de estos metodos. El interes

Este problema usualmente se formula como un sistema de ecuaciones no lineales, y seresuelve con diferentes variantes de mtodos de Newton. Segun Flores et a/~ (2005) seanalizan algunas de estas variantes. Por otro lado, este problema puede verse tambiencomo un problema de optimizaci6n, pues se desea que la distancia entre los Va|oressingulares dados s y los valores singulares de A(c) , denotados por s (c) , seaminima.

De modo que se define la funci6n f : " -> como f (c)= ||s -s (c)|2, y el

problema Se convierte en encontrar un vector c = (cl , C2 ,.. ., Cn ) E " que minimice

f (c), El costo temporal de evaluaci6n de la funci6n es O(n 3 ,

Dk+I

Los algoritmos se implementaron en C, usando las librerias BLAS (Hammarling, 1988)y LAPACK (Anderson et a/., 1995), y fueron ejecutados en un biprocesador PentiumXeon a 2 GHz, con lGByte de RAM y con sistema operativo Red Hat Linux 8.0. Para losexperimentos realizados con los mtodos secuenciales, se tomaron matrices aleatorias detamahos n = {5, 10, 15, 20, 25, 30, 40, 5o} . Por cada problema Se fij6 aleatoriamenteun punto 6ptimo c y los puntos iniciales C(o) se tomaron comoC/ o ) - c +d , (i - I : n)

Para poder hacer Una justa valoraci6n del comportamiento de los metodos de BusquedaDirecta en el IASVP, se compararon Sus resultados con los obtenidos por el metodo deNewton con Regla de Armijo para la resoluci6n de Sistemas de Ecuaciones No Linea|esaplicado aI mismo problema. La convergencia del mtodo de Newton es sensible ala cercanfa del punto inicial a la soluci6n del sistema. El mtodo de Newton siempreconvergi6 cuando d = 0.1 o menor, sin embargo, cuando d = 1.1 solo convergi6 en elcaso n = 5 , y con d = D .Ino convergi6 en ningun caso. Mientras, los metodos de GSSIy GSS2 convergieron en todos los casos a 6ptimos cercanos a la soluci6n def problema.Pero, cuando el metodo de Newton converge, lo hace en un numero de iteracionesmucho menor que los metodos de busqueda directa, como se puede ver en la Tabla 1 .

Tabla 1. Nmero de Iteraciones requeridas para la convergencia con d = 0. I

n 5 10 15 20 25 30 40 50

GSSI 82 630 2180 667 827 6721 7914 7178GSS2 51 669 611 372 322 2237 1368 7292Newton 3 3 7 5 7 7 5 6

La precisi6n de la soluci6n, medida por el error relativo entre los valores singulares ob-tenidos y los valores singulares correctos, se muestra en la Fig. 1 para el caso de d - 0.1El mtodo de Newton logra Una soluci6n con mayor exactitud que los de busquedadirecta, aunque estos obtienen Una precisi6n que generalmente es menor que 10.4. Enla Figura 2 Se muestra la precisi6n de los algoritmos de busqueda directa en el caso qued = D .1, la cual generalmente fue menor que 103 .

Page 10: Me todos secuenciales y paralelos de optimizaci6n · 2016-02-13 · busqueda multidireccional, y dos anos mas tarde, Torczon (1991) public6 la convergencia de estos metodos. El interes

tna

._v<Id`a

Ea~O%+

C~tnO.~LSc:W.~

1wOac:Oa:3

<O.1l...,uh.~>q

G:

Fig, 1 . Precisi6n de las algaritmos con d = 0. I Fig. 2. Precisi6n de las algoritmos can d = C . I

En la Tabla 2 se muestran los tiempos de ejecuci6n de los algoritmos dados en segundos.El mas rapido de los metodos de busqueda directa es el GSSI, pero de todos modos Sustiempos son muy superiores a los del metodo de Newton.

Tabla 2. Tiempos de ejecuci6n (segundas) de las algoritmos para diferentes valares de n y d = 0. I

n 5 10 15 20 25 30 40 50

GSSI O,03 1,26 3,37 2,80 4,10 45,00 139,76 237,48GSS2 0,02 O,50 2,96 4,12 6,77 86,21 170,34 2054,88Newton 0,00 0,00 0,01 O,01 O,02 O,04 O08 O,25

Los elevados tiempos secuenciales obtenidos indican que es practicamente imposibleintentar resolver, mediante algoritmos secuenciales de busqueda directa, problemas concomplejidad temporal similar o mayor a los problemas inversos de valores singulares.

4.2 Experimentos con las metodos paralelosLos metodos paralelos fueron desarrollados en el entomo paralelo MPI (MessagePassing Interface) (Snir et a/., 1996). El elevado coste de la funci6n objetivo en esteproblema condicion6 que se tomaran los tamaos n: 72, 96, 120, 144 para realizar lasexperimentaciones secuenciales en un tiempo razonable. Los experimentos se hicieron enun cluster de 20 nodos biprocesadores Pentium Xeon a 2 Ghz, interconectados medianteUna red SCI con topologfa de Toro 2D en ma|la de 4 x 5. Cada nodo consta de 1 Gigabytede memoria RAM.Las Tablas 3, 4 y 5 muestran tiempos de ejecuci6n de los algoritmos paralelos PGSSI,PGSS2 y MSPGSSI respectivamente.Tabla 3. Tiempos de ejecuci6n (segundos) del mtodo paralela PGSSI

Tamaf::lo/ 1 2 4 6 8 10 16

procesadores________________________________________________________________________72 763,17 307,35 136,63 80,61 59,55 64,59 32,9796 3929,22 1982,79 621,80 362,94 336,29 266,70 187,70

120 10430,27 4961,54 1891,92 943,07 669,25 605,65 364,46144 36755,57 17935,18 5626,43 3187,75 2209,05 1599,85 1207,25

Tabla 4. Tiempos de ejecuci6n (segundos) del mtodo paralelo PGSS2

Tamao/ 1 2 4 6 8 10 16procesadores________________________________________________________________________

72 278,02 141,40 72,86 50,27 38,98 33,61 23,1496 2710,31 1400,35 710,32 482,63 375,27 313,90 210,16

120 5020,20 2581,44 1322,34 897,56 703,73 560,50 377,32144 14497,76 7349,41 3749,35 2537,32 1948,71 1565,46 1028,03

Page 11: Me todos secuenciales y paralelos de optimizaci6n · 2016-02-13 · busqueda multidireccional, y dos anos mas tarde, Torczon (1991) public6 la convergencia de estos metodos. El interes

Tamaho/ 1 2 4 6 8 10 16procesadores________________________________________________________________________

72 763,17 762,68 214,66 133,10 95,26 108,45 58,1196 3929,22 3940,86 1228,57 767,24 467,13 482,17 263,99

120 10430,27 10614,80 3494,83 2108,65 1459,55 1134,09 958,64144 36755,75 36786,43 12258,02 6244,33 4375,89 3930,06 2286,03

Dado que con un procesador los metodos PGSSI y MSPGSSI ejecutan un identicoalgoritmo secuencial, los tiempos de ejecuci6n son los mismos. Estos tiempos sonsimilares a aquellos obtenidos por el MSPGSSI con dos procesadores, pues en ese casosolo un procesador stave realiza las evaluaciones.El algoritmo Master-Slave, a pesar de obtener buenas ganancias de velocidad, ha resultadoser el mas lento de los tres. La raz6n de esto puede ser que siempre tiene un procesadormenos para realizar las evaluaciones, pues uno de ellos esta dedicado al control defalgoritmo.Comparando el rendimiento de los algoritmos PGSSI y PGSS2, vemos que el rendimientodel algoritmo PGSSI se deteriora considerablemente en la medida en que la dimensi6ndel problema aumenta, a diferencia de los casos de tamaos pequeos (ver Tabla 2).Con un solo procesador, el algoritmo PGSS2 es dos veces mas rap|do para problemasgrandes.

Sin embargo, cuando el numero de procesadores aumenta, el algoritmo PGSS2 obtienebuenos Va|ores de Speed-Up (ganancia de velocidad), pero el PGSSI alcanza Va/ores deSpeed-Up aun mayores. De modo que cuando el numero de procesadores es alto, lostiempos de ejecuci6n de PGSSI y PGSS2 son similares. Se puede observar c6mo con elalgoritmo PGSSI se logran Va|ores de Speed-Up por encima del 6ptimo te6rico, que es elnumero de procesadores. Esto es debido a que el algoritmo paralelo no sigue una mismaestrategia de busqueda que el algoritmo secuencial, por lo que el numero de iteraciones,y ms aun, el numero de evaluaciones de la funci6n objetivo es diferente en ambosalgoritmos.

Por uItimo, se muestra Que tanto son capaces los algoritmos paralelos de mantener Susprestaciones, cuando crecen en la misma proporci6n el numero de procesadores y eltamao def problema. Para ello se mide el Speed-Up escalado (Kumar et at ., 1 994), quese muestra para los cuatro metodos paralelos en la Figura 3.

-- PGSS2 --el- PGSMSPGGSI__

20 -18 - -

16 - - - - - 14 - -

$ 12 - - 10 - -

-_ __-_-:

4 - -

2 4 8 16

ProcessC:,r$; )

Fig. 3. Comportamiento de la ganancia de velocidad del algoritmo al aumentar en la misma proporci6n n y p.