Está en la página 1de 7

Programacin lineal

Commons-emblem-question book yellow.svg


Este artculo o seccin posee referencias, pero necesita ms para
complementar su verificabilidad.
Puedes colaborar agregando referencias a fuentes fiables como se indica
aqu. El material sin fuentes fiables podra ser cuestionado y eliminado.
La programacin lineal es el campo de la optimizacin matemtica dedicado
a maximizar o minimizar (optimizar) una funcin lineal, denominada funcin
objetivo, de tal forma que las variables de dicha funcin estn sujetas a una
serie de restricciones expresadas mediante un sistema de inecuaciones
tambin lineales. Los mtodos ms recurridos para resolver problemas de
programacin lineal son algoritmos de pivote, en particular los algoritmos
simplex.

ndice [ocultar]
1 Historia de la programacin lineal
2 Variables
3 Restricciones
4 Funcin Objetivo
5 Programacin entera
6 Aplicaciones
7 Ejemplo
8 Vase tambin
9 Referencias
9.1 Bibliografa
Historia de la programacin lineal[editar]
Cronologa1
Ao

Acontecimiento

1826 Joseph Fourier anticipa la programacin lineal. Carl Friedrich Gauss


resuelve ecuaciones lineales por eliminacin "gaussiana".
1902 Gyula Farkas concibe un mtodo para resolver sistemas de
inecuaciones.

1947 George Dantzig publica el algoritmo simplex y


John von Neumann desarroll la teora de la dualidad.
Se sabe que Leonid Kantorvich tambin formul la teora en forma
independiente.
1984 Narendra Karmarkar introduce el mtodo del punto interior para
resolver
problemas de programacin lineal.
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 de origen 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
factibles que deben ser revisadas.

Variables[editar]

Las variables son nmeros reales mayores o iguales a cero. X_i\geq 0

En caso que se requiera que el valor resultante de las variables sea un


nmero entero, el procedimiento de resolucin se denomina Programacin
entera.

Restricciones[editar]
Las restricciones pueden ser de la forma:

Tipo 1: A_j = \sum_{i=1}^N a_{i,j} \times X_i

Tipo 2: B_j \leq \sum_{i=1}^N b_{i,j} \times X_i

Tipo 3: C_j \geq \sum_{i=1}^N c_{i,j} \times X_i

Donde:

A = valor conocido a ser respetado estrictamente;


B = valor conocido que debe ser respetado o puede ser superado;
C = valor conocido que no debe ser superado;
j = nmero de la ecuacin, variable de 1 a M (nmero total de restricciones);
a; b; y, c = coeficientes tcnicos conocidos;
X = Incgnitas, de 1 a N;
i = nmero de la incgnita, variable de 1 a N.
En general no hay restricciones en cuanto a los valores de N y M. Puede ser
N = M; N > M; , N < M.

Sin embargo si las restricciones del Tipo 1 son N, el problema puede ser
determinado, y puede no tener sentido una optimizacin.

Los tres tipos de restricciones pueden darse simultneamente en el mismo


problema.

Funcin Objetivo[editar]
La funcin objetivo puede ser:

Max! = \sum_{i=1}^N f_{i} \times X_i

Min! = \sum_{i=1}^N f_{i} \times X_i

Donde:

f_{i} = coeficientes son relativamente iguales a cero.


Programacin entera[editar]
En algunos casos se requiere que la solucin ptima se componga de
valores enteros para algunas de las variables. La resolucin de este
problema se obtiene analizando las posibles alternativas de valores enteros
de esas variables en un entorno alrededor de la solucin obtenida
considerando las variables reales. Muchas veces la solucin del programa
lineal truncado esta lejos de ser el ptimo entero, por lo que se hace
necesario usar algn algoritmo para hallar esta solucin de forma exacta. El
ms famoso es el mtodo de 'Ramificar y Acotar' o Branch and Bound por su
nombre en ingls. El mtodo de Ramificar y Acotar parte de la adicin de
nuevas restricciones para cada variable de decisin (acotar) que al ser
evaluado independientemente (ramificar) lleva al ptimo entero.

Aplicaciones[editar]
La programacin lineal constituye un importante campo de la optimizacin
por varias razones, muchos problemas prcticos de la investigacin de
operaciones pueden plantearse como problemas de programacin lineal.
Algunos casos especiales de programacin lineal, tales como los problemas

de flujo de redes y problemas de flujo de mercancas se consideraron en el


desarrollo de las matemticas lo suficientemente importantes como para
generar por si mismos mucha investigacin sobre algoritmos especializados
en su solucin. Una serie de algoritmos diseados para resolver otros tipos
de problemas de optimizacin constituyen casos particulares de la ms
amplia tcnica de la programacin lineal. Histricamente, las ideas de
programacin lineal han inspirado muchos de los conceptos centrales de la
teora de optimizacin tales como la dualidad, la descomposicin y la
importancia de la convexidad y sus generalizaciones. Del mismo modo, la
programacin lineal es muy usada en la microeconoma y la administracin
de empresas, ya sea para aumentar al mximo los ingresos o reducir al
mnimo los costos de un sistema de produccin. Algunos ejemplos son la
mezcla de alimentos, la gestin de inventarios, la cartera y la gestin de las
finanzas, la asignacin de recursos humanos y recursos de mquinas, la
planificacin de campaas de publicidad, etc.

Otros son:

Optimizacin de la combinacin de cifras comerciales en una red lineal de


distribucin de agua.
Aprovechamiento ptimo de los recursos de una cuenca hidrogrfica, para
un ao con afluencias caracterizadas por corresponder a una determinada
frecuencia.
Soporte para toma de decisin en tiempo real, para operacin de un sistema
de obras hidrulicas;
Solucin de problemas de transporte.
Ejemplo[editar]
Progr Lineal.PNG
Este es un caso curioso, con solo 6 variables (un caso real de problema de
transporte puede tener fcilmente ms de 1.000 variables) en el cual se
aprecia la utilidad de este procedimiento de clculo.

Existen tres minas de carbn cuya produccin diaria es:

La mina "a" produce 40 toneladas de carbn por da;


La mina "b" produce 40 t/da; y,

La mina "c" produce 20 t/da.


En la zona hay dos centrales termoelctricas que consumen:

La central "d" consume 40 t/da de carbn; y,


La central "e" consume 60 t/da
Los costos de mercado, de transporte por tonelada son:

De "a" a "d" = 2 monedas


De "a" a "e" = 11 monedas
De "b" a "d" = 12 monedas
De "b" a "e" = 24 monedas
De "c" a "d" = 13 monedas
De "c" a "e" = 18 monedas
Si se preguntase a los pobladores de la zona cmo organizar el transporte,
tal vez la mayora opinara que debe aprovecharse el precio ofrecido por el
transportista que va de "a" a "d", porque es ms conveniente que los otros,
debido a que es el de ms bajo precio.

En este caso, el costo total del transporte es:

Transporte de 40 t de "a" a "d" = 80 monedas


Transporte de 20 t de "c" a "e" = 360 monedas
Transporte de 40 t de "b" a "e" = 960 monedas
Total 1.400 monedas.
Sin embargo, formulando el problema para ser resuelto por la programacin
lineal se tienen las siguientes ecuaciones:

Restricciones de la produccin:
X_{a \to d} + X_{a \to e} \le 40

[ \mbox{T/dia} ] \,\!

X_{b \to d} + X_{b \to e} \le 40

[ \mbox{T/dia} ] \,\!

X_{c \to d} + X_{c \to e} \le 20

[ \mbox{T/dia} ] \,\!

Restricciones del consumo:


X_{a \to d} + X_{b \to d} + X_{c \to d} \ge 40

[ \mbox{T/dia} ] \,\!

X_{a \to e} + X_{b \to e} + X_{c \to e} \ge 60

[ \mbox{T/dia} ] \,\!

La funcin objetivo ser:


2X_{a \to d} + 11X_{a \to e} + 12X_{b \to d} + 24X_{b \to e} + 13X_{c \to
d} + 18X_{c \to e} = Min!
La solucin de costo mnimo de transporte diario resulta ser:

Xb-d = 40 resultando un costo de 12 x 40 = 480 monedas


Xa-e = 40 resultando un costo de 11 x 40 = 440 monedas
Xc-e = 20 resultando un costo de 18 x 20 = 360 monedas
Total 1.280 monedas.
120 monedas menos que antes.

También podría gustarte