Está en la página 1de 14

República Bolivariana de Venezuela

Ministerio del Poder Popular para la Educación


Universidad Politécnica Territorial
José Antonio Anzoátegui
Informática III- II

PROGRAMACIÓN LINEAL

Profesor: Estudiante:
Emilros Velasquez Edgar Guevara
C.I 27.226.436

Barcelona, Noviembre del 2020


INTRODUCCIÓN

La Programación Lineal es tal vez la herramienta más famosa y utilizada de la


Investigación de Operaciones. A ella recurren los matemáticos, ingenieros de diferentes
disciplinas, economistas, administradores de empresas, estadísticos, veterinarios y en
general cualquier profesional que esté involucrado en la toma de decisiones con
recursos escasos. Es por ello que, en los planes curriculares de diversos programas de
formación a nivel de pregrado, especialización, maestría e incluso doctorado, la
incluyen directamente como asignatura o como tema en cursos de investigación de
operaciones.

La Programación Lineal es una rama de la investigación de operaciones que estudia la


optimización de una función lineal sujeta a un conjunto de restricciones, también lineales.

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.

Conceptos de programación lineal


La técnica matemática conocida por programación lineal se utiliza para obtener una
solución óptima a un problema condicionado por unas variables de partida sujetas a
ciertas restricciones. Un problema clásico de la programación sería el siguiente:
teniendo n productos del tipo A y m del tipo B, que pueden envasarse en dos clases de
paquetes en diferentes proporciones y con un precio distinto para cada paquete, cuántos
paquetes de cada tipo deberán formarse para obtener una cantidad máxima de ingresos.
En el planteamiento del problema se manejan varios conceptos esenciales:
 Las variables.
 Las restricciones que se imponen, expresadas por inecuaciones lineales.
 La función objetivo, de tipo lineal, que describe el problema.
El grupo de las soluciones posibles recibe el nombre de conjunto
restricción o conjunto solución factible. La solución debe situarse en el área definida
por las inecuaciones de restricción, que se conoce por región factible.

Región factible del sistema de inecuaciones lineales:


La región factible puede estar acotada, como en la figura, o no acotada. Cuando está
acotada, se representa gráficamente como un polígono con un número de lados menor o
igual que el de restricciones (en la figura, el polígono acotado tiene cuatro lados, y las
restricciones también son cuatro).
Se llama solución óptima a la que maximiza o minimiza la función objetivo. Esta
solución si es única siempre se encuentra en un vértice o punto extremo de la región
factible.
Resolución por método gráfico
Para resolver gráficamente un problema de programación lineal, se hace lo siguiente:
 Se representan gráficamente las inecuaciones del sistema, obteniéndose el
conjunto restricción.
 Si la función objetivo es f (x,y)= ax + by, se trazan rectas paralelas a esta
función (que serán de la forma ax + by=k) y que pasen por cada uno de los
vértices del conjunto restricción.
 Se observa en qué vértice la función objetivo se hace máxima (o mínima) sin
más que tener en cuenta cuál de las rectas tiene mayor (o menor) ordenada en el
origen.
Esta técnica se conoce por método de las rectas de nivel.
Método algebraico de resolución
Para resolver un problema de programación lineal por métodos algebraicos, se aplica el
siguiente procedimiento operativo:
 1. Se definen las variables.
 2. Para cada restricción existente se escribe una inecuación lineal representativa.
 3. Se define la expresión matemática de la función objetivo.
 4. Se construyen sistemas cuadrados de ecuaciones a partir del conjunto inicial
de inecuaciones lineales. Por ejemplo, si se tuvieran cuatro inecuaciones con dos
incógnitas, se podrían construir seis sistemas distintos de ecuaciones lineales
(sustituyendo la desigualdad por igualdad).
 5. Se resuelven todos estos sistemas y se anota el valor de los puntos obtenidos
como solución.
 6. Se comprueban estos puntos en cada una de las inecuaciones. Los que
cumplan todas las restricciones serán los vértices de la región factible.
 7. Se calcula el valor de la función objetivo para cada vértice.
 8. La solución óptima será aquella para la cual la función objetivo es máxima (o
mínima, según el planteamiento del problema).
Esta técnica recibe el nombre de método de los vértices.
Tipos de soluciones
En los problemas de programación lineal con dos variables pueden darse varios tipos de
soluciones óptimas:
 Solución única.
 Solución múltiple (infinitas soluciones).
 Solución no acotada (ausencia de solución), cuando la función objetivo no tiene
valores extremos, pues la región factible es no acotada.
 Solución no factible, cuando no existe región factible por falta de puntos
comunes en el sistema de inecuaciones.
 Solución degenerada, si en un solo punto (que se dice degenerado) coinciden
tres o más de las rectas que limitan la región factible.

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.

Ejemplo de tabla inicial símplex:

Bas Variable de Variable de Valor crítico Valores


e decisión holgura Z solución

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:

1. Resolver mediante el método simplex el siguiente problema:


Max Z= 50X1 + 80X2
s. a. X1 +2X2 ≤ 120
X1 + X2 ≤ 90
X1 , X2 ≥ 0

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

*60 Es MÁS PEQUEÑO Que 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

Hacer Mediante Gauss-Jordan Y Apoyándose En El Valor Pivote 0 Los Otros


Valores De La Columna Pivote
Quedando El Problema Planteado,

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

Repetir Los Pasos 4 A 8 Hasta Que En La Fila Z Ya No Se Tengan Valores


Negativos, Lo Que Significa Que Se Ha Terminado El Problema Y Que La
Respuesta Encontrada Ya Es Óptima.
Quedando el problema planteado,
4. Determinar la fila pivote

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

Determinar la fila pivote, mediante la columna cociente.


Z X1 X2 S1 S2 Resultado Cociente
Z 1 -10 0 40 0 4800
X2 0 1/2 1 1/2 0 60 60/(1/2)=120
S2 0 1/2 0 .-1/2 1 30 30/(1/2)=60

Determinar el pivote y establecer qué variable entra y cuál sale.

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

Aplicar Gauss-Jordan para hacer 1 el valor pivote.

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

Hacer 0 los otros valores de la columna pivote.

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

Como Ya No Hay Más Negativos En La Fila Z Se Ha Concluido El Problema,


Obteniéndose La Solución Óptima:
Z=5400
X 1 =60
X 2 =30
2. En un proceso de fabricación de sillas y mesas los consumos de cada producto
en cada proceso de fabricación, así como los recursos disponibles se muestran en
la siguiente tabla:

CONSUMO UNITARIO DISPONIBLE DE


PROCESO PRODUCTOS CADA DPTO
SILLAS MESAS HORAS
CORTE 2 1 120
ENSAMBLAJE 1 1 90
CONTRIB. $80 $50
P/PRODUCTO

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

R1 X1 + 2X2 = 120 P1 (0, 60)


2X1= 120 P2 (120, 0)
X2= 60
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)

Valores de las variables F.O.


De decisión

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

También podría gustarte