Sie sind auf Seite 1von 6

Mtodo de Karmakar

Introduccin
En 1984 Narendra Karmarkar, un matemtico hind de 28 aos, egresado del Instituto de Tecnologa en Bombay, del Instituto de Tecnologa de California y de la Universidad de California en Berkeley, investigador de los laboratorios AT&T Bell, public el artculo A New Polynomial-Time Algorithm for Linear Programming, que marc un hito en la Optimizacin Lineal, OL, tambin conocida como Programacin Lineal. A partir del trabajo de Karmarkar se reactiv la investigacin en OL, en especial en mtodos de barrera y de punto interior (tambin para Optimizacin No Lineal). En la base de datos Math Sci, una de las ms completas sobre publicaciones matemticas internacionales, aparecen por lo menos 593 tems relacionados con el mtodo de Karmarkar o con mtodos de punto interior.

Nuevos desarrollos de la programacin lineal


La Programacin Lineal fue una de las primeras herramientas cuantitativas con la que cont la Investigacin Operativa. Rpidamente se descubri su eficiencia. Por esta razn, era muy interesante conseguir nuevos mtodos de resolucin que hicieran la competencia al algoritmo simplex. Como una innovacin destacable en los aos ochenta aparece un nuevo y poderoso algoritmo para la resolucin de programas lineales: en 1984, Narendra Karmarkar (1984) de AT&T Laboratories public un artculo presentando esquemticamente un mtodo para resolver programas lineales de gran tamao. Este mtodo llamado algoritmo de Karmarkar se presenta como un buscador de ptimos a partir de puntos interiores, siendo sta la gran novedad en relacin con el mtodo simplex. Dicho artculo de Karmarkar no describe totalmente el mtodo resolutorio y, adems, afirma que es mucho ms rpido que el simplex para problemas de gran dimensin. El intento de descubrimiento de un remedo de dicho mtodo puso a toda la comunidad cientfica en pie de bsqueda. Pasaron cuatro aos hasta que se logr un conocimiento general del mtodo y su distribucin comercial. Esta extensin del algoritmo de Karmarkar fue debida a AT&T Laboratories, que llam a esta versin AT&T KORBX Linear Programming System. La instalacin completa de esta versin tuvo un costo inicial de $8.900.000. Desde un principio se realizaron multitud de comparaciones entre el mtodo simplex y el de Karmarkar, con objeto de determinar cul de los dos era el ms eficiente. Sin embargo, esto no es fcil de determinar puesto que hay que especificar qu es exactamente lo que significa eficiencia. Es necesario efectuar la comparacin en multitud de situaciones diversas y a partir de ellas establecer la correspondiente tesis. Se

han realizado estudios que cotejan el mtodo de Karmarkar con un paquete informtico estndar del mtodo simplex llamado MINOS. Para problemas de tamao grande (a partir de varios miles de restricciones) las mejoras en tiempo de clculo del mtodo de Karmarkar sobre el simplex son notables (factores entre 10 y 50 son comunes). No obstante, esta situacin no supone la supremaca del mtodo de Karmarkar en todo tipo de problemas. No hay que olvidar que para problemas de dimensin pequea, el mtodo simplex es ms intuitivo y fcil de aplicar. Tambin es posible realizar algunos comentarios acerca de la complejidad computacional de cada uno de los mtodos. El mtodo de Karmarkar es un algoritmo de tiempo polinomial, mientras que el simplex no goza de esta propiedad, sino que es de tiempo exponencial. De esta forma, tenemos explicada la razn por la cual el mtodo de Karmarkar obtiene mejores resultados para problemas de gran dimensin. Es llamativo que los problemas que hasta hace unos aos necesitaban de computadoras de tamao medio, ahora sean resolubles mediante ordenadores personales. En la actualidad, prcticamente cualquier usuario de la Investigacin Operativa puede resolver problemas lineales mediante LINDO (u otro paquete informtico semejante) en un ordenador porttil. De esta manera, mediante LINDO se pueden manejar problemas con hasta 50.000 restricciones y 200.000 variables. De igual modo, se desarroll el paquete MINOS (empleando para programacin lineal el mtodo simplex) en el Systems Optimization Laboratory del Departamento de Investigacin Operativa de la Universidad de Stanford, que ha sido usado ms frecuentemente como herramienta optimizadora en programacin no lineal. Otros lenguajes de modelizacin se han desarrollado para ordenadores personales. As, ha aparecido GAMS/MINOS que es una combinacin de los dos programas bien conocidos con objeto de construir un lenguaje de modelizacin algebraica implementado por IBM. De la misma forma, ha aparecido el paquete XPRESS-LP; y el lenguaje MPL (Mathematical Programming Language) desarrollado por Maximal Software en Islandia. Esta misma casa produjo la utilidad Turbo-Simplex. En los aos noventa fueron apareciendo otras utilidades informticas, como son las hojas de clculo y sus complementos asociados, capaces de resolver programas lineales. Entre algunos de estos complementos se pueden citar los siguientes: Solver, VINO, Whats Best? y XA. Casi todas estas utilidades fueron construidas por IBM para sus propias computadoras, sin embargo, poco a poco, se van obteniendo versiones para Macintosh.

Aunque estas son las ms recientes aplicaciones informticas de los ltimos cinco aos, en los prximos aos se mejorarn, a la vez que se extendern los lenguajes y paquetes informticos que permitirn resolver con relativa facilidad problemas de programacin lineal complejos.

Resumen del mtodo de Karmarkar


A continuacin se mencionan algunos de los aspectos mas importantes sobre el mtodo de Karmarkar. Este mtodo permite resolver programas lineales en tiempo polinomial, mejorando en este sentido el consabido algoritmo del simplex. El mtodo de Karmarkar consiste en tres fases que se resumen a continuacion 1. (Fase I: Convirtiendo un programa lineal a la forma de Karmarkar) En esta fase se convierte un

programa lineal dado en la forma estandar Maximizar { z = cx : Ax b, x 0 } , a la forma estndar de Karmarkar (FEK): Minimizar : z = cx, sujeta a: Ax = 0, Unx = 1, x 0, (2) donde A es m n de rango m, n 2, c y A estan compuestos por numeros enteros, Un es un vector con n unos, y cumple las siguientes condiciones (S1) el punto x0 = (1/n, ,1/n), es factible, y (S2) el valor objetivo ptimo del problema es cero. Al convertir (1) a la (FEK) obtenemos: (1)

2.

(Fase 2: Resumen del Algoritmo de Karmarkar)

El siguiente es el resumen del algoritmo de Karmarkar que aplica solo para programas lineales que estan bajo la (FEK).

Maximizar { z = cx : Ax b, x 0 } , a la forma estndar de Karmarkar (FEK): Minimizar : z = cx,

(1)

sujeta a: Ax = 0, Unx = 1, x 0,

(2)

donde A es m n de rango m, n 2, c y A estan compuestos por numeros enteros, Un es un vector con n unos, y cumple las siguientes condiciones (S1) el punto x0 = (1/n, ,1/n), es factible, y (S2) el valor objetivo ptimo del problema es cero. Al convertir (1) a la (FEK) obtenemos:

Das könnte Ihnen auch gefallen