Cap II_.pdf
-
Upload
alain-boris-condori-flores -
Category
Documents
-
view
258 -
download
0
Transcript of Cap II_.pdf
Programación Lineal
Capitulo II – Investigación Operativa I
M.Sc. Ing. Gregorio Fernando Ureña Mérida
http://www.sistemas.edu.bo/furena/
INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL
Un modelo de programación lineal busca
maximizar o minimizar una función lineal,
sujeta a un conjunto de restricciones
lineales.
Un modelo de programación lineal esta
compuesto de lo siguiente:
* Un conjunto de variables de decisión
* Una función objetivo
* Un conjunto de restricciones
* Ciertos problemas se describen fácilmente a través
de la programación lineal.
* Muchos problemas pueden aproximarse a modelos
lineales.
* La salida generada por el programa que resuelve el
modelo de programación lineal entrega información
útil para responder nuevas condiciones sobre el “qué
pasa si”.
LA IMPORTANCIA DE LA PROGRAMACIÓN LINEAL
INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL
El problema general es asignar recursos limitados
entre actividades competitivas de la mejor
manera posible (óptima).
Este problema incluye elegir el nivel de ciertas
actividades que compiten por recursos escasos
necesarios para realizarlas
INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL
El adjetivo lineal significa que todas las funciones
matemáticas del modelo deber ser funciones lineales.
En este caso, las palabra programación no se
refiere a programación en computadoras; en esencia
es un sinónimo de planeación. Así, la programación
lineal trata la planeación de las actividades para
obtener un resultado óptimo.
z: función objetivo
CT (c1,...,cn): vector de coeficientes de la f.o.
XT (x1,...,xn): vector de variables de decisión
A (...,aij,...): matriz de coeficientes técnicos
b (b1,...,bm): vector de demandas
Matricialmente,
Opt CTX
s.a.
AX b
x 0
Forma canónica
MODELO GENERAL DE PL
Los términos clave son recursos y actividades,
en donde m denota el número de distintos tipos
de recursos que se pueden usar y n denota el
número de actividades bajo consideración.
MODELO GENERAL DE PL
ESTRUCTURA DE UN MODELO DE PL
1. Función objetivo. Consiste en optimizar el objetivo que persigue una situación la cual es una función lineal de las diferentes actividades del problema, la función objetivo se maximizar o minimiza.
2. Variables de decisión. Son las incógnitas del problema. La definición de las variables es el punto clave y básicamente consiste en los niveles de todas las actividades que pueden llevarse a cabo en el problema a formular.
3. Restricciones Estructurales. Diferentes
requisitos que debe cumplir cualquier
solución para que pueda llevarse a cabo,
dichas restricciones pueden ser de
capacidad, mercado, materia prima,
calidad, balance de materiales, etc.
4. Condición técnica. Todas las variables deben tomar valores positivos, o en algunos casos puede ser que algunas variables tomen valores negativos.
ESTRUCTURA DE UN MODELO DE PL
CONJUNTO DE SOLUCIONES FACTIBLES PARA EL MODELO LINEAL.
El conjunto de puntos que satisface todas las
restricciones del modelo es llamado:
REGION
FACTIBLE
USANDO UN GRAFICO SE
PUEDEN REPRESENTAR
TODAS LAS RESTRICCIONES,
LA FUNCION OBJETIVO Y LOS
TRES TIPOS DE PUNTOS DE
FACTIBILIDAD
Método Grafico
• El procedimiento del método grafico incluye
dos pasos básicos:
1.Determinar el espacio de solución que
definen las soluciones factibles que
satisfacen todas las restricciones del
modelo.
2.Determinar la solución optima de entre
todos los puntos en el espacio de la
solución factible.
• Este procedimiento se describe tanto para
una función objetivo de maximización, como
de minimización.
1200
600
The Plastic constraint
Factible
Restricción del plástico:
2X1+X2<=1200
X2
No Factible
Horas de Producción
3X1+4X2<=2400
Restricción del total de producción: X1+X2<=800
600
800
Restricción del exceso de producción:
X1-X2<=450
• Tipos de puntos de factibilidad
Punto Inferior
Punto Medio
Punto Extremo
X1
600
800
1200
400 600 800
X2
X1
comenzar con una ganancia dada de = $2,000...
Utilid. = $
000
2,
Entonces aumente la ganancia...
3, 4,
...y continúe hasta que salga de la región factible
Ganancia =$5040
600
800
1200
400 600 800
X2
X1
Se toma un valor cercano al
punto óptimo
Feasible
region Región
Factible
Región no
factible
Soluciones óptimas y puntos extremos.
* Si un problema de programación lineal tiene una solución
óptima, entonces esta corresponde a un punto extremo.
Múltiples soluciones óptimas.
* Cuando existen múltiples soluciones óptimas implica que
la función objetivo es una recta paralela a uno de los lados
de la región factible.
* Cualquier promedio ponderado de la solución óptima es
también una solución óptima.
MODELO SIN SOLUCIÓN ÓPTIMA
• No factible: Ocurre cuando en el
modelo no hay ningún punto de
factible.
• No acotado: Ocurre cuando el objetivo
puede crecer infinitamente (objetivo a
maximizar).
LA SOLUCIÓN GRÁFICA
5
4
2
2 4 5
Región factible
Restricción de vitamina D
Restricción de vitamina A
Restricción de hierro
SOLUCIÓN PARA PROBLEMAS LINEALES CON MUCHAS VARIABLES DE DECISIÓN USANDO EL COMPUTADOR
• Los paquetes de programas lineales resuelven
grandes modelos lineales.
• La mayoría de los software usan la técnica
algebraica llamada algoritmo Simplex.
• Los paquetes incluyen:
• El criterio de la función objetivo (Max o Min).
• El tipo de cada restricción: .
• Los coeficientes reales para el problema.
, ,
LA SOLUCIÓN GENERADA POR UN SOFTWARE DE PROGRAMACIÓN LINEAL INCLUYE:
• Los valores óptimos de la función objetivo.
• Los valores óptimos de las variables de decisión.
• La minimización del costo para los coeficientes de la
función objetivo.
• Los rangos de optimización para los coeficientes de la
función objetivo.
• La cantidad de holgura o exceso sobre cada
restricción.
• Los precios sombra (o dual) para las restricciones.
• Los rangos de factibilidad para el coeficiente del lado
derecho.
FORMAS EQUIVALENTES DE LA PROGRAMACION LINEAL
• Regla 1.
– Maximizar cX es equivalente a Minimizar –cX
– Minimizar cX es equivalente a Maximizar –cX
• Regla 2.
– La desigualdad AX ≤ b es equivalente a la desigualdad -AX ≥ -b.
– La desigualdad AX ≥ b es equivalente a la desigualdad -AX ≤ -b.
• Regla 3.
– Toda igualdad de la forma AX=b, puede descomponerse como la intersección de dos desigualdades AX ≤ b y AX ≥ b.
FORMAS EQUIVALENTES DE LA PROGRAMACION LINEAL
• Regla 4.
– Toda desigualdad de la forma AX ≤ b puede convertirse en
igualdad mediante la adición de un vector S, llamado vector de holgura compuesta por m componentes, todas
no-negativas es decir:
0
.
.
0
0
.
.
2
1
mS
S
S
S
FORMAS EQUIVALENTES DE LA PROGRAMACION LINEAL
– Toda desigualdad de la forma AX ≥ b puede convertirse en
igualdad mediante la resta de un vector E, llamado vector
de exceso o superfluo compuesta por m componentes,
todas no-negativas es decir:
0
.
.
0
0
.
.
2
1
mE
E
E
E
FORMAS EQUIVALENTES DE LA PROGRAMACION LINEAL
• Regla 5.
– Una variable no restringida, aquella que puede tomar toda
clase de valores positivos, cero y negativos, puede escribirse como la diferencia de dos variables no-
negativas.
METODO SIMPLEX
• Paso 1.
– Dado cualquier programa lineal transfórmese por medio
del uso de las reglas de equivalencia 1, 2, 3 y 5 a el PL a la forma canónica.
XcZMax
Sujeto a:
bXA
0X
METODO SIMPLEX
• Paso 2.
– Re-escriba la función objetivo de la siguiente manera
• Paso 3.
– Aplicando la regla de equivalencia 4, convierta todas las desigualdades en igualdades adicionando al PL variables
de holgura. Quedando convertida la forma canónica en:
0 XcZ
0 XcZ
bSXA
0X
0S
METODO SIMPLEX
• Paso 4.
– Constrúyase una tabla o tableau con los coeficientes del PL
como se muestra a continuación:
Z x1 x2 ………. xn s1 s2 ..…… sm
1 -c 0 0
0 A I b
METODO SIMPLEX
• Paso 5.
– Seleccione como vector de entrada aquella variable no
básica cuya componente zj-cj en el reglon 0 se la mas negativa para un PL Max y la mas positiva para un PL
Min.
– Si no hay ningún candidato de entrada, es decir que
todas las componentes zj-cj de las variables no básicas en el reglon 0 son ≥ 0 la solución mostrada en el tableau es
optimo.
– En caso de que exista un empate entre varias variables no
básicas que pueden entrar a la base, esto debe romperse de manera arbitraria, es decir seleccione a cualquiera de
las variables no básicas candidatas.
METODO SIMPLEX
• Paso 6.
– Una vez seleccionada la comuna aj que entrara a la nueva
base, seleccione el vector de salida ar que corresponde una variable básica actual utilizando la siguiente regla:
– En caso de que todas las componentes Ykj sean ≤ 0, la
solución del PL es no acotada.
0kj
kj
B
krj
BY
Y
XMin
Y
Xkr
METODO SIMPLEX
• Paso 7.
– La intersección en el tableau de la columna que entra y la
que sale determina el elemento pivote Yrj. Aplicando operaciones matriciales elementales sobre el elemento
pivote convierta la columna aj en un vector unitario ur, es
decir ceros en toda la columna incluyendo la componente
zj-cj y un uno en Yrj.
– Regrese al paso 5.
METODO PENALIZACION (M)
• Paso 1.
– Modifique las restricciones de tal manera que el lado
derecho de cada restricción sea no negativo. Esto requiere que se multiplique cada restricción con un lado
derecho negativo por -1. Recuerde que al multiplicar una
desigualdad por un numero negativo, se invierte el
sentido de la desigualdad.
• Paso 1’.
– Identifique cada restricción que es ahora (luego del paso
1) una igualdad o un desigualdad ≥. En el Paso 3,
añadiremos una variable artificial a cada una de estas
restricciones.
METODO PENALIZACION (M)
• Paso 2.
– Transforme cada restricción de desigualdad a la forma
estándar. Esto significa que si la restricción i es una restricción ≤, añadiremos una variable de holgura si, y si
la restricción i es una restricción ≥, restaremos una
variable de exceso ei.
• Paso 3.
– Si (después del paso 1’) la restricción i es una igualdad o una desigualdad ≥, añada una variable artificial ai a la
restricción i. también añada la restricción de signo ai ≥ 0.
METODO PENALIZACION (M)
• Paso 4.
– Sea M un numero positivo muy grande. Si el PL es un problema
min, añada (para cada variable artificial) Mai a la función
objetivo. Si el PL es un problema max, añada (para cada variable
artificial) -Mai a la función objetivo.
• Paso 5.
– Ya que cada variable artificial estará en la base inicial, se debe
eliminar todas las variables artificiales del reglon 0 antes de
empezar el algoritmo simples. Esto asegura que empecemos con
una forma canónica. Para escoger la variable que entra, hay que
recordar que M es un numero positivo muy grande. Ahora, con el
método simplex, resuelva el problema transformado. Si todas las
variables artificiales son iguales a cero en la solución optima,
hemos encontrado la solución optima para el problema original.
Si cualquier variable artificial es positiva en una solución
optima, el problema original es no factible.
METODO DOBLE FASE
• Paso 1.
– Modifique las restricciones de tal manera que el lado
derecho de cada restricción sea no negativo. Esto requiere que se multiplique por -1 cada restricción con
un lado derecho negativo
• Paso 1’.
– Identifique cada restricción que es ahora (luego del paso
1) una igualdad o un desigualdad ≥. En el Paso 3, añadiremos una variable artificial a cada una de estas
restricciones.
METODO DOBLE FASE
• Paso 2.
– Transforme cada restricción que sea desigualdad a la forma estándar. Esto significa que si la restricción i es una restricción ≤, añadiremos una variable de holgura si, y si la restricción i es una restricción ≥, restaremos una variable de exceso ei.
• Paso 3.
– Si (después del paso 1’) la restricción i es una desigualdad ≥ o una igualdad, añada una variable artificial ai a la restricción i. también añada la restricción de signo ai ≥ 0.
• Paso 4.
– Por el momento, ignore la función objetivo del PL original. En su lugar, resuelva un PL cuya función objetivo es min w’ = (la suma de todas las variables artificiales). Esto se llama el PL Fase I. La solución del PL Fase I hará las variables artificiales iguales a cero.
METODO DOBLE FASE
• Ya que cada ai ≥ 0, la solución del PL Fase I
corresponderá a una de los tres casos siguientes:
a) El optimo valor de w’ es mayor que cero. En este caso, el
PL original no tiene una solución factible.
b) El valor optimo de w’ es igual a cero, y no hay variables artificiales en la base optima de la Fase I. En este caso,
omitimos todas las columnas que corresponden a las
variables artificiales, en el cuadro optimo de la Fase I.
Ahora combinamos la función objetivo original con las
restricciones del cuadro optimo de la Fase I. Esto produce el PL Fase II. La solución optima del PL Fase II,
es la solución optima para el PL original.
METODO DOBLE FASE
c) El optimo valor de w’ es igual a cero, y por lo menos una
variable artificial esta en la base optima de la Fase I. En
este caso, podemos encontrar la solución optima para el
PL original, si al final de la Fase I, omitimos, del cuadro optimo de la Fase I, todas las variables artificiales no
básicas y cualquier variable del problema original con un
coeficiente negativo en el reglon 0 del cuadro optimo de
la Fase I.
DUALIDAD
• Asociada a cualquier estructura canónica o forma
estándar de programación lineal
s.a.
denominado problema primario o primal
XcZMax
bXA
0X
DUALIDAD
• La siguiente tabla muestra una descripción de cada uno
de los componentes del problema primal y dual.
Problema
Componente Dimensión Característica
Primal X
c b
A Z
0
Vector columna con n elementos
Vector reglon con n elementos Vector columna con m elementos
Matriz m por n Escalar
Vector columna con n ceros
Vector de variables de actividad
primal Vector de precios unitarios primales
Vector de disponibilidad de recursos primales
Matriz de coeficientes tecnológicos
función objetivo primal
Dual Y
cT bT
AT G
0
Vector columna con m elementos
Transpuesta del vector c, o sea, vector columna con n
elementos Transpuesta del vector b, o sea,
vector reglon con m
elementos Transpuesta de la matriz A ,o sea,
Matriz n por m Escalar
Vector columna con m ceros
Vector de variables de actividad
duales Vector de disponibilidad de recursos
duales Vector de precios unitarios duales
Matriz de coeficientes tecnológicos
función objetivo dual
DUALIDAD
• USOS DE LA FORMULACION DEL MODELO DUAL
a) Resolver problemas lineales que tienen mas restricciones
que actividades. Al aplicarse la dualidad a un problema primal donde m > n, se obtiene otro programa lineal
donde el numero de filas n es menor al numero de
columnas m.
b) Hacer interpretaciones económicas de las soluciones optimas de los problemas de programación lineal.
c) Generar nuevos algoritmos para la solución de problemas
de redes de optimización.
d) Generar métodos como el dual simples para el análisis de
sensibilidad de los problemas de programación lineal.
DUALIDAD
• La siguiente tabla proporciona un mecanismo para la
obtención del modelo dual asociado a su modelo primal.
Primal Dual
Max Min
Restricción i ≤ bi Restricción i = bi Restricción i ≥ bi
Variable i ≥ 0 Variable i no restringida
Variable i ≤ 0
Min Max
Variable i ≥ 0 Variable i no restringida
Variable i ≤ 0
Restricción i ≥ ci Restricción i = ci
Restricción i ≤ ci
METODO DUAL SIMPLEX
• Paso 1.
– Empiece con un tableau donde todas las zj-cj ≥ 0, para
toda j en A
• Paso 2.
– Si XBi ≥ 0 para toda variable básica donde i varia de 1 a
m, el tableau actual es optimo. Si no, se debe seleccionar
como vector de salida de la base, aquel cuyo valor de XBi
sea el valor mas negativo.
METODO DUAL SIMPLEX
• Paso 3.
– El vector ak de entrada será aquel que satisfaga la siguiente regla:
• Paso 4. – La columna ak se convierte en el vector unitario ui con el pivote
Yij igual a uno. Los cambios se levan a cabo con operaciones matriciales elementales. Regrese al paso 2 y repítase hasta que las condiciones de optimalidad se cumplan.
• Si durante la aplicación del paso 3, todos los elementos Yij ≥0, el programa original no tiene solución.
0,...,1
ij
ij
jj
njik
kk YY
czMax
Y
cz