En esta ocasiona comparto el método del coste mínimo en un problema de transporte.
Modelos de
Asignación y transporte.
El modelo de transporte es un tipo particular o
especial de los modelos de programación lineal, busca determinar un plan de transporte
de una mercancía de varias fuentes a varios destinos. Los componentes del
modelo son:
1.- Nivel o cantidad de oferta en cada fuente.
2.- Nivel o cantidad de demanda en cada destino.
3.- El costo de transporte unitario de la mercancía
desde las fuentes cada destino.
Al haber sólo una mercancía, un destino puede recibir
su demanda de una o más fuentes. El objetivo del modelo es el de determinar la
cantidad que se enviará de cada fuente a cada destino, tal que se minimice el
costo del transporte total.
El modelo parte de la siguiente suposición básica:
“El costo del transporte en una ruta o dirección es
directamente proporcional al número de unidades transportadas”. El tipo de
unidad de transporte variará dependiendo del tipo de mercancía que se transporte.
Un modelo de transporte se puede representar como una
red o grafo, con m fuentes y n destinos. Cada fuente y cada destino están
representados por un nodo, estos nodos se unen por un arco que representa la
ruta por la cual se transporta la mercancía.
Si tenemos:
ai= Cantidad de oferta en la fuente i.
bj = Cantidad de demanda en el destino j.
Cij= Costo de transporte unitario entre la fuente i y el destino j.
Xij = Cantidad transportada desde la fuente i al destino j,
Entonces, el modelo general de Programación Lineal que representa el modelo de transporte es:
Comparto la solucion del metodo del coste minimo, implementado en java graficamente con swing.
Este proyecto lo hice como trabajo para la universidad, asi que puede puede estar sujeto a correcciones, espero sea de utilidad
ALGORITMO DE RESOLUCIÓN DEL COSTO MÍNIMO
PASO 1:
De la matriz se elige la ruta (celda) menos costosa (en caso de un empate, este se rompe arbitrariamente) y se le asigna la mayor cantidad de unidades posible, cantidad que se ve restringida ya sea por las restricciones de oferta o de demanda. En este mismo paso se procede a ajustar la oferta y demanda de la fila y columna afectada, restándole la cantidad asignada a la celda.
PASO 2:
En este paso se procede a eliminar la fila o destino cuya oferta o demanda sea 0 después del "Paso 1", si dado el caso ambas son cero arbitrariamente se elige cual eliminar y la restante se deja con demanda u oferta cero (0) según sea el caso.
PASO 3:
Una vez en este paso existen dos posibilidades, la primera que quede un solo renglón o columna, si este es el caso se ha llegado al final el método, "detenerse".
La segunda es que quede más de un renglón o columna, si este es el caso iniciar nuevamente el "Paso 1".
Por medio de este método resolveremos el problema de transporte propuesto y resuelto en módulos anteriores mediante programación lineal.
EL PROBLEMA
Una empresa energética colombiana dispone de cuatro plantas de generación para satisfacer la demanda diaria eléctrica en cuatro ciudades, Cali, Bogotá, Medellín y Barranquilla. Las plantas 1,2,3 y 4 pueden satisfacer 80, 30, 60 y 45 millones de KW al día respectivamente. Las necesidades de las ciudades de Cali, Bogotá, Medellín y Barranquilla son de 70, 40, 70 y 35 millones de Kw al día respectivamente.
Los costos asociados al envío de suministro energético por cada millón de KW entre cada planta y cada ciudad son los registrados en la siguiente tabla.
Formule un modelo de programación lineal que permita satisfacer las necesidades de todas las ciudades al tiempo que minimice los costos asociados al transporte.
SOLUCIÓN PASO A PASO
Luego esa cantidad asignada se resta a la demanda de Bogotá y a la oferta de la "Planta 3", en un proceso muy lógico. Dado que Bogotá se queda sin demanda esta columna desaparece, y se repite el primer proceso.
Nuevo proceso de asignación
Nuevo proceso de asignación
Nuevo proceso de asignación
Una vez finalizado el cuadro anterior nos daremos cuenta que solo quedará una fila, por ende asignamos las unidades y se ha terminado el método.
El cuadro de las asignaciones (que debemos desarrollarlo paralelamente) queda así:
Los costos asociados a la distribución son:
Hola amigo buen tuto.
ResponderBorrar¿podrias pasar el codigo fuente porfavor? te lo agradeceria mucho.
Es para uso academico mi correo es martin90sanchez@gmail.com
saludos!!
javierch_1994@hotmail.com amigo enviame el codigo por favor
ResponderBorrarMe podrias pasar el codigo fuente por favor amigo mi correo es ds9_316@hotmail.com por favor
ResponderBorrarEstaba pensando encomo implementar esto en un java... tienes el codigo por ahi amigo?
ResponderBorrarMe podrias pasar el codigo fuente por favor amigo mi correo es saulmejia1994@gmail.com por favor
ResponderBorrarestaria agradecido eternamente si pudieras enviarme el codigo para fines educativos kedahevi@hotmail.com
ResponderBorrarporfavor enviame el codigo fuente a mi correo lu_lu_lu_lu@outlook.com
ResponderBorrarPodrias pasarme el codigo fuente a mi coreo por favor es: miguelchile.95@gmail.com
ResponderBorrarViejo...tenes el codigo que me pudieras hacer favor de pasarmelo, urge y es para fines academicos... te lo agradeceria bastante
Borrarno recibí ninguna respuesta en mi correo lo siento
BorrarHola no he podido responder, no sabia que estaba caído el link de Dropbox, me han eliminado la cuenta, resubi a drive el ejecutable del método, el código no pude recuperarlo, en el siguiente link pueden descargar el ejecutable https://drive.google.com/file/d/0ByJyTQMNYbY-dXZZY3pvdWlFTDQ/view?usp=sharing
BorrarEs de mucha ayuda tu informacion y te lo agradezco, porfavor amigo enviame el archvio es para tarea de la U y tengo demasiados por el momento necesito ayuda... Mi correo es luishd96.85@gmail.com te lo agradeceria mucho viejo y muchas gracias
ResponderBorrarHola no he podido responder, no sabia que estaba caído el link de Dropbox, me han eliminado la cuenta, resubi a drive el ejecutable del método, el código no pude recuperarlo, en el siguiente link puedes descargar el ejecutable https://drive.google.com/file/d/0ByJyTQMNYbY-dXZZY3pvdWlFTDQ/view?usp=sharing
BorrarEsta bien, muchas gracias, te lo agradezco (Y)
Borrarhola amigo
ResponderBorrarme podrias mandar el programa ejecutable por email te lo voy agradecrer mucho mi email es franny_00@hotmail.es
hola amigo muy buen tuto me podrias pasar tu codigo este es mi correo ramsherjes09@gmail.com te agradeceria muchisimo
ResponderBorrar¿Podrías compartirme el código?, por favor
ResponderBorrarMi correo es janyjoj8@gmail.com
Con el Java Decompiler sacan el codigo hombre.... pero se ve que ese codigo no es nada del autor...en solucion.java se ve codigo tomado de otros >> favor de referenciar SIEMPRE en los comentarios la FUENTE del codigo y ser mas honestos...
ResponderBorrar