You are on page 1of 23

Algoritmos

Especiales de
Programacin
Lineal

INSTITUTO TECNOLGICO DE CERRO AZUL

MATERIA:
MODELOS DE OPTIMIZACION DE RECURSOS
DOCENTE:
ING. OCTAVIANO LUNA SANCHEZ
INVESTIGACIN:
UNIDAD III. ALGORITMOS ESPECIALES DE PROGRAMACION
LINEAL
PRESENTADO POR POR:
MORALES CRUZ, JESS
ESPECIALIDAD
INGENIERA CIVIL

UNIDAD III ALGORITMOS ESPECIALES DE PROGRAMACION


LINEAL
La programacin lineal es un procedimiento o algoritmo matemtico mediante el
cual se resuelve un problema indeterminado, formulado a travs de un sistema de
inecuaciones lineales, optimizando la funcin objetivo, tambin lineal.

Consiste en optimizar (minimizar o maximizar) una funcin lineal, denominada


funcin objetivo, de tal forma que las variables de dicha funcin estn sujetas a
una serie de restricciones que expresamos mediante un sistema de inecuaciones
lineales

Algoritmos especiales
Son diseados para problemas de programacin lineal, son problemas enunciados
con ecuaciones lineales y con una funcin objetivo, y una o ms funciones
restricciones, para lograr la optimizacin de la funcin objetivo que se analiza.
Algunos de ellos son: Gran M, Flujo mnimo, Algoritmo Fraccional, Mtodo Dual
Simplex, entre otros.

Aplicacin
Son empleados principalmente en problemas de flujo de redes y problemas de
flujo de mercancas. Son muy usados en la microeconoma y la administracin de
empresas, ya sea para aumentar al mximo los ingresos o reducir al mnimo los
costos de un sistema de produccin.

3.1 El Problema de Transporte


El Problema de Transporte corresponde a un tipo particular de un problema de
programacin lineal. Si bien este tipo de problema puede ser resuelto por el
mtodo Simplex, existe un algoritmo simplicado especial para resolverlo.
Un problema particular que se resuelve con los procedimientos de la programacin
lineal es la situacin conocida como problema del transporte o problema de la
distribucin de mercancas.
Se trata de encontrar los caminos para trasladar mercanca, desde varias plantas
(orgenes) a diferentes centros de almacenamiento (destinos), de manera que se
minimice el costo del transporte.
Para que un problema pueda ser resuelto por el mtodo del transporte debe
cumplir:
1) La funcin objetivo y las restricciones deben ser lineales.
2) El total de unidades que salen en origen debe ser igual al total de unidades que
entran en destino.
Supongamos que un fabricante tiene tres plantas que producen el mismo
producto. Estas plantas a su vez mandan el producto a dos depsitos. Cada planta
puede mandar productos a todos los depsitos, pero el costo de transporte vara
con las diferentes combinaciones. El problema es determinar la cantidad que cada
planta debe mandar a cada depsito con el fin de minimizar el costo total de
transporte.
La manera ms fcil de reconocer un problema de transporte es por su naturaleza
o estructura de-hacia: de un origen hacia un destino, de una fuente hacia un
usuario, del presente hacia el futuro, de aqu hacia all, una relacin de uno a otro.
Al enfrentar este tipo de problemas, la intuicin dice que debe haber una manera
de obtener una solucin. Se conocen las fuentes y los destinos, las capacidades y
demandas y los costos de cada trayectoria. Debe haber una combinacin ptima
que minimice el costo (o maximice la ganancia). La dificultad est en el gran
nmero de combinaciones posibles , debido a eso el problema del transporte
recurre a buscar soluciones con la computara y software especializado..
El responsable de gestin del trasporte debe determinar una poltica ptima:
cmo hacer llegar los productos de sus diversos depsitos, plantas de produccin
o bodegas a sus consumidores o clientes, con el objeto de satisfacer la demanda
a un costo mnimo de transporte o de envo.

Planteamiento del problema


El problema del transporte en general se especifica mediante la siguiente
informacin:
1. Un conjunto de m puntos de oferta desde los cuales se envan utilidades o
bienes.
2. Una lista de capacidades de suministro mximo de cada sitio de oferta si para i
= 1, 2, . . ., m.
3. Un conjunto de n puntos de demanda hacia los cuales se enva una utilidad o
bien.
4. Una lista de demandas de utilidades o bienes dj de cada punto de demanda j
las cuales deben satisfacerse mnimamente.
5. Una matriz de valores que indica el costo fijo en el que se incurre al enviar una
unidad producida en el punto de oferta i y enviada al punto de demanda j, cij .

Modelo de programacin lineal del problema de transporte


Sea: X i j = Unidades enviadas del origen i ( i =1,2,...m), al destino j ( j = 1,2,...,n)
C i j = Costo unitario desde el nodo origen i hasta el nodo destino j.
ai = Oferta del origen i, ( i = 1, 2,...,m); b j = Demanda del destino j ( j = 1, 2,...,n)

El modelo de programacin
lineal aqu mostrado se
presenta para un problema
balanceado
con
las
restricciones de oferta y
demanda en igualdad. Para el
caso de un problema no
balanceado (oferta y demanda
en desigualdad) es necesario
el Equilibrio: = b j; adems, debe cumplirse que toda X i j >= 0

Tabla del problema de transporte

Determinacin de la Solucin Bsica Factible


La utilizacin del mtodo SIMPLEX no resulta eficiente para resolver el Problema
de Transporte, por lo cual se utilizan otros mtodos como:
a) Mtodo de la Esquina Nor-Oeste (N-O)
b) Mtodo de la Matriz de Costo Mnimo
c) Mtodo de Vgel

Mtodo de la esquina noroeste

Caractersticas

Sencillo y fcil de hacer.


No tiene en cuenta los costos para hacer las asignaciones.
Generalmente nos deja lejos del ptimo

Algoritmo
1. Construya una tabla de ofertas (disponibilidades) y demandas (requerimientos).
2. Empiece por la esquina noroeste.
3. Asigne lo mximo posible (Lo menor entre la oferta y la demanda,
respectivamente)
4. Actualice la oferta y la demanda y rellene con ceros el resto de casillas (Filas
Columnas) en donde la oferta la demanda halla quedado satisfecha.
5. Muvase a la derecha o hacia abajo, segn halla quedado disponibilidad para
asignar.
6. Repita los pasos del 3 al 5 sucesivamente hasta llegar a la esquina inferior
derecha en la que se elimina fila y columna al mismo tiempo.
Nota: No elimine fila y columna al mismo tiempo, a no ser que sea la ltima casilla.
El romper sta regla ocasionar una solucin en donde el nmero de variables
bsicas es menor a m+n-1, produciendo una solucin bsica factible degenerada.

Problema de ejemplo
Una compaa tiene 3 fbricas ubicadas en A, B y C, las cuales proveen a los
almacenes que estn ubicados en D, E, F y G. La capacidad de produccin de las
fbricas es de 70, 90 y 115 unidades mensuales respectivamente, mientras que
las capacidades de los almacenes son de 50, 60, 70 y 95 unidades
respectivamente. El costo de envi de una unidad desde cada una de las fbricas
a cada una de los almacenes se presenta en el siguiente cuadro (en pesos):

Se colocan los datos en forma tabular:

Por consiguiente, la solucin es:

MTODO DEL COSTO MNIMO

Caractersticas:

Es ms elaborado que el mtodo de la esquina noroeste


Tiene en cuenta los costos para hacer las asignaciones
Generalmente nos deja alejados del ptimo

Algoritmo:

1. Construya una tabla de disponibilidades, requerimientos y costos


2. Empiece en la casilla que tenga el menor costo de toda la tabla, si hay empate,
escoja arbitrariamente (Cualquiera de los empatados).
3. Asigne lo mximo posible entre la disponibilidad y el requerimiento (El menor de
los dos).
4. Rellene con ceros (0) la fila o columna satisfecha y actualice la disponibilidad y
el requerimiento, restndoles lo asignado.
Nota: Recuerde que no debe eliminar satisfacer fila y columna al mismo tiempo,
caso en que la oferta sea igual a la demanda, en tal caso recuerde usar la
(psilon).
5. Muvase a la casilla con el costo mnimo de la tabla resultante (Sin tener en
cuenta la fila o columna satisfecha). 6. Regrese a los puntos 3,4,5 sucesivamente,
hasta que todas las casillas queden asignadas.

Problema ejemplo:

El hospital Saludmuch pertenece a la Compaa de Seguros Todosalud SA. Esta


sociedad tiene un Centro de Asistencia Primaria (CAP) en 5 ciudades de una
regin (un CAP en cada ciudad). Para obtener un buen funcionamiento global del
servicio y poder planificar el nmero de visitas en funcin del personal previsto en
cada CAP y de su dimensin, Todosalud S.A. ha decidido organizar el servicio de
tal forma que todos sus asegurados tengan un CAP de referencia asignado, pero
que sea ste el ms cercano posible a su lugar de residencia. En la regin hay 5
ciudades y la compaa sabe cuntos asegurados tiene en cada uno de ellos. Los
CAP tienen una capacidad mxima de pacientes que pueden soportar. El objetivo
es asignar a los asegurados a los CAPs minimizando el coste de desplazamiento
o la distancia total.

Si no existiera el problema de capacidad de los CAPs, el modelo sera trivial, ya


que bastara asignar cada ciudad al CAP ms cercano, obtenindose el coste de
transporte ms barato. Al tener lmites en la capacidad, puede ser que no todas las
ciudades tengan asignado el centro ms cercano, ya que esto implicara una sobre
utilizacin. Entonces, puede ser que alguna ciudad, o parte de ella tenga asignada
un CAP que no es el ms cercano, en funcin de la disponibilidad o holgura del
sistema.

En su forma tabular quedara de la siguiente manera:

MTODO DE VOGEL

Caractersticas

Es ms elaborado que los anteriores, ms tcnico y dispendioso.


Tiene en cuenta los costos, las ofertas y las demandas para hacer las
asignaciones.
Generalmente nos deja cerca al ptimo.

Algoritmo

1. Construir una tabla de disponibilidades (ofertas), requerimientos (demanda) y


costos.
2. Calcular la diferencia entre el costo ms pequeo y el segundo costo ms
pequeo, para cada fila y para cada columna.
3. Escoger entre las filas y columnas, la que tenga la mayor diferencia (en caso de
empate, decida arbitrariamente).
4. Asigne lo mximo posible en la casilla con menor costo en la fila o columna
escogida en el punto 3.

5. asigne cero (0) a las otras casillas de la fila o columna donde la disponibilidad
el requerimiento quede satisfecho.
6. Repita los pasos del 2 al 5, sin tener en cuenta la(s) fila(s) y/o columna(s)
satisfechas, hasta que todas las casillas queden asignadas.
Nota: Recuerde que no debe satisfacer filas y columnas al mismo tiempo; caso en
que la disponibilidad sea igual al requerimiento; en tal caso use el (epsilon).

Problema ejemplo

Fjese que la mayor diferencia la tiene la columna 4 con un valor de 19, escogido
entre 2,2,3,0,15,13,19 y 16. El menor costo de la columna 4 es cero (0), se asigna
lo mximo posible entre 50 y 40, que es 40, se satisface la columna y se actualiza
la oferta y la demanda.
Ahora recalculamos las diferencias, sin tener en cuenta la columna 4, que est
satisfecha. Una vez ejecutado todo el algoritmo hasta asignar todas las casillas,
obtenemos la siguiente asignacin bsica y factible inicial.

Fjese que el nmero de variables bsicas es: m+n-1=8 Solucin bsica factible
no degenerada: X15=40 ; X21=30 ; X23=20 ; X25=10 ; X32=40 ; X33=30 ;
X44=40 ; X45=10 Z = 16(40) + 15(30) + 13(20) + 16(10) + 15(40) + 18(30) + 0(40)
+ 0(10) = 2.650

EL CRITERIO DE LA OPTIMALIDAD

Hemos conseguido tres (3) soluciones bsicas factibles no degeneradas por


medio de tres mtodos: El de la esquina noroeste, el del costo mnimo y el de
Vogel. Pero ninguna de ellas nos garantiza que la solucin encontrada es la
ptima. Para saberlo, debemos estar seguros que ninguna de las variables no
bsicas pueda entrar a la base haciendo que la funcin objetivo disminuya. Para
discernir un mtodo que nos evale el efecto de introducir una unidad de cada
variable no bsica, recurrimos al mtodo MODI.
Mtodo MODI o UV
Paso 1: Consideremos la solucin inicial hallada por el mtodo de la Esquina N.O.

Paso 2: Se dibuja la matriz Zij que contiene los costos de la variable solucin.

Paso 3: Se construye un conjunto de nmeros vj y ui tal que la suma iguale a los


valores de la matriz Zij del paso 2 y se completa las celdas vacas con la suma de
los ui y vj la matriz Zij que contiene los costos de la variable solucin

Se tiene las siguientes ecuaciones de las celdas bsicas:

Haciendo v1 = 0 se encuentra que: u1 = 17 ; v2 = 3 ; u2 = 18 V3 = 8 ; u3 =


7 ; v4 = 10

Paso 4: Se calcula Cij Zij

Se selecciona la casilla (1,4) que tiene el costo de entrada ms pequeo, por


consiguiente, debe entrar a la base la variable X14

El costo de la nueva solucin es: Z1 = 5305 + (20)(-15) = 3005


A continuacin, probamos si esta solucin es o no la ptima
Se calcula Cij Zij

Se selecciona la casilla (2,1) que tiene el costo de entrada ms pequeo, por


consiguiente, debe entrar a la base la variable X21

Se selecciona la casilla (3,2) que tiene el costo de entrada ms pequeo, por


consiguiente debe entrar a la base la variable X32

El costo de la nueva solucin es: Z2 = 4465+ (20)(-14) = 4185


A continuacin probamos si esta solucin es o no la ptima

El algoritmo de mejoramiento de la solucin


Dado que los mtodos estudiados no garantizan una solucin ptima, es
necesario verificar que no exista una ruta no utilizada que lo sea. De ser este el
caso, se determina esta nueva solucin. Se estudiarn 2 mtodos para el
mejoramiento de una solucin bsica factible inicial:
a) Mtodo de la Distribucin Modificada
b) Mtodo del Paso Secuencial

MTODO DEL PASO SECUENCIAL


1) Localizar una celda no bsica, que no tenga costo marginal, y determinar
un circuito con el mnimo nmero de celdas bsicas siguiendo trayectorias
horizontales y verticales solamente.
2) Asignar intercalando signos positivos + y negativos - al circuito
determinado en el paso 1, comenzando con la asignacin + a la celda no
bsica.
3) Determinar el costo marginal del circuito localizado, que consiste en el
costo de ingresar una unidad a la celda no bsica utilizando los signos del
paso 2
4) Si existen celdas no bsicas sin costo marginal regresar al paso1. 5) Si
todas las celdas no bsicas tienen costo marginal no negativo la solucin
actual es ptima. FIN. 6) Localizar la celda que tenga el costo marginal ms

negativo. Asignar a esta celda xP, donde xP es el mnimo valor de las


celdas del circuito que tienen signo menos -:
5) xP = min (x1, x3, x5)
6) Reajuste el valor de las celdas bsicas en xP conforme a los signos
correspondientes:
x1 = x1 - xP
x2 = x2 + xP
x3 = x3 - xP
x4 = x4 + xP
x=xx
x5 x5 xP
Z = Z + (Costo Marginal) x xP
7) Descarte los costos marginales de las celdas no bsicas y regrese al paso
1.

MTODO DE LA DISTRIBUCIN MODIFICADA


1) Asignar a cada fila las variables: ui , i = 1, 2, ..., m
Asignar a cada columna las variables: vj , j = 1, 2, ..., n
2) Con cada celda bsica se tiene: cij = ui + vj
se asigna: u1 = 0
determinar las restantes variable u y v.
3) Determinar el costo marginal de las celdas no bsicas de la siguiente forma:
Costo Marginal (k, m) = ckm ( uk + vm )
4) Si todas las celdas no bsicas tienen costo marginal no negativo la solucin
actual es ptima.FIN.
5) Localizar la celda que tenga el costo marginal ms negativo. Disear un circuito
similar al mtodo anterior para esta celda. Asignar a esta celda xP, donde xP es el
mnimo valor de las celdas del circuito que tienen signo menos -: xP = min ( x1,
x3, x5)
Reajuste el valor de las celdas bsicas en xP conforme a los signos
correspondientes
6) Descarte los costos marginales de las celdas no bsicas y regrese al paso 1.

3.2 EL PROBLEMA DE ASIGNACION


Muchas de las situaciones en la vida exigen una de dos respuestas posibles: si o
no. As Muchas de las situaciones en la vida exigen una de dos respuestas
posibles: si o no. As es que podemos representar stas posibilidades con los
valores 0 (no) y 1 (si), y aprovechar las matemticas para que nos den una mano
ante decisiones difciles; a esto es lo que solemos llamar -por obvias razonesProgramacin Binaria.
Una de las muchsimas aplicaciones de la Programacin Binaria, es el problema
de la Asignacin. Este mtodo analiza el problema de asignar un cierto nmero de
recursos a un determinado nmero de tareas, con base en algn tipo de
valoracin para cada recurso. Cada recurso, podr ser asignado a una sola tarea.
El PA consiste en asignar recursos a tareas en funcin de un objetivo ligado a la
eficiencia del sistema. Un ejemplo tpico es el de asignacin de personas a turnos
horarios, o el de asignar personas a mquinas.
El esquema tabular del PA es:

Planteamiento del problema


Minimizar el costo total de operacin de modo que:
cada tarea se asigne a una y slo una mquina
cada mquina realice una y slo una tarea

Algoritmo para determinar la asignacin optima


La utilizacin del mtodo SIMPLEX o los mtodos del Problema de Transporte, no
resultan eficientes para resolver el Problema de Asignacin, por lo cual se utiliza
otro mtodo denominado METODO HNGARO.
El Mtodo Hngaro se desarroll por Kuhn, basado en un trabajo de Egervry y
Konig. Fue Kuhn quien lo denomin: Mtodo Hngaro.

Caracterstica del Mtodo Hngaro


El mtodo a estudiar tiene la siguiente caracterstica:
a) Se garantiza la solucin ptima.
b) El procedimiento requiere que la matriz de costos sea no negativa.
c) La solucin ptima se obtiene en una matriz de costos equivalente cuyo valor
ptimo es cero (0).
d) El problema planteado debe estar balanceado:

e) La solucin ptima no vara si a la matriz original se le incrementa un valor k a


cada celda. Pero el valor Z se incrementa en nk.
f) La solucin ptima no vara si a la matriz original se le incrementa un valor k a
una fila o columna. Pero el valor Z se incrementa en k.

Proceso del Mtodo Hngaro


1) Reduccin por filas Determinar el mnimo valor de cada fila y restarlo a todas
las celdas de su correspondiente fila. Esto garantiza un cero en cada fila.
2) Reduccin por columnas Determinar el mnimo valor de cada columna y
restarlo a todas las celdas de su correspondiente columna. Esto garantiza un cero
en cada columna.
3) Cubrimiento de ceros Con el mnimo nmero de rectas cubrir los ceros de la
matriz reducida. Empezar por la fila o columna que tenga el mayor nmero de
ceros. Si el nmero de rectas resulta igual a n (nmero de tareas o equipos) se ha
llegado a la solucin ptima Pasar al paso 5 de lo contrario pasar al ptima. 5,
paso 4.
4) Reduccin posterior Localizar la celda no cubierta de menor costo. Restar el
valor determinado a las celdas no cubiertas. Sumar el valor determinado a las
celdas que se encuentren en la interseccin de las rectas. Regresar al paso 3.
5) Localizacin de la solucin Determinar las filas que tengan un nico valor
cero y asignarlos, eliminar las columnas correspondientes. Determinar las
columnas que tengan un nico valor cero y asignarlos, eliminar las filas
correspondientes. Repetir este procedimiento tantas veces sea necesario. En caso
de celdas con empates seleccionar arbitrariamente. La asignacin localizada de
valor cero, implantarla en la matriz de costos original y determinar el valor de Z.

Problema ejemplo
Existen 5 operarios (A, B, C, D y C) que tienen que llenar 5 cargos (I, II, III, IV y V).
La matriz de costos que caracteriza el problema de asignacin es la siguiente:

Determinar la asignacin ptima


1- Se calcula Cij= Cij elemento ms pequeo de cada columna

2. Se calcula C*ij = Cij elemento mas pequeo de cada fila

3. Procederemos a encontrar el nmero mnimo de recta r que cubren todos los


ceros de la matriz C*

Vemos que r = 4 que es diferente de m=5, por consiguiente no se ha llegado al


ptimo
4. En este caso = 1 (elemento mnimo no cubierto por las rectas). Se resta
a todos los elementos no cubiertos por las rectas- Se suma a todos los

elementos en las intersecciones entre 2 rectas y se vuelve al paso 3. La matriz


C* se transforma en

Se observa que r = 5 = m =5, por consiguiente se ha llegado al ptimo


6. Determinamos la asignacin ptima

Hay dos soluciones ptimas:


A es asignado a IV
B es asignado a II
C es asignado a I
D es asignado a V
E es asignado a II
O bien:
A es asignado a V
B es asignado a II
C es asignado a I
D es asignado a IV
E es asignado a III
El costo total del programa en ambos casos es Z = $ 18

You might also like