tarea final mop115
TRANSCRIPT
Alumnos :
Cardoza Rodríguez, Jorge Alberto cr05074 GT01 - GL01
Henríquez Henríquez, Edwin Esaú hh05045 GT01 - GL02
Ramos Urquilla, Denis francisco ru05010 GT01 - GL02
Docente :
Ing. Andrés Omar Aguilar
Universidad de El SalvadorFacultad de Ingeniería y ArquitecturaEscuela de Ingeniería IndustrialMétodos de Optimización Ciclo I - 2009
Tarea Final“Modelos de Transporte, Método de
Russell, aplicaciones e implementación del software MPL”
Ciudad Universitaria, Junio 2009
I. Índice.
Contenido
I. Índice.....................................................................................................................................2
II. Introducción........................................................................................................................3
III. Objetivos..............................................................................................................................4
A. General.................................................................................................................................4
B. Específicos...........................................................................................................................4
IV. Marco Teórico.....................................................................................................................5
A. Modelos de Transporte, Método de Aproximación de Russell...........................5
B. Aplicación de Modelos de Transporte en la Herramienta de Software MPL for Windows (v4.2 student).........................................................................................12
1. Manual de Usuario (Uso de MPL)..........................................................................12
2. Ejercicios.......................................................................................................................27
V. Conclusiones.....................................................................................................................62
VI. Recomendaciones...........................................................................................................63
VII. Bibliografía.........................................................................................................................64
II. Introducción.
En el siguiente documento como grupo de trabajo definiremos de
forma explicita y clara un método de solución de modelos de transporte
desde un enfoque diferente pero preciso el cual será por medio de la
aproximación del método de Russel para la solución de problemas de
Transporte. Así también tras la necesidad del dinamismo y efectividad en
la solución de problemas de optimización (para nuestro caso modelos de
transporte) también implementaremos, el uso de un programa
denominado MPL, para el cual hemos diseñado un manual y que el usuario
(en la búsqueda de soluciones de problemas de optimización que para
nuestro caso son los problemas de modelos de transporte) no tenga
ningún problema a la hora de implementarlo ya que implementaremos un
lenguaje sencillo para el uso de principiantes y avanzados en dicha rama.
Se programará en MPL de manera que facilite al empresario la solución de
sus problemas. Se resolverán una serie de problemas de Transporte con el
Método de aproximación de Russell y su respectiva implementación en
MPL (con algunos de sus Solvers como lo es CPLEX, Gurobi, CoinMP,
Conopt, entre otros).
III.Objetivos.
A. General.
Implementar el Método de aproximación de Russell para
resolver un problema de transporte así como también
aplicar el lenguaje MPL para el modelado y búsqueda de
dichas soluciones.
B. Específicos
Resolver problemas de una manera mucho más fácil y
eficiente con MPL conociendo su estructura base en la
programación del mismo.
Describir y ejemplificar El Método de aproximación de
Russell para problemas de transporte.
Representar las actividades, comandos y operaciones
principales de MPL en un manual de Usuario.
IV. Marco Teórico.
A. Modelos de Transporte, Método de Aproximación de Russell.
MODELOS DE TRANSPORTE
Específicamente, el problema general de transporte se interesa en la distribución de cualquier artículo desde cualquier grupo de centros de suministro, llamados FUENTES, hacia cualquier grupo de centros receptores, llamados DESTINOS, de modo que se minimicen los costos totales de distribución. Así entonces, en general, la fuente i (i=1,2,.....,m) tiene un suministro de Si unidades para distribuir a los destinos, y el destino j (j = 1,2,......,n) tiene una demanda de dj unidades para ser recibidas de las fuentes i al destino j es directamente proporcional al número distribuido, donde Cij denota el costo por unidad distribuida. El planteamiento de programación lineal de esta problema queda como sigue: m n
Minimizar Z = CijXij i1
j1 Sujeta a n Xij Si , para i = 1,2,...,m j 1
m Xij dj j 1
, para j = 1,2,....,n Xij 0 , para todo i y j
MPL ha sido específicamente diseñado para enseñar modelado de optimización como
está siendo aplicado actualmente en el mundo. Incluye un curso completo, con las
características de MPL, y todas las herramientas necesarias para la enseñanza de Modelado
de Optimización directamente desde internet. Esta incluye una versión estudiante (300
restricciones y variables) de MPL para Windows con el solver CPLEX y la Librería de
Componentes OptiMax 2000.
El Sistema de Modelado de MPL tiene un alto y avanzado ambiente integrado de
desarrollo de modelos, el cual permite al usuario formular y resolver modelos rápidamente.
Dentro de ese sistema está el lenguaje de Modelado de MPL el cual tiene las características
completas del lenguaje algebraico para la formulación de modelos de optimización. Creemos
sinceramente que MPL tiene algunas características únicas que lo hacen la elección ideal
para la enseñanza de modelado de optimización, tal como el uso fácil de la interface gráfica
de usuario, una correcta sintaxis fácil de aprender, y capacidades poderosas para la
administración de datos.
Hoy en día los Solvers avanzados comerciales, tales como CPLEX, pueden ser vistos
como una caja negra donde el usuario puede enviar modelos en gran escala, con cientos de
miles de variables, y estar razonablemente seguros que el paquete producirá una solución,
sin interacción especial alguna por parte del usuario.
El tamaño de problemas que las corporaciones están tratando con el incremento y la
velocidad de paquetes comerciales de optimización han crecido dramáticamente para
satisfacer esta demanda. Esto significa que los usuarios necesitan herramientas más
avanzadas para recopilar y administrar los datos, formular modelos y enviarlos al solver. Aquí
es donde un sistema de modelado avanzado como MPL, es muy valioso.
Con el importante incremento del Modelado de Optimización en el mundo de los
negocios, el software que los estudiantes necesitamos aprender hoy en día es simplemente
diferente al de algunos años atrás. Cuando los problemas eran pequeños, y los paquetes de
software de optimización no eran muy avanzados, la familiarización con los métodos de
solución, tal como el algoritmo Simplex, fueron suficientes para hacer proyectos de
optimización. Hoy día, la experiencia y el entendimiento del software involucrado en el
proceso de modelado, es más importante que el estudio de cómo trabajan internamente los
métodos de solución. Para alcanzar ese objetivo, este Tutor ha sido diseñado para dar a los
estudiantes una oportunidad de aprender el software que está siendo utilizado por grandes
corporaciones de todo el mundo.
Enseñanza de Modelado de Optimización en la actualidad
Una de las razones, que los instructores de Investigación de Operaciones no han sido capaces para asignar modelos grandes a sus estudiantes, parecidos a los modelos del "mundo real"; es porque el software los limitaba. Muchos de los libros sobre programación lineal y optimización hoy día, enseñan a los estudiantes principalmente métodos y algoritmos, y formulación de modelos muy pequeños, típicamente involucran menos de 10 variables y restricciones. El software generalmente disponible con esos libros pueden usualmente tratar con variables y restricciones simples, y además; formular esos modelos grandes requerirá que los estudiantes ingresen muchas páginas de texto. Esto no da como resultado necesariamente que los estudiantes aprendan algo adicional y el interés de sus estudios sobre modelado de optimización se pierda.
Otra razón por la que el modelado de optimización no está siendo ampliamente enseñado, es porque, hasta ahora, no hay un curso con material disponible que efectivamente cubra esta materia
METODO DE APROXIMACION DE RUSSELL (Solución Inicial Básica para la solución de problemas de transporte)
Consiste en que Para cada renglón de origen que queda bajo consideración debe determinarse ui , su mayor costo unitario (Cij) de los que quedan en ese renglón. Para cada columna de destino que todavía está bajo consideración, determínese su vj , el mayor costo unitario de los que hay en esa columna. Para cada variable Xij que no haya sido seleccionada en estos renglones o columnas. Para cada variable Xij que no haya sido seleccionada en estos renglones o columnas, seguidamente se debe calcular
ij = Cij - ui
- vj . Selecciónese la variable con el mayor valor negativo (en términos absolutos) de ij
Solución básica factible inicial a partir del método de aproximación de Vogel.
Selecciónese X44 = 30 Elimínese la columna 4 50-30=20
B. Aplicación de Modelos de Transporte en la Herramienta de Software MPL for Windows (v4.2 student).
1. Manual de Usuario (Uso de MPL).
Para este manual de usuario explicaremos primero el uso de
algunas operaciones básicas del software MPL (abrir, guardar, utilización
de la ayuda, solución de un problema sencillo de Programación lineal y
aprender a analizar dichas soluciones presentadas por el programa) para
luego enfocarnos en la resolución de los modelos de transporte en el
mismo.
Inicializando la Aplicación MPL for Windows (Versión 4.2).
Si se tiene el ambiente clásico de
Windows (Win95, 98, 2000, milenium)
clicar en el botón de Inicio, Programas,
MPL for Windows 4.2
Si se tiene el S. O.
Windows XP clicar en Inicio, Todos
los programas, MPL for Windows 4.2
Student.
Ilustración 1. Inicio de MPL en ambiente clásico de Windows
Luego nos da como resultado la siguiente ventana:
Así también especificamos que se utilizará el solver de CPLEX y
CPLEX 300, pero además aclaramos que eso depende del solver de
preferencia y del grado de dificultad de algunos problemas que el mismo
soporta (entre otros solver’s tenemos: Gurobi, CoinMP, LPSolve, Conopt y
LGO).
Cargar un archivo MPL.
Ilustración 2. Inicio de MPL en ambiente de Windows XP
Ilustración 3. Ventana principal de la aplicación MPL for Windows 4.2 student
Después de haber iniciado MPL, se aprenderá a cargar un archivo
del modelo en el editor de modelo. La aplicación MPL viene con varios
modelos de prueba que son instalados en el directorio Mplwin4. Los
modelos MPL son almacenados como archivos texto estándar y
típicamente tienen la extensión '.mpl'. El modelo que estamos usando en
esta sesión es llamado Model1.mpl y es almacenado en una carpeta
separada llamada Tutorial.
1. Elija Open (Abrir) del menú File (Archivo) para visualizar el cuadro
de diálogo Open (Abrir).
2. Haga doble clic en la Carpeta Tutorial y baje hasta el archivo
llamado ' Model1.mpl ' que está almacenado como se muestra abajo.
3. El cuadro de diálogo Abrir (Open) muestra la lista de todos los
archivos de modelos prueba de MPL en la carpeta Tutorial. Haga clic sobre
el archivo 'Model1.mpl' para seleccionar el archivo y luego presione Abrir
(Open) para abrir el archivo. Alternativamente, usted puede abrir el
Ilustración 4. Cuadro de dialogo abrir (Open) para cargar un archivo con extensión mpl
archivo haciendo clic directamente en el nombre de archivo de la lista de
archivos.
Este abrirá una ventana editor del nuevo modelo conteniendo la
formulación para ese modelo.
Resolver un modelo cargado en el editor del modelo
Ilustración 6. Editor del modelo con el model1.mpl
Ilustración 5. Editor del Modelo mostrando el Model1.mpl
1. Elegir el Solver CPLEX del menú Run para resolver el modelo
'Model1'.
2. Mientras resuelve el modelo, la ventana Status Window (ventana
de estado) es visualizada y le proporciona información acerca del
avance de la solución.
La ventana Status Window
(ventana de estado) proporciona
información respecto al número
de líneas leídas, número de
variables y restricciones
encontradas, cuánta memoria
ha sido usada, número de
iteraciones y el valor actual
de la función objetivo.
Analizando una Solución en MPL.
Al obtener una solución óptima en MPL, éste envía la solución
a un archivo con el mismo nombre del modelo, pero con la extensión
‘.sol’'. Para ver ese archivo es necesario seguir los siguientes pasos.
Ilustración 7.muestra la ventana Status Window (ventana de estado) después que el problema ha sido resuelto.
1. Presionar el botón View (Ver) en la parte inferior de la ventana
Status Window (Ventana de Estado), el cual aparece sobre la
pantalla durante el proceso de solución. Esta abrirá una ventana
View Window (Ventana Ver) conteniendo el archivo de la solución
como se muestra en la Ilustración 8.
2. De esta manera
podemos observar
rápidamente la solución
usando la barra de
desplazamiento de la
derecha. Notar que los
detalles de la solución
son
proporcionadas incluyendo el valor de la solución óptima para la
función objetivo, valores para las variables de decisión y para las
restricciones.
Cuando se haya terminado de mirar a través de la solución
presione el botón (X) que aparece en la esquina superior derecho, para
cerrar la ventana View Window (ventana Ver).
También podemos observar la estructura de nuestro modelo
usando el árbol de definición del modelo que muestra todos los ítems
definidos en el modelo desde su definición. Para abrir el árbol de definición
del modelo se tiene que clicar en el
menú view (ver) y posteriormente
elegir la opción Model Definitions
(Definición del modelo).
Ilustración 8. Ventana View (Ver) con el archivo de la Solución 'Model1.sol'
Bajo el título VARIABLES en el árbol, usted verá tres nombres de variables:
Producto, Inventario, Ventas, los cuales son las variables para el modelo. En frente de
cada título de sección, hay un pequeño recuadro conteniendo el signo más o el signo
menos. Este recuadro le permite rápidamente expandir y plegar cada rama del árbol.
Ahora si se selecciona la variable Produce y presione el botón View (Ver) en la parte inferior
de la ventana. Este abrirá una nueva ventana View (Ver) con los valores de la solución para la
variable Producto.
Sintaxis Básica de MPL.
Ilustración 9. Ventana Árbol de Definiciones del Modelo
Ilustración 10. Ventana View (Ver) con los Valores de la Solución de la Variable Produce
A diferencia de otros optimizadores MPL es claro en cuanto al
orden en la colocación de las variables, restricciones, función objetivo para
una mayor comprensión y además, cada definición ya sea tanto de
variables como función objetivo, restricciones, entre otras son colocadas
en una sección específica, a continuación la sintaxis básica de MPL (nota:
si el problema es mucho más complicado la codificación varía en cuanto al
número de secciones, esto se explicará más adelante):
Ahora explicaremos la definición de la función Objetivo, ésta
puede ser de maximización (MAX) o de minimización (MIN). Además para
definir las variables, solo basta con colocarlas (X1 y X2 para nuestro
ejemplo)
Ilustración 10. Ventana del editor del modelo con un código básico y su respectiva explicación de cada una de sus partes
VariablesTipo de la FO
Para compilar el programa en MPLPara correr el programa en MPLPara abrir un archivo “.mpl”Para guardar un archivo “.mpl”
Para ver el archivo de solución “.sol”Para imprimir
Para restringir la FO (FO sujeta a, o restricciones de la FO) solo
añadimos los siguientes símbolos de relación: > (para mayor que), < (para
menor que), >= (para mayor o igual que), <= (para menor o igual que).
Además tenemos lo siguiente (algunas funciones básicas de la
barra de herramientas principal de MPL):
Variables
Símbolo de Relación
Luego si por alguna causa hubiera un error de sintaxis del
programa tras la compilación del mismo (así como no poner punto y coma
al final de la línea de texto, mal uso de los signos de relación, etc.)
aparecerá la siguiente ventana (Ilustración 11), con la opción de corregirlo.
Resolución de Modelos de Transporte con MPL for Windows 4.2 student.
Para la resolución de modelos de transporte en la herramienta
MPL, podemos afirmar que esta basada en la utilización de constantes de
Demandas, ofertas, costos de envío y variables que determinen cuanto
producto se transportará desde un origen (una planta contenedora por
ejemplo) hacia un destino (sucursal de entrega o planta destino por
ejemplo).
Ilustración 11. Ventana Error Message (Mensaje de Error) donde Indica tanto la línea en que se cometió el error como el tipo error que se produjo.
En MPL, la estructura base en la solución de problemas de
transporte es la siguiente:
{Pruebita1}
TITLEPruebita
DATADemand1 := 200;Demand2 := 240;Demand3 := 280;Demand4 := 340;
Oferta1 := 300;Oferta2 := 100;Oferta3 := 500;Oferta4 := 160;CE11 := 7;CE12 := 9;CE13 := 9;CE14 := 6;CE21 := 6;CE22 := 10;CE23 := 12;CE24 := 8;CE31 := 9;CE32:= 8;CE33:= 10;CE34:= 14;CE41:= 0;CE42:= 0;CE43:= 0;CE44:= 0;
MODELMIN Z = CE1 X1 + CE2 X2 + CE3 X3 + CE4 X4 + CE5 X5 + CE6 X6 + CE7 X7 + CE8 X8 +
CE9 X9 + CE10 X10 + CE11 X11 + CE12 X12 + CE13 + CE14 + CE15 + CE16;
SUBJECT TOX1 + X2 + X3 + X4 = Oferta1;X5 + X6 + X7 + X8 = Oferta2;X9 + X10 + X11 + X12 = Oferta3;X13 + X14 + X15 + X16= Ofeta4;X1 + X5 + X9 + X13= Demand1;X2 + X6 + X10 + X14 = Demand2;X3 + X7 + X11 + X15= Demand3;X4 + X8 + X12 + X16= Demand4;Oferta1 + Oferta2 + Oferta3 + Oferta4 = Demand1 + Demand2 + Demand3 + Demand4;X1 >= 0;X2 >= 0;X3 >= 0;X4 >= 0;X5 >= 0;X6 >= 0;X7 >= 0;X8 >= 0;X9 >= 0;X10 >= 0;X11 >= 0;
Título
Aquí se definen las demandas, ofertas y
costos de envío
Definición de la función objetivo
Definición de las restricciones
X12 >= 0;END
Donde CEij: Costo de envío desde i hasta j,
Xij : Cantidad de productos a entregar o distribuir desde i hasta
j.
Demand: Demandas,
Ofertas: Ofertas para el transporte
Así para las siguientes sentencias se tiene una explicación en
un cuadro, enfatizando las funciones de dichas instrucciones en el
programa generado en MPL para las constantes declaradas: Demand,
Oferta, CE respectivamente:
Encontrando la solución de nuestro modelo y analizando el resultado
Para obtener la solución de nuestro modelo en MPL es
necesario especificar el tipo de solver para la búsqueda de dicha solución,
MPL por default tiene configurado como solver, y para nuestra versión, el
CPLEX 3000, aunque también se puede elegir entre los siguientes solver
instalados por default: Gurobi, CoinMP, LPSolve, Conopt y LGO, así mismo
i
jCE
aclarando que existen muchos más compatibles con MPL tal como Lingo,
Lindo, entre otros.
Primero elegimos el solver seleccionando el solver deseado de
la opción solver en run de la barra de herramientas. Luego
automáticamente el solver compilara y ejecutará nuestro programa.
Ilustración 12. Como elegir el solver para resolver nuestro problema de transporte
Luego en la ventana resultante (la que muestra los procesos en
tiempo real de nuestra operación en ejecución) presionar el botón view
para visualizar el resultado…
Apareciendo
dicha solución de la siguiente
manera (se representará por
Presionar botón view
Tipo de FO y su valor optimo
Valores Óptimo de las variables de decisión. Para nuestro caso son los productos X del origen i hasta el destino j. según la tabla inicial del problema de transporte
partes para explicar paso a paso lo que representa el archivo solución
generado por MPL):
Ilustración 13. Presionar view
Aquí se encuentran datos básicos tales como el nombre del
problema, el archivo, el solver utilizado, último valor o valor optimo de
la función objetivo, tiempo de ejecución,
número de
Ilustración 14. Archivo solución (a)
Ilustración 15. Archivo solución (b)
Información básica de nuestro modelo, tales como el nombre de nuestro modelo, el
numero de iteraciones, valor óptimo de la FO, solver Utilizado, Fecha,
Así termina nuestro manual de usuario, pero será de utilidad
aclarar que si desea resolver otro problema de transporte (es decir con
otros datos, más demandas, más ofertas), solo se tienen que cambiar los
valores de costo de envío y/o añadir más variables de ofertas, demandas y
costos de envío. También hay que añadir y cambiar los datos en las
restricciones de la FO y además actualizar dicha FO. Luego ¿Qué significan
las restricciones?
SUBJECT TOX1 + X2 + X3 + X4 = Oferta1;X5 + X6 + X7 + X8 = Oferta2;X9 + X10 + X11 + X12 = Oferta3;X13 + X14 + X15 + X16= Ofeta4;X1 + X5 + X9 + X13= Demand1;X2 + X6 + X10 + X14 = Demand2;X3 + X7 + X11 + X15= Demand3;X4 + X8 + X12 + X16= Demand4;Oferta1 + Oferta2 + Oferta3 + Oferta4 = Demand1 + Demand2 + Demand3 + Demand4;X1 >= 0;X2 >= 0;X3 >= 0;X4 >= 0;X5 >= 0;X6 >= 0;X7 >= 0;X8 >= 0;X9 >= 0;X10 >= 0;X11 >= 0;X12 >= 0;
Las ofertas tienen que ser iguales que las
demandas. Ninguna oferta será mayor que
una determinada
Y no hay que olvidar las restricciones de NO
negatividad
2. Ejercicios.
EJERCICIO #6 DE GUÍA DE DISCUSIÓN No. 6
Para el siguiente modelo de Transporte.
Utilice los distintos métodos para encontrar la solución básica inicial (Método de
Russell).
Encuentre la solución óptima utilizando la mejor solución de inicio
(Multiplicadores).
1 2 3 4 51 2 4 6 5 7 42 7 6 3 M 4 63 8 7 5 2 5 6
4 4 2 5 5 16
20
La demanda y la oferta no son iguales, ya que la demanda es mayor que la
oferta se agregara un origen ficticio con costos iguales a 0, quedara de la
siguiente forma.
1 2 3 4 51 2 4 6 5 7 42 7 6 3 M 4 63 8 7 5 2 5 64 0 0 0 0 0 4
4 4 2 5 5 20
20
SOLUCIÓN BÁSICA INICIAL POR MÉTODO DE RUSSELL.
1 2 3 4 5 OFERTA 1 2 3 3 4 5 6
1 2 4
6 5 7 4/0U1=
7 7 7N/A
N/A
N/A
N/A
4 0 2 7 6 3 M 4
6|4U2=
M 7 6 6 6 6 6 2 4
3 8 7 5 2 5 6\1/0
U3=
8 8 7 7 7 7N/A 1 5
4 0 0 0 0 0
4U4=
0 0 0 0 0 0 0 3 1
DEMANDA 4/0 4|3 2/0 5/0 5
V1= V2= V3= V4=
V5=
ITER
AC
ION
ES 1 8 7 6 M 7
2 8 7 6 M 73 N/A 7 6 N/A 74 N/A 7 5 N/A 55 N/A 7 N/A N/A 56 N/A 6 N/A N/A 4
ITERACIÓN 1: Xij= Cij - Ui - Vj
X11= 2-7-8=-13X21= 7 - M - 8 = -1-M X31= 8-8-8=-8 X41= 0-0-8=-8
X12= 4 -7 -7 = -10X22= 6-M -7= -1-M X32= 7-8-7=-8 X42= 0-0-7=-7
X13= 6 - 7 - 6 = -7X23= 3-M-6 = -3-M X33= 5-8-6=-9 X43= 0-0-6=-6
X14= 5 - 7 - M= -2-MX24= M - M - M = -M
X34= 2-8-M=-6-M X44= 0-0-M=-M
X15= 7 - 7 - 7= -7X25= 4 - M - 7 = -3-M X35= 5-8-7=-10 X45= 0-0-7=-7
ITERACIÓN 2: Xij= Cij - Ui - Vj
X11= 2-7-8=-13X21= 7 - 7 - 8 = -8 X31= 8-8-8=-8 X41= 0-0-8=-8
X12= 4 -7 -7 = -10 X22= 6-7 -7= -8 X32= 7-8-7=-8 X42= 0-0-7=-7
X13= 6 - 7 - 6 = -7X23= 3-7-6 = -10 X33= 5-8-6=-9 X43= 0-0-6=-6
X15= 7 - 7 - 7= -7X25= 4 - 7 - 7 = -10 X35= 5-8-7=-10 X45= 0-0-7=-7
ITERACIÓN 3: Xij= Cij - Ui - Vj
X12= 4 -7 -7 = -10 X22= 6-6 -7= -7 X32= 7-7-7=-7 X42= 0-0-7=-7X13= 6 - 7 - 6 = -7 X23= 3-6-6 = -9 X33= 5-7-6=-8 X43= 0-0-6=-6
X15= 7 - 7 - 7= -7X25= 4 - 6 - 7 = -9 X35= 5-7-7=-9 X45= 0-0-7=-7
ITERACIÓN 4: Xij= Cij - Ui - Vj
X22= 6-6 -7= -7 X32= 7-7-7=-7 X42= 0-0-7=-7X23= 3-6-5 = -8 X33= 5-7-5=-7 X43= 0-0-5=-5X25= 4 - 6 - 5 = -7 X35= 5-7-5=-7 X45= 0-0-5=-5
ITERACIÓN 5: Xij= Cij - Ui - Vj
X22= 6-6 -7= -7 X32= 7-7-7=-7 X42= 0-0-7=-7X25= 4 - 6 - 5 = -7 X35= 5-7-5=-7 X45= 0-0-5=-5
ITERACIÓN 6: Xij= Cij - Ui - Vj
X22= 6-6 -6= -6 X42= 0-0-6=-6X25= 4 - 6 - 4 = -6 X45= 0-0-4=-4
SOLUCIÓN BÁSICA INICIAL POR MÉTODO DE RUSSELL.
1 2 3 4 5OFERTA
1 2 4 6 5 7 4
4 0
2 7 6 3 M 4
6 2 4
3 8 7 5 2 5
6 1 5
4 0 0 0 0 0
4 3 1
DEMANDA 4 4 2 5 5
SOLUCIÓN ÓPTIMA POR MULTIPLICADORES.1 2 3 4 5 OFERTA
1 2 4 6 5 7
4U1=
44 0 3 6 3
2 7 6 3 M 4
6U2=
4 2 4 5 2 M+1
3 8 (-) 7 5 2 (+) 5
6U3=
7 1 5 3 -1 -2
4 0 (+) 0 0 0 (-) 0
4U4=
0 3 12 1 5
DEMANDA 4 4 2 5 5
V1= -2 V2= 0 V3= -1 V4= -5 V5= 0
Cij=Ui + Vj
Cij=Cij - Ui – Vj
2=U1 + V1
7=U3 + V2 C13=6-4-(-1)=3 C22=6-4-0=2 C35=5-7-0=-2
4=U1 + V2 2=U3+V4 C14=5-4-(-5)=6
C24=M-4-(-5)=M+1
C41=0-0-(-2)=2
3=U2 + V3 0=U4+V2 C15=7-4-0=3 C31=8-7-(-2)=3
C43=0-0-(-1)=1
4=U2 + V5 0=U4+V5 C21=7-4-(-2)=5 C33=5-7-(-1)=-1
C44=0-0-(-5)=5
ITERACIÓN 1: V.E: X35, V.S: X32
1 2 3 4 5 OFERTA
1 2 4 6 5 7
4U1=
44 0 3 4 3
2 7 6 3 M 46
U2= 4 2 4
5 2 M-1
3 8 7 5 2 5
6U3=
5 5 1 5 2 1
4 0 0 0 0 04
U4= 0 4 0
2 1 3 DEMANDA 4 4 2 5 5
V1= -2 V2= 0 V3= -1 V4= -3 V5= 0Cij=Ui + Vj
Cij=Cij - Ui – Vj
2=U1 + V1
2=U3 + V4
C13=6-4-(-1)=3 C22=6-4-0=2 C33=5-5-(-1)=1
4=U1 + V2 5=U3+V5
C14=5-4-(-3)=4
C24=M-4-(-3)=M-1 C41=0-0-(-2)=2
3=U2 + V3 0=U4+V2 C15=7-4-0=3 C31=8-5-(-2)=5 C43=0-0-(-1)=14=U2 + V5 0=U4+V5
C21=7-4-(-2)=5 C32=7-5-0=2 C44=0-0-(-3)=3
Z= 4*2 + 0*4 + 2*3 + 4*4+5*2 + 1*5 + 4*0 + 0*0
Z=45
SOLUCIÓN ÓPTIMAX11=4 COSTO= 8X12=0 COSTO= 0X23=2 COSTO= 6X25=4 COSTO= 10X34=5 COSTO= 5X35=1 COSTO= 0
SOLUCION CON MPL
El modelado en MPL:
Se explicará el las siguientes líneas de código en MPL por ser primer ejercicio:
COSTO TOTAL= 45
TITLEEJERCICIO_6_GUIA_6
DATADemand1 := 4;Demand2 := 4;Demand3 := 2;Demand4 := 5;Demand5 := 5;
Oferta1 := 4;Oferta2 := 6;Oferta3 := 6;Oferta4 := 4;CE11 := 2;CE12 := 4;CE13 := 6;CE14 := 5;CE15 := 7;CE21 := 7;CE22 := 6;CE23 := 3;CE24 := 100;CE25 := 4;CE31 := 8;CE32 := 7;CE33 := 5;CE34 := 2;CE35 := 5;CE41 := 0;CE42 := 0;CE43 := 0;CE44 := 0;CE45 := 0;
MODEL
MIN Z = CE11 X11 + CE12 X12 + CE13 X13 + CE14 X14 + CE15 X15 + CE21 X21 + CE22 X22 + CE23 X23 + CE24 X24 + CE25 X25 + CE31 X31 + CE32 X32 + CE33 X33 + CE34 X34 + CE35 X35 + CE41 X41 + CE42 X42 + CE43 X43 + CE44 X44 + CE45 X45;
SUBJECT TOX11 + X12 + X13 + X14 + X15 = Oferta1;X21 + X22 + X23 + X24 + X25 = Oferta2;X31 + X32 + X33 + X34 + X35 = Oferta3;X41 + X42 + X43 + X44 + X45 = Oferta4;X11 + X21 + X31 + X41 = Demand1;X12 + X22 + X32 + X42 = Demand2;X13 + X23 + X33 + X43 = Demand3;X14 + X24 + X34 + X44 = Demand4;X15 + X25 + X35 + X45 = Demand5;
Titulo del Programa
Asignación de Demandas
Asignación de Ofertas
Costos de Envío desde i
FO
Restricciones de
Restricciones de
Oferta1 + Oferta2 + Oferta3 + Oferta4 = Demand1 + Demand2 + Demand3 + Demand4 + Demand5;
X11 >= 0;X12 >= 0;X13 >= 0;X14 >= 0;X15 >= 0;X21 >= 0;X22 >= 0;X23 >= 0;X24 >= 0;X25 >= 0;X31 >= 0;X32 >= 0;X33 >= 0;X34 >= 0;X35 >= 0;X41 >= 0;X42 >= 0;X43 >= 0;X44 >= 0;X45 >= 0;
END
Al ejecutar el programa, MPL muestra la solución de la siguiente forma:
Ilustración 16. Status Window
Y el archivo solución es el siguiente:
Restricción de
Restricciones de No Negatividad
Valor Óptimo de la FO (Costo Mínimo)
Si presionamos este botón veremos de forma detallada el
archivo solución para nuestro Problema
MODEL STATISTICS
Problem name: EJERCICIO_6_GUIA_6
Filename: Pruebita.mplDate: June 23, 2009Time: 23:19Parsing time: 0.20 sec
Solver name: CPLEX (11.2.1)Objective value: 45.0000000000Iterations: 0Solution time: 0.02 secResult code: 1
Constraints: 29Variables: 20Nonzeros: 60Density: 10 %
SOLUTION RESULT
Optimal solution found
MIN Z = 45.0000
DECISION VARIABLES
PLAIN VARIABLES
Variable Name Activity Reduced Cost ------------------------------------------------------ X11 4.0000 0.0000 X12 0.0000 0.0000 X13 0.0000 0.0000 X14 0.0000 0.0000 X15 0.0000 0.0000 X21 0.0000 0.0000 X22 0.0000 0.0000
Información general del problema
Valor óptimo de la FO
Aquí muestra la asignación de
productos desde un origen i hasta un
X23 2.0000 0.0000 X24 0.0000 0.0000 X25 4.0000 0.0000 X31 0.0000 0.0000 X32 0.0000 0.0000 X33 0.0000 0.0000 X34 5.0000 0.0000 X35 1.0000 0.0000 X41 0.0000 0.0000 X42 4.0000 0.0000 X43 0.0000 0.0000 X44 0.0000 0.0000 X45 0.0000 0.0000 ------------------------------------------------------
EJERCICIO #7 DE GUÍA DE DISCUSIÓN No. 6
Obtenga la solución inicial del siguiente modelo de transporte a
través de los métodos Esquina noroeste, Costo Mínimo y Vogel, Obtenga la
solución optima mediante el uso de la mejor solución inicial. Nosotros
usaremos el Método de Russell y Multiplicadores.
SOLUCIÓN BÁSICA INICIAL POR MÉTODO DE RUSSELL.ITERACIONES
1 2 3 4OFERTA 1
2 34 5 6
1 10 20 5 7 10/0
U1=
20
20
20 N/A N/AN/A
10
2 13 9 12 8 20
U2=
13
13
13 13 13 12 20
3 4 15 7 9 30/0
U3=
15
15
15 15 N/AN/A
30
4 14 7 1 0 40/30/
0U4=
14
14
N/A
N/A N/AN/A 30 10
5 3 12 5
19 50/30
U5=
19
12
12 12 12 1230 10 10
DEMANDA 60/30 60/30 20 10/0
V1=
V2
= V3= V4=
ITER
AC
ION
ES 1 14 20 12 19
2 14 20 12 N/A3 13 20 12 N/A4 13 15 12 N/A5 13 12 12 N/A6 N/A 12 12 N/A
ITERACIÓN 1: Xij= Cij - Ui - Vj
X11=10-20-14=-24
X21=13-13-14=-1
X31=4-15-14=-25
X41=14-14-14=-14
X51=3-19-14=-30
X12=20-20-20=-20
X22=9-13-20=-24
X32=15-15-20=-20
X42=7-14-20=-27
X52=12-19-20=-27
X13=5-20-12=-27
X23=12-13-12=-13
X33=7-15-12=-20
X43=1-14-12=-25
X53=5-19-12=-26
X14=7-20-19=-32
X24=8-13-19=-24
X34=9-15-19=-25
X44=0-14-19=-33
X54=19-19-19=-19
ITERACIÓN 2: Xij= Cij - Ui - Vj
X11=10-20-14=-24
X21=13-13-14=-1
X31=4-15-14=-25
X41=14-14-14=-14
X51=3-12-14=-23
X12=20-20-20=-20
X22=9-13-20=-24
X32=15-15-20=-20
X42=7-14-20=-27
X52=12-12-20=-20
X13=5-20-12=-27
X23=12-13-12=-13
X33=7-15-12=-20
X43=1-14-12=-25
X53=5-12-12=-19
ITERACIÓN 3: Xij= Cij - Ui - Vj
X11=10-20-13=-23
X21=13-13-13=-13
X31=4-15-13=-24
X51=3-12-13=-22
X12=20-20-20=-20
X22=9-13-20=-24
X32=15-15-20=-20
X52=12-12-20=-20
X13=5-20-12=-27
X23=12-13-12=-13
X33=7-15-12=-20
X53=5-12-12=-19
ITERACIÓN 4: Xij= Cij - Ui - Vj
X21=13-13-13=-13
X31=4-15-13=-24
X51=3-12-13=-22
X22=9-13-15=-19
X32=15-15-15=-15
X52=12-12-15=-15
X23=12-13-12=-13
X33=7-15-12=-20
X53=5-12-12=-19
ITERACIÓN 5: Xij= Cij - Ui - Vj
X21=13-13-13=-13
X51=3-12-13=-22
X22=9-13-12=-17
X52=12-12-12=-12
X23=12-13-12=-13
X53=5-12-12=-19
ITERACIÓN 6: Xij= Cij - Ui - Vj
X22=9-12-12=-16
X52=12-12-12=-12
X23=12-12-12=-12
X53=5-12-12=-19
SOLUCIÓN BÁSICA INICIAL POR MÉTODO DE RUSSELL.
1 2 3 4OFERTA
1 10 20 5 7
10 10
2 13 9 12 8
20 20
3 4 15 7 9
3030
4 14 7 1 0
40 30 10
5 3 12 5 19
5030 10 10
DEMANDA 60 60 20 10
SOLUCIÓN ÓPTIMA POR MULTIPLICADORES.
1 2 3 4OFERTA
1 10 20 5 7
10U1=
0 10 7 8 7
2 13 9 12 8
20U2= -
3 20 13 10 10
3 4 15 7 9
30U3=
1 30 2 1 3
4 14 7 1 0
40U4= -
5 30 1016 1
5 3 12 5 19
50U5=
0 30 10 10 14
DEMANDA 60 60 20 10
V1= 3 V2= 12 V3= 5 V4= 5Cij=Ui + Vj
Cij=Cij - Ui - VJ
5=U1+V3 0=U4+V4 X11=10-0-3=7
X23=12-(-3)-5=10 X34=9-1-5=3
9= 3=U5+V1 X12=20-0- X24=8-(-3)-5=10 X41=14-(-5)-
U2+V2 12=8 3=164=U3+V1
12=U5+V2 X14=7-0-5=7 X32=15-1-12=2
X43=1-(-5)-5=1
7=U4+V2 5=U5+V3
X21=13-(-3)-3=13 X33=7-1-5=1
X54=19-0-5=14
Z=10*5 + 20*9 + 30*4 + 30*7 + 10*0 + 30*3 + 10*12 + 10*5Z=820
SOLUCIÓN ÓPTIMAX13=10 COSTO= 50X22=20 COSTO= 180X31=30 COSTO= 120X42=30 COSTO= 210X44=10 COSTO= 0X51=30 COSTO= 90X32=10 COSTO= 120X53=10 COSTO= 50
SOLUCIÓN CON MPL
{EJ7}
TITLEEjercicio_7
DATADemand1 := 60;Demand2 := 60;Demand3 := 20;Demand4 := 10;
Oferta1 := 10;Oferta2 := 20;Oferta3 := 30;Oferta4 := 40;Oferta5 := 50;CE11 := 10;CE12 := 20;CE13 := 5;CE14 := 7;CE21 := 13;CE22 := 9;CE23 := 12;CE24 := 8;CE31 := 4;CE32 := 15;CE33 := 7;CE34 := 9;CE41 := 14;
COSTO TOTAL= 820
CE42 := 7;CE43 := 1;CE44 := 0;CE51 := 3;CE52 := 12;CE53 := 5;CE54 := 19;
MODELMIN Z = CE11 X11 + CE12 X12 + CE13 X13 + CE14 X14 + CE21 X21 +
CE22 X22 + CE23 X23 + CE24 X24 + CE31 X31 + CE32 X32 + CE33 X33 + CE34 X34 + CE41 X41 + CE42 X42 + CE43 X43 + CE44 X44 + CE51 X51 + CE52 X52 + CE53 X53 + CE54 X54;
SUBJECT TOX11 + X12 + X13 + X14 = Oferta1;X21 + X22 + X23 + X24 = Oferta2;X31 + X32 + X33 + X34 = Oferta3;X41 + X42 + X43 + X44 = Oferta4;X51 + X52 + X53 + X54 = Oferta5;X11 + X21 + X31 + X41 + X51 = Demand1;X12 + X22 + X32 + X42 + X52 = Demand2;X13 + X23 + X33 + X43 + X53 = Demand3;X14 + X24 + X34 + X44 + X54 = Demand4;X15 + X25 + X35 + X45 + X55 = Demand5;Oferta1 + Oferta2 + Oferta3 + Oferta4 + Oferta5 = Demand1 + Demand2
+ Demand3 + Demand4;X11 >= 0;X12 >= 0;X13 >= 0;X14 >= 0;X21 >= 0;X22 >= 0;X23 >= 0;X24 >= 0;X31 >= 0;X32 >= 0;X33 >= 0;X34 >= 0;X41 >= 0;X42 >= 0;X43 >= 0;X44 >= 0;X51 >= 0;X52 >= 0;X53 >= 0;X54 >= 0;
END
Y el archivo solución es el siguiente:
MODEL STATISTICS
Problem name: Ejercicio_7
Filename: ejrcicio2.mplDate: June 24, 2009Time: 20:29Parsing time: 0.21 sec
Solver name: CPLEX (11.2.1)Objective value: 820.000000000Iterations: 5Solution time: 0.18 secResult code: 1
Constraints: 30Variables: 26Nonzeros: 66Density: 8 %
SOLUTION RESULT
Optimal solution found
MIN Z = 820.0000
DECISION VARIABLES
PLAIN VARIABLES
Variable Name Activity Reduced Cost ------------------------------------------------------ X11 0.0000 0.0000 X12 0.0000 0.0000 X13 10.0000 0.0000 X14 0.0000 0.0000 X21 0.0000 0.0000 X22 20.0000 0.0000 X23 0.0000 0.0000 X24 0.0000 0.0000 X31 30.0000 0.0000 X32 0.0000 0.0000 X33 0.0000 0.0000 X34 0.0000 0.0000 X41 0.0000 0.0000 X42 30.0000 0.0000
X43 0.0000 0.0000 X44 10.0000 0.0000 X51 30.0000 0.0000 X52 10.0000 0.0000 X53 10.0000 0.0000 X54 0.0000 0.0000 X15 0.0000 0.0000 X25 0.0000 0.0000 X35 0.0000 0.0000 X45 0.0000 0.0000 X55 0.0000 0.0000 Demand5 0.0000 0.0000 ------------------------------------------------------
EJERCICIO #9 DE GUÍA DE DISCUSIÓN No. 6
Tres refinerías con capacidades diarias máximas de 6, 5 y 8 millones de
galones de gasolina reparten a tres áreas de distribución con demandas
diarias de 4, 8 y 7 millones de galones de combustible. La gasolina se
transporta a las tres áreas de distribución a través de una red de tubería.
El costo de transporte se calcula con base en la longitud de la tubería
aproximadamente a 1 centavo por 100 galones por milla recorrida. La
tabla de distancia que aquí se resume muestra que la refinería 1 no está
conectada al área de distribución 3. Formule el problema como un modelo
de transporte y encuentre la solución óptima.
OFERTA1 2 3
REFINERÍA
1 120 180 M6x1
06
2 300 100 805x1
06
3 200 250 1208x1
06
DEMANDA 4x106
8x106
7x106
Primero hay que encontrar los costos de transportes de todo el cuadro de distancias.
Usando la regla de 3.0.01 → 100 galones. 0.02X → 1000000 galones.0.01
X= 100
1000000
X=1000000∗0.01100
X=100
Multiplicando 100 x las distancias, queda de la siguiente manera.
OFERTA1 2 3
REFINERÍA
1 120001800
0 M6x1
06
2 300001000
0 80005x1
06
3 200002500
01200
08x1
06
DEMANDA 4x106
8x106
7x106
SOLUCIÓN BÁSICA INICIAL POR MÉTODO DE RUSSELL.ITERACIÓN
1 2OFERT
A1 2 3
112 18 M
6/2U1=
M M 184 2
230 10 8
5U2=
30
N/A N/A5
320 25 12
8/6U3=
25
25 256 2
DEMANDA 4/0 8 7/2/0V1= v2= V3=
ITERACIÓN
1 30 25 M2 20 25 M3 20 25 N/A
ITERACIÓN 1: Xij= Cij
- Ui - Vj
X11=12-M-30=-18-MX21=30-30-30=-30
X31=20-25-30=-35
X12=18-M-25=-7-MX22=10-30-25=-45
X32=25-25-25=-25
X13=M-M-M=-MX23=8-30-M=-22-M
X33=12-25-M=-13-M
ITERACIÓN 2: Xij= Cij
- Ui - Vj
X11=12-M-20=-8-MX31=20-25-20=-25
X12=18-M-25=-7-MX32=25-25-25=-25
X13=M-M-M=-MX33=12-25-M=-13-M
ITERACIÓN 3: Xij= Cij
- Ui - Vj
X11=12-18-20=-26X31=20-25-20=-25
X12=18-18-25=-25X32=25-25-25=-25
SOLUCIÓN BÁSICA INICIAL POR MÉTODO DE RUSSELL.
1 2 3OFERTA
1 12 18 M
64 2
2 30 10 8
5 5
3 20 25 12
8 6 2
DEMANDA 4 8 7
SOLUCIÓN ÓPTIMA POR MULTIPLICADORES.
1 2 3OFERTA
1 12 18 M
6 U1= 04 2 -5+M
2 30 (+) 10 (-) 8
5 U2= 8 5 10 -16
3 20 (-) 25 (+)12
8 U3=7 6 2
1 DEMANDA 4 8 7
V1= 12 V2= 18 V3= 5Cij=Ui + Vj
Cij=Cij - Ui - Vi
12=U1+V1 25=U3+V2 X13=M-0-5=-5+M X31=20-7-12=118=U1+V2 12=U3+V3 X21=30-8-12=10 8=U2+V3 X22=10-8-18=-16
ITERACIÓN 1: V.E: X32, V.S: X23
1 2 3 OFERTA
1 12 18 M
6 U1= 04 2 M-5
2 30 10 8
5 U2= -8 5 26 11
3 20 25 12 8 U3= 7 1 7
1 DEMANDA 4 8 7
V1= 12 V2= 18 V3= 5Cij=Ui + Vj
Cij=Cij - Ui - Vi
12=U1+V1 25=U3+V2 X13=M-0-5=-5+M X31=20-7-12=118=U1+V2 12=U3+V3 X21=30-(-8)-12=26 10=U2+V2 X23=8-(-8)-5=11
SOLUCIÓN ÓPTIMAX11=4 COSTO= 4*12*1000 = 48000X22=20 COSTO= 2*18*1000 = 36000X31=30 COSTO= 5*10*1000 = 50000X42=30 COSTO= 1*25*1000 = 25000X44=10 COSTO= 7*12*1000 = 84000
SOLUCION CON MPL
{EJ9}
TITLEEjercicio_9
DATADemand1 := 4;Demand2 := 8;Demand3 := 7;
Oferta1 := 6;Oferta2 := 5;Oferta3 := 8;CE11 := 12;CE12 := 18;
COSTO TOTAL= 243,000
CE13 := 10000;CE21 := 30;CE22 := 10;CE23 := 8;CE31 := 20;CE32 := 25;CE33 := 12;
MODELMIN Z = CE11 X11 *1000 + CE12 X12 *1000 + CE13 X13 *1000 + CE21 X21 *1000 + CE22 X22
*1000 + CE23 X23 *1000 + CE31 X31 *1000 + CE32 X32 *1000 + CE33 X33 *1000;
SUBJECT TOX11 + X12 + X13 = Oferta1;X21 + X22 + X23 = Oferta2;X31 + X32 + X33 = Oferta3;X11 + X21 + X31 = Demand1;X12 + X22 + X32 = Demand2;X13 + X23 + X33 = Demand3;Oferta1 + Oferta2 + Oferta3 = Demand1 + Demand2 + Demand3;X11 >= 0;X12 >= 0;X13 >= 0;X21 >= 0;X22 >= 0;X23 >= 0;X31 >= 0;X32 >= 0;X33 >= 0;
END
Y el archivo solución generado es el siguiente:
MODEL STATISTICS
Problem name: Ejercicio_9Filename: ejrcicio3.mplDate: June 24, 2009Time: 21:40Parsing time: 0.09 secSolver name: CPLEX (11.2.1)Objective value: 243000.000000Iterations: 2Solution time: 0.03 secResult code: 1
Constraints: 15Variables: 9Nonzeros: 27Density: 20 %
SOLUTION RESULT
Optimal solution found MIN Z = 243000.0000
DECISION VARIABLES
PLAIN VARIABLES
Variable Name Activity Reduced Cost ------------------------------------------------------ X11 4.0000 0.0000 X12 2.0000 0.0000 X13 0.0000 0.0000 X21 0.0000 0.0000 X22 5.0000 0.0000 X23 0.0000 0.0000 X31 0.0000 0.0000 X32 1.0000 0.0000 X33 7.0000 0.0000 ------------------------------------------------------
EJERCICIO DE APLICACIÓN #1
Una empresa que tiene 3 fábricas: A, B y C y 4 depósitos distribuidores: 1, 2, 3 y 4. Halle el
programa óptimo de distribución y su costo asociado. Los costos unitarios, oferta y demanda
mensual son:
SOLUCIÓN BÁSICA INICIAL MÉTODO DE RUSSELLITERACIONES
1 2 3 4 OFERTA 1 2 3 4 5
17 9 9 6
300 U1=9 9 9 9 N/A60 240
2 6 10 12 8 100 U2= 12 N/A N/A N/A N/A
100
39 8 10 14
500 U3= 14 14 10 10 10140 240 120
40 0 0 0
160 U4= 0 0 0 0 0160
DEMANDA 200 240 280 340 110110
V1= V2= V3= V4=
ITER
ACIO
NES 1 9 10 12 14
2 9 9 10 143 9 9 10 N/A4 9 N/A 10 N/A5 9 N/A 10 N/A
ITERACIÓN 1: Xij= Cij - Ui - Vj
X11= 7-9-9=-11 X21= 6 - 12 - 9 = -15 X31= 9 -14-9=-14 X41= 0-0-9=-9
X12= 9 -9 -10 = -10 X22= 10 - 12 -10= -12 X32= 8-14-10=-16X42= 0-0-10=-10
X13= 9 - 9 - 12 = -12 X23= 12 - 12 - 12 = -12 X33= 10-14-12=-16X43= 0-0-12=-12
X14= 6 - 9 - 14= -17 X24= 8 - 12 - 14 = -18 X34= 14-14-14=-14X44= 0-0-14=-14
ITERACIÓN 2: : Xij= Cij - Ui - Vj
X11= 7-9-9=-11 X31= 9 -14-9=-14 X41= 0-0-9=-9X12= 9 -9 -9 =- 9 X32= 8-14-9=-15 X42= 0-0-9=-9
X13= 9 - 9 - 10 = -10 X33= 10-14-10=-14X43= 0-0-10=-10
X14= 6 - 9 - 14= -17 X34= 14-14-14=-14X44= 0-0-14=-14
ITERACIÓN 3: : Xij= Cij - Ui - Vj
X11= 7-9-9=-11 X31= 9 -10-9=-10 X41= 0-0-9=-9X12= 9 -9 -9 = -9 X32= 8-10-9=-11 X42= 0-0-9=-9
X13= 9 - 9 - 10 = -10 X33= 10-10-10=-10X43= 0-0-10=-10
ITERACIÓN 4: : Xij= Cij - Ui - Vj
X11= 7-9-9=-11 X31= 9 -10-9=-10 X41= 0-0-9=-9
X13= 9-9-10=-10 X33= 10 -10-10=-10X43= 0-0-10=-10
ITERACIÓN 5: : Xij= Cij - Ui - Vj
X31= 9 -10-9=-10 X41= 0-0-9=-9
X33= 10 -10-10=-10X43= 0-0-10=-10
SOLUCIÓN BÁSICA INICIAL POR MÉTODO DE RUSSELL1 2 3 4 OFERTA
1 7 9 9 6
30060 240
2 6 10 12 8 100
100
3 9 8 10 14
500140 240 120
4 0 0 0 0
160 160
DEMANDA 200 240 280 340
SOLUCIÓN OPTIMA POR MULTIPLICADORES1 2 3 4 OFERTA
1(-) 7 9 9 (+) 6 300
U1= -260 240
3 1
26 10 12 (-) 8 100
U2= 0 100-3 2 2
3 9 8 10 14 500
U3= 0140 240 120 6
4 0 0 0 0 160 U4= -
10 160 1 2 2
DEMANDA 200 240 280 340V1= 9 V2= 8 V3= 10 V4= 8
Cij=Ui + Vj Cij=Cij - Ui - Vi
7=U1 + V1 8=U3 + V2 C12=9-(-2)-8=3 C23=12-0-10=2 C44=0-(-10)-8=2
6=U1 + V4 10=U3 + V3
C13=9-(-2)-10=1 C34=14-0-8=6
8=U2 + V4 0=U4 + V3 C21=6-0-9=-3 C41=0-(-10)-9=19=U3 + V1 C22=10-0-8=2 C42=0-(-10)-8=2
ITERACIÓN 1: V.E: X21, V.S: X11
1 2 3 4 OFERTA
1 7 9 9 6
300 U1= -5 3003 6 4
2 6 10 12 8
100 U2= -360 40 5 5
3 9 8 10 14
500 U3= 0140 240 120 3
4 0 0 0 0
160 U4= -10 160 1 2 2
DEMANDA 200 240 280 340V1= 9 V2= 8 V3= 10 V4= 11
Cij=Ui + Vj Cij=Cij - Ui - Vi
6=U2 + V1 8=U3 + V2 C11=7-(-5)-9=3 C23=12-(-3)-10=5 C44=0-(-10)-8=26=U1 + V4 10=U3 + V3 C12=9-(-5)-8=6 C34=14-0-11=38=U2 + V4 0=U4 + V3 C13=9-(-5)-10=4 C41=0-(-10)-9=19=U3 + V1 C22=10-(-3)-8=5 C42=0-(-10)-8=2 SOLUCIÓN OPTIMA
Z= 300X6 + 60X6 + 40X8 + 140X9 + 240*8 + 120X10 + 160X0 Z=6860
SOLUCIÓN
X14= 300 → Distribuir 300 de la Planta A al depósito 4 con un costo de $1800
X21= 60 → Distribuir 60 de la Planta B al depósito 1 con un costo de $360
X14= 40 → Distribuir 40 de la Planta B al depósito 4 con un costo de $320
X21= 140 → Distribuir 140 de la Planta C al depósito 1 con un costo de $1260
X32= 240 → Distribuir 240 de la Planta C al depósito 2 con un costo de $1920
X33= 120 → Distribuir 120 de la Planta C al depósito 3 con un costo de $1200
SOLUCION CON MPL
{APLICACION 1}
TITLEAplicacion_1
DATAOferta1 := 300;Oferta2 := 100;Oferta3 := 500;Oferta4 := 160;
Demand1 := 200;Demand2 := 240;Demand3 := 280;Demand4 := 340;CE11 := 7;CE12 := 9;CE13 := 9;CE14 := 6;CE21 := 6;CE22 := 10;CE23 := 12;CE24 := 8;CE31 := 9;CE32 := 8;CE33 := 10;CE34 := 14;CE41 := 0;CE42 := 0;CE43 := 0;CE44 := 0;
MODELMIN Z = CE11 X11 + CE12 X12 + CE13 X13 + CE14 X14 + CE21 X21
+ CE22 X22 + CE23 X23 + CE24 X24 + CE31 X31 + CE32 X32 + CE33 X33 + CE34 X34 + CE41 X41 + CE42 X42 + CE43 X43 + CE44 X44;
SUBJECT TOX11 + X12 + X13 + X14 = Oferta1;X21 + X22 + X23 + X24 = Oferta2;X31 + X32 + X33 + X34 = Oferta3;X41 + X42 + X43 + X44 = Oferta4;
X11 + X21 + X31 + X41 = Demand1;X12 + X22 + X32 + X42 = Demand2;X13 + X23 + X33 + X43 = Demand3;X14 + X24 + X34 + X44 = Demand4;Oferta1 + Oferta2 + Oferta3 + Oferta4 = Demand1 + Demand2 +
Demand3 + Demand4;X11 >= 0;X12 >= 0;X13 >= 0;X14 >= 0;X21 >= 0;X22 >= 0;X23 >= 0;X24 >= 0;X31 >= 0;X32 >= 0;X33 >= 0;X34 >= 0;X41 >= 0;X42 >= 0;X43 >= 0;X44 >= 0;
END
Y el archivo Solución es el siguiente:
MODEL STATISTICS
Problem name: Aplicacion_1Filename: aplicacion1.mplDate: June 24, 2009Time: 23:36Parsing time: 0.12 secSolver name: CPLEX (11.2.1)Objective value: 6820.00000000Iterations: 1Solution time: 0.02 secResult code: 1Constraints: 24Variables: 16Nonzeros: 48Density: 13 %
SOLUTION RESULT
Optimal solution found MIN Z = 6820.0000
DECISION VARIABLES
PLAIN VARIABLES
Variable Name Activity Reduced Cost ------------------------------------------------------ X11 0.0000 0.0000 X12 0.0000 0.0000 X13 0.0000 0.0000 X14 300.0000 0.0000 X21 100.0000 0.0000 X22 0.0000 0.0000 X23 0.0000 0.0000 X24 0.0000 0.0000 X31 100.0000 0.0000 X32 240.0000 0.0000 X33 160.0000 0.0000 X34 0.0000 0.0000 X41 0.0000 0.0000 X42 0.0000 0.0000 X43 120.0000 0.0000 X44 40.0000 0.0000 ------------------------------------------------------
EJERCICIO DE APLICACIÓN #2
Una empresa energética dispone de tres plantas de generación para satisfacer la demanda eléctrica de cuatro ciudades. Las plantas 1, 2 y 3 pueden satisfacer 35, 50 y 40 millones de [kWh] respectivamente. El valor máximo de consumo ocurre a las 2 PM y es de 45, 20, 30 y 30 millones de [kWh] en las ciudades 1, 2, 3 y 4 respectivamente. El costo de enviar 1 [kWh] depende de la distancia que deba recorrer la energía. La siguiente tabla muestra los costos de envió unitario desde cada planta a cada ciudad. Formule un modelo de programación lineal que permita minimizar los costos de satisfacción de la demanda máxima en todas las ciudades.
SOLUCIÓN BÁSICA INICIAL MÉTODO DE RUSSELLITERACIONES
1 2 3 4 OFERTA1 2 3 4
1
8 6 10 9 35/25 U1= 10 10 10 10 10 25
2 9 12 13 7
50/5 U2= 13 13 13 1345 5
3 14 9 16 5
40/10/0 U3= 16 16 N/A N/A10 30
DEMANDA 45/0 20/0 30 30/0V1= V2= V3= V4=
ITER
ACIO
NES 1 14 12 16 9
2 14 12 16 N/A
3 9 12 13 N/A
4 9 N/A 13 N/A
ITERACIÓN 1: Xij= Cij - Ui - Vj
X11= 8-10-14=-16 X21= 9 - 13 -14 = -18 X31= 14 -16-14=-16X12= 6 -10 -12 = -16 X22= 12 - 13 -12= -13 X32= 9-16-12=-19X13= 10 - 10 - 16 = -16 X23= 13 - 13 - 16 = -16 X33= 16-16-16=-16X14= 9 - 10 - 9 = -10 X24= 7 - 13 - 9 = -15 X34= 5-16-9=-20ITERACIÓN 2: Xij= Cij - Ui - Vj
X11= 8-10-14=-16 X21= 9 - 13 -14 = -18 X31= 14 -16-14=-16X12= 6 -10 -12 = -16 X22= 12 - 13 -12= -13 X32= 9-16-12=-19X13= 10 - 10 - 16 = -16 X23= 13 - 13 - 16 = -16 X33= 16-16-16=-16
ITERACIÓN 3: Xij= Cij - Ui - Vj
X11= 8-10-9=-11 X21= 9 - 13 -9 = -13X12= 6 -10 -12 = -16 X22= 12 - 13 -12= -13X13= 10 - 10 - 13 = -13 X23= 13 - 13 - 13 = -13ITERACIÓN 4: Xij= Cij - Ui - Vj
X11= 8-10-9=-11 X21= 9 - 13 -9 = -13
X13= 10 - 10 - 13 = -13 X23= 13 - 13 - 13 = -13
SOLUCIÓN BÁSICA INICIAL MÉTODO DE RUSSELL1 2 3 4 OFERTA
1 8 6 10 9
35 10 25
2 9 12 13 7
5045 5
3 14 9 16 5
40 10 30
DEMANDA 45 20 30 30
SOLUCIÓN POR MULTIPLICADORES1 2 3 4 OFERTA
1 8 6 10 9
35 U1= 0 10 25 2 8
2 9 12 13 7
50 U2= 3 45 5 3 3
3 14 9 16 5
40 U3= 4 10 304 2
DEMANDA 45 20 30 30
V1= 6 V2= 6 V3= 10V4= 1
Cij=Ui + Vj Cij=Cij - Ui - Vi
6=U1 + V2 10=U3 + V2 C11=8-0-6=2 C31=14-4-6=410=U1 + V3 5=U3 + V4 C14=9-0-1=8 C33=16-4-10=29=U2 + V1 C22=12-3-6=3 13=U2 + V3 C24=7-3-1=3
Z= 10*6 + 25*10 + 45*9 + 13*5 + 10*9 + 16*9 Z = 1020
SOLUCIÓN
X12= 10 → Enviar 10x106 [kWh] de la Planta 1 a la Ciudad 2
X13= 25 → Enviar 25x106 [kWh] de la Planta 1 a la Ciudad 3
X21= 45 → Enviar 45x106 [kWh] de la Planta 2 a la Ciudad 1
X23= 5 → Enviar 5x106 [kWh] de la Planta 2 a la Ciudad 3
X32= 10 → Enviar 19x106 [kWh] de la Planta 3 a la Ciudad 2
X34= 30 → Enviar 30x106 [kWh] de la Planta 3 a la Ciudad 4
SOLUCION CON MPL
{APLICACION 1}
TITLEAplicacion_1
DATAOferta1 := 35;Oferta2 := 50;Oferta3 := 40;
Demand1 := 45;Demand2 := 20;Demand3 := 30;Demand4 := 30;CE11 := 8;CE12 := 6;CE13 := 10;CE14 := 9;CE21 := 9;CE22 := 12;CE23 := 13;CE24 := 7;CE31 := 14;CE32 := 9;CE33 := 16;CE34 := 5;
MODELMIN Z = CE11 X11 + CE12 X12 + CE13 X13 + CE14 X14 + CE21 X21 +
CE22 X22 + CE23 X23 + CE24 X24 + CE31 X31 + CE32 X32 + CE33 X33 + CE34 X34;
SUBJECT TOX11 + X12 + X13 + X14 = Oferta1;X21 + X22 + X23 + X24 = Oferta2;X31 + X32 + X33 + X34 = Oferta3;X11 + X21 + X31 + X41 = Demand1;X12 + X22 + X32 + X42 = Demand2;X13 + X23 + X33 + X43 = Demand3;X14 + X24 + X34 + X44 = Demand4;
Oferta1 + Oferta2 + Oferta3 = Demand1 + Demand2 + Demand3 + Demand4;
X11 >= 0;X12 >= 0;X13 >= 0;X14 >= 0;X21 >= 0;X22 >= 0;X23 >= 0;X24 >= 0;X31 >= 0;X32 >= 0;X33 >= 0;X34 >= 0;
END
Y el archivo solución generado es el siguiente:
MODEL STATISTICS
Problem name: Aplicacion_1Filename: aplicacion1.mplDate: June 25, 2009Time: 00:03Parsing time: 0.11 secSolver name: CPLEX (11.2.1)Objective value: 1020.00000000Iterations: 6Solution time: 0.03 secResult code: 1Constraints: 19Variables: 16Nonzeros: 40Density: 13 %
SOLUTION RESULT
Optimal solution found MIN Z = 1020.0000
DECISION VARIABLES
PLAIN VARIABLES
Variable Name Activity Reduced Cost ------------------------------------------------------
X11 0.0000 0.0000 X12 10.0000 0.0000 X13 25.0000 0.0000 X14 0.0000 0.0000 X21 45.0000 0.0000 X22 0.0000 0.0000 X23 5.0000 0.0000 X24 0.0000 0.0000 X31 0.0000 0.0000 X32 10.0000 0.0000 X33 0.0000 0.0000 X34 30.0000 0.0000 X41 0.0000 0.0000 X42 0.0000 0.0000 X43 0.0000 0.0000 X44 0.0000 0.0000 ------------------------------------------------------
EJERCICIO DE APLICACIÓN #3
El problema a resolver consiste en encontrar el número optimo de lotes de bicicletas que
cada distribuidor debe de suplir a cada uno de los comerciantes, de tal manera que se
minimice la distancia total recorrida entre distribuidores y comerciantes.
DISTRIBUIDORESCOMERCIANTES
DISPONIBILIDAD1 2 31 2 5 6 352 5 10 7 553 9 6 4 20
DEMANDA EN LOTES DE BIC. 30 45 35 110
OLUCIÓN BÁSICA INICIAL MÉTODO DE RUSSELL ITERACIONES
1 2 3OFERTA 1 2 3
1 2 5 635/0 U
1= 6 6 N/A
35
2 5 10
7 55/25/15
U2=
10
10
10
30 10 15
3 9 6 420 U
3= 9 6 6
20
DEMANDA 30/0 45/10/0
35/25/0 110
V1= V2= V3=
ITER
ACIO
NES 1 9 10 7
2 N/A 10 7
3 N/A 10 7ITERACIÓN 1: Xij= Cij - Ui - Vj
X11=2-6-9=-13 X21=5-10-9=-14 X31=9-9-9=-9X12=5-6-10=-11 X22=10-10-10=-10 X32=6-9-10=-13X13=6-6-7=-7 X23=7-10-7=-10 X33=4-9-7=-12
ITERACIÓN 2: Xij= Cij - Ui - Vj
X12=5-6-10=-11 X22=10-10-10=-10 X32=6-6-10=-10X13=6-6-7=-7 X23=7-10-7=-10 X33=4-6-7=-9
ITERACIÓN 1: Xij= Cij - Ui - Vj
X22=10-10-10=-10 X32=6-6-10=-10X23=7-10-7=-10 X33=4-6-7=-9
SOLUCIÓN BÁSICA INICIAL MÉTODO DE RUSSELL1 2 3 OFERTA
1 2 5 635
35 2 5 10 7
55 30 10 153 9 6 4
20 20
DEMANDA 30 45 35 110
SOLUCIÓN POR MULTIPLICADORES1 2 3 OFERTA
1 2 5 635 U1= -5 35
2 5
(-)10 (+) 7
55 U2= 0 30 10 15 3 9 (+) 6 (-) 4
20 U3= -3 20
DEMANDA 30 45 35 110V1= 5 V2= 10 V3= 7
Cij=Ui + Vj Cij=Cij - Ui - Vi
5=U1+V2 7=U2+V3 X11=2-(-5)-5=2 X32=6-(-3)-10=-1 5=U2+V1 4=U3+V3 X13=6-(-5)-7=4 10=U2+V2 X31=9-(-3)-5=7
ITERACIÓN 1: V.E: X32, V.S: X22
1 2 3 OFERTA1 2 5 6
35 U1= -4 35 1 1 2 5 10 7
55 U2= 0 30 25 1 3 9 6 4
20 U3=-3 10 10 7
DEMANDA 30 45 35 110V1= 5 V2= 9 V3= 7
Cij=Ui + Vj Cij=Cij - Ui - Vi
5=U1+V2 6=U3+V2 X11=2-(-4)-5=1 X31=9-(-3)-5=75=U2+V1 4=U3+V3 X13=6-(-4)-9=1 7=U2+V3 X22=10-0-9=1
Z= 5*35 + 30*5 + 25*7 + 10*6 + 10*4Z = 600
SOLUCIÓN
X12= 35 → El distribuidor 1 debe proveer 35 lotes de bicicletas al comerciante 2
X21= 30 → El distribuidor 2 debe proveer 30 lotes de bicicletas al comerciante 1
X23= 25 → El distribuidor 2 debe proveer 25 lotes de bicicletas al comerciante 3
X32= 10 → El distribuidor 3 debe proveer 10 lotes de bicicletas al comerciante 2
X33= 10 → El distribuidor 3 debe proveer 10 lotes de bicicletas al comerciante 4
DISTANCIA TOTAL; 600
SOLUCION CON MPL
{APLICACION 3}
TITLEAplicacion_3
DATAOferta1 := 35;Oferta2 := 55;Oferta3 := 20;
Demand1 := 30;Demand2 := 45;Demand3 := 35;CE11 := 2;CE12 := 5;CE13 := 6;CE21 := 5;CE22 := 10;CE23 := 7;CE31 := 9;CE32 := 6;CE33 := 4;
MODELMIN Z = CE11 X11 + CE12 X12 + CE13 X13 + CE21 X21 + CE22 X22 +
CE23 X23 + CE31 X31 + CE32 X32 + CE33 X33;
SUBJECT TOX11 + X12 + X13 = Oferta1;X21 + X22 + X23 = Oferta2;X31 + X32 + X33 = Oferta3;X11 + X21 + X31 = Demand1;X12 + X22 + X32 = Demand2;X13 + X23 + X33 = Demand3;Oferta1 + Oferta2 + Oferta3 = Demand1 + Demand2 + Demand3;X11 >= 0;X12 >= 0;X13 >= 0;X21 >= 0;X22 >= 0;X23 >= 0;X31 >= 0;X32 >= 0;X33 >= 0;
END
Y el archivo solución generado es el siguiente:
MODEL STATISTICS
Problem name: Aplicacion_3Filename: aplicacion3.mplDate: June 25, 2009Time: 00:16Parsing time: 0.08 secSolver name: CPLEX (11.2.1)Objective value: 600.000000000Iterations: 4Solution time: 0.03 secResult code: 1Constraints: 15Variables: 9Nonzeros: 27Density: 20 %
SOLUTION RESULT
Optimal solution found MIN Z = 600.0000
DECISION VARIABLES
PLAIN VARIABLES
Variable Name Activity Reduced Cost ------------------------------------------------------ X11 0.0000 0.0000 X12 35.0000 0.0000 X13 0.0000 0.0000 X21 30.0000 0.0000 X22 0.0000 0.0000 X23 25.0000 0.0000 X31 0.0000 0.0000 X32 10.0000 0.0000 X33 10.0000 0.0000 ------------------------------------------------------
V. Conclusiones
Para el modelado de un problema del tipo transporte en MPL es
necesario tener una visión de cuantas variables de demanda y
oferta se deberán declarar y además de que sus sumatoria sea
la misma cantidad.
MPL es una herramienta – software que permite la eficiencia en
la solución de problemas de optimización y gracias a sus Solvers
compatibles puede resolver modelos de muchas variables
acomodándose y adaptándose a la inmensa cantidad de
problemas de negocios que existen en la actualidad.
El Modelo de aproximación de Russell para problemas de
transporte permite obtener una solución inicial básica que,
puede minimizar el número de iteraciones para su solución
mediante multiplicadores y a veces puede llegar a ser una
solución óptima.
VI. Recomendaciones
Al definir variables como el costo de envió desde un origen
hasta un destino, es necesario el uso de nombres adecuados
tales como su símbolo y un numero que indique el origen y el
destino del mismo (es recomendable también usarlo lo anterior
para las variables de distribución o transportación de
productos).
VII. Bibliografía.
“Modelo de transporte”, Universidad Arturo Prat, Guía del
Departamento de Ingeniería Industrial.
[1] T. Coleman, M. A. Branch, and A. Grace. Optimization Toolbox
User Guide. Math-Works Inc., 1999.
[2] Rios Insua S. et al. Programaci´on Lineal y Aplicaciones. Ra-
Ma Textos Universitarios, Madrid, 1997.
[3] Hillier F.S. and Lieberman G.J. Introducci´on a la Investigaci
´on de Operaciones. McGraw-Hill, Mexico, 1991.
[4] C.R. Houck, J.A. Joines, and M.G. Kay. A genetic algorithm for
function optimizatio: A matlab implementation, 1996.
[5] Prawda J. M´etodos y Modelos de Investigaci´on Operativa.
Ed. Limusa, Mexico, 1987.
http://www.maximalsoftware.com