Clasificación Clasificación de los modelos de investigación de operaciones. Los modelos utilizados en la IO son eminentemente matemáticos y se pueden clasificar de acuerdo a los valores y características de sus variables, en: deterministas y estocásticos, y cada uno de ellos a su vez, en estáticos y dinámicos. Modelos deterministas. En los modelos deterministas, ni las variables exógenas, ni las endógenas, se obtienen por medio del azar, debido a que se suponen relaciones exactas para las características de operación, en lugar de funciones de densidad de probabilidad. Son variables con valores preestablecidos.
•
Mo delo s esto cástic os . Son aquellos modelos en los que, por lo menos una de las características de operación está dada por una función de probabilidad. Los valores de ésta o éstas variables, se obtienen al azar.
•
Mo delo s estático s. Son aquellos modelos que no toman en cuenta, explícitamente, a la variable tiempo.
•
Mo delo s din ám ico s. Los modelos matemáticos que tratan de las interacciones que varían con el tiempo, se denominan modelos dinámicos. •
Los modelos que se han considerado como propios de la IO, por ser los que en escencia se aplican con mayor frecuencia y por lo mismo se les han dedicado más horas de estudio son:
Programación lineal Programación no lineal Programación entera Programación binaria Programación de metas múltiples Redes de optimización Modelos de inventarios Líneas de espera Teoría de juegos Análisis de de decisiones decisiones Cadenas de Markov Programación dinámica Simulación de sistemas
La mayoría de estos modelos dan soluciones an al íti c as y por tanto exactas mientras que la técnica de la simulación proporciona soluciones n u m é r ic as lo que les da un carácter de aproximación en los resultados. En otro orden de ideas, un enfoque diferente a la representación por medio de modelos de sistemas complejos consiste en utilizar la simulación. La técnica de simulación involucra tanto a modelos matemáticos como lógicos. Un modelo de simulación divide el sistema representado en módulos básicos o elementales a los que les corresponde, generalmente un modelo matemático y que después se enlazan entre si vía relaciones lógicas bien definidas; utilizando la estructura SI...... , .....ENT ONC ES..... Por lo tanto, partiendo del módulo de entrada, las operaciones de cálculo pasarán de un módulo a otro hasta que se obtenga un resultado de salida. Los modelos de simulación, en comparación con los modelos matemáticos, ofrecen una mayor flexibilidad en la representación de sistemas complejos, la razón principal es que la simulación enfoca el sistema desde un nivel básico elemental. Por otra parte, la modelación matemática tiende a considerar el sistema desde un nivel menos detallado.
EL METODO SIMPLEX PARA SOLUCIÓN DE PROBLEMAS DE PROGRAMACIÓN LINEAL Es un procedimiento iterativo que permite ir mejorando la solución a cada paso. El proceso concluye cuando no es posible seguir
mejorando más dicha solución. Partiendo del valor de la función objetivo en un vértice cualquiera, el método consiste en buscar sucesivamente otro vértice que mejore al anterior. La búsqueda se hace siempre a través de los lados del modelo (o de las aristas del poliedro, si el número de variables es mayor). Cómo el número de vértices (y de aristas) es finito, siempre se podrá encontrar la solución. Con miras a conocer la metodología que se aplica en el Método SIMPLEX, vamos a resolver el siguiente problema: Ejemplo: Maximizar P x
1.2 y
o de forma equivalente
P x
6 5
y (función objetivo)
Sujeto a las siguientes restricciones:
2 x y 180 x 3 y 300 Convertir las desigualdades en igualdades e introducir sus variables de holgura (u, v). Nota: Las variables de holgura son positivas y únicamente serán para las ecuaciones.
180
2 x y u
v 300
x 3 y
Igualar a cero la función objetivo.
P x
6 5
y
6
x y P 0 5
Paso uno: Plantear la tabla símplex inicial . (Utilizando los coeficientes del sistema).
180
2 x y u x 3 y x
6 5
300
v
P 0
y
x
y
u
v
P
2
1
1
0
0
180
1
3
0
1
0
300____
0
0
1
- 1 -6/5
Constante
0
Función objetivo
Paso dos: Determinar si ha alcanzado la solución óptima. Primero se consulta la tabla símplex inicial.
x
y
u
v
P
2
1
1
0
0
180
1
3
0
1
0
300____
0
0
1
- 1 - 6/5
Constante
0
Función objetivo
Como existen entradas negativas en el último renglón o fila de dicha tabla la solución inicial no es óptima. Se continúa en el paso tres. Nota: En la función objetivo no debemos tener entradas negativas.
Paso tres: Realizar las siguientes iteraciones. Primero, se localiza el elemento pivote. a) Como la entrada - 6/5 es la más negativa a la izquierda de la recta numérica en el último renglón o fila de la tabla símplex inicial, la segunda columna de la tabla será la columna pivote.
x
y
u
v
P
2
1
1
0
0
180
1
3
0
1
0
300____ (300/3) = 100
0
0
1
- 1 - 6/5
Constante (180/1) = 180
0
b) Se divide cada número positivo en la columna pivote entre la entrada correspondiente en la columna de constantes y se comparan las razones así obtenidas. Se ve que la razón 300/3 es menor que la razón 180/1, de modo que el segundo renglón o fila de la tabla es el renglón pivote. Nota: La razón que resulte menor, indicara cual es el renglón pivote.
x
y
u
v
P
2
1
1
0
0
180
1
3
0
1
0
300 ____
0
0
1
- 1 - 6/5
Constante
0
c) La entrada 3, que esta en el cruce de la columna pivote y el renglón o fila pivote es el elemento pivote (3).
x
y
u
v
P
2
1
1
0
0
180
1
3
0
1
0
300 ____
0
0
1
- 1 - 6/5
Constante
0
A continuación, se convierte este elemento pivote en un 1, multiplicando todas las entradas del renglón o fila pivote por 1/3. Entonces, al utilizar operaciones elementales por renglón o fila, se concluye la conversión de la columna pivote en una columna unitaria.
Los detalles de la iteración se registran como sigue:
x
Renglón pivote
y
u
v
P
Constante
Razón
2
1
1
0
0
180
180/1
1
3
0
1
0
300 ____
300/3
0
0
1
- 1 - 6/5
Columna pivote
0
Desarrollando x
y
u 1
2
v 1
P 0
Constante
0
1/3 3/3 0/3 1/3 0/3 - 1 - 6/5
x Renglón 1
y
0
u
0
v
180/1
300/3 ____
300/3
1
1
Renglón 2 (Pivote)
1/3
1
0 1/3 0
Renglón 3
- 1 - 6/5
0
0
0
Constante
2
0
180
1
P
Razón
0
1
Razón
180
180/1 = 180
100 ____
300/3 = 100
0
Restarle al Renglón 1 el Renglón 2 (Pivote), ( R1 R2 ).
Para x =
0
1 3
6
1
5
3 3 1
3
Para y = 1 1 0
Para u = 1 0 1
3
Para P = 0 0 0
Para la constante = 180 – 100 = 80
Para v =
Los nuevos valores encontrados para las variables formaran la siguiente iteración.
Para x =
5 3
Para P = 0
Para y = 0
Para u = 1
Para v =
1 3
Para la constante = 80
x
y
u
v
P
Renglón 1
5/3
0
1 -1/3 0
Renglón 2 (Pivote)
1/3
1
0 1/3 0
Renglón 3
- 1 - 6/5
0
0
Constante 80 100 ____
1
0
Sumarle al numero - 6/5 de la columna pivote, del renglón 3 (Objetivo), la cantidad de (6/5), para que al sumarlos se elimine el numero negativo - 6/5, y quede cero y así poder eliminar el primer numero negativo en nuestro objetivo.
- 6/5 + 6/5 = 0
A cada una de las variables del renglón 3 le sumamos el producto que resulte de multiplicar 6/5, por el valor que tenga cada una de las variables del renglón 2.
( R3 (6 / 5)( R 2 )) :
6 15 6 9 3 6 1 Para x = 1 1 15 15 15 15 5 5 3 6 6 6 6 1 0 5 5 5 5
Para y =
6 Para u = 0 0 0 0 0 5 6 1 6 2 Para v = 0 5 3 15 5
6 Para P = 1 0 1 5
600 6 120 Para la constante = 0 100 5 5
x
y
u
v
P
Constante
Renglón 1
5/3
0
1 -1/3 0
Renglón 2 (Pivote)
1/3
1
0 1/3 0
100____
Renglón 3
-3/5
0
0 2/5 1
6 1 6 2 12 0 0 5 3 15 5
80
Esto completa una iteración. El último renglón de la tabla simplex contiene un número negativo, de modo que no se ha alcanzado la solución óptima; por lo tanto, se repite el paso iteractivo una vez más.
Paso uno: Plantear la tabla símplex inicial .
x
y
u
v
P
Constante
Renglón 1
5/3
0
1 -1/3
0
Renglón 2
1/3
1
0
1/3
0
100____
Renglón 3
-3/5
0
0
2/5
1
120
80
Paso dos: Determinar si ha alcanzado la solución óptima. Primero se consulta la tabla símplex inicial. Como existen entradas negativas en el ultimo renglón o fila de dicha tabla la solución inicial no es óptima. Se continúa en el paso tres.
x
y
u
v
P
Renglón 1
5/3
0
1 -1/3
0
Renglón 2
1/3
1
0
1/3
0
100____
Renglón 3
-3/5
0
0
2/5
1
120
Paso tres: Realizar las siguientes iteraciones.
Constante 80
Primero, se localiza el elemento pivote. a) Como la entrada - 3/5 es la más negativa a la izquierda de la recta numérica en el ultimo renglón o fila de la tabla símplex inicial, la primera columna de la tabla será la columna pivote.
x
y
u
v
P
Constante
Renglón 1
5/3
0
1 -1/3
0
Renglón 2
1/3
1
0
1/3
0
100____ (100/(1/3)) = 300
Renglón 3
-3/5
0
0
2/5
1
120
80
(80/(5/3)) = 48
b) Se divide cada número positivo en la columna pivote entre la entrada correspondiente en la columna de constantes y se comparan las razones así obtenidas. Se ve que la razón (80) / (5/3) es menor que la razón (100) / (1/3), de modo que el primer renglón o fila de la tabla es el
renglón pivote.
x
y
u
v
P
Constante
Razón para renglón pivote.
Renglón 1 48
5/3
0
1 -1/3 0
80
Renglón 2
1/3
1
0
1/3
0
100____
-3/5
0
0
2/5
1
120
(80) / (5/3) = (100) / (1/3) =
300
Renglón 3
c) La entrada 5/3, que esta en el cruce de la columna pivote y el renglón o fila pivote es el elemento pivote.
Renglón 1 (Pivote)
x
y
u
v
P
5/3
0
1 -1/3 0
Constante 48
Renglón 2
1/3
1
0
1/3
0
100____
Renglón 3
-3/5
0
0
2/5
1
120
Columna pivote A continuación, se convierte este elemento pivote en un 1 y multiplicando todas las entradas del renglón o fila pivote por 3/5. Entonces, al utilizar operaciones elementales por renglón o fila, se concluye la conversión de la columna pivote en una columna unitaria. Los detalles de la iteración se registran como sigue: (3/5) ( cada una de las entradas del renglón )
5 3 Para x = 1 3 5
3 Para y = (0) 0 5
3 1 1 3 Para v = 15 5 3 5
3 3 Para u = (1) 5 5
3 Para P = (0) 0 5
Desarrollando x
y
u
v
P
Constante
Renglón 1 (Pivote)
1
0 3/5 -1/5 0
Renglón 2
1/3
1
0
1/3
0
100____
Renglón 3
-3/5
0
0
2/5
1
120
48
Restarle al Renglón 2, la cantidad de (1/3) que multiplica al (Renglón 1 (Pivote)), en este caso se utiliza (1/3) por estar en la columna pivote y ayudara en convertir ese elemento en cero. R2
Para x =
1 3
R 1
1 1 1 (1) 0 3 3 3 3
1
1 0 1 3
Para y = 1
3 1 1 3 Para u = 0 15 5 3 5
1 1 1 1 1 5 1 6 2 Para v = 3 3 5 3 15 15 15 5 Para P = 0 0 0
1 Para la constante = 100 (48) 100 16 84 3
x
y
Renglón 1 (Pivote)
1
0 3/5 -1/5 0
48
Renglón 2
0
1 -1/5 2/5 0
84_ ___
Renglón 3
-3/5
0
u
0
v
2/5
P
Constante
1
120
OBJETIVO
Sumarle al Renglón 3 (Objetivo), la cantidad de (3/5) que multiplica al (Renglón 1 (Pivote)), en este caso se utiliza 3/5 para que al sumarlo con - 3/5 estos se eliminen, quedando cero y así poder eliminar el numero negativo en nuestro objetivo.
Sumarle al renglón 3, 3/5 del renglón 1 ( R3 (3 / 5)( R1 )) :
3 3 3 3 1 0 5 5 5 5
Para x =
3 Para y = 0 0 0 0 0 5
9 9 3 3 Para u = 0 0 25 25 5 5
2 3 1 2 3 10 3 7 Para v = 5 5 5 5 25 25 25
3 Para P = 1 (0) 1 0 1 5 144 600 144 744 4 3 148 Para la constante = 120 48 120 5 5 5 5 5
x
y
u
v
P
Constante
Renglón 1 (Pivote)
1
0 3/5 -1/5 0
48
Renglón 2
0
1 -1/5 2/5 0
84_ ___
Renglón 3
0
0 9/25 7/25 1
148 (4/5)
OBJETIVO
Por lo tanto el último renglón de la tabla simplex ya no contiene números negativos, por lo cual se concluye que se ha alcanzado la solución óptima.
Paso 4: Determinar la solución optima: Se localizan las variables básicas en tabla final. En este caso, las variables básicas ( las que encabezan columnas unitarias) son x, y, y P. El valor asignado a la variable básica x es el número 48, que es la entrada que se encuentra en la columna de constantes y en el primer renglón ( el renglón que contiene al 1). El valor asignado a la variable básica y es el numero 84, que es la entrada que se encuentra en la columna de constantes y en el segundo renglón ( el renglón que contiene al 1 ).
El valor encontrado para el objetivo P es
u
148
5
x
y
Renglón 1 (Pivote)
1
0 3/5 -1/5 0
48
Renglón 2
0
1 -1/5 2/5 0
84 ____
Renglón 3
0
0 9/25 7/25 1
Se concluye que x = 48, y = 84 y P =
COMPROBACIÓN
6 P x y 5
v
4
P
148
Constante
148
4
OBJETIVO
5
4 5
SUSTITUCIÓN
6 P 48 (84) 5
DESARROLLO
504 240 504 5 5
P 48
744 5
148
4 5
COMPROBANDO EL SISTEMA:
1 ecuación
2 x y 180 ( 1)
2 ecuación
x 3 y 300 ( 2)
2 x y 180 2 x 6 y 600
5 y 420 y
420 5
84
Sustituyendo y en 1 o 2.
2 x 84 180 x
180 84 2
x 3(84) 300
96
x 300 252
2
x 48
x 48
Para graficar tenemos que convertir las igualdades en funciones,
Ecuación
2 x y 180 x 3 y 300
Función
y 2 x 180
y
Dar valores a la variable independiente
x 300
“x”.
3
Punto de intersección ( x, y ) y
( 48, 84 ) 200
C (48,84)
100
D (0,100)
A (0,0)
100
B 0 90
ZONA OPTIMA
200
300
x
Mtro. René Bretón Salinas.
PROBLEMA DE MINIMIZACIÓN En el siguiente ejemplo de problema de programación lineal, hay que minimizar la función objetivo. Un nutriólogo asesora a un individuo que sufre de una deficiencia de hierro y vitamina
B ,
y le indica que debe ingerir al menos 2400 mg de hierro, 2100 mg de vitamina B1 (tiamina) y 1500 de vitamina B2 (riboflavina) durante cierto periodo. Existen dos píldoras de vitaminas disponibles, la marca A y la marca B.
Cada píldora de la marca A contiene 40 mg de hierro, 10 mg de vitamina B1 , 5 mg
de vitamina
B2
y cuesta 6 centavos.
Cada píldora de la marca B contiene 10 mg de hierro, 15 mg de vitamina B1 y de
vitamina B2 , y cuesta 8 centavos. ¿Cuáles combinaciones de píldora debe comprar el paciente para cubrir sus requerimientos de hierro y vitamina al menor costo? Planteamiento del problema. Vitaminas
Marca A
Marca B
Requerimientos Mínimos
Hierro
40 mg
10 mg
2400 mg
Vitamina B1
10 mg
15 mg
2100 mg
Vitamina B2
5 mg
15 mg
1500 mg
Costo de la píldora.
6 centavos
8 centavos
Datos:
Sea
x
el número de píldoras de la marca
A
Sea
y
el número de píldoras de la marca
B
El costo C, medido en centavos, por lo tanto
C=A+B
Planteamiento del problema:
Sustituyendo A por su valor en centavos que multiplica a la variable
x ,
por lo tanto
( A = 6 x ).
Sustituyendo B por su valor en centavos que multiplica a la variable
y , por lo tanto
( B = 8y ).
Sustituyendo A y B con sus nuevos valores en la expresión algebraica
C = A + B,
obtendremos la función objetivo por minimizar.
C
=
A
+
B
C
=
6 x
+
8 y
Función objetivo por minimizar.
La cantidad de hierro contenida en
x
píldora de la marca A y
y
píldora de la marca
B esta dada por 40 x 10 y mg, y esto debe ser mayor o igual a 2400 mg, esto se traduce en la desigualdad.
40 x 10 y 2400
Consideraciones similares con los requisitos mínimos de vitamina
B1 y
B2 conducen
a las desigualdades respectivamente
10 x 15 y 2100 5 x 15 y 1500
Así, el problema en este caso consiste en minimizar
C=
restricciones siguientes.
40 x 10 y 2400
10 x 15 y 2100 5 x 15 y 1500 x 0, y 0
6 x
+ 8 y
sujeta a las
Solución por el Método Grafico: 1.- Ecuación
40 x 10 y 2400 ,
2.- Ecuación 10 x 15 y 2100
3.- Ecuación
5 x 15 y 1500
Función y Función y Función y
2400 40 x 10 2100 10 x 15 1500 5 x 15