Programación Lineal: “El Método Simplex”: Entendemos que un

Anuncio
Sistemas de Optimización de Recursos
Programación Lineal: “El Método Simplex”:
Entendemos que un modelo es lineal cuando las variables, tanto de la Función Objetivo como
de las restricciones son lineales, es decir tiene exponente igual a uno, es decir que no existen
variables con exponente dos o mayor.
Definición: El modelo Simplex es un método algebraico sistemático e iterativo utilizado para
resolver modelos de Programación Lineal, que examinan los vértices de un conjunto convexo,
hasta encontrar la alternativa óptima que resuelve el modelo.
Procedimiento: Todas las restricciones del modelo deben ser transformadas a igualdades,
para poder establecer una solución básica factible inicial, y así poder resolver un sistema de
ecuaciones simultáneas utilizando la Función Objetivo como la referencia para establecer la
solución óptima. El espacio dentro del cual se encuentra delimitada el área definida por todas
las restricciones define lo que se conoce como <polígono de Soluciones Factibles. Cada
vértice de dicho Polígono corresponde a una alternativa que resuelve el sistema de ecuaciones
y variables, y la Solución óptima del mismo estará localizada en uno de sus vértices.
Método SIMPLEX
El simples es una técnica para evaluar, por medio de la función objetiva, los puntos
extremos del conjunto convexo. Para la primera solución al sistema de ecuaciones
tenemos:
Variables
Coeficientes de Variables
en la función Objetivo
Variables Básicas Coef.
S1
0
S2
0
S3
0
S4
0
A
C
S1
S2
S3
20
10
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
0
2
1
0
1
1
0
0
0
0
1
0
0
S4
Valor
F.O = 0
valores
RHS
= 120
= 90
= 70
= 50
Este método técnico, determina el cambio siguiente más apropiado a través de la
comparación de valores de vectores del vértice inicial a otros vértices adyacentes. Al
moverse hacia otro punto extremo, eliminará una variable básica y la sustituirá por otra.
Supongamos que el método decide “sacar” a S4 e introducir la variable “C” como variable
básica (esto fue nuestro segundo intento en nuestra prueba y error). A continuación se
detalla cómo se desarrolla este cambio en el método SIMPLEX
Variables
Coeficientes de Variables
en la función Objetivo
Variables Básicas Coef.
S1
0
S2
0
S3
0
C
10
A
C
S1
S2
S3
S4
20
10
0
0
0
0
0
1
0
0
0
0
1
0
-2
-1
0
1
1
1
0
0
0
0
0
1
1
0
0
0
Valor
FO = 500
valores
RHS
= 20
= 40
= 70
= 50
32
Sistemas de Optimización de Recursos
El método continúa buscando otro
punto extremo (vértice) hasta que el
valor de la función objetivo no pueda ser
mejorada.
Tipos de soluciones a las ecuaciones
originales.
Alternativas Potenciales. Este término
se refiere simplemente a cualquier
conjunto de valores de las variables que
satisfagan a todas y cada una de ls
restricciones.
Alternativa Factible: Es una alternativa
potencial que satisface todas las
restricciones y las condiciones de no
negatividad (cuando así lo exija el
modelo).
Alternativa Óptima. Es la alternativa
que produce el mejor valor en la función
objetivo. Esta alternativa está compuesta
por todas y cada una de las variables con
sus respectivos valores (incluye tanto
variables de decisión como variables de
holgura y/o de excedente).
Variables de Holgura / Excedente y
Restricciones Activas y No-Activas.
Cuando una de las variables de holgura
o excedente tiene un valor mayor a cero
(0.0) indica que la restricción a la cual
está asociada es una restricción inactiva.
Y cuando ese valor de la variable de
holgura o excedente es cero (0.0), es
porque la restricción a la cual están
asociadas es una restricción activa. Dicho
en otra forma,
Una restricción será activa, si al
sustituir los valores de las variables de la
alternativa óptima en dicha restricción, el
valor resultante en su miembro izquierdo
es igual al valor desmiembro derecho
(RHS). Un caso especial es el de la
restricción de igualdad, donde este tipo de
restricción siempre es activa.
Si una restricción no es activa, se dice
que es inactiva. Esto es cuando al
sustituir los valores de las variables de la
alternativa óptima en la restricción en
cuestión, el valor resultante del lado
izquierdo (de la restricción) no coincide
con el valor del lado derecho de la
restricción.
Relación entre restricciones activa / noactivas y exceso / déficit.
Al sustituir los valores de la alternativa
óptima en una restricción inactiva, éste
resulta con un déficit o un superávit. Pero
¿qué es el exceso o superávit y que
representa?
Una restricción de tipo < tendrá una
holgura si al sustituir los valores de las
variables de la alternativa óptima en la
restricción, el valor resultante del lado
izquierdo (de la restricción) es inferior al
del lado derecho.
Si la restricción
representa la utilización de recursos en un
departamento, entonces diremos que los
recursos disponibles en ese departamento
no están siendo utilizados plenamente y
pueden transferirse a otro (departamento).
Una restricción del tipo > tendrá un
excedente si el valor resultante al sustituir
los valores de las variables de la
alternativa óptima en la restricción en
cuestión, el valor del lado izquierdo de la
restricción es mayor que el del lado
derecho. Si la restricción representa una
meta de ventas se dice que se ha superado
la meta.
Importancia de que una restricción sea
activa o no-activa.
Las restricciones definen el área
factible del modelo, las restricciones
activas definen la alternativa y la solución
óptima del modelo. Adicionalmente, estás
restricciones limitan lamedora del valor
óptimo de la función objetivo. Si las
restricciones activas se pueden suavizar,
el valor de la función objetivo mejorará
(incrementará si la función objetivo es del
tipo maximización y disminuirá si la
función
objetivo
es
del
tipo
33
Sistemas de Optimización de Recursos
minimización).Este es precisamente el
objetivo del Análisis de Sensibilidad.
Modelos No – Acotados e infactibles
Algunos modelos no tienen solución
ya sea porque existen ciertas restricciones
en contraposición (tener gastos de ventas
menores a $1,000.00 y tener ventas
mayores a 1,000,000.00, donde la
comisión de ventas es del 5%). Esto
aprecia gráficamente cuando el modelo
no ha formado un área factible (conjunto
convexo).
Modelo
No-acotado
Modelo
No-factible
Análisis de Modelos de programación
Lineal
1. Cambios en los coeficientes de las
variables de decisión de la función
objetivo
Al cambiar un coeficiente de una
variable de decisión de la función
objetivo, se modifica la pendiente de la
misma. Esto puede o no afectar la
alternativa óptima, la solución óptima y/o
el valor óptimo de la función objetivo.
1.1 Cambios
dentro
del
rango
permisible.
Si el cambio del coeficiente se efectúa
dentro de los límites permisibles no se
verán afectadas ni la alternativa óptima
ni la solución óptima. Sin embargo, el
valor de la función objetivo cambiará.
El nuevo valor de la función objetivo
será igual al valor anterior de la función
objetivo más algebraicamente el
producto del diferencial del cambio en
el
coeficiente
de
la
variable
multiplicado por el valor de dicha
variable en la alternativa óptima.
Nota: si se cambia el coeficiente de
una variable cuyo valor es cero (0.0)
en la alternativa óptima no habrá
ningún cambio en el valor de la
función objetivo.
Ejemplo: Supongamos un F.O. de
max. donde la variable de decisión X2
tiene un valor de 10 en la alternativa
óptima y un coeficiente de 5 en la F.O.
donde el valor actual de la F.O. es de
200 unidades. Ahora supongamos que
el coeficiente de la variable de decisión
X2 cambia de 5 a 8. Tendríamos que el
nuevo valor de la F.O. sería 200 + (85)*10 = 230.
1.2 Cambios fuera del rango permisible
Si el cambio del coeficiente de las
variables de decisión ocurre más allá
del límite permisible, no sabemos a
priori el nuevo valor de la función
objetivo, y tanto la alternativa óptima
como la solución pueden cambiar.
2. Cambio en el vector de recurso
“Cambios en el vector de recurso
(RHS – Lado Derecho) producen un
desplazamiento paralelo de la restricción
modificada. La dirección de su
desplazamiento dependerá del tipo de
restricción que sea y del tipo de cambio
en el valor del lado derecho. Dependiendo
de la magnitud del cambio, éste (cambio)
puede o no afectar tanto el área factible,
la solución, así como el valor de la
alternativa óptima y el valor de la función
objetivo”
34
Sistemas de Optimización de Recursos
2.1 limitar una desigualdad
“Limitar
una
restricción
de
desigualdad significa hacerla más difícil
de satisfacer. Para una restricción del
tipo < esto significa disminuir el valor del
miembro derecho. Para una restricción del
tipo > esto significa aumentar el valor
desmiembro derecho. Gráficamente en
ambos casos esto se visualiza como una
disminución del área factible de
alternativas proporcionada por dichas
restricciones”.
2.2 Suavizar una restricción
“Suavizar
una
restricción
de
desigualdad significa hacerla más fácil de
satisfacer. Para una restricción del tipo <
esto significa aumentar el valor del
miembro derecho. Para una restricción del
tipo > esto significa disminuir el valor
desmiembro derecho. Gráficamente en
ambos casos esto se visualiza como un
aumento del área factible de alternativas
proporcionadas por dichas restricciones”.
Utilidad de las restricciones activas y
no activas y cambios en los vectores de
recursos.
La utilidad de las restricciones activas
reside en que para mejorar el valor de la
F.O. proporcionado por la alternativa
óptima, es necesario realizar ciertos
cambios en los valores del lado derecho
(recursos o metas) de estas restricciones.
Tipo de
Restricción
<
>
=
Tipo de
Variable
La
variable
vale cero
Holgura
Restricción
es activa
Excedente Restricción
es activa
Este tipo de restricción
activa.
La
variable no
vale cero
Restricción
es inactiva
Restricción
es inactiva
siempre es
Las restricciones activas tienen la
característica de que sus recursos (o
metas)
están
siendo
utilizados
(alcanzados) plenamente. Si éstos
recursos (metas) son cambiados, el valor
de la función objetivo se modificará, ya
sea en sentido creciente o decreciente,
dependiendo del tipo de restricción y del
tipo de cambio.
Las restricciones no-activas permiten que
sus recursos (o metas) puedan ser
cambiadas
en
un
cierto
valor
(aumentadas o disminuidas dentro de su
rango permisible) sin afectar el valor de
la función objetivo, la alternativa óptima
ni la solución óptima.
35
Sistemas de Optimización de Recursos
Caso La Empresa Corbatín
La empresa Corbatín S.A de C.V se dedica a la elaboración y venta de ropa para hombre,
dicha empresa produce cuatro tipos de corbatas, una de seda, otra de poliéster, y dos
combinadas de poliéster-algodón.
Un día en la planta de producción se encuentra el Gerente de Ingeniería, el Gerente de
Producción, los cuales comienza a conversar de ver la mejor manera de distribuir la carga
de trabajo para generar el mejor beneficio para la empresa, la conversación se efectúa de la
siguiente manera:
Gerente de Ingeniería: Ya revisaste las capacidades para cubrir la demanda de corbata de
las cinco cadenas de ropa.
Gerente de Producción: Si tengo pendiente de hacerlo, pero no encuentro el correo con el
detalle de requerimiento para estos clientes.
Gerente de Ingeniería: Recuerda que en el contrato se acordó que se tendrá que
suministrar una cantidad mínima mensual de todos los SKU que producimos y si recibimos
un pedido superior a este mínimo, nosotros como compañía decidiremos si se puede o no
servir la cantidad extra solicitada.
Gerente de Producción: si tienes razón, ese es otro factor que tenemos que tomar en
cuenta en el análisis, con todas estas variables no encuentro la manera óptima de poder
revisar las capacidades con la finalidad de cubrir todas las condiciones.
Gerente de Ingeniería: ¿has pensado en hacerlo por programación Lineal?
Gerente de Producción: Me parece una buena idea, me podrías ayudar a formularlo
Gerente de Ingeniería: Por supuesto, vamos a mi oficina, yo tengo los datos de los
contratos.
Ya en la oficina del Gerente de Ingeniería se disponen a revisar los contratos y los
requerimientos de los clientes.
Gerente de Ingeniería: Aquí están los requerimientos mínimos que tenemos que cumplir a
nuestros clientes; también incluyen la demanda mensual para así decidir las cantidades a
producir.
MÍNIMO
CORBATA A
SERVIR
Seda
6,000
Poliéster
10,000
DEMANDA
COMPOSICIÓN
MENSUAL
7,000
14,000
Algodón # 1 13,000
16,000
Algodón # 2 6,000
8,500
100% seda
100% poliéster
50% poliéster, 50%
algodón
30% poliéster, 70%
algodón
36
Sistemas de Optimización de Recursos
Gerente de Producción: Con este requerimiento tengo que ajustar mi equipo de
producción para producir los 4 tipos de corbatas que nos están solicitando nuestros clientes,
además tengo que ajustar las capacidades de cada línea de producción para lograr
producirlas y maximizar la producción acorde a la demanda mensual que ellos tienen. Pero
para lograr maximizar las unidades a producir necesitamos la información de los
inventarios disponibles, así como también los costos y precios de venta de cada tipo de
corbata.
Gerente de Ingeniería: Esta información nos la puede proporcionar nuestro Gerente
Financiero. Vamos a su oficina, le pedimos la información y regresamos a mi oficina y
planteamos el problema y analizamos las variantes que podríamos tener.
Gerente de Producción: Esta bien.
Se van a la oficina del Gerente Financiero, y le solicitan la información.
Gerente de Ingeniera: Nos podrías ayudar con una información que necesitamos para
hacer un análisis que creo que a todos nos servirá.
Gerente Financiero: Si la información la tengo disponible y nos creara un beneficio a
todos, creo que si les puedo ayudar.
Gerente de Producción: Lo que necesitamos es información acerca de los inventarios
actuales y los costos de producción, así como también los precios de venta de los 4 tipos de
corbata que estaremos produciendo próximamente.
Gerente Financiero: Si se puede saber, ¿para que necesitan esta información?
Gerente de Ingeniería: Lo que queremos hacer producir las cantidades optimas en cada
tipo de corbata, con la finalidad de maximizar los beneficios para nuestra empresa.
Gerente Financiero: Estoy muy interesado en este análisis. Les mandare la información, y
me incluiré para así aprender a desarrollar estos análisis.
La información que el Gerente financiero se resume en las siguientes tablas:
METROS
MATERIAL DISPONIBLES
/ MES
Seda
800
Poliéster
3,000
Algodón
1,600
CORBATA
Metros PRECIO
necesarios
DE
/ unidad VENTA
Costo
Total
Beneficio
unitario
Seda
0.125
$6.70
$2.62
$4.08
Poliéster
Algodón #
1
Algodón #
2
0.080
$3.55
$1.50
$3.07
0.100
$4.31
$1.75
$3.56
0.100
$4.81
$1.81
$4.00
37
Sistemas de Optimización de Recursos
En la oficina de Ingeniería los tres gerentes se disponen a formular el problema:
Gerente de Ingeniería: Lo primero en este problema será determinar qué beneficios nos
reporta cada una de las corbatas vendidas y fabricadas. Así por ejemplo, cada corbata de
seda tiene un costo total de $2.62, como la vendemos por $6.70, el beneficio que
obtenemos será de $4.08 por cada unidad producida y vendida. El mismo razonamiento se
aplicará a los restantes tres tipos de corbata, como se muestra en el cuadro anterior.
Gerente Financiero: Entonces para los 3 tipos de corbata restantes nos queda así: Para
cada corbata de Poliéster obtendremos un beneficio de: $3.07, para la de Algodón /
poliéster tipo 1 un beneficio de $3.56 y para cada corbata de algodón / poliéster tipo 2 un
beneficio de $4.0.
Gerente de Ingeniería: Si, estas en lo correcto. Pero también tenemos que definir nuestras
variables de decisión:
Gerente de Producción: En este caso las variables de decisión serian:
X1 = "Nº corbatas de seda a producir"
X2 = "Nº corbatas de poliéster a producir"
X3 = "Nº corbatas de algodón #1 a producir"
X4 = "Nº corbatas de algodón #2 a producir"
Gerente de Ingeniería: Exacto! Por lo tanto la función que queremos maximizar es la
siguiente:
MAX 4.08*X1 + 3.07*X2 + 3.56*X3 + 4.00*X4
Gerente de Producción: Ahora para desarrollar el problema, necesitamos definir las
restricciones que tenemos. ¿Cuáles son?
Gerente Financiero: Tenemos restricciones en cuanto al inventario disponible, a las
cantidades mínimas a producir por cada tipo de corbata y las cantidades máximas a
producir para cada tipo también.
Gerente de Ingeniería: Muy bien, por lo tanto las restricciones son las siguientes:
1) 0.125* X1 ≤ 800
2) 0.08 *X2 +0 .05*X3 +0 .03*X4 ≤ 3000
3) 0.05*X3+ 0.07*x4 ≤1600
4) X1 ≥ 6000
5) X1 ≥7000
6) X2 ≥ 10000
7) X2≥ 14000
8) X3 ≥ 13000
9) X3 ≥16000
10) X4 ≥ 6000
11) X4 ≥ 8500
38
Sistemas de Optimización de Recursos
Gerente Financiero: Ahora que ya tenemos todo listo, mi pregunta es ¿como lo vamos a
resolver?
Gerente de Producción: Ocuparemos el software WINQSB, el cual introduces los datos y
te genera un reporte, y este reporte nosotros tres lo analizaremos.
El gerente de ingeniería introduce los datos
Y WINQSB genera el siguiente reporte:
39
Sistemas de Optimización de Recursos
Gerente de Ingeniería: Del reporte anterior podemos concluir que se tendrían que
producir cada mes 6,400 corbatas de seda, 14,000 de poliéster, 16,000 de algodón #1, y
8,500 de algodón #2. Los datos anteriores corresponden a la ALTERNATIVA ÓPTIMA.
Si producimos las cantidades anteriores nos dará unos beneficios de $160,052 por mes.
Gerente Financiero: Con esta información que acabamos de analizar podré realizar
diversas proyecciones que me serán muy útiles, pero creo que sería conveniente el analizar
algunas variantes en el modelo. Gerente de Producción: Si, para eso no hay problema, del
reporte que hemos obtenido anteriormente, podemos hacer un análisis de sensibilidad.
Gerente de Ingeniería: En el reporte anterior se observa una columna que tiene relación
directa con las restricciones esta es la columna llamada “Shadow Price”, si los valores en
esta columna son diferentes de cero, este valor esta asociado a una restricción activa
especifica y una restricción activa es aquella que al sustituir los valores numéricos de la
alternativa optima en la restricción el valor del miembro izquierdo es igual al valor del lado
derecho (RHS). En una impresión de un software se vera que el valor de holgura de la
restricción respectiva es igual a cero.
Concretamente el valor del precio sombra indica la cantidad en que el valor de la función
objetivo mejorara (se incrementara si es maximización y disminuirá si es minimización) por
cada unidad en que se suavice en la restricción respectiva.
Podemos analizar la restricción #1 esta es una restricción activa; y esto lo podemos
comprobar al cambiar los valores de la solución óptima en esta restricción, así:
0.125*X1 ≤800
Al sustituir los valores queda así:
0.125*6400 + 0*14000 + 0*16000 + 0* 8500 ≤800
800 ≤800
40
Sistemas de Optimización de Recursos
El resultado óptimo es de $160,052, y el shadow Price de dicha restricción es de 32.64, en
este caso si aumentamos el RHS en 1 unidad, el valor de la función objetivo mejorara en
$32.64. Como ejemplo, si esta restricción la aumentamos a 850, nosotros recibiremos una
ganancia adicional de $32.64 * 50 = $1632. Les tengo que aclarar que esta restricción solo
puede variar entre el limite mínimo de 750 y el máximo de 875. Si nosotros en esta
restricción cambiamos el valor fuera de este rango, nuestra alternativa óptima cambiara.
Gerente de Producción: ¿Podemos intentar un segundo escenario? Me gustaría analizar
una reducción en el inventario de algodón, ya que esta tela es muy delicada y se tiene un
desperdicio de un 5%.
Gerente de Ingeniería: Ok, resolvámoslo. Si dices que se desperdicia el 5%, tendremos un
inventario de 0.95 * 1600mts = 1520 mts disponibles para intentar cubrir las demandas
mínimas. Al observar el reporte de WINQSB queda así: Primero debemos observar su
Shadow Price que es cero, por lo tanto es una restricción no activa, y como se tiene un
inventario de 1520 metros disponibles y este valor se encuentra dentro del limite
disponible, no se producirán cambios ni en la alternativa optima, ni en la solución optima y
tampoco habrán cambios en el valor de la función objetivo.
Gerente de Producción: Quiere decir que el desperdicio que se genera en el inventario de
algodón, nosotros contamos con una cantidad suficiente para que este no afecte nuestra
producción y cumplir con nuestros clientes.
Gerente de Ingeniería: Tienes razón, ahora la labor es evitar este desperdicio, pero para
esto nos reuniremos otro día.
41
Sistemas de Optimización de Recursos
Gerente Financiero: Ya entiendo. Seria bueno que analizáramos un tercer escenario. Por
ejemplo que pasaría la demanda aumenta en 11,000 corbatas de poliéster extras al pedido
que tenemos actualmente.
Gerente de Ingeniería: Muy buena pregunta. En el reporte que WINQSB produjo,
podemos observar que los rangos permisibles para esta variable mínimo: 10,000 y máximo
24,312.5, para este caso, necesitaríamos replantear nuestro problema, ya que nos
sobrepasamos al rango permisible.
Pero sería muy interesante. Para resolverlo tenemos que cambiar la restricción y volver a
correr el software.
Gerente de Producción; Hagámoslo. Recuerda que tenemos un pedido en transito de tela
poliéster en el cual vienen 2000 metros más.El Gerente de Ingeniería introduce los datos:
42
Sistemas de Optimización de Recursos
Y WINQSB genera el siguiente reporte:
Gerente Financiero: Con los datos anteriores, podemos concluir que si recibimos el
pedido de tela, podríamos producir las 25000 corbatas de poliéster y nuestro beneficio total
aumentaría a $193,822; sin olvidar que también cumplimos las cantidades mínimas de los
otros 3 tipos de tela.
43
Documentos relacionados
Descargar