Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PROGRAMACIÓN LINEAL
Profesor: Estudiante:
Emilros Velasquez Edgar Guevara
C.I 27.226.436
Su origen no es del todo claro ya que el contexto de la Guerra Fría dificultó la difusión de los
trabajos provenientes de la Unión Soviética. A pesar de estas circunstancias, los pioneros en
este campo son el matemático soviético Leonid Kantorovich y el estadounidense George B.
Dantzig.
Programación Lineal
La programación lineal es una técnica de modelización matemática desarrollada a partir
de la década de 1930. Desde entonces, se ha aplicado con frecuencia en los procesos de
toma de decisión de numerosos ámbitos económicos y productivos, como la
planificación de empresa y la ingeniería industrial.
Así la programación lineal es una metodología que se utiliza en la solución de
problemas en los que se desea optimizar (maximizar o minimizar) una función lineal de
una o más variables (variables de decisión) llamada función objetivo, sujeta ciertas
limitaciones (restricciones) que se pueden representar como desigualdades o igualdades
de funciones lineales de las variables.
El método de Gauss-Jordan
El método consiste en aplicar operaciones elementales fila, es decir, cualquier fila se
puede multiplicar por cualquier número (distinto de cero) o se le puede sumar o restar
cualquier otra fila multiplicada o no por cualquier número. No se puede restar una fila a
ella misma. También puede intercambiarse el orden de las filas (por ejemplo,
intercambiar las dos primeras filas). El proceso debe aplicarse hasta que se obtenga la
matriz en forma escalonada (método de Gauss) o en forma escalonada reducida
(método Gauss-Jordan) de la matriz ampliada. Recordamos que una matriz en su
forma escalonada reducida cumple:
En cada fila, el primer elemento distinto de cero (de izquierda a derecha) es un 1
(uno principal). A la izquierda de este 1, sólo hay ceros. A su derecha puede
haber cualquier número. En la columna del 1 principal de las filas de arriba y las
de abajo sólo puede haber ceros (a no ser que sea la primera fila y por encima
del 1 no hay ningún elemento).
El uno principal de cualquier fila se sitúa más a la izquierda de los unos
principales de las filas inferiores a ésta.
Si existen filas formadas únicamente por ceros, éstas son las inferiores.
Método Del Simplex
La programación lineal se ha constituido en un método ampliamente utilizado para
resolver problemas de optimización y planificación empresarial. En este contexto, se
han definido varios procedimientos operativos avanzados, entre los que cabe citar el
método del símplex
Algoritmo del símplex
El método o algoritmo del símplex se utiliza para hallar las soluciones óptimas de un
problema de programación lineal con tres o más variables. Es un procedimiento
iterativo de programación lineal que va desechando las soluciones no factibles y, en
cada paso, evalúa si la solución obtenida es óptima o no. Las etapas de este algoritmo
son:
1. Planteamiento del problema: identificación de las variables y definición de
la función objetivo y del sistema de inecuaciones lineales para restricciones.
2. Conversión de las desigualdades en igualdades; en cada restricción se
introduce una variable de holgura en el miembro menor (o menor o igual) de la
desigualdad.
3. Igualación a cero de la función objetivo.
4. Escritura de una tabla inicial símplex (matriz): en las columnas, las variables
del problema; una fila para cada conjunto de coeficientes de una restricción y
una fila más para los coeficientes de la función objetivo.
5. Determinación de las variables y los coeficientes.
x1 x2 x3 h1 h2 h3
h1 3 4 2 1 0 0 0 300
h2 2 1 2 0 1 0 0 200
h3 1 3 3 0 0 1 0 150
Z -2 -4 -5 0 0 1 1 0
Variables y coeficientes
Para determinar las variables de un problema mediante el método del símplex, es
preciso hallar primero la base de resolución. En esta base:
Se incluye una variable de decisión, la que posee el coeficiente negativo mayor.
La columna a la que corresponde se llama columna pivote.
Se excluye una variable de holgura. Se divide cada término por el
correspondiente de la columna pivote y se calcula el menor cociente positivo.
Se aplica entonces el método de eliminación gaussiana para anular los términos de la
columna pivote, tantas veces como se precisa hasta que en la última fila sólo haya
coeficientes positivos. (Tal será la solución).
EJERCICIOS:
SOLUCIÓN:
Z -50 X1 -80X2 =0
X1 + 2X2 + S1 = 120
X1+ X2 + S2 = 90
Tabla Simplex
Z X1 X2 S1 S2 Resultado
Z 1 -50 -80 0 0 0
S1 0 1 2 1 0 120
S2 0 1 1 0 1 90
Determinar
La Columna
Pivote
La columna pivote será aquella que en la función Z, tenga el coeficiente “MÁS
NEGATIVO”, debido a que se está MAXIMIZANDO. Por lo tanto, en el ejercicio con
el que se está trabajando la columna pivote quedaría:
Z X1 X2 S1 S2 Resultado
Z 1 -50 -80 0 0 0
S1 0 1 2 1 0 120
S2 0 1 1 0 1 90
*-80 Es “Más Negativo” Que -50
De tenerse 2 Ó MÁS VALORES como LOS MÁS NEGATIVOS se puede
seleccionar cualquiera de ellos de forma indistinta y seguir el proceso. Así mismo, SI
NO HUBIERAN VALORES NEGATIVOS se concluye que EL PROBLEMA NO
TIENE UNA SOLUCIÓN FACTIBLE.
Determinar La Fila Pivote
Para determinar la fila pivote se requiere de realizar un cociente entre los valores que se
tengan en la columna resultado y los que correspondan de la columna pivote, para esto
uno se puede apoyar de una columna cociente.
Z X1 X2 S1 S2 Resultado Cociente
Z 1 -50 -80 0 0 0
S
1 0 1 2 1 0 120 120/2 = 60
S
2 0 1 1 0 1 90 90/1=90
La fila pivote será aquella que tenga el COCIENTE POSITIVO MÁS PEQUEÑO en
caso de aparecer en los COCIENTES NEGATIVOS, CERO o valores
INDETERMINADOS por DIVIDIRSE ENTRE CERO, estos NO SE TOMARÁN
EN CUENTA para determinar la fila pivote.
La fila pivote para el problema estudiado quedaría:
Z X1 X2 S1 S2 Resultado Cociente
Z 1 -50 -80 0 0 0
S 2
1 0 1 1 0 120 120/2 = 60
S 1
2 0 1 0 1 90 90/1=90
DETERMINAR EL PIVOTE
El valor pivote será aquel que se encuentre en la intersección entre la columna pivote y
la fila pivote. LA VARIABLE DE LA COLUMNA PIVOTE “ENTRARÁ”
MIENTRAS QUE LA DE LA FILA PIVOTE “SALDRÁ”
Z X1 X2 S1 S2 Resultado Cociente
Z 1 -50 -80 0 0 0
S
1 0 1 2 1 0 120 120/2 = 60
S
2 0 1 1 0 1 90 90/1=90
HACER MEDIANTE GAUSS-JORDAN 1 EL VALOR PIVOTE.
Quedando el problema planteado,
Z X1 X2 S1 S2 Resultado
Z 1 -50 -80 0 0 0
X
R2/2 2 0 1/2 1 1/2 0 60
S2 0 1 1 0 1 90
Z X1 X2 S1 S2 Resultado
80R2+R1 Z 1 -10 0 40 0 4800
X2 0 1/2 1 1/2 0 60
.-R2+R1 S2 0 1/2 0 .-1/2 1 30
Z X1 X2 S1 S2 Resultado
Z 1 -10 0 40 0 4800
X2 0 1/2 1 1/2 0 60
S2 0 1/2 0 .-1/2 1 30
Z X1 X2 S1 S2 Resultado
Z 1 -10 0 40 0 4800
X2 0 1/2 1 1/2 0 60
S2 0 1/2 0 .-1/2 1 30
Z X1 X2 S1 S2 Resultado
Z 1 -10 0 40 0 4800
X2 0 1/2 1 1/2 0 60
2R2 X1 0 1 0 -1 2 60
Z X1 X2 S1 S2 Resultado
10R3+R1 Z 1 0 0 30 20 5400
.-(1/2)R3+R2 X2 0 0 1 1 -1 30
X1 0 1 0 -1 2 60
Solución:
Identificar la F.O.
Z = $ 50 X1 + $80X2
Maximizar la ganancia.
Variables de decisión:
Cantidad de:
X1 = mesas
X2 = Sillas.
CONSUMO UNITARIO DISPONIBLE
PRODUCTOS DE CADA
PROCESO
DPTO
SILLAS X2 MESAS X1 HORAS
CORTE 2 1 120
ENSAMBLAJE 1 1 90
CONTRIB. $80 $50
P/PRODUCTO
Restricciones:
Depto. Consumo ≤ Disponible
1 Corte X1 + 2X2 ≤ 120
2 Ensamble X1 + 2X2 ≤ 90
1 X1 + 2X2 = 120
2 X1 + 2X2 = 90
X1, X2
90
R
60 V1 (0,60) 2
R
1
V4(60,30)
30
(30,30
)
V2(0,0) V3(90,0)
0 30 60 90 120 X1
X1, X2
R2 X1 + X2 = 90 P1(0,90)
P2(90,0)
Vértices X1 X2 Z=$50X1+$80X2
1 0 60 4,800
2 0 0 0
3 90 0 4,500
4 60 30 5,400
Resultado:
X1 = 60 mesas
X2 = 30 sillas
Z = $5,400
R1 X1 + 2X2 ≤ 120 Ambos recursos son
R2 X1+ X2 ≤ 90 escasos