Sie sind auf Seite 1von 16

METODO DEL PUNTO INTERIOR DE KARMARKAR

Con el mtodo smplex se obtiene una solucin optima siguiendo una ruta de
puntos extremos adyacentes, a lo largo de las orillas del espacio de soluciones.
Aunque en la prctica el mtodo smplex ha funcionado bien para resolver
problemas grandes, la cantidad de iteraciones necesarias para llegar a la solucin
optima puede crecer en forma exponencial, tericamente. De hecho, los
investigadores han construido una clase de programas lineales en los que todos
los puntos extremos factibles se visitan antes de llegar al optimo (ver ejemplo del
9/8/06 en los apuntes). N. Karmarkar desarrollo en 1984 un algoritmo polinomio en
el tiempo, que cruza el interior del espacio de soluciones. Este algoritmo es eficaz
para programas lineales extremadamente grandes. Comenzaremos presentando
la idea principal del mtodo de Karmarkar, para despus describir los detalles de
cmputo del algoritmo.

Idea bsica del algoritmo del punto interior

Comencemos con cualquier punto interior (no extremo) C en el espacio factible


(lnea

AB). El gradiente de la funcin objetivo (maximizar z = x1) en C es la del aumento


Ms rpido de z. Si se ubica un punto arbitrario a lo largo del gradiente y a
continuacin

Se proyecta perpendicularmente sobre el espacio factible (lnea AB), se obtiene el


nuevo punto D, con mejor valor objetivo z. Esa mejora se obtiene movindose en
la direccin del gradiente proyectado CD. Si se repite el procedimiento en D, se
Determinar un nuevo punto E ms cercano al optimo. Se puede uno imaginar
que si nos movemos (con cuidado) en la direccin del gradiente proyectado, nos
tropezaremos con el punto optimo B. Si se est minimizando a z (en lugar de
maximizarla), el gradiente proyectado nos alejara del punto B hacia el mnimo, en
el punto A (x1 = 0)

Los pasos que se dieron difcilmente definen un algoritmo en el sentido normal,


pero la idea es interesante! Se necesitan ciertas modificaciones que garanticen
que 1) los pasos generados a lo largo del gradiente no se pasen del punto
optimo en B, y 2) en el caso general n dimensional, la direccin definida por el
gradiente proyectado no cause un empantanamiento del algoritmo en un punto
no optimo. Esto es, bsicamente lo que se logra con el algoritmo del punto interior
de Karmarkar.

Algoritmo del punto interior.


En las publicaciones se pueden encontrar algunas variantes del algoritmo de
Karmarkar. Nuestra explicacin se apega al algoritmo original. Karmarkar
supone que la programacin lineal es:

Todas las restricciones son ecuaciones homogneas, a excepcin de la


restriccin P 1X = n j=1 xj = 1, que define un simplex n dimensional. La validez
del algoritmo de Karmarkar descansa en satisfacer dos condiciones:

En el siguiente ejemplo se ilustra cmo se puede poner una programacin


lineal general en la forma homognea AX = 0 con 1X = 1, con lo cual tambin
se tiene a X = ( 1 n , 1 n , . . . , 1 n ) como solucin factible (condicin 1). En un
segundo ejemplo se muestra cmo se puede hacer que la transformacin
satisfaga las dos condiciones, aunque los clculos son tediosos.
Ejemplo 7.7-2
En este ejemplo se demuestra que cualquier programacin lineal puede
satisfacer las condiciones 1) y 2) que se requieren en el algoritmo de
Karmarkar. Las transformaciones son complicadas y, por tanto, no se
recomiendan en la prctica. En lugar de ello se aconseja usar una variacin del
algoritmo que no requiere la condicin 2).
En el paso final se debe aumentar la variable artificial x8 en el lado izquierdo
de cada ecuacin; la nueva funcin objetivo pedir a minimizar x8, cuyo valor
mnimo debe ser cero (suponiendo que el primal es factible). Sin embargo,
ntese que en el algoritmo de Karmarkar se requiere que la solucin
Sea factible para AX = 0. Eso ser cierto para las ecuaciones homogneas (con
lado derecho cero) si el coeficiente asociado de x8 artificial es igual a la suma
(algebraica) de todos los coeficientes en el lado izquierdo. As, se ve que el
programa lineal transformado es:

Ahora presentaremos los pasos principales del algoritmo. La figura 2(a)


muestra una ilustracin tpica del espacio de soluciones en tres dimensiones,
donde el conjunto homogneo AX = 0 est formado solo por una ecuacin. Por
definicin, el espacio de soluciones formado por el segmento de recta AB
queda enteramente en el simplex bidimensional 1X = 1 y pasa por el punto
interior factible ( 1 3 , 1 3 , 1 3 ). De forma parecida, la figura 2(b) muestra una
ilustracin del espacio de soluciones ABC en cuatro dimensiones, con el
conjunto homogneo formado de nuevo solo por una restriccin. En este caso,
el centro del simplex tridimensional es ( 1 4 , 1 4 , 1 4 , 1 4 ).

El algoritmo de Karmarkar se inicia en un punto interior representado por el


centro del simplex y a continuacin avanza en la direccin del gradiente
proyectado para determinar un nuevo punto de solucin. Este nuevo punto
debe ser estrictamente interior, lo que quiere decir que todas sus coordenadas
deben ser positivas. La validez del algoritmo se basa en esta condicin.

Para que el nuevo punto de solucin sea estrictamente interior, no debe estar
en los lmites del simplex. (En trminos de la figura 2, se deben excluir los
puntos A y B en tres dimensiones, y las rectas AB, BC y AC en cuatro
dimensiones.) Para garantizar este resultado se inscribe una esfera con su
centro coincidente con el del simplex, en forma justa, dentro del simplex. En el
caso n dimensional, el radio r de esta esfera es igual a 1/ p n(n 1). Una esfera
menor con radio r (0 < < 1) ser a un subconjunto de la esfera, y cualquier
punto en la interseccin de la esfera menor con el sistema homogneo AX = 0
ser a un punto interior, con coordenadas estrictamente positivas. Entonces, se
puede uno mover todo lo posible en este espacio restringido (interseccin de
AX = 0 con la esfera r a lo largo del gradiente proyectado, para determinar el
nuevo punto de solucin, que por necesidad estar a mejorado. El nuevo punto
de solucin ya no estar a en el centro del simplex. Para que el procedimiento
sea iterativo se necesita llevar al nuevo punto de solucin al centro de un
El problema transformado tiene el mismo formato que el problema original.
Entonces se puede comenzar con el centro del smplex Y = ( 1 n , 1 n , . . . , 1 n
) y repetir el paso iterativo. Despus de cada iteracin se pueden calcular los
valores de las variables originales X a partir de la solucin. Ahora se indicara
como se puede determinar el nuevo punto de solucin para el problema
transformado. En cualquier iteracin k, el problema es
La seleccin de es crucial para ampliar la eficiencia del algoritmo. En el caso
normal se selecciona tan grande como sea posible, para ir hacia la solucin
en grandes saltos. Sin embargo, si se escoge demasiado grande, se puede
uno acercar demasiado a los lmites prohibidos del smplex. No hay respuesta
general a este problema, pero Karmarkar sugiere usar = (n 1)/3n.

Los pasos del algoritmo de Karmarkar son:

Das könnte Ihnen auch gefallen