0% encontró este documento útil (0 votos)
383 vistas

Clase N°1 Modelo de Programacion Lineal

Este documento introduce el modelo de programación lineal, definiendo conceptos clave como función lineal, restricciones lineales, región factible y soluciones óptimas. También presenta un ejemplo ilustrativo de un problema de programación lineal y métodos para resolverlo gráficamente.

Cargado por

juanpere
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
383 vistas

Clase N°1 Modelo de Programacion Lineal

Este documento introduce el modelo de programación lineal, definiendo conceptos clave como función lineal, restricciones lineales, región factible y soluciones óptimas. También presenta un ejemplo ilustrativo de un problema de programación lineal y métodos para resolverlo gráficamente.

Cargado por

juanpere
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 63

El modelo de

programación lineal
Introducción
 Definición: Se dice que una función f: RnR es lineal sii para
algún conjunto de constantes {c1,c2,...,cn} se tiene que:

f x1 , x2 ,..., xn   c1 x1  c2 x2  ...  cn xn


 Ejemplos: f(x,y)=x–2y es lineal, pero f(x,y)=x2+2y no es lineal.
 Definición: Sea f: RnR una función lineal, y bR una
constante. Entonces se dice que las desigualdades
f(x1,...,xn)b, f(x1,...,xn)b, son desigualdades lineales, y que la
igualdad f(x1,...,xn)=b es una igualdad lineal. En general nos
referiremos a las tres con el nombre de restricciones lineales
Concepto de problema de programación
lineal
Definición: Un problema de programación lineal es un
problema de optimización en el que:
 Se debe maximizar (o minimizar) una función lineal de las
variables de decisión que se llama función objetivo
 Los valores de las variables deben satisfacer un conjunto de
restricciones lineales (igualdades o desigualdades)
 Frecuentemente nos encontraremos que en el problema de
programación lineal aparecen también restricciones de signo
para las variables, del tipo xi0. En realidad estas restricciones
son un tipo de restricciones lineales.
Concepto de problema de programación lineal
Cualquier programa lineal puede tener la siguiente forma :

Donde bi, ci y aij son constantes reales fijas y las Xi son las variables de
decisión.
Forma matricial
De esta forma el modelo de programación lineal puede escribirse de
manera mas compacta usando la notación matricial, así:

Vector Vector de Vector de Variables Matriz de Coeficientes


de Costos Recursos de Decisión Técnicos
Supuestos de la PL
 Continuidad
 Se permiten valores fraccionarios de las variables de decisión
 Proporcionalidad
 Relaciones de proporcionalidad lineal
 Aditividad
 la contribución de cada variable es independiente de los
valores de las otras. El total de todas las actividades es la suma
de cada actividad individual
 No negatividad de las variables
 Determinismo
 Los coeficientes son conocidos con exactitud
Región factible
Mientras no se indique lo contrario, consideraremos que las
restricciones del tipo xi0 se incluyen (si aparecen en el problema)
dentro del conjunto de restricciones AX ≤= ≥ B , con lo cual el
problema quedaría:

Definición: Dado un problema de programación lineal, llamaremos


región factible del problema y la denotaremos por S al conjunto de
puntos que cumplen todas las restricciones del problema, es decir:
Soluciones óptimas
Definición: Dado un problema de programación lineal, diremos
que un punto x0S es una solución óptima sii se cumple que:

 f(x0)f(x) xS (para el caso de minimizar) o bien


 f(x0)f(x) xS (para el caso de maximizar).

En tal caso, a f(x0) se le llamará valor óptimo de la función


objetivo.
Si existe una sola solución óptima, diremos que el problema
tiene solución única.
Si no existe solución óptima, pero S, diremos que el
problema tiene solución ilimitada.
Si S=, diremos que el problema no tiene solución.
Ejemplo
Una empresa dedicada a la fabricación de juguetes de madera
produce dos tipos de juguetes: coches y trenes
 Los coches se venden a 27 U$ y usan 10 U$ de materiales. Por cada
coche hay un coste de mano de obra de 14 U$
 Los trenes se venden a 21 U$, usan 9 U$ de material y el coste de
mano de obra es 10 U$
 La producción de ambos juguetes necesita dos tipos de trabajo:
carpintería y acabado
 Coche: 2 horas acabado, 1 hora carpintería
 Tren: 1 hora acabado, 1 hora carpintería
 La empresa dispone de un máximo de 80 horas semanales de
carpintería y 100 horas semanales de acabado.
 La demanda de trenes es ilimitada, pero la de coches está limitada
a 40 unidades a la semana
 La empresa desea maximizar el beneficio
Solución:
 Variables de decisión (deben describir las decisiones que se van a tomar):
 XC=nº de coches producidos cada semana
 XT=nº de trenes producidos cada semana
 Función objetivo:
 Ganancias semanales: 27XC+21XT
 Costes semanales: Materiales: 10xC+9xT Mano de obra: 14xC+10xT
f (XC , XT) = 27XC + 21XT - 10XC - 9XT - 14XC - 10XT = 3XC + 2XT
 Restricciones:
 Cada semana no se pueden usar más de 100 horas de acabado: 2xC+xT  100
 Cada semana no se pueden usar más de 80 horas de carpintería: xC+xT  80
 La demanda de coches está limitada: xC  40
 La producción no puede ser negativa: xC  0, xT  0
 Coherencia de unidades:
 Las variables de decisión xc, xT están en horas/semana
 La función objetivo está en U$/semana
 Las restricciones están expresadas en horas
 Se observa que estamos usando coherentemente las unidades
Método gráfico
En sintesis
 El método gráfico consta de los siguientes pasos:
 Dibujar la región factible, S
 Dibujar un contorno de la función objetivo
 Determinar la dirección de crecimiento de los contornos
 Una vez determinada la dirección de crecimiento de los contornos

La solución estará en el último punto de la región factible que


toquen los contornos antes de abandonarla, siguiendo la
dirección y sentido de crecimiento o decrecimiento según si
nuestro objetivo es maximizar o minimizar, respectivamente
Ejemplo:
A modo de ejemplo consideremos el siguiente problema de
programación lineal:
Ejemplo:
Determinar la Región Factible
A. GRAFIQUE LAS DESIGUALDADES
 Paso 1: Gráfico de la igualdad. Transforme la desigualdad en
igualdad y trace el gráfico de la recta. Una manera es fijar en
cero las variables en forma alternada.
 Paso 2: Seleccionar un punto de prueba para cada
desigualdad. Elija un punto que no esté sobre la recta, en lo
posible que satisfaga la desigualdad.
 Paso 3: compruebe si el punto seleccionado para cada
desigualdad las satisface, proceda a achurrar la región
desde la línea limite en dirección al punto de prueba
 Paso 4: Seleccione el Área seleccionada de acuerdo a la
intersección de los achurados.
Ejemplo:
Determinar la Región Factible
Ejemplo:
Determinar la Región Factible

Al conjunto de soluciones del sistema de restricciones se le conoce como:


conjunto restringido, región factible, conjunto factible o área de soluciones
factibles.
El conjunto de puntos de la región factible pueden considerarse como
candidatos de la solución óptima
Ejemplo:
Determinación del Optimo
Consideremos nuevamente el problema anterior cuya región factible es:

Si quisiéramos tener una ganancia de 5


tendríamos que la función objetivo sería:
x1+x2=5
Ahora si se quisiera una ganancia de 15 la
recta sería:
x1+x2=15
Si la ganancia fuera de 25:

x1+x2=25

La característica de estas tres líneas de


utilidad es que tienen la misma pendiente,
son paralelas.
Ejemplo:
Determinación del Optimo
Consideremos nuevamente el problema anterior cuya región factible es:

Para que podamos conocer la dirección de


crecimiento, se puede hacer calculando la
gradiente y dibujar una línea recta que
tenga dicha gradiente y darnos un punto de
partida cualquiera, por ejemplo (0,0)
La función objetivo tiene como gradiente
(1,1) esto significa que la pendiente de
vector gradiente será
(∆ x2) / (∆ x1) = 1/1 =1
Sinos damos como punto de partida el
origen
El vector podrá ser (x2-0)=m(x1-0) es decir
x2=x1(con línea verde)
Ejemplo:
Determinación del Optimo
A. GRAFICA DE LA FUNCION OBJETIVO Y DETERMINACION DEL OPTIMO
Consideremos nuevamente el problema anterior cuya región factible es:

Luego la función objetivo al desplazarse en


dirección del vector gradiente encuentra su
optimo en la intersección de las siguientes
rectas:

Por lo tanto la solución es única, dado que


la región factible esta acotada.
 En el caso de maximización la función objetivo se
conoce como rectas de isoganancia.

 En el caso de minimización la función objetivo se


conoce como rectas de isocosto

Esto es fundamental para determinar el


desplazamiento de la función objetivo para
determinar el punto optimo
En este caso la solución óptima es única y además S
tiene área finita (está acotado), pero hay otros casos,
como se ve a continuación
Solución ilimitada, S no acotado

S
Solución única, S no acotado

S
Infinitas soluciones, S no acotado

S
Infinitas soluciones, S acotado

S
Sin solución (S=)
Forma estándar
Definición: Un problema de programación lineal está
en forma estándar sii está expresado como:
Notación escalar Notación matricial

Maximizar c1 x1  ...  cn x n Maximizar cT x


Sujeto a : Sujeto a :
a11 x1  ...  a1n x n  b1 Ax  b
... x0
am1 x1  ...  amn x n  bm
x1 ,..., x n  0
Las dificultades que podemos encontrar
para pasar un problema a forma estándar,
y las soluciones correspondientes son:
Paso a la forma estándar
 Aparece una inecuación del tipo aiTxbi.
 añadimos una nueva variable de holgura, si, con si0
 la inecuación se convierte en la ecuación aiTx+si=bi.
 La nueva variable aparece con coeficiente cero en la
función objetivo.
 Aparece una variable xi que no tiene restricción de no
negatividad.
 sustituimos xi en todas las restricciones y en la función
objetivo por la diferencia de dos variables nuevas xn+1 - xn+2,
 Ambas variables son no negativas: xn+10, xn+20.
Paso a la forma estándar
 El problema es de minimizar, y no de maximizar
 minimizar una función objetivo F es lo mismo que
maximizar la función objetivo –F.
 Por tanto, basta con multiplicar por –1 la función objetivo.
 Min F = - max (-F)
Maximizar x1 + 2x2 Maximizar x1 + 2x2 + 0x3
Sujeto a: Sujeto a:
–1/2 x1 + x2 1 –1/2 x1 + x2 + x3 = 1
x1 + x2 2 x1 + x2 2
x 1, x 2  0 x 1, x 2 , x 3  0

Maximizar x1 + 2x2 + 0x3 + 0x4


Sujeto a:
–1/2 x1 + x2 + x3 =1
x1 + x2 + x4 = 2
x 1, x 2 , x 3 , x 4  0
Maximizar 7x1 – 9x2 Maximizar 7x1 – 9x2 + 0x3
Sujeto a: Sujeto a:
–4 x1 + 8x2 2 –4 x1 + 8x2 – x3 = 2
3x1 + x2 8 3x1 + x2 8
x 1, x 2  0 x 1, x 2 , x 3  0

Maximizar 7x1 – 9x2 + 0x3 + 0x4


Sujeto a:
–4 x1 + 8x2 – x3 =2
3x1 + x2 +x4 = 8
x 1, x 2 , x 3 , x 4  0
Ejemplos de paso a la forma
estándar
Maximizar 3x1 – 5x2 Maximizar 3x1 – 5x3 + 5x4
Sujeto a: Sujeto a:
10 x1 + 18x2 =7 10 x1 +18x3 – 18x4 = 7
4x1 + 5x2 9 4x1 + 5x3 – 5x4  9
x1  0 x1, x3 , x4  0

Maximizar 3x1 – 5x3 + 5x4 + 0x5


Sujeto a:
10 x1 +18x3 – 18x4 =7
4x1 + 5x3 – 5x4 + x5 = 9
x1, x3 , x4 , x5  0
Ejemplos de paso a la forma
estándar
Minimizar 7x1 – 4x2 Maximizar – 7x1 + 4x2
Sujeto a: Sujeto a:
8 x1 + 2x2  1 8 x1 + 2x2  1
– x1 + 5x2 = 6 – x1 + 5x2 = 6
x 1, x 2  0 x 1, x 2  0

Maximizar – 7x1 + 4x2 + 0x3


Sujeto a:
8 x1 + 2x2 + x3 = 1
– x1 + 5x2 =6
x 1, x 2 , x 3  0
Método del simplex
Situación inicial para aplicar el
método simplex
Partimos de un problema de programación lineal, con m
ecuaciones y n incógnitas (o variables de decisión) expresado en
forma estándar:
Maximizar c1 x1 +…+ c𝑛 xn
Sujeto a :
a11 x1 +…+ 𝑎1𝑛x𝑛 = b1

a𝑚1 x1 +…+ a𝑚𝑛 x𝑛 =b𝑚
x1 ≥ 0 ;….; x𝑛 ≥ 0
 Además el método simplex exige que bi  0 i{1, ..., m}
Versión básica del algoritmo simplex
 1. Construir la primera tabla
 2. Mientras (CondiciónParada=Falso) hacer
 2.1. Elegir variable que sale
 2.2. Elegir variable que entra
 2.3. Actualizar tabla
 3. Dar resultado
Construcción de la primera tabla
 Dado el problema en forma estandar, se debe localizar un
conjunto de m variables cuyas columnas formen la matriz
identidad.
 Estas m variables formarán la primera base, y la solución
del sistema de ecuaciones se que obtendría con esos
cambios es una solución básica factible (SBF).
Restricciones de Disponibilidad de Materia Prima

Restricciones de Demanda de Materia Prima


Diferencia entre la producción diaria de pinturas para interiores y exteriores
Demanda máxima diaria de pintura para interiores
Restricciones de No Negatividad :
X1 ≥ 0 ; X 2 ≥ 0
Notación escalar

La Función objetivo queda expresada


La variable de entrada es X1, porque tiene
el coeficiente más negativo en la función
objetivo

Debe salir una variable de la base


 La primera en hacerse cero cuando
Variables no básicas (cero): X1 , X2 aumente la variable no básica entrante
Variables básicas: s1 , s2 , s3 , s4  Mínima razón b/a, con a > 0

s1 = 24 s2 = 6 s3 =1 s 4 =2
 Condición de optimalidad
 Ninguna variable no básica produciría mejoras en la
solución al hacerse básica
 Es decir, los costos reducidos de todas las variables no
básicas deben ser POSITIVOS
 Variable candidata a hacerse básica
 Produciría la mayor mejora (costo reducido más
negativo): X1
 Cambio de base (pivoteo de Gauss-Jordan)
Se debe dejar:
 un coeficiente 1 en la columna de la variable que entra y en la
fila de la variable que sale.
 Cero en los coeficientes del resto de la columna de la variable
que entra
 Condición de optimalidad: entra x2
 Sale: s2
 ¿Es óptima?
 Información adicional

 Estado de recursos (escaso/abundante)


 Valor de la holgura asociada a la restricción del
recurso
 Valor por unidad (precios duales)
 Costo reducido de las variables (asociadas a las
restricciones) que originalmente estaban en la base
 Datos para análisis de sensibilidad
Método de la gran M
 Por cada restricción que no cuente con una
variable de holgura agregue una variable artificial
Ri
 Penalice cada variable artificial Ri en la función
objetivo con un coeficiente +/- M
 Si está maximizando use –M
 Si está minimizando use +M
 La optimización forzará las Ri a ser cero
Minimizar Z = 4 X1+X2
Sujeta a
3X1 + X2 = 3
4X1 + 3X2 ≥ 6
X1 + 2X2 ≤ 4
X1 ≥ 0 ; X2 ≥ 0
Si se usan X3 como excedente en la segunda restricción y X4 como una holgura
en la tercera restricción, la forma del problema en ecuación es
Minimizar Z = 4 X1+X2
Sujeta a
3X1 + X2 =3
4X1 + 3X2 - X3 =6
X1 + 2X2 + X4 = 4
X1 ≥ 0 ; X2 ≥ 0 ; X 3 ≥ 0 ; X 4 ≥ 0
La primera y segunda ecuaciones no tienen variables que puedan desempeñar
el papel de holguras, pero la tercera sí, porque tiene la holgura X4. Así, se
agregan las variables artificiales R1 y R2 en las dos primeras ecuaciones y se
penalizan en la función objetivo con MR1 + MR2.
Minimizar Z = 4 X1 + X2 + MR1 + MR2.
Sujeta a
3X1 + X2 + R1 =3
4X1 + 3X2 - X3 + R2 = 6
X1 + 2X2 + X4 =4
X1 ; X 2 ; X 3 ; X 4 ; R 1 ; R 2 ≥ 0
En el nuevo modelo se pueden usar ahora R1 y R2 y X4 como solución básica
de inicio (por comodidad se eliminó la columna Z, porque no cambia en todas
las iteraciones)

Antes de proseguir con los cálculos del método símplex se necesita hacer
que el renglón z sea consistente con el resto de la tabla
Observe que la nueva Z= 9M, lo que ahora es consistente con los valores de la
solución básica factible de inicio R1 = 3 R2 = 6 y X4 = 4.
Pivoteando…
 Luego de dos iteraciones adicionales se alcanza la solución
óptima
 X1 = 2/5 X2 = 9/5 Z = 17/5
 R1 = 0 R2 = 0

 Si las variables artificiales fueran no nulas en la solución final


significa que el problema es infactible.

 En la práctica (cálculos computacionales) M>>0 debe tomar un


valor suficientemente grande para funcionar como
penalización
Método de las dos fases
Introducción
 Si al intentar aplicar el método simplex nos
encontramos con que no es posible encontrar
una solución básica factible (SBF) inicial, es
preciso usar el método de las dos fases.
 Para ello, usamos el siguiente algoritmo:
 1. Añadir variables artificiales al problema
 2. Fase I.
 3. Fase II.
Adición de variables artificiales
 Se trata de añadir al problema tantas variables como
sean necesarias para construir una SBF. Sus coeficientes
en las ecuaciones serán los que convengan para
nuestro propósito.
 Por consiguiente, tendremos que cada variable artificial
tendrá coeficiente 1 en una ecuación y coeficiente 0 en
todas las demás
Fase I
 Se trata de aplicar el método simplex para resolver un problema auxiliar
de minimizar la suma de las variables artificiales.
 Para que la tabla óptima aparezca lo antes posible conviene que, en caso
de empate en el criterio de salida y que una de las variables empatadas
sea artificial, saquemos la artificial.
 Una vez resuelto este problema auxiliar, caben dos posibilidades
 El valor óptimo de la función objetivo es distinto de cero. En tal caso el
problema original no tenía solución.
 El valor óptimo de la función objetivo es cero. En tal caso podemos
pasar a la Fase II.

Fase II
 Consiste en aplicar el método simplex, usando la función objetivo del
problema original, pero empezando con una primera tabla que se obtiene
quitando de la última tabla de la Fase I las columnas de las variables
artificiales
 La solución obtenida en la Fase II será la solución del problema original
(téngase en cuenta que en la Fase II no aparecen variables artificiales)
Minimizar Z = 4 X1+X2
Sujeta a
3X1 + X2 = 3
4X1 + 3X2 ≥ 6
X1 + 2X2 ≤ 4
X1 ≥ 0 ; X2 ≥ 0
Si se usan X3 como excedente en la segunda restricción y X4 como una holgura
en la tercera restricción, la forma del problema en ecuación es
Minimizar Z = 4 X1+X2
Sujeta a
3X1 + X2 =3
4X1 + 3X2 - X3 =6
X1 + 2X2 + X4 = 4
X1 ≥ 0 ; X2 ≥ 0 ; X 3 ≥ 0 ; X 4 ≥ 0
La primera y segunda ecuaciones no tienen variables que puedan desempeñar
el papel de holguras, pero la tercera sí, porque tiene la holgura X4. Así, se
agregan las variables artificiales R1 y R2 en las dos primeras ecuaciones y se
penalizan en la función objetivo con MR1 + MR2.
 Se debe eliminar los (-1) en la fila r para R1 y R2 Luego se debe chequear
optimalidad en r y pivotear

Tabla resultante (final fase I):

• R1 y R2 no están en la base, se eliminan del problema y se pasa a Fase II


• X1, X2 y X3 son básicas en la solución inicial
El problema al inicio de la Fase II se ve:
Reconstruyendo la base

Solución óptima
• Como se está minimizando, X3 debe entrar a la solución.
• Con la aplicación del método simplex se obtendrá el óptimo en una
iteración más

También podría gustarte