Anda di halaman 1dari 13

INTRODUCCION

El problema de la resolucin de un sistema lineal de inecuaciones se remonta,


al menos, a Joseph Fourier, despus de quien nace el mtodo de eliminacin de
Fourier-Motzkin. La programacin lineal se plantea como un modelo matemtico
desarrollado durante la Segunda Guerra Mundial para planificar los gastos y los
retornos, a fin de reducir los costos al ejrcito y aumentar las prdidas del
enemigo. Se mantuvo en secreto hasta 1947. En la posguerra, muchas industrias
lo usaron en su planificacin diaria.
Los fundadores de la tcnica son George Dantzig, quien public el algoritmo
simplex, en 1947, John von Neumann, que desarroll la teora de la dualidad en
el mismo ao, y Leonid Kantorvich, un matemtico ruso, que utiliza tcnicas
similares en la economa antes de Dantzig y gan el premio Nobel en economa
en 1975. En 1979, otro matemtico ruso, Leonid Khachiyan, dise el llamado
Algoritmo del elipsoide, a travs del cual demostr que el problema de la
programacin lineal es resoluble de manera eficiente, es decir, en tiempo
polinomial.2 Ms tarde, en 1984, Narendra Karmarkar introduce un nuevo
mtodo del punto interior para resolver problemas de programacin lineal, lo que
constituira un enorme avance en los principios tericos y prcticos en el rea.
El ejemplo original de Dantzig de la bsqueda de la mejor asignacin de 70
personas a 70 puestos de trabajo es un ejemplo de la utilidad de la programacin
lineal. La potencia de computacin necesaria para examinar todas las
permutaciones a fin de seleccionar la mejor asignacin es inmensa (factorial de
70, 70!) ; el nmero de posibles configuraciones excede al nmero de partculas
en el universo. Sin embargo, toma slo un momento encontrar la solucin ptima
mediante el planteamiento del problema como una programacin lineal y la
aplicacin del algoritmo simplex. La teora de la programacin lineal reduce
drsticamente el nmero de posibles soluciones ptimas que deben ser
revisadas.

OBJETIVOS:
Podemos encontrar los valores ptimos para los cuales una produccin
consuma el mnimo de recursos, o bien para maximizar los ingresos entre
otros.
Maximizar las utilidades de una empresa o para reducir al mnimo sus
costes de produccin.

1
PROGRAMACIN LINEAL AVANZADA

1. FUNDAMENTOS DE MTODO SMPLEX


En la programacin lineal, se dice que el espacio de soluciones factibles forma
un conjunto convexo si el segmento de recta que une dos puntos factibles distintos
cualquiera tambin est en el conjunto. Un punto extremo del conjunto convexo es un
punto factible que no puede estar en un segmento de recta que una a dos puntos
factibles distintos en el conjunto. En realidad, los puntos extremos son lo mismo que los
puntos de esquina (vrtices), nombre ms adecuado que se us en los captulos 2, 3 y
4.
La figura 7.1 ilustra dos conjuntos. El conjunto (a), que es caracterstico del
espacio de soluciones de un programa lineal, es convexo (con seis puntos extremos),
mientras que el conjunto (b) es no convexo.
En la solucin grfica del programa lineal, presentada en la seccin 2.3,
demostramos que la solucin ptima siempre se puede asociar con un punto extremo
factible (vrtice) del espacio de soluciones. Este resultado tiene sentido, intuitivamente,
porque en programacin lineal todo punto factible se puede determinar cmo funcin de
los puntos extremos Por ejemplo, en el conjunto convexo (a) de la figura 7.1, dados los
puntos extremos1 , 2 , 3 , 4 , 5 Y 6 . y, un punto factible se puede expresar como
combinacin convexa de los puntos extremos mediante

Esta observacin demuestra que los puntos extremos contienen todo lo


necesario para definir por completo el espacio de soluciones.
Ejemplo 7.1-1
Demostrar que el siguiente conjunto es convexo:

2
1.1. Desde puntos extremos hasta soluciones bsicas
Conviene expresar el problema lineal general en forma de ecuacin con notacin
matricial. Se define X como un -vector que representa las variables; A como matriz de
( ) que representa los coeficientes de restriccin, y C como un -vector que
representa los coeficientes de la funcin objetivo. Entonces el programa lineal se escribe
como sigue:

Maximizar o minimizar z = CX
sujeta a =

Al usar el formato del captulo 3 (vase tambin la figura 4.1), siempre se puede
hacer que las m columnas de la extrema derecha de A representen la matriz identidad
I mediante arreglos adecuados de las variables de holgura y artificiales asociadas con
la solucin bsica de arranque.
Una solucin bsica de = se determina igualando variables a cero,
y resolviendo las ecuaciones resultantes con las incgnitas que quedan, siempre
que la solucin obtenida sea nica. Dada esta definicin, la teora de la programacin
lineal establece la siguiente relacin entre la definicin geomtrica de puntos extremos,
y la definicin algebraica de soluciones bsicas:
Puntos extremos de { = } Soluciones bsicas de =
La relacin indica que los puntos extremos del espacio de soluciones del
programa lineal estn totalmente definidos por las soluciones bsicas del sistema AX =
b, y viceversa. Se llega entonces a la conclusin de que las soluciones bsicas de AX
= b contienen toda la informacin necesaria para determinar la solucin ptima del
problema lineal. Adems, si se impone la restriccin de no negatividad X 0, la
bsqueda de la solucin ptima se confina slo a las soluciones bsicas factibles.
Para formalizar la definicin de una solucin bsica, se puede expresar el
sistema = en forma vectorial como sigue:

3
El vector es la es la -sima columna de A. Se dice que un subconjunto de
vectores forma una base B, si y slo si esos vectores son linealmente independientes.
En este caso, la matriz B es no singular. Si es el conjunto de variable asociado
con los vectores de B no singular, entonces debe ser una solucin bsica. En este
caso,
=

Dada la inversa de , que es se obtiene la solucin bsica correspondiente:

Si, entonces es factible. Naturalmente, la definicin supone que


las variables restantes son no bsicas a nivel cero.
El resultado anterior demuestra que en un sistema de ecuaciones y incgnitas, la
cantidad mxima de soluciones bsicas (factibles y no factibles) es

Ejemplo
Determinar y clasificar (en factible y no factible) todas las soluciones bsicas del
siguiente sistema de ecuaciones:

En la tabla siguiente se resumen los resultados. La inversa de B se determina


con uno de los mtodos de la seccin A.2.7.

Tambin se puede investigar el problema expresndolo en forma vectorial, como


sigue:

4
Cada uno de 1 , 2 , 3 , Y, y b es un vector bidimensional que se puede
representar, en forma genrica, como (1 , 2 ) . En la figura 7.3 se grafican estos
vectores en el plano (1 , 2 ). Por ejemplo, para b = (4, 2) , 1 = 4 y 2 = 2
Como se manejan dos ecuaciones ( = 2), una base debera incluir
exactamente dos vectores, seleccionados entre y 1 , 2 , 3 . Segn la figura 7.3, las
combinaciones (1 , 2 ) y (2 , 3 ) forman bases, porque sus vectores asociados son
independientes, en la combinacin (1 , 3 ) los dos vectores son dependientes y en
consecuencia no forman una base.

Desde el punto de vista algebraico, una combinacin forma una base si su


determinante es distinto de cero. Los clculos siguientes demuestran que las
combinaciones (1 , 2 ) y (2 , 3 ) y son bases, y que la combinacin (1 , 3 ) no lo
es.

En un programa lineal normal, con miles de variables y restricciones donde el


uso de la computadora es obligatorio, los tanteos no son opcin prctica por la tremenda
carga computacional. Para aliviar este problema, el mtodo simplex siempre usa una
matriz identidad, B = I, para iniciar las iteraciones. Por qu es ventajoso arrancar con
B = I? La respuesta es que siempre proporciona una solucin bsica factible de arranque
(siempre y cuando el vector del lado derecho de las ecuaciones sea no negativo). Se
puede ver este resultado en la figura 7.3, graficando los vectores B = I, y notando que
coinciden con los ejes horizontal y vertical, con lo que siempre se garantiza una solucin
bsica y factible en el arranque.

5
1.2. Tabla simplex generalizada en forma matricial
En esta seccin se usarn matrices para desarrollar la tabla simplex general.
Esta representacin ser la base para desarrollos posteriores en el captulo.
Se tiene la programacin lineal en forma de ecuacin:
Maximizar = , sujeta a = , 0
El problema se puede escribir en forma equivalente como sigue:

Supongamos que B es una base factible del sistema = , , y sea el


conjunto correspondiente de variables bsicas, con como su vector objetivo
asociado. Entonces, la solucin correspondiente se puede calcular como sigue.

La tabla general simplex en forma matricial se puede derivar de las ecuaciones


originales como sigue:

Como es el -simo vector de , la columna de la tabla simplex asociada con


la variable se puede representar como sigue:

Una propiedad importante de esta tabla es que la inversa , es el nico


elemento cambia de un cuadro al siguiente, y que todo el cuadro se puede generar una
vez conocido . Este punto es importante, porque se puede controlar el error
computacional de redondeo en cualquier cuadro, si se controla la exactitud de . Este
resultado fue la razn principal del desarrollo del mtodo simplex modificado.

6
2. MTODO SMPLEX MODIFICADO
En la seccin 7.1.1 se demuestra que la solucin ptima de un programa lineal
siempre est asociada a una solucin bsica (factible). La bsqueda del ptimo con el
mtodo simplex se inicia seleccionando una base B factible, y pasando entonces a otra
base B factible, que conduce a un valor mejor (o cuando menos, a uno no peor) de la
funcin objetivo. Al continuar de esta manera se llega al final a la base factible ptima.
Los pasos iterativos del mtodo simplex modificado o revisado son exactamente
iguales que en la tabla del mtodo simplex. La diferencia principal es que los clculos
del mtodo modificado se basan en lgebra de matrices, y no en operaciones de
rengln. El uso del lgebra de matrices reduce el efecto adverso del error de redondeo
de las mquinas, al controlar la exactitud de clculo de . Este resultado se debe a
que, toda la tabla simplex se puede calcular a partir de los datos originales y con .
en ese momento. En el mtodo de la tabla simplex del captulo 3, cada cuadro se genera
partiendo del inmediato anterior, lo que tiende a empeorar el problema del error de
redondeo.
2.1. Desarrollo de las condiciones de optimalizad y factibilidad
El problema lineal general se puede plantear como sigue:

Para un vector bsico dado con su base B y vector objetivo C


correspondientes, la tabla general simplex desarrollada, indica que toda iteracin
simplex se puede representar con las siguientes ecuaciones:

Se usa la notacin ()1 para representar al -simo elemento del vector .

a. Condicin de optimalizad. En la ecuacin de z de arriba, un aumento de no


bsica por encima de su valor actual cero mejorar el valor de z en relacin con
su valor actual, , slo si su es estrictamente negativo en el caso de
maximizacin, y estrictamente positivo en caso de minimizacin. En caso
contrario no puede mejorar la solucin y debe permanecer como no bsica en
nivel cero. Aunque se puede escoger cualquier variable no bsica que satisfaga
esta condicin para mejorar la solucin, en el mtodo simplex se usa una regla
aproximada, que selecciona a la variable entrante como la que tiene el ms
negativo si es maximizacin (ms positivo si es minimizacin).
b. Condicin de factibilidad. La determinacin del vector saliente se basa en
examinar la ecuacin de restriccin asociada con la i-sima variable bsica. En
forma especfica,

7
Cuando se selecciona el vector con la condicin de optimalidad para
entrar a la base, su variable asociada aumentar sobre el nivel cero. Al mismo
tiempo, todas las variables no bsicas restantes quedan en el nivel cero. As, la
i-sima ecuacin de restriccin se reduce a

La ecuacin indica que si ( ), un aumento de 1 puede hacer que


se vuelva negativo, lo cual viola la condicin de no negatividad ( ) 0, para
toda . Entonces,

Esta condicin lleva al siguiente valor mximo de la variable entrante :

La variable bsica causante de producir la relacin mnima sale de la


solucin bsica y se convierte en no bsica con nivel cero.
2.2. Algoritmo simplex modificado
Despus de desarrollar las condiciones de optimalidad y factibilidad, ahora
presentaremos los pasos de cmputo del mtodo simplex modificado (o revisado).
a. Paso 0. Forme una solucin bsica factible de arranque, y sean y su base
asociada y vector de coeficientes objetivo, respectivamente.
b. Paso 1. Calcule la inversa usando un mtodo adecuado de inversin.
c. Paso 2. Para cada variable 1 no bsica, calcule -1

Si en 0 maximizacin ( 0) (en minimizacin) para toda 1 no


bsica, detngase; la solucin ptima es

8
En caso contrario, aplique la condicin de optimalidad y determine la
variable entrante como la variable no bsica con el valor ms negativo de
en caso de maximizacin, y ms positivo en caso de minimizacin.

d. Paso 3. Calcule . Si todos los elementos de son negativos o cero,


detngase; el problema no tiene solucin acotada. En caso contrario, calcule
. Entonces, para todos los elementos estrictamente positivos de ,
determine las relaciones definidas por la condicin de factibilidad. La variable
bsica asociada con la relacin mnima es la variable saliente.
e. Paso 4. A partir de la base actual B, forme una nueva base reemplazando al
vector saliente con el vector entrante . Vaya al paso 1 para iniciar una nueva
iteracin

3. DUALIDAD
Hemos manejado el problema dual a un nivel elemental en el captulo 4. En esta
seccin se presenta un tratamiento ms riguroso de la dualidad, que nos permite
verificar las relaciones primal-duales que formaban la base del anlisis de sensibilidad.
Tambin esta presentacin establece las bases del desarrollo de la programacin
paramtrica.
3.1. Definicin matricial del problema dual
Suponga que el problema primal, en forma de ecuacin con m restricciones y n
variables se define como sigue:
Si el vector = (1 , 2 . , ) representa las variables duales, producen el
siguiente problema dual:
Minimizar w = Yb
sujeta a
Y no restringida
Observe que algunas de las restricciones pueden saltarse la Y no
restringida.
3.2. Solucin dual ptima
En esta seccin se establecen las relaciones entre los problemas primal y dual,
y se indica cmo se puede determinar la solucin dual ptima a partir de la solucin
primal ptima. Sea B la base primal ptima actual, y defnase C como los coeficientes
de la funcin objetiva asociados con el vector ptimo X
4. PROGRAMACIN LINEAL PARAMTRICA
La programacin lineal paramtrica es una extensin de los procedimientos de
anlisis de, P sensibilidad. Investiga el efecto de variaciones continuas predeterminadas
en los coeficientes de la funcin objetivo, y el lado derecho de las restricciones, sobre la
solucin ptima.

9
Supongamos que el problema lineal se define como

En el anlisis paramtrico se reemplazan la funcin objetivo y los vectores del


lado derecho por las funciones parame trizadas () y (), siendo el parmetro de
variacin. Desde el punto de vista matemtico, puede tener cualquier valor positivo o
negativo. Sin embargo, en la prctica suele representar al tiempo, por lo que slo
asume valores no negativos. En esta explicacin supondremos que 0.
La idea general del anlisis paramtrico es iniciar con la solucin ptima en =
0. Despus, usando las condiciones de optimalidad y factibilidad del mtodo simplex se
determina el intervalo 0 para el cual la solucin permanece ptima y factible en.
En este caso, a t se le llama valor crtico. El proceso contina determinando valores
crticos sucesivos y sus soluciones ptimas factibles correspondientes. Termina el
proceso en = cuando hay indicacin ya sea de que la ltima solucin permanece
sin cambio para o que no existe solucin factible ms all de ese valor crtico.
4.1. Cambios paramtricos en C
Sean los elementos que definen la solucin ptima asociada con t crtico (los clculos
se inician en con como su base ptima). A continuacin se determina el valor y su base
ptima, si existe. Como los cambios en C slo pueden afectar la optimalidad del
problema, la solucin actual permanecer ptima para alguna siempre que se satisfaga
la siguiente condicin de optimalizad:
4.2. Cambios paramtricos en b
El lado derecho b(t) parametrizado slo puede afectar la factibilidad del problema. Los
valores crticos de t se determinan entonces a partir de la siguiente condicin:

5. MTODO DEL PUNTO INTERIOR DE KARMARKAR


Con el mtodo simplex se obtiene una solucin ptima 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 ptima 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 ptimo.
N. Karmarkar desarroll en 1984 un algoritmo polinomial en el tiempo, que cruza
el interior del espacio de soluciones. Este algoritmo es eficaz para programas lineales
extremadamente grandes.

10
Comenzaremos presentando la idea principal del mtodo de Karmarkar, para
despus describir los detalles de cmputo del algoritmo.
5.1. Idea bsica del algoritmo del punto interior
Considrese el siguiente ejemplo (trivial):
Maximizar = 1
sujeta a 0 1 2
Si se usa 2 como variable auxiliar, se puede reexpresar el problema como
sigue:

La figura 7.6 ilustra el problema. El espacio de soluciones se define por el


segmento de recta AB. La direccin de aumento de z es la direccin positiva de x
Comencemos con cualquier punto interior (no extremo) C en el espacio factible
(lnea 1AB). El gradiente de la funcin objetivo (maximizar ) 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 (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 ptimo. Se puede uno imaginar que si se mueve uno (con cuidado) en
la direccin del gradiente proyectado, se tropezar con el punto ptimo B. Si se est
minimizando a z (en lugar de maximizarla), el gradiente proyectado nos alejar del punto
B hacia el mnimo, en el punto ( = 0) .

11
Algoritmo en un punto no ptimo. Esto es, bsicamente, lo que se logra con el
algoritmo del punto interior de Karmarkar.

5.2. 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, que define un smplex n dimensional. La validez del
algoritmo de Karmarkar descansa en satisfacer dos condiciones:

12
Karmarkar proporciona modificaciones que permiten resolver el problema
cuando no se satisface la segunda condicin. No presentaremos aqu esas
modificaciones.
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 = ( , , )
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.

6. CONCLUSIONES

Utilizar el mtodo ms adecuado para encontrar la ruta ms corta a travs de la


red que, en donde los nmeros representan las distancias reales entre los nodos
correspondientes.
Formule el problema de la ruta ms corta como uno de Programacin Lineal.
Los modelos de optimizacin de redes constituyen una herramienta muy sencilla
para la encontrar la solucin ptima a los problemas de flujo de redes,
Si se aplicara el mtodo simplex en un problema de distribucin o de redes,
tendramos muchas variables y restricciones en el modelo y se tendra que
utilizar herramientas computacionales para encontrar la solucin ptima de una
forma rpida,
Aunque los problemas de flujo de costo mnimo y el de la ruta ms corta pueden
formularse como modelos de programacin lineal para luego aplicar el mtodo
simplex, no es conveniente su utilizacin.
Por otro lado solucionar el problema utilizando redes mejora la eficiencia de los
clculos.

13

Anda mungkin juga menyukai