Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Antologia Investigacion de Operaciones I
Antologia Investigacion de Operaciones I
2
ANTOLOGIA
MTRA. ANGÉLICA GUTIÉRREZ LIMÓN
0
INDICE PAG
1
I. METODOLOGIA DE LA INVESTIGACION DE
OPERACIONES Y FORMULACION DE MODELOS.
1.1DEFINICION.
La Definición De Churchman, Ackoff Y Arnoff: La Investigación De Operaciones
Es La Aplicación, Por Grupos Interdisciplinarios, Del Método Científico A
Problemas Relacionados Con El Control De Las Organizaciones O Sistemas
(Hombre-Máquina), A Fin De Que Se Produzcan Soluciones Que Mejor Sirvan A
Los Objetivos De La Organización.
De ésta definición se pueden destacar los siguientes conceptos:
1. Una organización es un sistema formado por componentes que se
interaccionan, unas de estas interacciones pueden ser controladas y otras no.
2. En un sistema la información es una parte fundamental, ya que entre las
componentes fluye información que ocasiona la interacción entre ellas.
También dentro de la estructura de los sistemas se encuentran recursos que
generan interacciones. Los objetivos de la organización se refieren a la eficacia
y eficiencia con que las componentes pueden controlarse, el control es un
mecanismo de autocorrección del sistema que permite evaluar los resultados
en términos de los objetivos establecidos.
3. La complejidad de los problemas que se presentan en las organizaciones ya
no encajan en una sola disciplina del conocimiento, se han convertido en
multidisciplinario por lo cual para su análisis y solución se requieren grupos
compuestos por especialistas de diferentes áreas del conocimiento que logran
comunicarse con un lenguaje común.
4. La investigación de operaciones es la aplicación de la metodología científica
a través modelos matemáticos, primero para representar al problema y luego
para resolverlo. La definición de la sociedad de investigación de operaciones
de la Gran Bretaña es la siguiente:
La investigación de operaciones es el ataque de la ciencia moderna a los
complejos problemas que surgen en la dirección y en la administración de
grandes sistemas de hombres, máquinas, materiales y dinero, en la industria,
en los negocios, en el gobierno y en la defensa. Su actitud diferencial consiste
en desarrollar un modelo científico del sistema tal, que incorpore valoraciones
de factores como el azar y el riesgo y mediante el cual se predigan y comparen
los resultados de decisiones, estrategias o controles alternativos. Su propósito
es el de ayudar a la gerencia a determinar científicamente sus políticas y
acciones.
2
Operaciones es importante la habilidad adecuada en los aspectos científicos y
artísticos de Investigación de Operaciones. Si se destaca un aspecto y no el
otro probablemente se impedirá la utilización efectiva de la Investigación de
Operaciones en la práctica. La Investigación de Operaciones en la Ingeniería
de Sistemas se emplea principalmente en los aspectos de coordinación de
operaciones y actividades de la organización o sistema que se analice,
mediante el empleo de modelos que describan las interacciones entre los
componentes del sistema y de éste con este con su medio ambiente. En la
Investigación de Operaciones la parte de "Investigación" se refiere a que aquí
se usa un enfoque similar a la manera en la que se lleva a cabo la investigación
en los campos científicos establecidos. La parte de "Operaciones" es por que
en ella se resuelven problemas que se refieren a la conducción de operaciones
dentro de una organización
3
Tomará un tiempo considerable al equipo de Investigación de Operaciones
recabar la ayuda de otros de otros individuos clave de la organización para
recolectar todos los datos importantes. Muchas veces, el equipo de
Investigación de Operaciones pasará mucho tiempo intentando mejorar la
precisión de los datos y al final tendrá que trabajar con lo que pudo obtener.
Aplicación: La Oficina responsable del control del agua y los servicios públicos
del Gobierno de Holanda, el Rijkswaterstatt, asignó un importante estudio de
Investigación de Operaciones para guiarlo en el desarrollo de una importante
política de administración del agua. La nueva política ahorro cientos de
millones de dólares en gastos de inversión y redujo el daño agrícola en
alrededor de 15 millones de dólares anuales, al mismo tiempo que disminuyo la
contaminación térmica y debida a las algas. En lugar de formular un modelo
matemático, este estudio de Investigación de Operaciones desarrolló un
4
sistema integrado y comprensible de ¡50 modelos! Mas aún, para alguno de los
modelos, se desarrollan versiones sencillas y complejas. La versión sencilla se
usó para adquirir una visión básica incluyendo el análisis de trueques. La
versión compleja se usó después en las corridas finales del análisis o cuando
se deseaba mayor exactitud o más detalles en los resultados. El estudio
completo de Investigación de Operaciones involucró directamente a mas de
125 personas – año de esfuerzo (mas de un tercio de ellas en la recolección de
datos), creó varias docenas de programas de computación y estructuró una
enorme cantidad de datos.
5
político de gobierno de Holanda que culmino con la aprobación del Parlamento.
El análisis de sensibilidad jugó un papel importante en este estudio. Por
ejemplo, ciertos parámetros de los modelos representaron estándares
ecológicos. El análisis de sensibilidad incluyó la evaluación del impacto en los
problemas de agua si los valores de estos parámetros se cambiaran de los
estándares ecológicos a otros valores razonables. Se usó también para evaluar
el impacto de cambios en las suposiciones de los modelos, por ejemplo, la
suposición sobre el efecto de tratados internacionales futuros sobre la
contaminación que pudiera llegar. También se analizaron varios escenarios
(como años secos o húmedos extremosos), asignando las probabilidades
adecuadas.
Un enfoque mas sistemático para la prueba del modelo es emplear una prueba
retrospectiva. Cuando es apacible, esta prueba utiliza datos históricos y
reconstruye el pasado para determinar si el modelo y la solución resultante
hubieran tenido un buen desempeño, de haberse usado. Al emplear
alternativas de solución y estimar sus desempeños históricos hipotéticos, se
pueden reunir evidencias en cuanto a lo bien que el modelo predice los efectos
relativos de los diferentes cursos de acción.
6
Preparación para la aplicación del modelo.
Este sistema casi siempre esta diseñado para computadora. De hecho, con
frecuencia se necesita un número considerable de programas integrados. La
base de datos y los sistemas de información administrativos pueden
proporcionar entrada actualizada para el modelo cada vez que se use, en cuyo
caso se necesitan programas de interfaz (de interacción con el usuario).
Después de aplicar un procedimiento de solución (otro programa) al modelo,
puede ser que los programas adicionales maneje la implantación de los
resultados de manera automática. En otros casos se instala un sistema
interactivo de computadora llamado sistema de soporte de decisiones, para
ayudar a la gerencia a usar datos y modelos para apoyar (no para sustituir) su
toma de decisiones cuando lo necesiten. Otro programa puede generar
informes gerenciales (en el lenguaje administrativo) que interpretan la salida del
modelo y sus implicaciones en la práctica.
Implantación.
7
la experiencia inicial con la acción tomada para identificar cualquier
modificación que tenga que hacerse en el futuro.
8
Es un enfoque científico de la toma de decisión. Podemos decir que la IO
utiliza un enfoque planeado (método científico) y un grupo interdisciplinario
para representar, mediante modelos simbólicos, las relaciones funcionales que
se dan en la realidad, lo cual suministra una base cuantitativa para la toma de
decisiones. Algo que es tan general como la definición que acabamos de dar
pero que da mucha claridad sobre lo que hace la Investigación de Operaciones
es que, cuando se aplica alguna herramienta de la IO, se busca obtener el
óptimo resultado del uso de los recursos escasos.
9
Plantear como un problema de programación lineal. 3. Un agricultor posee una
parcela de 640 m2 para dedicarla al cultivo de árboles frutales: naranjos,
perales y manzanos. Se pregunta de que forma repartiría la superficie de la
parcela entre las variedades para conseguir el máximo beneficio sabiendo que:
Cada naranjo precisa como mínimo de 16 m2, cada peral 4 m2 y cada
manzano 8 m2. Dispone de un total de 900 horas de trabajo al año precisando
cada naranjo 30 horas al año, cada peral 5 y cada manzano 10. Los beneficios
unitarios son de 50, 25 y 20 unidades monetarias por cada naranjo, peral y
manzano, respectivamente. Plantear como un problema de programación
lineal. 4. Un importador de Whisky dispone de un mercado ilimitado, pero la
reglamentación mensual de aduanas sobre importación supone las siguientes
restricciones para tres tipos de whisky (W1,W2 y W3):
Con estos tres tipos de whisky realiza tres mezclas diferentes cuyas características
vienen detalladas en la tabla siguiente:
10
.
II EL METODO SIMPLEX
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 polígono (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. El método del simplex se basa en la siguiente propiedad:
si la función objetivo, f, no toma su valor máximo en el vértice A, entonces hay
una arista que parte de A, a lo largo de la cual f aumenta. del simplex fue
creado en 1947 por el matemático George Dantzig. El método del simplex se
utiliza, sobre todo, para resolver problemas de programación lineal en los que
intervienen tres o más variables. El álgebra matricial y el proceso de
eliminación de Gauss-Jordan para resolver un sistema de ecuaciones lineales
constituyen la base del método simplex.
Solución Gráfica
2x+y<800
x+y<480
x>0, y>0
(7)
11
como solución factible. El conjunto S se conoce como conjunto factible. El
objetivo es encontrar – entre todos los puntos del conjunto S- el punto o los
puntos que optimicen la función objetivo P. Tal solución factible es una
solución óptima y constituyen la solución del problema de programación lineal
en cuestión.
Está claro que a cada punto del segmento de recta dado por la
intersección de la línea recta L1 y el conjunto factible S corresponde el valor
dado 6000 de P. Al repetir el proceso, pero ahora asignando a P el valor de
12.000, se obtiene la ecuación 40x+ 30y =12.000 y la recta L2 lo cual sugiere
que existen puntos factibles que corresponden a un valor mayor de P.
Obsérvese que la recta L2 es paralela a L1, pues ambas tienen una pendiente
igual a –4/3. Esto se comprueba con facilidad escribiendo las ecuaciones en
explícita de la recta.
12
factible S. La recta requerida es aquella que pasa por el punto P(320,160) (Fig.
6), de modo que la solución de este problema está dado por x=320, y=160 ( es
decir que el granjero López deberá sembrar 320 hectáreas de maíz y 160
hectáreas de trigo), lo que produce el valor máximo
P=40(320)+30(160)=17.600.
Teorema 1 Si en problema de programación lineal tiene una solución, entonces ésta deb
esquina, del conjunto factible S asociado con el problema. Además, si la func
dos vértices adyacente de S, entonces se optimiza en todos los puntos del se
estos vértices, en cuyo caso existe una infinidad de soluciones al problema
En nuestro ejemplo los únicos vértice del conjunto factible S son los puntos
coordenados: (0,0); (400,0); (320,160); (0,480), llamados también puntos
esquinas (Fig. 6).
13
mínimo en S.
2. Si S no está acotado y tanto a como b son no negativos,
entonces P tiene un valor mínimo en S, si las restricciones que
definen a S incluyen las desigualdades x ³ 0 e y ³ 0.
3. Si S es el conjunto vacío, entonces el problema de
programación lineal no tiene solución; es decir, P no tiene un
valor máximo ni uno mínimo
Requerimientos
Marca A Marca B
mínimos
Hierro 40 mg 10 mg 2400 mg
Vitamina B-1 10 mg 15 mg 2100 mg
14
Vitamina B-2 5 mg 15 mg 1500 mg
Costo por píldora
0,06 0,08
(US$)
C = 6x+ 8y
40x+10y>2400
10x+15y>2100
5x+15y>1500
40x+10y>2400
10x+15y>2100
5x+15y>1500
x>0, y>0
El conjunto factible S definido por el sistema de restricciones aparece en la
figura. Los vértices del conjunto factible S son A(0,240); B(30,120); C(120; 60)
y D(300,0).
15
Vertice C=6x + 8y
A (0,240) 1920
B(30,120) 1140
C(120,60) 1200
D(300,0) 1800
16
(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. (Véase método Gráfico)
17
Ventajas: No deberemos preocuparnos por los criterios de parada, o
condición de salida de filas, ya que se mantienen.
Como todo nuestro modelo, está basado en que todas sus variables
sean mayores o iguales que cero, cuando hagamos la primera iteración
con el método Simplex, las variables básicas no estarán en la base y
18
tomarán valor cero, y el resto el valor que tengan. En este caso nuestra
variable xs, tras hacer cero a x1 y x2, tomará el valor -b1. No cumpliría la
condición de no negatividad, por lo que habrá que añadir una nueva
variable, xr, que aparecerá con coeficiente cero en la función objetivo, y
sumando en la inecuación de la restricción correspondiente. Quedaría
entonces de la siguiente manera:
Del mismo modo, si la inecuación tiene una desigualdad del tipo "≤",
deberemos añadir una nueva variable, llamada variable de holgura s i,
con la restricción si "≥" 0 . La nueva variable aparece con coeficiente
cero en la función objetivo, y sumando en las inecuaciones.
A modo resumen podemos dejar esta tabla, según la desigualdad que aparezca, y
con el valor que deben estar las nuevas variables.
≥ - exceso + artificial
= + artificial
≤ + holgura
http://www.phpsimplex.com/pages/teoria.htm
Z= f(x,y)= 3x +
Maximizar
2y
sujeto a: 2x + y 18
2x + 3y 42
3x + y 24
x 0,y 0
19
1. Convertir las desigualdades en igualdades
Se introduce una variable de holgura por cada una de las restricciones, para
convertirlas en igualdades, resultando el sistema de ecuaciones lineales:
2x + y + h = 18
2x + 3y + s =
42
3x +y + d = 24
- 3x - 2y + Z = 0
En las columnas aparecerán todas las variables del problema y, en las filas, los
coeficientes de las igualdades obtenidas, una fila para cada restricción y la
última fila con los coeficientes de la función objetivo:
Tabla I . Iteración nº 1
Base Variable de decisión Variable de holgura Valores solución
x y h s d
h 2 1 1 0 0 18
s 2 3 0 1 0 42
d 3 1 0 0 1 24
Z -3 -2 0 0 0 0
20
B. Para encontrar la variable de holgura que tiene que salir de la base, se
divide cada término de la última columna (valores solución) por el
término correspondiente de la columna pivote, siempre que estos últimos
sean mayores que cero. En nuestro caso:
18/2 [=9] , 42/2 [=21] y 24/3 [=8]
Si al calcular los cocientes, dos o más son iguales, indica que cualquiera
de las variables correspondientes pueden salir de la base.
Veámoslo con un ejemplo una vez calculada la fila del pivote (fila de x en la
Tabla II):
Vieja fila de s 2 3 0 1 0 42
- - - - - -
Coeficiente 2 2 2 2 2 2
x x x x x x
21
Nueva fila pivote 1 1/3 0 0 1/3 8
= = = = = =
Nueva fila de s 0 7/3 0 1 -2/3 26
Tabla II . Iteración nº 2
Base Variable de decisión Variable de holgura Valores solución
x y h s d
h 0 1/3 1 0 -2/3 2
s 0 7/3 0 1 -2/3 26
x 1 1/3 0 0 1/3 8
Z 0 -1 0 0 1 24
Como en los elementos de la última fila hay uno negativo, -1, significa que no
hemos llegado todavía a la solución óptima. Hay que repetir el proceso:
Como en los elementos de la última fila hay uno negativo, -1, significa que no
hemos llegado todavía a la solución óptima. Hay que repetir el proceso:
22
A. La variable que entra en la base es d, por ser la variable que
corresponde al coeficiente -1
B. Para calcular la variable que sale, dividimos los términos de la última
columna entre los términos correspondientes de la nueva columna
pivote: 6/(-2) [=-3] , 12/4 [=3], y 6:1 [=6]
y como el menor cociente positivo es 3, tenemos que la variable de
holgura que sale es s.
C. El elemento pivote, que ahora hay que hacer 1, es 4.
Obtenemos la tabla:
Los solución óptima viene dada por el valor de Z en la columna de los valores
solución, en nuestro caso: 33. En la misma columna se puede observar el
vértice donde se alcanza, observando las filas correspondientes a las variables
de decisión que han entrado en la base: D(3,12)
Éste método difiere del Simplex en que primero hay que resolver un
problema auxiliar que trata de minimizar la suma de las variables
artificiales. Una vez resuelto este primer problema y reorganizar la tabla
final, pasamos a la segunda fase, que consiste en realizar el método
Simplex normal.
FASE 1
23
función objetivo, por lo tanto aparecerán todos los términos a cero
excepto aquellos que sean variables artificiales, que tendrán valor "-1"
debido a que se está minimizando la suma de dichas variables (recuerde
que minimizar F es igual que maximizar F·(-1)).
Tabla
C0 C1 C2 ... Cn-k ... Cn
Base Cb P0 P1 P2 ... Pn-k ... Pn
Pi1 Ci1 bi1 a11 a12 ... a1n-k ... a1n
Pi2 Ci2 bi2 a21 a22 ... a2n-k ... a2n
... ... ... ... ... ... ... ... ...
Pim Cim bim am1 am2 ... amn-k ... amn
Z Z0 Z1 Z2 ... Z2 ... Zn
24
y el valor óptimo que toma la función que están en la base mirando la
columna P0. En el caso de que estemos minimizando, se multiplicará por
"-1" el valor óptimo.
¿Pivote puede ser 0?: No, ya que siempre se realizan los cocientes
entre valores no negativos y mayores que cero.
25
2.5 EL METODO SIMPLEX REVISADO.
Veremos que no es necesario tener toda la tabla del Simplex en cada iteración. Alcanza con
conocer el inverso de la base y los multiplicadores del Simplex para la base actual.
Desde luego, también necesitamos los datos originales del problema.
- La columna actualizada para la variable que entra a la base. Esta columna se calcula como
.
Entonces, lo único que debemos actualizar entre dos iteraciones es y (que es, en
realidad, ).
B N 0 b I
1 0 0
que es la tabla del simplex salvo por el último grupo de columnas.
26
Realizando las mismas operaciones sobre esta tabla, que sobre la tabla del método Simplex,
obtenemos:
I 0
0 1
Notamos lo siguiente:
Si no, determinar de
sale de la base.
27
4. Actualizar , , y de acuerdo a la nueva base, pivoteando sobre el
elemento en la mini tabla del Simplex Revisado.
5. Poner , volver a 2.
28
CASO DE SOLUCIÓN INFACTIBLE
CASO DE NO SOLUCIÓN
La falta de explicación de un modelo puede señalar solo una cosa, que este se
encuentra mal construido. Evidentemente resulta irracional hacer que un
modelo produzca una ganancia infinita. Las irregularidades más probables en
este modelo son:
29
III TEORIA DE LA DUALIDAD Y ANALISIS DE SENSIBILIDAD.
sujeto a;
30
1. Si el primal es un problema de maximización su dual será un problema
de minimización y viceversa.
2. Los coeficientes de la función objetivo del problema primal se convierten
en los coeficientes del vector de la disponibilidad en el problema dual.
3. Los coeficientes del vector de disponibilidad del problema original se
convierten en los coeficientes de la función objetivo (vector de costo o
precio) en el problema dual.
4. Los coeficientes de las restricciones en el problema primal, será la
matriz de los coeficientes tecnológicos en el dual.
5. Los signos de desigualdad del problema dual son contrarios a los del
primal.
6. Cada restricción en un problema corresponde a una variable en el otro
problema. Si el primal tiene m restricciones y n variables, el dual tendrá
n restricciones y m variables. Así, las variables Xn del primal se
convierte en nuevas variables Ym en el dual.
MAX Z= CX MIN Z= BY
Sujeto a: Sujeto a:
AX b AY C
X0 Y0
Ejemplo.
Sujeto a:
X1 + X2 + X3 200
Xj 0
Sujeto a:
Y1 + 9Y2 + 10Y3 45
31
Y1 + 8Y2 + 7Y3 17
Y1 + 10Y2 + 21Y3 55
Yj 0
Sujeto a:
1X1 + 2X2 12
4X1 - 2X2 3
6X1 - 1X2 = 10
X1,2 0
-4x1 + 2x2 -3
6X1 – 1X2 10
6X1 – 1X2 10
6X1 – 1X2 10
Sujeto a:
32
1X1 + 2X2 12
-4X1 + 2X2 - 3
6X1 – 1X2 10
X1,2 0
Sujeto a:
Y1–4Y2 + 6Y3’–6Y3’’ -2 Y’3 y Y’’3 ambas se refieren a la tercera
restricción
33
34
35
3.3. INTERPRETACION ECONOMICA DEL DUAL
36
ujeto a: unidades del m recurso i-ésimo Valor nitario
Ganancia asignada j = 1,…, n Suma utlizados por * del recurso
= a cada unidad de i =1 unidad de la i-ésimo
la actividad j-ésima actividad j-ésima
Valor unitario i - 1, …, m * del recurso >= 0 i- ésimo
La asignación de probabilidades a los eventos es una tarea difícil que muchos gerentes
pueden mostrarse difícil a hacer, por lo menos con cierto grado de exactitud. En algunos
casos prefieren decir “creo que la probabilidad de que este evento ocurra está entre 0.5 y
0.7”. Bajo estas circunstancias, como en cualquier aspecto de decisión gerencial, es útil
realizar un análisis de sensibilidad para determinar cómo afecta a la decisión la
asignación de probabilidades.
Efecto neto.- Es la ganancia o pérdida por unidad adicional de una variable que entra a
la base. El efecto neto de una variable básica siempre será cero.
f j = efecto neto
Base Xo X1 X2 X3 X4 X5 X6
X7 Sol.
Xo 1 0 0 7/3 5 2/3 0
5/6 3,333.33
X2 0 0 1 -13/5 -12/15 1/15 0
-1/6 400/3
X6 0 0 0 -1/3 -3/2 -1/6 1
-5/6 500/3
X1 0 1 0 29/15 19/10 -1/30 0
1/3 400/3
37
Cambios en los coeficientes de la función objetivo.
a) Cj’ <=Cj + I fi j I
C3’ <= 4 + I -7/3I <= 19/3
38
C4’ <=2 + I -5I <= 7
C5’ <= 0 + I -2/3I <= 2/3
C7’ <= 0 + I -5/6I = 5/6
b) Dado C3’ = 5 = 15/3 satisface el límite máximo de 19/3, por lo tanto, el incremento
no modifica la solución óptima actual.
f4’ = C4’ - Z4 = 8 -7 = 1
Base Xo X1 X2 X3 X4 S1 S2
S3 Sol.
Xo 1 0 0 7/3 -1 2/3 0 5/6
3,333.33
X2 0 0 1 -13/15 -12/15 1/15 0
-1/6 400/3 ------
X6 0 0 0 -1/3 -3/2 -1/6 1
-5/6 500/3 ------
X1 0 1 0 29/15 19/10 -1/30 0
1/3 400/3 4000/57
39
Comentarios acerca de KKT
• Las condiciones de optimalidad de Karush-Kuhn-Tucker son
condiciones necesarias y s´olo garantizar´ıan optimalidad global si
se cumplen adicionalmente otras condiciones de convexidad.
Corolario 10 Sup´ongase que f(x) es una funci´on convexa y
diferenciable, y que g1(x), g2(x), ..., gm(x) tambi´en lo son en
donde todas estas funciones satisfacen las condiciones de
regularidad. Entonces ¯x = (¯x1, ..., ¯xn) es una soluci´on ´optima
si y s´olo si se satisfacen todas las condiciones del teorema. • El m
´etodo identifica puntos ´optimos locales que cumplan condiciones
de regularidad • Los gradientes de las restricciones activas en el
punto deben ser linealmente independientes.
40
41
3.5. DUAL SIMPLEX
El nuevo algoritmo fue desarrollo en 1954 por C. E. Lemke y se conoce con el nombre
de Método Dual-Simplex. A continuación se presenta su estructura y un ejemplo para
ilustrar su aplicación.
42
Al hacer lo anterior se logra que debajo de las variables básicas aparezca una matriz
identidad, que es la que el simplex siempre toma como base inicial.
Obtendremos que los términos del lado derecho de las ecuaciones multiplicadas por (-1)
quedan con signo negativo, lo cual hace que la solución inicial sea infactible.
Es importante destacar que este proceso es muy útil ya que en muchos modelos evita la
inclusión de variables artificiales en el momento de transformar un modelo a formato
estándar.
Escribir el tablero inicial tomando a las variables de holgura y de exceso como variables
básicas iniciales
43
Si la variable de entrada es Xe el elemento pivote será el elemento (Se)s
Z=
Maximizar -2X1 -2X2 -3X3
Z=
Maximizar -2X1 -2X2 -3X3
multipliquemos por (-1) en ambos lados de las ecuaciones, para formar los vectores
unitarios, requeridos para contar con una base inicial unitaria.
Z=
Maximizar -2X1 -2X2 -3X3
paso 1.
Cj -2 -2 -3 0 0 XB
44
CB X1 X2 X3 E1 E2 Solución Básicas
0 -2 -4 -2 1 0 -10 E1
0 -3 3 -9 0 1 -12 E2
Zj 0 0 0 0 0 0
Ej -2 -2 -3 0 0 0Z
Paso 2
Paso 3
Tabla 1 (maximizar)
Cj -2 -2 -3 0 0 XB
CB X1 X2 X3 E1 E2 Solución Básicas
-
0 -4/3 0 1 -2/9 -22/3 E1
14/3
-3 -1/3 -1/3 1 0 -1/9 4/3 X3
Zj -1 1 -3 0 1/3
Ej -1 -3 0 0 -1/3 -4 Z
Tabla 2
Cj -2 -2 -3 0 0 XB
CB X1 X2 X3 E1 E2 Solución Básicas
-
-2 2/7 1 0 1/21 11/7 X2
3/14
- -
-3 3/7 0 1 13/7 X3
1/14 2/21
- -
Zj 1 -3 4/21
13/7 9/14
Ej -1/7 0 0 - - -61/7 Z
45
9/14 4/21
X2* = 11/7
X3* = 13/7
Z* = - 61/7
Otro ejemplo:
Z=
Minimizar 2X1 + 2X2
Expresando el modelo en formato estándar y ajustándolo para que las variables básicas
sean las variables de holgura tenemos:
Z=
Minimizar 2X1 + 2X2
X1 +2X +IE3 = 3
Tabla 0
X1 X2 E1 E2 H3 Solución
Basicas
-3 -1 1 0 0 -3
E1
-4 -3 0 1 0 -6
E2
1 2 0 0 1 3
H3
46
2 1 0 0 0 0
Ej
Sale E2
Nota: Obsérvese que cuando el objetivo es minimizar, se toma el valor absoluto de los
cocientes.
Tabla 1
X1 X2 E1 E2 H3 Solución
Basicas
-5/3 0 1 -1/3 0 -1
E1
4/3 1 0 -1/3 0 2
E2
-5/3 0 0 2/3 1 -1
H3
2 0 0 1/3 0 2
Ej
Sale H1
Los cocientes son:
Tabla 2 (óptima)
X1 X2 E1 E2 H3 Solución
Basicas
1 0 -3/5 1/5 0 3/5
E1
0 1 4/5 -3/5 0 6/5
E2
0 0 -1 1 1 0
H3
47
0 0 2/5 1/5 0 12/5
Ej
En este caso se obtiene que para los valores óptimos de las variables de decisión, la
solución permanece óptima pero se convierte en infactible. Surge entonces la necesidad
de aplicar el algoritmo Dual-Simplex para extraer la variable básica que tiene valor
infactible. Cuando estudiemos el tema de análisis de sensibilidad analizaremos un caso
como el citado.
http://docencia.udea.edu.co/ingenieria/plineal/dualidad10.ht
m
48
3.7. CAMBIOS EN LOS Bi DE LAS RESTRICCIONES
49
clases en Java o tablas en una base de datos relacional (BDR) a partir de un
esquema conceptual (EC) definido usando un diagrama de clases en UML y
(algunos menos) de generar también la parte dinámica a partir de diagramas de
estados o lenguajes de acciones (Action Semantics, [3]). El problema es que
muchos de ellos se “olvidan” de las restricciones de integridad (RI) durante esta
generación, a pesar de que, tal y como se define en [4] las RI son una parte
fundamental de la especificación de una aplicación y por lo tanto tienen que
tenerse en cuenta durante su implementación. En este artículo se estudia el
soporte ofrecido por estos métodos para la generación automática de las RI
definidas en la especificación del EC. Como se verá, todos presentan
limitaciones en cuanto a la expresividad de las RI permitidas o respecto a la
eficiencia del código generado para su comprobación. Además, en muchos de
ellos el soporte es casi nulo. Es totalmente imposible evaluar todas las
herramientas y métodos disponibles. Se han intentado escoger los más
representativos de cada grupo (herramientas CASE, herramientas MDA,
métodos de generación automática…). Se han incluido también todas las
herramientas que permiten la definición de RI en OCL (Object Constraint
Language [5]) o similares, ya que son las únicas que pueden permitir la máxima
expresividad en la definición de RI (la mayoría de RI no se pueden expresar
simplemente de forma gráfica y necesitan de un lenguaje específico [6 ch. 2]).
La estructura de este trabajo es la siguiente: en primer lugar se definen los
criterios de la evaluación. A continuación, en la sección 3 se evalúan las
diferentes herramientas y métodos. En la sección 4 se definen una serie de
características deseables en todo método de generación de RI. Finalmente, en
la sección 5 se presentan algunas conclusiones.
50
mismo en minimización con Cj’ > Cj.
a) Cj’ <=Cj + I fi j I
C3’ <= 4 + I -7/3I <= 19/3
C4’ <=2 + I -5I <= 7
C5’ <= 0 + I -2/3I <= 2/3
C7’ <= 0 + I -5/6I = 5/6
b) Dado C3’ = 5 = 15/3 satisface el límite máximo de 19/3, por lo tanto, el incremento
no modifica la solución óptima actual.
f4’ = C4’ - Z4 = 8 -7 = 1
Base Xo X1 X2 X3 X4 S1 S2
S3 Sol.
Xo 1 0 0 7/3 -1 2/3 0 5/6
3,333.33
51
X2 0 0 1 -13/15 -12/15 1/15 0
-1/6 400/3 ------
X6 0 0 0 -1/3 -3/2 -1/6 1
-5/6 500/3 ------
X1 0 1 0 29/15 19/10 -1/30 0
1/3 400/3 4000/57
http://www.itson.mx/dii/elagarda/apagina2001/PM/dualidad.html
52
3.10. ADICION DE UNA NUEVA VARIABLE
53
nueva solución, se introduce esta restricción a la tabla simplex final (como un
renglón adicional) como si fuera la tabla inicial, en la que se designa la variable
usual (de holgura o artificial) como la variable básica que corresponde a este
nuevo renglón. Como éste tal vez tenga coeficientes distintos de cero para
algunas otras variables básicas, se debe aplicar la conversión a la forma
apropiada de eliminación de Gauss y después cl resto del procedimiento
general. Igual que para algunos de los casos anteriores, este procedimiento
para el caso de una adición de una nueva restricción es una versión
simplificada del procedimiento general resumido anteriormente. La única
pregunta que hay que hacerse en este caso es si la solución óptima anterior es
todavía factible así que la prueba de optimalidad se ha eliminado. La prueba de
factibilidad se ha reemplazado por una prueba de factibilidad mucho más
rápida (¿la solución óptima anterior satisface la nueva restricción?) que debe
realizarse justo después de la revisión del modelo. Sólo cuando la respuesta a
esta prueba es negativa y se quiere reoptimizar, se usan los siguientes pasos;
revisión de la tabla simplex final, conversión a la forma apropiada de
eliminación de Gauss, y reoptimización.
54
IV TRANSPORTE Y ASIGNACION
En este tipo de problemas se exige que toda la producción sea distribuida a los
centros de ventas en las cantidades que precisa cada uno; por tanto, no
pueden generarse inventario del producto ni en las fábricas ni en los centros de
ventas.
55
La última columna la hemos obtenido de la siguiente forma:
Como x + y + z = 800 , se tiene que z = 800 - x - y, de donde, 600 - z = 600 -
(800 - x - y) = x + y - 200.
Ahora bien, todas las cantidades anteriores deben ser mayores o iguales que
cero. Por tanto, se obtienen las siguientes desigualdades:
en A, 4200
en B, 7800
en C, 10600
en D, 10000
en E, 5000
56
a la tienda A a la tienda B a la tienda C
Envíos
(1000) (700) (600)
Desde la fábrica I
200 0 600
( 800)
Desde la fábrica II
800 700 0
(1500)
http://www.itson.mx/dii/elagarda/apagina2001/PM/dualidad.html#inicio
Recursos DIF.
3 7 6 4 5 1
2 4 3 2 2 0 0
2
4 3 8 5 3 1
10
Demanda 3 4 2 0 1 10
1
DIF. 1 1 3 2
57
Nota: Marcaremos a la mayor de las diferencias seleccionada encerrándola en un círculo y escribiéndole
como superíndice el número que le corresponda en la secuencia de selección.
Recursos DIF.
3 7 6 4 5 1
2 4 3 2 2 0 0
2
4 3 8 5 3 0 1
3
10
Demanda 3 4 1 2 0 1 10
1
DIF. 1 1 3 2
2
1 4 2 1
pero ya que solamente queda un renglón dentro de las posibilidades (ésto no significa
que solamente un renglón quede bajo consideración ya que podemos observar que
ninguna de las cuatro columnas (destinos) ha sido eliminada y todas quedan todavía
menor y el que le sigue, por lo tanto vamos tomando una a una las celdas que quedan
comenzando con la de menor costo unitario hasta que todas hayan sido asignadas.
Recursos DIF.
3 7 6 4 5 2 1 0 1
3 1 0 1
2 4 3 2 2 0 0
2
4 3 8 5 3 0 1
3
10
Demanda 3 0 4 1 0 2 0 1 0 10
1
DIF. 1 1 3 2
2
1 4 2 1
58
La solución inicial básica factible es x11=3, x12=1, x13=0 (variable básica degenerada),
x14=1, x23=2 y x32=3 y el costo total de transporte asociado a esta primera “Política de
Transporte” factible es de:
Es necesario aclarar que ésta puede o no ser la solución final del problema, es necesario
aplicar a esta primera solución factible la prueba de optimalidad ya que puede existir una mejor
“política de transporte” que minimice todavía más el costo total.
El criterio que se utiliza para seleccionar la variable que entra es el mismo que
el método de banquillo (la mayor negativa).
Ejemplo:
59
Resuelva el modelo de transporte empleando.
60
Se acostumbra:
61
Encuentre la solución óptima por el método de multiplicadores a partir de la
siguiente tabla inicial.
62
4.4 PROCEDIMIENTO DE OPTIMIZACION.
Pasos:
1. Use la solución actual para crear una trayectoria única del paso secuencial.
Use estas trayectorias para calcular el costo marginal de introducir a la solución
cada ruta no usada.
2. Si todos los costos marginales son iguales o mayores que cero, deténgase;
se tendrá la solución óptima. Si no, elija la celdilla que tenga el costo marginal
más negativo. (Los epates se resolverán arbitrariamente)
3. Usando la trayectoria del paso secuencial, determine el máximo número de
artículos que se pueden asignar a la ruta elegida en el paso 2 y ajuste la
distribución adecuadamente.
4. Regrese al paso 1.
Casos especiales
Soluciónes degeneradas.
1. Supóngase que en el problema general hay m origenes y n destinos. En el
ejemplo actual m = 3 , n = 4. Si una solución factible usa menos de m + n - 1
rutas el problema se llama degenerado. Se tiene que hacer ajustes para usar el
metodo de multiplicadores.
63
2. Cualquier renglón o columna que tenga un signo + debe tener también un
signo - y viceversa.
La sucesión de pasos que tenga esta propiedades se llama trayectoria.
cual todas las ofertas y todas las demandas son iguales a uno. Se puede resolver
columna.
reducidos. Si se requieren m líneas para cubrir todos los ceros, siga con el
paso 3.
matriz de costos reducidos, que no esta cubiertos por las líneas dibujadas en
64
Un problema de asignación es un problema de transporte balanceado en el que
todas las ofertas y demandas son iguales a 1; así se caracteriza por el conocimiento
Como todas las ofertas y demandas para el problema de asignación son números
enteros, todas las variables en la solución óptima deben ser valores enteros.
asignación.
para que funcione eficientemente en las regiones uno y dos, y para que
65
funcione bastante bien en las regiones tres y cuatro. El mismo camión no
promedio en las regiones tres y cuatro, y altos en la región cinco. Se tiene esa
los tipos B, C y D.
EL METODO HUNGARO
Paso 2: (En algunos pocos textos este paso se atribuye a Flood). Consiste en
trazar el número mínimo de líneas (horizontales o verticales o ambas
únicamente de esas maneras) que se requieren para cubrir todos los ceros en
la matriz de costos reducidos; si se necesitan m líneas para cubrir todos los
ceros, se tiene una solución óptima entre los ceros cubiertos de la matriz. Si se
requieren menos de m líneas para cubrir todos los ceros, se debe continuar con
el paso 3. El número de líneas para cubrir los ceros es igual a la cantidad de
asignaciones que hasta ese momento se pueden realizar.
66
Notas:
67
V PROGRAMACION ENTERA
http://www-2.dc.uba.ar/materias/ocom/
68
5.2 DEFINICION Y MODELOS DE PROGRAMACION
ENTERA
69
70
71
72
5.3 METODO DE RAMIFICACION Y ACOTAR
Optimización combinatorial
Soluci´on ingenua: hacer una lista completa de todas las soluciones factibles
y evaluar la función objetivo para cada una, eligiendo al final la solución cual
dio el mejor valor. La complejidad de ese tipo de solución es por lo menos
(|F|) donde F es el conjunto de soluciones factibles. El número de soluciones
factibles suele ser algo como (2n), por lo cual el algoritmo ingenuo tiene
complejidad asintótica exponencial.
73
Ramificar-acotar– p. 3/20
Max w=3y1+2y2-5y3-2y4+3y5
Sujeta a:
y1 + y2 + y3 + 2y4 - y5 " 4
y1,y2,y3,y4,y5 = (0_1)
El problema se puede poner en la forma inicial requerida por el algoritmo aditivo, utilizando las siguientes operaciones:
Añada las variables s1,s2 y s3 para convertir las tres restricciones en ecuaciones.
Sustituya y1=1-x1 , y2=1-x2 , y5=1-x5 , y3=x3 , y y4=x4 para producir todos los coeficientes objetivo positivos.
Min z'=3x1+2x2+5y3-2x4+3x5-8
Para mayor facilidad, ignoremos la constante -8 y reemplazaremos z' +8 con z, de manera que el problema convertido
resultante se lee como:
Min z=3x1+2x2+5y3-2x4+3x5
x1,x2,x3,x4,x5 = (0_1)
Solución básica
X1 X2 X3 X4 X5 S1 S2 S3 Solución
factible
S1 -1 -1 1 2 -1 1 0 0 1
S1 -7 0 3 -4 -3 0 1 0 -2
74
S1 11 -6 0 -3 -3 0 0 1 -1
Coeficientes
3 2 5 2 3
objetivo
Dada una solución binaria inicial toda cero, la solución de holgura asociada es:
Si todas las variables fueran no negativas, concluiríamos que la solución binaria toda cero es óptima. Sin embargo,
debido a que algunas de las variables son no factibles (negativas), necesitamos elevar una o más variables binarias al
nivel 1 para lograr la factibilidad (o concluimos que el problema no tiene una solución factible).
La elevación de una (o de algunas) de las variables binarias cero al nivel 1 ocurre en el algoritmo aditivo una a la vez.
La variable elegida se llama variable de ramificación y su selección se basa en el empleo de pruebas especiales.
La variable de ramificación debe tener el potencial de reducir la no factibilidad de las holguras. Si venos la tabla anterior
x3 no se puede seleccionar como una variable de ramificación, debido a que sus coeficientes de restricción en la
segunda y tercera restricciones son no negativos. Por tanto, la determinación de x3=1 solo puede empeorar la no
factibilidad de s2 y s3. A la inversa, cada una de las variables restantes tiene por lo menos un coeficiente de restricción
negativo en las restricciones 2 y 3, de allí que una combinación de estas variables puede producir holguras factibles. Por
consiguiente, podemos excluir a x3 ya a considerar x2, x3, x4 y x5 como las únicas candidatas posibles para la variable
de ramificación.
La selección de la variable de ramificación entre las candidatas x2, x3, x4 y x5 se basa en el empleo de la medida de no
factibilidad de holgura. Esta medida, que se basa en la suposición de que una variable cero xj se elevará al nivel 1, se
define como
De hecho, Ij no es más que la suma de las variables negativas resultantes de elevar xj al nivel 1. La fórmula,
aparentemente complicada, se puede simplificar a:
s3= -1-11= -12. Así I1= -12. De manera similar I2=-2, I4=-1 y I5=0 (recordando que x3 se excluyó como no
prometedora). Debido a que I5 produce la medida más pequeña de no factibilidad, se selecciona x5 como la variable de
ramificación. Fa figura 9-10 muestra las dos variables asociadas con x5=1 y x5=0 y la creación de nodos 1 y 2. el nodo
1 produce los valores de holguras factibles (s1 ,s2 ,s3 )= (2,1,2) y z=3. por tanto, se sondea el nodo 1 y z=3 se define
como la cota superior actual sobre el óptimo valor objetivo.
Después de sondear el nodo 1, avanzamos al nodo, para lo cual x5=0. Aquí tenemos:
Que no es factible. Las variables x1,x2,x3 y x4 son las candidatas para la variable de ramificación. (Observe que aun
cuando las soluciones en el nodo 0 u el nodo 2 son idénticas, el nodo 2 difiere en que x5 ya no es candidata para la
ramificación. Para las variables restantes, x2 y x4, calculamos las medidas de factibilidad como:
I2 = -2 , I4 = -1
75
Por consiguiente, x4 es la variable de ramificación en el nodo 2. La figura 9-11 muestra las ramificaciones x4 = 1 y x4 =
0, que conducen a los nodos 3 y 4. en el nodo 3 (definido al determinar x5 = 0 y x4 = 1), obtendremos:
Ésta solución aún no es aún factible. Las candidatas para la ramificación son x1,x2 y x3. Sin embargo la elevación
cualquiera de éstas variables al nivel 1 empeorará el valor de z en relación a la cota superior actual z=3. Por
consiguiente, todas las variables candidato se excluyen y el nodo 3 se sondea.
Las variables x5 y x3, se excluyen por medio de la prueba de la cota superior. (Observe que también se puede excluir
debido a que no reduce la factibilidad de la holgura). La variable faltante x2 no puede ser excluida por la cota superior
o por la promesa de factibilidad. Por tanto x2 es la variable de ramificación.
La figura 9-12 muestra la adición de los nodos 5 y 6 que emanan el nodo 4. en el nodo 5 tenemos:
Y x1 y x3 como las candidatas a la ramificación. La variable x1 se excluye por medio de la prueba de la cota superior y
x3 se excluye por medio de las pruebas tanto de la factibilidad de la holgura como de la cota superior. Esto significa
que el nodo 5 se sondea. El nodo 6 también es sondeado debido a que ni x1 ni x3 pueden producir una mejor solución
factible.
Ahora que se han sondeado todos los “pendientes” en la anterior figura y termina el algoritmo de R y A la solución
óptima está asociada con el nodo 1, es decir, x5 = 1, z = 3 y todas las demás variables son cero. En términos de las
variables originales, la solución es y1= y2=1 y y3= y4= y5= 0 con w=5.
La figura anterior muestra que, mientras más pequeño es el número de ramificaciones conducentes a un nodo
sondeado, más eficiente es el algoritmo. Por ejemplo, el nodo 1 se define fijando una ramificación (x5=1) y su sondeo
implica automáticamente de 25-1 = 16 soluciones binarias (todas aquellas que tienen x5=1). A la inversa, el nodo 3 se
define fijando dos variables binarias y su sondeo implícitamente implica de 25-1=8 soluciones binarias únicamente
76
5.4 METODO DE PLANOS CORTANTES
77
78
79
5.5 ALGORITMO ADITIVO DE BALAS
80
81
Algoritmo de Balas
82
http://www.investigacion-operaciones.com/Curso_Inv_Oper.htm
83