SlideShare una empresa de Scribd logo
1 de 14
Algoritmos especiales
Introducción
Sabemos que para que un ordenador pueda llevar adelante una tarea cualquiera, se tiene
que contar con un algoritmo que le indique, a través de un programa, que es lo que debe hacer
con la mayor precisión posible. Consecuencia de lo anterior es la importancia del estudio de los
algoritmos.
Concepto de Algoritmo
Un algoritmo es un conjunto ordenado y finito de pasos o instrucciones que permite
realizar una actividad mediante pasos sucesivos sin generar dudas a quien deba realizar dicha
actividad, conduciendo a la solución de un problema determinado. De esta manera, dados un
estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene
una solución. En la vida cotidiana, frecuentemente se emplean algoritmos para resolver
problemas.
Algoritmos especiales
Son diseñados para problemas de programación lineal, son problemas enunciados con
ecuaciones lineales y con una función objetivo, y una o más funciones restricciones, para lograr la
optimización de la función objetivo que se analiza. Algunos de ellos son : Gran M, Flujo mínimo,
Algoritmo Fraccional, Método Dual Simplex, entre otros.
Aplicación
Son empleados principalmente en problemas de flujo de redes y problemas de flujo de
mercancías. Son muy usados en la microeconomía y la administración de empresas, ya sea para
aumentar al máximo los ingresos o reducir al mínimo los costos de un sistema de producción.
El método simplex
El método más conocido y habitual para resolver problemas de P.L. es el método del Simplex
debido a Dantzig en 1947, este método es un procedimiento de cálculo algebraico para resolver
modelos lineales de cualquier tamaño, es iterativo porque consiste en ir mejorando la solución a
cada paso. Este concluye cuando no se puede seguir mejorando la solución.
El algoritmo Simplex requiere que el modelo lineal, para ser solucionado, cumpla las condiciones
de forma estándar y sistema canónico.
La Forma Estándar incluye:
a) Una función objetivo a optimizar
b) Lado derecho de las restricciones con valor positivo.
c) Variables de decisión no negativas.
d) Las restricciones deben ser expresadas como igualdades.
Empezando en el valor de la función objetivo en algún vértice, el método trata de buscar
continuamente otro vértice que mejore al anterior. La búsqueda se a través de lo realiza por los
lados del polígono (o aristas del poliedro, si el número de variables es mayor). El número de
vértices (y de aristas) es finito, por tanto siempre encontraremos la solución.
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.
En una granja agrícola se desea criar conejos y pollos como complemento en su economía, de
forma que no se superen en conjunto las 180 horas mensuales destinadas a esta actividad. Su
almacén sólo puede albergar un máximo de 1000 kilogramos de pienso. Si se supone que un
conejo necesita 20 kilogramos de pienso al mes y un pollo 10 kilogramos, que las horas mensuales
de cuidados requeridos por un conejo son 3 y por un pollo son 2 y que los beneficios que
reportaría su venta ascienden a 500 y 300 pesetas por cabeza respectivamente, hallar el número
de animales que deben criarse para que el beneficio sea máximo.
Definimos las variables:
X1=número de conejos
X2=número de conejos
La función a maximizar, beneficio obtenido, será:
f(x1,x2)=500X1 + 300X2
Las restricciones lineales del problema se formulan como:
20X1 + 10X2 <= 1000
3X1+2X2 <= 180
Finalmente, tenemos las restricciones de no negatividad de las variabes:
X1, X2 => 0
El planteamiento del problema queda, por tanto:
max f(X1, X2) = 500X1 + 300X2
s.a.: 20x1 + 10X2 <= 1000
3X1 + 2X2 <=180
X1, X2 => 0
El siguiente paso consiste en pasar a la forma estándar, esto es, introducir variables de holgura en
las dos restricciones verdaderas:
max f(X1, X2) = 500X1 + 300X2
s.a.: 20x1 + 10X2 + X3H<= 1000
3X1 + 2X2 + X4H <=180
X1, X2, X3H, X4H => 0
X1 X2 X3H X4H
X1 50 1 ½ ½ 0
X4H 30 0 ½ -3/2 1
0 50 -250 0
La solución factible básica inicial es:
X1 = X2 = 0, X3H = 100, X4H = 180
Así obtendremos inicialmente:
Continuando con las iteraciones:
Obtenemos, por tanto, la solución óptima, cuyo valor es:
X1 = 20 conejos, X2 = 60 pollos, Z = 2800 pesetas
Algoritmo del método de la Gran M
También llamado método de la penalización. Este método comienza con la forma
estándar, es decir, en forma de ecuación. Consiste en modificar el problema original para dar
lugar a un nuevo problema añadiendo variables llamadas artificiales, y que se penalizaran
mediante un costo “M” de valores grandes positivos, y esto permite que la función objetivo tome
valores muy grandes. “M” significa un coeficiente muy grande o mucho.
Debemos llevar a cabo lo siguiente:
Pasar a la forma estándar el modelo matemático.
Agregar variables artificiales en las ecuaciones que no tienen variables de holgura.
Se deben penalizar las variables artificiales en la función objetivo asignándoles
coeficientes positivos muy grandes. Sea M un número muy grande (en los modelos de
minimización la penalización para todas las variables se suma y en los de maximización se
resta)
Con la solución inicial artificial se aplica el método simplex, generando las tablas
necesarias para llegar a una solución.
NOTA:
Las variables de holgura quedan con coeficiente cero en la función objetivo y las variables
artificiales con coeficientes M. Positiva si es minimizando o negativa si se maximiza.
En la primera iteración, debemos seguir la siguiente regla para escoger las variables que estarán
en la base:
1. Si hay variables de decisión y de holgura, se toma la de holgura.
2. Si se encuentran variables de holgura, artificiales y decisión se toma la artificial.
3. Si tenemos variables artificiales y de decisión toma la artificial.
Para definir el pivote:
Determinar la variable que entra:
¿Cuál es el valor más negativo de Cj-Zj? M representa un número finito, muy, muy grande, por
tanto esta variable debe entrar a remplazar a otra variable en la base.
Determinar la variable que entra:
Hacemos un cociente entre la disponibilidad y la columna de la variable que entra.
Iteración Gauss – Jordan
Luego que se ha encontrado que variable sale y la que entra, ya tenemos la celda pivote, y ahora
necesitamos hacer la eliminación Gaussiana, es decir:
 Convertir la celda pivote en 1, dividiendo toda la fila por ella misma.
 Convertir todas las celdas por encima y por debajo de la celda pivote en cero.
Esta nueva fila que hemos calculado sirve para convertir las demás celdas por la columna del
pivote en cero. Para ello hacemos operaciones entre filas y columnas, de la siguiente manera:
Multiplicamos la fila que tenía el pivote por el opuesto de cada número que deseamos eliminar y
se lo sumamos a la fila que queremos convertir.
Prueba de optimidad
Se debe hacer cada vez que se evalúa si hay una variable que debe entrar a la base. Si hay una
variable que mejoraría la solución (esto lo vemos en la fila Cj-Zj), si al calcular esta fila aún
hayvalores negativos y estamos minimizando, entonces es posible mejorar la solución. Si hay
valores positivos en la fila Cj-Zj y estamos maximizando, aún no hemos llegado al óptimo.
Ejemplo:
Una compañía fabrica y vende cinco productos. Se da la siguiente tabla:
A B C D E
Costo por unidad 50 80 300 25 10
Precio de venta 70 90 350 50 12
Se busca maximizar las utilidades totales, con las siguientes restricciones:
Hay que producir un mínimo de 20 unidades del producto A y 10 del producto B, no se dispone de
suficientes materiales para una producción total mayor que 75 unidades; el número de unidades
fabricados de los productos C y E deben ser iguales.
Formulación del problema:
Función objetivo:
Max Z = (70-50)X1 + (90-80)X2 + (350-300)X3 + (50-25)X4 + (12-10)X5
Max Z = 20X1 + 10X2 + 50X3 + 25X4 + 2X5
Sujeto a:
X1 >= 20
X2 >=10
X1 + X2 + X3 +X4 + X5 <= 75
X3 + X5 =0
(X1 + X2 + X3 +X4 + X5) => 0
Estandarización:
Z = 20X1 + 10X2 + 50X3 + 25X4 + 2X5 – MX7 –MX9 –Mx11
Z - 20X1 - 10X2 - 50X3 - 25X4 - 2X5 – MX7 –MX9 -Mx11 = 0
X1 – X6 + X7 = 20
X2 –X8 + X9 = 10
X1 + X2 + X3 + X4 + X5 + X10 = 75
X3 – X5 + X11 = 0
Vb X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 bi
Z -20 -10 -50- -25 -2 0 M 0 M 0 M 0
X7 1 0 0 0 0 -1 1 0 0 0 0 20
X9 0 1 0 0 0 0 0 -1 1 0 0 10
X10 1 1 1 1 1 0 0 0 0 1 0 75
X11 0 0 1 0 -1 0 0 0 0 0 1 0
Vb X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 bi
Z -20-M -10-M -50-M -25 -2+M 0 M 0 M 0 M -30M
X7 1 0 0 0 0 -1 1 0 0 0 0 20
X9 0 1 0 0 0 0 0 -1 1 0 0 10
X10 1 1 1 1 1 0 0 0 0 1 0 75
X11 0 0 1 0 -1 0 0 0 0 0 1 0
Vb X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 bi
Z -20-M -10-M 0 -25 -52 M 0 M 0 0 50+M -30M
X7 1 0 0 0 0 -1 0 0 0 0 0 20
X9 0 1 0 0 0 0 -1 -1 1 0 0 10
X10 1 1 1 1 2 0 0 0 0 1 -1 75
X3 0 0 1 0 -1 0 0 0 0 0 1 0
Vb X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 bi
Z 0 0 0 -25 -52 -20 20+M -10 -10+M 0 50+M 500
X1 1 0 0 0 0 -1 1 0 0 0 0 20
X2 0 1 0 0 0 0 0 -1 1 0 0 10
X10 0 0 0 1 2 1 -1 1 -1 1 -1 45
X3 0 0 1 0 1 0 0 0 0 0 1 0
Vb X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 bi
Z 0 0 0 1 0 6 -6+M 16 -16+M 26 24+M 1670
X1 1 0 0 0 0 -1 1 0 0 0 0 20
X2 0 1 0 0 0 0 0 -1 1 0 0 10
X5 0 0 0 1/2 1 ½ -1/2 ½ -1/2 ½ -1/2 45/2
X3 0 0 1 1/2 0 1/2 -1/2 1/2 -1/2 ½ 1/2 45/2
Solución óptima:
Z = 1670
A = X1 = 20
B = X2 = 10
C = X3 = 45/2
E = X5= 45/2
Para una unidad máxima de 1670 se deben producir 20 unidades del producto A, 10 del B
y aproximadamente 23 del producto C y E, no deben producirse unidades del producto D.
Algoritmo Húngaro
El algoritmo Húngaro es un algoritmo de optimización el cual resuelve problemas de
asignación en tiempo. La primera versión conocida del método Húngaro, fue inventado y
publicado por Harold Kuhn en 1955. Este fue revisado por James Munkres en 1957, y ha sido
conocido desde entonces como el algoritmo Húngaro, o el algoritmo de la asignación de Munkres,
o el algoritmo de Kuhn-Munkres.
El método Húngaro es aplicado con más frecuencia en las áreas de producción de las
empresas, para ver cuál de las maquinas en operación puede presentar problemas o algún fallo
que afecta a la producción.
Los problemas de asignación incluyen aplicaciones tales como asignar personas a tareas. Aunque
sus aplicaciones parecen diferir de las del problema del transporte, constituye un caso particular.
Los problemas de transporte y asignación son casos particulares de un grupo más grande de
problemas, llamados problemas de flujo en redes.
Suposiciones de un problema de asignación:
1. El número de asignados es igual al número de tareas (se denota por n). (estopuede variar).
2. Cada asignado se asigna exactamente a una tarea.
3. Cada tarea debe realizarla exactamente un asignado.
4. Existe un costo cij asociado con el asignado i (i=1,2,…,n).
5. El objetivo es determinar cómo deben hacerse las asignaciones para minimizar los costos
totales.
Pasos para resolver un problema:
1. A todos los elementos de cada columna restar el menor elemento de la columna. En la matriz
resultante, restar a todos los elementos de cada fila el menor elemento de la fila. Así se garantiza
la obtención de por lo menos un cero en cada fila y columna.
2. Con la matriz resultante, verificar la existencia de una solución óptima. Para encontrarla se debe
asignar un cero a cada fila (comenzando por las que tengan menor Nº de ceros), y cancelar los
demás ceros de esa fila y los ceros de la columna en la que se encuentra ese cero. Repetir esta
operación hasta que no queden ceros sin asignar o cancelar. Si no existe solución óptima ir al paso
3.
3. Realizar lo siguiente:
a) Marcar con un * todas la filas que no contengan ceros asignados.
b) Marcar todas las columnas que contengan uno o más ceros cancelados en alguna fila marcada.
c) Marcar toda fila que tenga un cero asignado en una columna marcada.
d) Repetir b) y c) hasta que no sea posible marcar más filas o columnas.
e) Poner un trazo (línea) sobre toda fila no marcada y sobre todacolumna marcada.
4. Tomar el menor número no atravesado por un trazo (línea) y:
• Restarlo a todos los elementos de las filas no atravesadas.
• Sumarlo a todos los elementos de columnas atravesadas.
Volver al paso 2.
Ejemplo:
La compañía de manufactura "Jiménez y Asociados" desea realizar una jornada de mantenimiento
preventivo a sus tres máquinas principales A, B y C. El tiempo que demanda realizar el
mantenimiento de cada máquina es de 1 día, sin embargo la jornada de mantenimiento no puede
durar más de un día, teniendo en cuenta que la compañía cuenta con tres proveedores de
servicios de mantenimiento debe de asignarse un equipo de mantenimiento a cada máquina para
poder cumplir con la realización del mantenimiento preventivo. Teniendo en cuenta que según el
grado de especialización el costo de la tarea varía para cada máquina en particular, debe de
asignarse el equipo correcto a la máquina indicada con el objetivo de minimizar el costo total de la
jornada. Los costos asociados se pueden observar en la siguiente tabla:
Máquina 1 Máquina 2 Máquina 3
Equipo de mantenimiento 1 10 9 5
Equipo de mantenimiento 2 9 8 3
Equipo de mantenimiento 3 6 4 7
Paso 1: Encontramos el menor elemento de cada columna y restarlo de la columna respectiva.
- En la columna de la Máquina 1, el menor elemento es 6, en la columna de la Máquina 2, es 4, en
la columna de la Máquina 3, es 3.
Máquina 1 Máquina 2 Máquina 3
Equipo de mantenimiento 1 4 5 2
Equipo de mantenimiento 2 3 4 0
Equipo de mantenimiento 3 0 0 4
Encontramos el menor elemento de cada fila en la matriz resultante y restarlo de la fila respectiva.
- En la fila 1, el menor elemento es 2, en la fila 2, el menor elemento es 0, en la fila 3, el menor
elemento es 0.
Máquina 1 Máquina 2 Máquina 3
Equipo de mantenimiento 1 2 3 0
Equipo de mantenimiento 2 3 4 0
Equipo de mantenimiento 3 0 0 4
Paso 2:
Hacemos las asignaciones iniciando por la fila que tenga menos ceros y tachando los ceros de la
fila y columna donde hicimos la asignación.
Máquina 1 Máquina 2 Máquina 3
Equipo de mantenimiento 1 2 3 0
Equipo de mantenimiento 2 3 4 0
Equipo de mantenimiento 3 0 0 4
Se puede ver que solo hicimos dos asignaciones, pero debimos haber hecho tres, por lo que no
logramos la solución óptima y pasamos al paso 3.
Máquina 1 Máquina 2 Máquina 3*
Equipo de mantenimiento 1* 2 3 0
Equipo de mantenimiento 2* 3 4 0
Equipo de mantenimiento 3 0 0 4
Marcamos con * las filas 1 y 2 y la columna 3. De acuerdo al algoritmo de Húngaro.
Paso 4: El menor elemento de los no atravesados en la matriz es: 2
- Se lo restamos a todos los elementos de las filas no atravesadas.
- Se lo sumamos a todos los elementos de las columnas atravesadas.
Máquina 1 Máquina 2 Máquina 3 *
Equipo de mantenimiento 1 * 0 1 0
Equipo de mantenimiento 2 * 1 2 0
Equipo de mantenimiento 3 0 0 5
Hacemos nuevamente las asignaciones empezando por las filas que tengan menos ceros
Máquina 1 Máquina 2 Máquina 3 *
Equipo de mantenimiento 1 * 0 1 0
Equipo de mantenimiento 2 * 1 2 0
Equipo de mantenimiento 3 0 0 5
El orden en que asignamos es el siguiente:
- Primero asignamos el equipo 2 a la Máquina 3 y tachamos el cero que hay en la columna de la
Máquina 3.
- Segundo asignamos el Equipo 1 a la Máquina 1 y tachamos el cero que hay en la columna de la
Máquina 1.
- Tercero asignamos el Equipo 3 a la Máquina 1.
La asignación que representa el menor costo para la jornada de mantenimiento indica que el
Equipo 1 realice el mantenimiento de la Máquina 1, el Equipo 2 realice el mantenimiento de la
Máquina 3 y el Equipo 3 realice el mantenimiento de la Máquina 2, jornada que tendrá un costo
total de 17 unidades monetarias.
Método Simplex de 2 Fases
Esta estrategia algorítmica se aplica cuando luego de llevar un modelo de programación
lineal a su forma estándar no se dispone de una solución básica factible inicial.
Este es otra variante del simplex que se aplica para resolver modelos que requieren una
matriz unitaria de base artificial para poder iniciar el algoritmo. El nombre indica que consiste de
dos fases:
Fase 1: Consideramos un problema auxiliar que resulta de agregar tantas variables auxiliares a
las restricciones del problema, de modo de obtener una solución básica factible. Luego se debe
resolver utilizando el Método Simplex un nuevo problema que considera como función objetivo la
suma de las variables auxiliares. Si el valor óptimo alcanzado al finalizar la Fase 1 es cero ir a la
Fase 2. En caso contrario, no existe solución factible.
Fase 2: Resolver a través del Método Simplex el problema original a partir de la solución básica
factible inicial hallada en la Fase1.
Ejemplo:
Considerando el siguiente modelo:
Max 2X1 – 3X2
Sujeto a:
-X1 + X2 >= 10
X1 >= 0, X2 >= 0
FASE 1: Al agregar S1 como variable de exceso en la restricción 1 resulta evidente que no se
dispone de una solución básica factible inicial, por tanto utilizaremos una variable auxiliar "y"
que incluiremos en el lado izquierdo de la restricción y que servirá como variable básica inicial.
Esto define el problema inicial de la Fase 1 junto a su tabla.
Minimizar y
Sujeto a:
-X1 + X2 – S1 + Y = 10
X1, X2, S1, Y >= 0
X1 X2 S1 Y
-1 1 -1 1 10
1 -1 1 0 -10
Luego la variable X2 entra a la base (costo reducido negativo) y claramente "y" deja la base. Se
actualiza la tabla utilizando el método simplex:
X1 X2 S1 Y
Con esta tabla finaliza la Fase 1. Notar que el valor de la función objetivo al finalizar la Fase 1 es
cero, por tanto podemos continuar la Fase 2.
FASE 2: Se elimina la columna asociada a la variable artificial "y" y se actualiza el vector de
costos reducidos considerando la función objetivo original. De esta forma se obtiene la tabla
inicial de la Fase 2.
Dado que X2 es variable básica al finalizar la Fase 1 buscamos dejar esta misma variable como
básica al iniciar la Fase 2. Para ello multiplicamos por -3 la fila 1 y luego la sumamos a la fila 2.
En este sencillo ejemplo se llega inmediatamente a la tabla final de la Fase 2, con solución
óptima X1=0 y X2=10. El valor óptimo V(P)=-30.
-1 1 -1 1 10
1 0 0 1 0
X1 X2 S1 Rec
-1 1 -1 10
-2 3 0 0
X1 X2 S1 Rec
-1 1 -1 10
1 3 0 30
Algoritmos especiales

Más contenido relacionado

La actualidad más candente

5.4 aplicación de modelos de inventarios determinísticos
5.4 aplicación de modelos de inventarios determinísticos5.4 aplicación de modelos de inventarios determinísticos
5.4 aplicación de modelos de inventarios determinísticosJack Rivera Castillo
 
“PROGRAMACIÓN LINEAL: COMO HERRAMIENTA PARA LA TOMA DE DECISIONES”
“PROGRAMACIÓN LINEAL: COMO HERRAMIENTA PARA LA TOMA DE DECISIONES”“PROGRAMACIÓN LINEAL: COMO HERRAMIENTA PARA LA TOMA DE DECISIONES”
“PROGRAMACIÓN LINEAL: COMO HERRAMIENTA PARA LA TOMA DE DECISIONES”vanessa sobvio
 
Investigacion de Operaciones-Coste mínimo
Investigacion de Operaciones-Coste mínimoInvestigacion de Operaciones-Coste mínimo
Investigacion de Operaciones-Coste mínimoMari Cruz
 
Método de los multiplicadores
Método de los multiplicadoresMétodo de los multiplicadores
Método de los multiplicadoressamantharisa
 
Trabajo, Modelos de Transporte y Optimización de Redes
Trabajo, Modelos de Transporte y Optimización de RedesTrabajo, Modelos de Transporte y Optimización de Redes
Trabajo, Modelos de Transporte y Optimización de RedesRonald Alexander Medina Pinto
 
Modelos De Programacion Entera
Modelos De Programacion EnteraModelos De Programacion Entera
Modelos De Programacion EnteraCris Tenorio
 
Localizacion de Localizacion de Multiples Instalaciones Metodos Cualitativos
Localizacion de Localizacion de Multiples Instalaciones Metodos CualitativosLocalizacion de Localizacion de Multiples Instalaciones Metodos Cualitativos
Localizacion de Localizacion de Multiples Instalaciones Metodos CualitativosNaLex Dc
 
La aplicacion de la metodologia de sist duros
La aplicacion de la metodologia de sist durosLa aplicacion de la metodologia de sist duros
La aplicacion de la metodologia de sist durosTeacher
 
Modelos de programacion lineal
Modelos de programacion linealModelos de programacion lineal
Modelos de programacion linealManrique Cordero
 
MÉTODO DE TRANSPORTE
MÉTODO DE TRANSPORTEMÉTODO DE TRANSPORTE
MÉTODO DE TRANSPORTERubí Parra
 
2.5 Almacenes, áreas de material no conforme su localización.pptx
2.5 Almacenes, áreas de material no conforme su localización.pptx2.5 Almacenes, áreas de material no conforme su localización.pptx
2.5 Almacenes, áreas de material no conforme su localización.pptxyulissaaguirre2
 

La actualidad más candente (20)

5.4 aplicación de modelos de inventarios determinísticos
5.4 aplicación de modelos de inventarios determinísticos5.4 aplicación de modelos de inventarios determinísticos
5.4 aplicación de modelos de inventarios determinísticos
 
Metodo cuantitativo de PDI
Metodo cuantitativo de PDIMetodo cuantitativo de PDI
Metodo cuantitativo de PDI
 
3.1 sistemas de tiempos predeterminados
3.1 sistemas de tiempos predeterminados3.1 sistemas de tiempos predeterminados
3.1 sistemas de tiempos predeterminados
 
Optimizacion de redes
Optimizacion de redesOptimizacion de redes
Optimizacion de redes
 
“PROGRAMACIÓN LINEAL: COMO HERRAMIENTA PARA LA TOMA DE DECISIONES”
“PROGRAMACIÓN LINEAL: COMO HERRAMIENTA PARA LA TOMA DE DECISIONES”“PROGRAMACIÓN LINEAL: COMO HERRAMIENTA PARA LA TOMA DE DECISIONES”
“PROGRAMACIÓN LINEAL: COMO HERRAMIENTA PARA LA TOMA DE DECISIONES”
 
Investigacion de Operaciones-Coste mínimo
Investigacion de Operaciones-Coste mínimoInvestigacion de Operaciones-Coste mínimo
Investigacion de Operaciones-Coste mínimo
 
Método de los multiplicadores
Método de los multiplicadoresMétodo de los multiplicadores
Método de los multiplicadores
 
Unidad 1. Programación entera
Unidad 1. Programación enteraUnidad 1. Programación entera
Unidad 1. Programación entera
 
Trabajo, Modelos de Transporte y Optimización de Redes
Trabajo, Modelos de Transporte y Optimización de RedesTrabajo, Modelos de Transporte y Optimización de Redes
Trabajo, Modelos de Transporte y Optimización de Redes
 
Modelos De Programacion Entera
Modelos De Programacion EnteraModelos De Programacion Entera
Modelos De Programacion Entera
 
programacion lineal
 programacion lineal programacion lineal
programacion lineal
 
Localizacion de Localizacion de Multiples Instalaciones Metodos Cualitativos
Localizacion de Localizacion de Multiples Instalaciones Metodos CualitativosLocalizacion de Localizacion de Multiples Instalaciones Metodos Cualitativos
Localizacion de Localizacion de Multiples Instalaciones Metodos Cualitativos
 
Unidad 4 estrategias de mercadotecnia
Unidad 4 estrategias de mercadotecniaUnidad 4 estrategias de mercadotecnia
Unidad 4 estrategias de mercadotecnia
 
La aplicacion de la metodologia de sist duros
La aplicacion de la metodologia de sist durosLa aplicacion de la metodologia de sist duros
La aplicacion de la metodologia de sist duros
 
Modelos de programacion lineal
Modelos de programacion linealModelos de programacion lineal
Modelos de programacion lineal
 
Unidad i. mtm2
Unidad i. mtm2Unidad i. mtm2
Unidad i. mtm2
 
MÉTODO DE TRANSPORTE
MÉTODO DE TRANSPORTEMÉTODO DE TRANSPORTE
MÉTODO DE TRANSPORTE
 
Programación no lineal
Programación no linealProgramación no lineal
Programación no lineal
 
Unidad3 metodo simplex
Unidad3 metodo simplexUnidad3 metodo simplex
Unidad3 metodo simplex
 
2.5 Almacenes, áreas de material no conforme su localización.pptx
2.5 Almacenes, áreas de material no conforme su localización.pptx2.5 Almacenes, áreas de material no conforme su localización.pptx
2.5 Almacenes, áreas de material no conforme su localización.pptx
 

Destacado

Unidad 3 algoritmos especiales de programacion lineal
Unidad 3 algoritmos especiales de programacion linealUnidad 3 algoritmos especiales de programacion lineal
Unidad 3 algoritmos especiales de programacion linealAngel Ramos Aparicio
 
Fayol y sus areas funcioales
Fayol y sus areas funcioalesFayol y sus areas funcioales
Fayol y sus areas funcioalesAlexander Ovalle
 
Conceptos Básicos de la Estadística
Conceptos Básicos de la EstadísticaConceptos Básicos de la Estadística
Conceptos Básicos de la Estadísticahectorquintero
 
Estadística: Conceptos básicos
Estadística: Conceptos básicosEstadística: Conceptos básicos
Estadística: Conceptos básicosYris Bettiana
 
Como Presentar Un Informe Escrito
Como Presentar Un Informe EscritoComo Presentar Un Informe Escrito
Como Presentar Un Informe EscritoCRBeL
 
Analisis Interno Y Externo
Analisis Interno Y ExternoAnalisis Interno Y Externo
Analisis Interno Y ExternoRoxanahv
 

Destacado (10)

Unidad 3 algoritmos especiales de programacion lineal
Unidad 3 algoritmos especiales de programacion linealUnidad 3 algoritmos especiales de programacion lineal
Unidad 3 algoritmos especiales de programacion lineal
 
Datos externos
Datos externosDatos externos
Datos externos
 
Metodo De Transporte & Transbordo
Metodo De Transporte & TransbordoMetodo De Transporte & Transbordo
Metodo De Transporte & Transbordo
 
Fayol y sus areas funcioales
Fayol y sus areas funcioalesFayol y sus areas funcioales
Fayol y sus areas funcioales
 
Estadistica general
Estadistica generalEstadistica general
Estadistica general
 
MÉTODO DE TRANSPORTE
MÉTODO DE TRANSPORTEMÉTODO DE TRANSPORTE
MÉTODO DE TRANSPORTE
 
Conceptos Básicos de la Estadística
Conceptos Básicos de la EstadísticaConceptos Básicos de la Estadística
Conceptos Básicos de la Estadística
 
Estadística: Conceptos básicos
Estadística: Conceptos básicosEstadística: Conceptos básicos
Estadística: Conceptos básicos
 
Como Presentar Un Informe Escrito
Como Presentar Un Informe EscritoComo Presentar Un Informe Escrito
Como Presentar Un Informe Escrito
 
Analisis Interno Y Externo
Analisis Interno Y ExternoAnalisis Interno Y Externo
Analisis Interno Y Externo
 

Similar a Algoritmos especiales

Clase Nº5 Programacion Lineal
Clase Nº5 Programacion LinealClase Nº5 Programacion Lineal
Clase Nº5 Programacion Linealjotape74
 
Programacion lineal 2
Programacion lineal 2Programacion lineal 2
Programacion lineal 2Vilma Bravo
 
Programaci n lineal_m_todo_gr_fico
Programaci n lineal_m_todo_gr_ficoProgramaci n lineal_m_todo_gr_fico
Programaci n lineal_m_todo_gr_ficoWillam Alexito
 
Programacion lineal
Programacion linealProgramacion lineal
Programacion linealramirezjr
 
Programacion Lineal
Programacion LinealProgramacion Lineal
Programacion Linealdomingcm2014
 
V4 interpretación del informe de sensibilidad de solver volumen 4
V4 interpretación del informe de sensibilidad de solver volumen 4V4 interpretación del informe de sensibilidad de solver volumen 4
V4 interpretación del informe de sensibilidad de solver volumen 4Carlosjmolestina
 
Presentacion programacion lineal ivo
Presentacion programacion lineal ivoPresentacion programacion lineal ivo
Presentacion programacion lineal ivoJosPerdign
 
Investigación de Operaciones 2/2
Investigación de Operaciones 2/2Investigación de Operaciones 2/2
Investigación de Operaciones 2/2CEMEX
 
Porogramación lineal
Porogramación linealPorogramación lineal
Porogramación linealMaría Rea
 
MÉTODO SIMPLEX
MÉTODO SIMPLEXMÉTODO SIMPLEX
MÉTODO SIMPLEXliizrocks
 

Similar a Algoritmos especiales (20)

Sesión 04 2015 II
Sesión 04 2015 IISesión 04 2015 II
Sesión 04 2015 II
 
Clase Nº5 Programacion Lineal
Clase Nº5 Programacion LinealClase Nº5 Programacion Lineal
Clase Nº5 Programacion Lineal
 
Programacion lineal 2
Programacion lineal 2Programacion lineal 2
Programacion lineal 2
 
Programaci n lineal_m_todo_gr_fico
Programaci n lineal_m_todo_gr_ficoProgramaci n lineal_m_todo_gr_fico
Programaci n lineal_m_todo_gr_fico
 
Programacion lineal
Programacion linealProgramacion lineal
Programacion lineal
 
Programacion lineal
Programacion linealProgramacion lineal
Programacion lineal
 
Programacion lineal
Programacion linealProgramacion lineal
Programacion lineal
 
Programacion Lineal
Programacion LinealProgramacion Lineal
Programacion Lineal
 
Trabajo final programación lineal
Trabajo final programación linealTrabajo final programación lineal
Trabajo final programación lineal
 
Programacion lineal 2014
Programacion lineal 2014Programacion lineal 2014
Programacion lineal 2014
 
Programacion lineal 2
Programacion lineal 2Programacion lineal 2
Programacion lineal 2
 
Ejercio resuelto
Ejercio resueltoEjercio resuelto
Ejercio resuelto
 
V4 interpretación del informe de sensibilidad de solver volumen 4
V4 interpretación del informe de sensibilidad de solver volumen 4V4 interpretación del informe de sensibilidad de solver volumen 4
V4 interpretación del informe de sensibilidad de solver volumen 4
 
Analisis de sensibilidad
Analisis de sensibilidadAnalisis de sensibilidad
Analisis de sensibilidad
 
Presentacion programacion lineal ivo
Presentacion programacion lineal ivoPresentacion programacion lineal ivo
Presentacion programacion lineal ivo
 
Pl solucion grafica
Pl solucion graficaPl solucion grafica
Pl solucion grafica
 
Investigación de Operaciones 2/2
Investigación de Operaciones 2/2Investigación de Operaciones 2/2
Investigación de Operaciones 2/2
 
Porogramación lineal
Porogramación linealPorogramación lineal
Porogramación lineal
 
Metodo simplex
Metodo simplexMetodo simplex
Metodo simplex
 
MÉTODO SIMPLEX
MÉTODO SIMPLEXMÉTODO SIMPLEX
MÉTODO SIMPLEX
 

Algoritmos especiales

  • 1. Algoritmos especiales Introducción Sabemos que para que un ordenador pueda llevar adelante una tarea cualquiera, se tiene que contar con un algoritmo que le indique, a través de un programa, que es lo que debe hacer con la mayor precisión posible. Consecuencia de lo anterior es la importancia del estudio de los algoritmos. Concepto de Algoritmo Un algoritmo es un conjunto ordenado y finito de pasos o instrucciones que permite realizar una actividad mediante pasos sucesivos sin generar dudas a quien deba realizar dicha actividad, conduciendo a la solución de un problema determinado. De esta manera, dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución. En la vida cotidiana, frecuentemente se emplean algoritmos para resolver problemas. Algoritmos especiales Son diseñados para problemas de programación lineal, son problemas enunciados con ecuaciones lineales y con una función objetivo, y una o más funciones restricciones, para lograr la optimización de la función objetivo que se analiza. Algunos de ellos son : Gran M, Flujo mínimo, Algoritmo Fraccional, Método Dual Simplex, entre otros. Aplicación Son empleados principalmente en problemas de flujo de redes y problemas de flujo de mercancías. Son muy usados en la microeconomía y la administración de empresas, ya sea para aumentar al máximo los ingresos o reducir al mínimo los costos de un sistema de producción. El método simplex El método más conocido y habitual para resolver problemas de P.L. es el método del Simplex debido a Dantzig en 1947, este método es un procedimiento de cálculo algebraico para resolver modelos lineales de cualquier tamaño, es iterativo porque consiste en ir mejorando la solución a cada paso. Este concluye cuando no se puede seguir mejorando la solución. El algoritmo Simplex requiere que el modelo lineal, para ser solucionado, cumpla las condiciones de forma estándar y sistema canónico. La Forma Estándar incluye: a) Una función objetivo a optimizar
  • 2. b) Lado derecho de las restricciones con valor positivo. c) Variables de decisión no negativas. d) Las restricciones deben ser expresadas como igualdades. Empezando en el valor de la función objetivo en algún vértice, el método trata de buscar continuamente otro vértice que mejore al anterior. La búsqueda se a través de lo realiza por los lados del polígono (o aristas del poliedro, si el número de variables es mayor). El número de vértices (y de aristas) es finito, por tanto siempre encontraremos la solución. 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. En una granja agrícola se desea criar conejos y pollos como complemento en su economía, de forma que no se superen en conjunto las 180 horas mensuales destinadas a esta actividad. Su almacén sólo puede albergar un máximo de 1000 kilogramos de pienso. Si se supone que un conejo necesita 20 kilogramos de pienso al mes y un pollo 10 kilogramos, que las horas mensuales de cuidados requeridos por un conejo son 3 y por un pollo son 2 y que los beneficios que reportaría su venta ascienden a 500 y 300 pesetas por cabeza respectivamente, hallar el número de animales que deben criarse para que el beneficio sea máximo. Definimos las variables: X1=número de conejos X2=número de conejos La función a maximizar, beneficio obtenido, será: f(x1,x2)=500X1 + 300X2 Las restricciones lineales del problema se formulan como: 20X1 + 10X2 <= 1000 3X1+2X2 <= 180 Finalmente, tenemos las restricciones de no negatividad de las variabes: X1, X2 => 0 El planteamiento del problema queda, por tanto: max f(X1, X2) = 500X1 + 300X2
  • 3. s.a.: 20x1 + 10X2 <= 1000 3X1 + 2X2 <=180 X1, X2 => 0 El siguiente paso consiste en pasar a la forma estándar, esto es, introducir variables de holgura en las dos restricciones verdaderas: max f(X1, X2) = 500X1 + 300X2 s.a.: 20x1 + 10X2 + X3H<= 1000 3X1 + 2X2 + X4H <=180 X1, X2, X3H, X4H => 0 X1 X2 X3H X4H X1 50 1 ½ ½ 0 X4H 30 0 ½ -3/2 1 0 50 -250 0 La solución factible básica inicial es: X1 = X2 = 0, X3H = 100, X4H = 180 Así obtendremos inicialmente: Continuando con las iteraciones:
  • 4. Obtenemos, por tanto, la solución óptima, cuyo valor es: X1 = 20 conejos, X2 = 60 pollos, Z = 2800 pesetas Algoritmo del método de la Gran M También llamado método de la penalización. Este método comienza con la forma estándar, es decir, en forma de ecuación. Consiste en modificar el problema original para dar lugar a un nuevo problema añadiendo variables llamadas artificiales, y que se penalizaran mediante un costo “M” de valores grandes positivos, y esto permite que la función objetivo tome valores muy grandes. “M” significa un coeficiente muy grande o mucho. Debemos llevar a cabo lo siguiente: Pasar a la forma estándar el modelo matemático. Agregar variables artificiales en las ecuaciones que no tienen variables de holgura. Se deben penalizar las variables artificiales en la función objetivo asignándoles coeficientes positivos muy grandes. Sea M un número muy grande (en los modelos de minimización la penalización para todas las variables se suma y en los de maximización se resta) Con la solución inicial artificial se aplica el método simplex, generando las tablas necesarias para llegar a una solución.
  • 5. NOTA: Las variables de holgura quedan con coeficiente cero en la función objetivo y las variables artificiales con coeficientes M. Positiva si es minimizando o negativa si se maximiza. En la primera iteración, debemos seguir la siguiente regla para escoger las variables que estarán en la base: 1. Si hay variables de decisión y de holgura, se toma la de holgura. 2. Si se encuentran variables de holgura, artificiales y decisión se toma la artificial. 3. Si tenemos variables artificiales y de decisión toma la artificial. Para definir el pivote: Determinar la variable que entra: ¿Cuál es el valor más negativo de Cj-Zj? M representa un número finito, muy, muy grande, por tanto esta variable debe entrar a remplazar a otra variable en la base. Determinar la variable que entra: Hacemos un cociente entre la disponibilidad y la columna de la variable que entra. Iteración Gauss – Jordan Luego que se ha encontrado que variable sale y la que entra, ya tenemos la celda pivote, y ahora necesitamos hacer la eliminación Gaussiana, es decir:  Convertir la celda pivote en 1, dividiendo toda la fila por ella misma.  Convertir todas las celdas por encima y por debajo de la celda pivote en cero. Esta nueva fila que hemos calculado sirve para convertir las demás celdas por la columna del pivote en cero. Para ello hacemos operaciones entre filas y columnas, de la siguiente manera: Multiplicamos la fila que tenía el pivote por el opuesto de cada número que deseamos eliminar y se lo sumamos a la fila que queremos convertir. Prueba de optimidad Se debe hacer cada vez que se evalúa si hay una variable que debe entrar a la base. Si hay una variable que mejoraría la solución (esto lo vemos en la fila Cj-Zj), si al calcular esta fila aún hayvalores negativos y estamos minimizando, entonces es posible mejorar la solución. Si hay valores positivos en la fila Cj-Zj y estamos maximizando, aún no hemos llegado al óptimo. Ejemplo: Una compañía fabrica y vende cinco productos. Se da la siguiente tabla: A B C D E Costo por unidad 50 80 300 25 10 Precio de venta 70 90 350 50 12 Se busca maximizar las utilidades totales, con las siguientes restricciones:
  • 6. Hay que producir un mínimo de 20 unidades del producto A y 10 del producto B, no se dispone de suficientes materiales para una producción total mayor que 75 unidades; el número de unidades fabricados de los productos C y E deben ser iguales. Formulación del problema: Función objetivo: Max Z = (70-50)X1 + (90-80)X2 + (350-300)X3 + (50-25)X4 + (12-10)X5 Max Z = 20X1 + 10X2 + 50X3 + 25X4 + 2X5 Sujeto a: X1 >= 20 X2 >=10 X1 + X2 + X3 +X4 + X5 <= 75 X3 + X5 =0 (X1 + X2 + X3 +X4 + X5) => 0 Estandarización: Z = 20X1 + 10X2 + 50X3 + 25X4 + 2X5 – MX7 –MX9 –Mx11 Z - 20X1 - 10X2 - 50X3 - 25X4 - 2X5 – MX7 –MX9 -Mx11 = 0 X1 – X6 + X7 = 20 X2 –X8 + X9 = 10 X1 + X2 + X3 + X4 + X5 + X10 = 75 X3 – X5 + X11 = 0 Vb X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 bi Z -20 -10 -50- -25 -2 0 M 0 M 0 M 0 X7 1 0 0 0 0 -1 1 0 0 0 0 20 X9 0 1 0 0 0 0 0 -1 1 0 0 10 X10 1 1 1 1 1 0 0 0 0 1 0 75 X11 0 0 1 0 -1 0 0 0 0 0 1 0 Vb X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 bi Z -20-M -10-M -50-M -25 -2+M 0 M 0 M 0 M -30M X7 1 0 0 0 0 -1 1 0 0 0 0 20 X9 0 1 0 0 0 0 0 -1 1 0 0 10 X10 1 1 1 1 1 0 0 0 0 1 0 75 X11 0 0 1 0 -1 0 0 0 0 0 1 0 Vb X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 bi Z -20-M -10-M 0 -25 -52 M 0 M 0 0 50+M -30M X7 1 0 0 0 0 -1 0 0 0 0 0 20 X9 0 1 0 0 0 0 -1 -1 1 0 0 10 X10 1 1 1 1 2 0 0 0 0 1 -1 75
  • 7. X3 0 0 1 0 -1 0 0 0 0 0 1 0 Vb X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 bi Z 0 0 0 -25 -52 -20 20+M -10 -10+M 0 50+M 500 X1 1 0 0 0 0 -1 1 0 0 0 0 20 X2 0 1 0 0 0 0 0 -1 1 0 0 10 X10 0 0 0 1 2 1 -1 1 -1 1 -1 45 X3 0 0 1 0 1 0 0 0 0 0 1 0 Vb X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 bi Z 0 0 0 1 0 6 -6+M 16 -16+M 26 24+M 1670 X1 1 0 0 0 0 -1 1 0 0 0 0 20 X2 0 1 0 0 0 0 0 -1 1 0 0 10 X5 0 0 0 1/2 1 ½ -1/2 ½ -1/2 ½ -1/2 45/2 X3 0 0 1 1/2 0 1/2 -1/2 1/2 -1/2 ½ 1/2 45/2 Solución óptima: Z = 1670 A = X1 = 20 B = X2 = 10 C = X3 = 45/2 E = X5= 45/2 Para una unidad máxima de 1670 se deben producir 20 unidades del producto A, 10 del B y aproximadamente 23 del producto C y E, no deben producirse unidades del producto D. Algoritmo Húngaro El algoritmo Húngaro es un algoritmo de optimización el cual resuelve problemas de asignación en tiempo. La primera versión conocida del método Húngaro, fue inventado y publicado por Harold Kuhn en 1955. Este fue revisado por James Munkres en 1957, y ha sido conocido desde entonces como el algoritmo Húngaro, o el algoritmo de la asignación de Munkres, o el algoritmo de Kuhn-Munkres.
  • 8. El método Húngaro es aplicado con más frecuencia en las áreas de producción de las empresas, para ver cuál de las maquinas en operación puede presentar problemas o algún fallo que afecta a la producción. Los problemas de asignación incluyen aplicaciones tales como asignar personas a tareas. Aunque sus aplicaciones parecen diferir de las del problema del transporte, constituye un caso particular. Los problemas de transporte y asignación son casos particulares de un grupo más grande de problemas, llamados problemas de flujo en redes. Suposiciones de un problema de asignación: 1. El número de asignados es igual al número de tareas (se denota por n). (estopuede variar). 2. Cada asignado se asigna exactamente a una tarea. 3. Cada tarea debe realizarla exactamente un asignado. 4. Existe un costo cij asociado con el asignado i (i=1,2,…,n). 5. El objetivo es determinar cómo deben hacerse las asignaciones para minimizar los costos totales. Pasos para resolver un problema: 1. A todos los elementos de cada columna restar el menor elemento de la columna. En la matriz resultante, restar a todos los elementos de cada fila el menor elemento de la fila. Así se garantiza la obtención de por lo menos un cero en cada fila y columna. 2. Con la matriz resultante, verificar la existencia de una solución óptima. Para encontrarla se debe asignar un cero a cada fila (comenzando por las que tengan menor Nº de ceros), y cancelar los demás ceros de esa fila y los ceros de la columna en la que se encuentra ese cero. Repetir esta operación hasta que no queden ceros sin asignar o cancelar. Si no existe solución óptima ir al paso 3. 3. Realizar lo siguiente: a) Marcar con un * todas la filas que no contengan ceros asignados. b) Marcar todas las columnas que contengan uno o más ceros cancelados en alguna fila marcada. c) Marcar toda fila que tenga un cero asignado en una columna marcada.
  • 9. d) Repetir b) y c) hasta que no sea posible marcar más filas o columnas. e) Poner un trazo (línea) sobre toda fila no marcada y sobre todacolumna marcada. 4. Tomar el menor número no atravesado por un trazo (línea) y: • Restarlo a todos los elementos de las filas no atravesadas. • Sumarlo a todos los elementos de columnas atravesadas. Volver al paso 2. Ejemplo: La compañía de manufactura "Jiménez y Asociados" desea realizar una jornada de mantenimiento preventivo a sus tres máquinas principales A, B y C. El tiempo que demanda realizar el mantenimiento de cada máquina es de 1 día, sin embargo la jornada de mantenimiento no puede durar más de un día, teniendo en cuenta que la compañía cuenta con tres proveedores de servicios de mantenimiento debe de asignarse un equipo de mantenimiento a cada máquina para poder cumplir con la realización del mantenimiento preventivo. Teniendo en cuenta que según el grado de especialización el costo de la tarea varía para cada máquina en particular, debe de asignarse el equipo correcto a la máquina indicada con el objetivo de minimizar el costo total de la jornada. Los costos asociados se pueden observar en la siguiente tabla: Máquina 1 Máquina 2 Máquina 3 Equipo de mantenimiento 1 10 9 5 Equipo de mantenimiento 2 9 8 3 Equipo de mantenimiento 3 6 4 7 Paso 1: Encontramos el menor elemento de cada columna y restarlo de la columna respectiva. - En la columna de la Máquina 1, el menor elemento es 6, en la columna de la Máquina 2, es 4, en la columna de la Máquina 3, es 3. Máquina 1 Máquina 2 Máquina 3 Equipo de mantenimiento 1 4 5 2
  • 10. Equipo de mantenimiento 2 3 4 0 Equipo de mantenimiento 3 0 0 4 Encontramos el menor elemento de cada fila en la matriz resultante y restarlo de la fila respectiva. - En la fila 1, el menor elemento es 2, en la fila 2, el menor elemento es 0, en la fila 3, el menor elemento es 0. Máquina 1 Máquina 2 Máquina 3 Equipo de mantenimiento 1 2 3 0 Equipo de mantenimiento 2 3 4 0 Equipo de mantenimiento 3 0 0 4 Paso 2: Hacemos las asignaciones iniciando por la fila que tenga menos ceros y tachando los ceros de la fila y columna donde hicimos la asignación. Máquina 1 Máquina 2 Máquina 3 Equipo de mantenimiento 1 2 3 0 Equipo de mantenimiento 2 3 4 0 Equipo de mantenimiento 3 0 0 4 Se puede ver que solo hicimos dos asignaciones, pero debimos haber hecho tres, por lo que no logramos la solución óptima y pasamos al paso 3. Máquina 1 Máquina 2 Máquina 3* Equipo de mantenimiento 1* 2 3 0 Equipo de mantenimiento 2* 3 4 0 Equipo de mantenimiento 3 0 0 4 Marcamos con * las filas 1 y 2 y la columna 3. De acuerdo al algoritmo de Húngaro. Paso 4: El menor elemento de los no atravesados en la matriz es: 2 - Se lo restamos a todos los elementos de las filas no atravesadas. - Se lo sumamos a todos los elementos de las columnas atravesadas.
  • 11. Máquina 1 Máquina 2 Máquina 3 * Equipo de mantenimiento 1 * 0 1 0 Equipo de mantenimiento 2 * 1 2 0 Equipo de mantenimiento 3 0 0 5 Hacemos nuevamente las asignaciones empezando por las filas que tengan menos ceros Máquina 1 Máquina 2 Máquina 3 * Equipo de mantenimiento 1 * 0 1 0 Equipo de mantenimiento 2 * 1 2 0 Equipo de mantenimiento 3 0 0 5 El orden en que asignamos es el siguiente: - Primero asignamos el equipo 2 a la Máquina 3 y tachamos el cero que hay en la columna de la Máquina 3. - Segundo asignamos el Equipo 1 a la Máquina 1 y tachamos el cero que hay en la columna de la Máquina 1. - Tercero asignamos el Equipo 3 a la Máquina 1. La asignación que representa el menor costo para la jornada de mantenimiento indica que el Equipo 1 realice el mantenimiento de la Máquina 1, el Equipo 2 realice el mantenimiento de la Máquina 3 y el Equipo 3 realice el mantenimiento de la Máquina 2, jornada que tendrá un costo total de 17 unidades monetarias. Método Simplex de 2 Fases Esta estrategia algorítmica se aplica cuando luego de llevar un modelo de programación lineal a su forma estándar no se dispone de una solución básica factible inicial. Este es otra variante del simplex que se aplica para resolver modelos que requieren una matriz unitaria de base artificial para poder iniciar el algoritmo. El nombre indica que consiste de dos fases: Fase 1: Consideramos un problema auxiliar que resulta de agregar tantas variables auxiliares a las restricciones del problema, de modo de obtener una solución básica factible. Luego se debe resolver utilizando el Método Simplex un nuevo problema que considera como función objetivo la suma de las variables auxiliares. Si el valor óptimo alcanzado al finalizar la Fase 1 es cero ir a la Fase 2. En caso contrario, no existe solución factible.
  • 12. Fase 2: Resolver a través del Método Simplex el problema original a partir de la solución básica factible inicial hallada en la Fase1. Ejemplo: Considerando el siguiente modelo: Max 2X1 – 3X2 Sujeto a: -X1 + X2 >= 10 X1 >= 0, X2 >= 0 FASE 1: Al agregar S1 como variable de exceso en la restricción 1 resulta evidente que no se dispone de una solución básica factible inicial, por tanto utilizaremos una variable auxiliar "y" que incluiremos en el lado izquierdo de la restricción y que servirá como variable básica inicial. Esto define el problema inicial de la Fase 1 junto a su tabla. Minimizar y Sujeto a: -X1 + X2 – S1 + Y = 10 X1, X2, S1, Y >= 0 X1 X2 S1 Y -1 1 -1 1 10 1 -1 1 0 -10 Luego la variable X2 entra a la base (costo reducido negativo) y claramente "y" deja la base. Se actualiza la tabla utilizando el método simplex: X1 X2 S1 Y
  • 13. Con esta tabla finaliza la Fase 1. Notar que el valor de la función objetivo al finalizar la Fase 1 es cero, por tanto podemos continuar la Fase 2. FASE 2: Se elimina la columna asociada a la variable artificial "y" y se actualiza el vector de costos reducidos considerando la función objetivo original. De esta forma se obtiene la tabla inicial de la Fase 2. Dado que X2 es variable básica al finalizar la Fase 1 buscamos dejar esta misma variable como básica al iniciar la Fase 2. Para ello multiplicamos por -3 la fila 1 y luego la sumamos a la fila 2. En este sencillo ejemplo se llega inmediatamente a la tabla final de la Fase 2, con solución óptima X1=0 y X2=10. El valor óptimo V(P)=-30. -1 1 -1 1 10 1 0 0 1 0 X1 X2 S1 Rec -1 1 -1 10 -2 3 0 0 X1 X2 S1 Rec -1 1 -1 10 1 3 0 30