Problema de Producción y Transporte resuelto con Solver

El siguiente problema de producción y transporte fue enviado por uno de nuestros usuarios de Colombia de la ciudad de Santa Cruz de Lorica: “Una compañía que fabrica Cereal de Maíz tiene dos campos de siembra, el Campo I y el Campo II, y dos molinos, A y B. Las capacidades de suministro mensual de maíz de los Campos I y II son 125 y 245 toneladas, respectivamente. El molino A requiere por lo menos 190 toneladas de Maíz al mes y el B por lo menos 158 toneladas mensuales. Los costos de transporte en unidades monetarias por tonelada de cada Campo a cada molino son los siguientes: 2 del Campo I al molino A, 3 desde el Campo I al molino B, 4 desde el Campo II al molino A, y 5 desde el Campo II al molino B”.

¿Qué cantidad de Maíz debe transportarse desde cada Campo I y II a cada molino A y B de forma que se logre minimizar el costo total de transporte? ¿Cuál es ese costo mínimo? ¿Hay algún envío que no debe realizarse para conseguir dicho costo mínimo?.

Para una mejor comprensión del problema anterior representaremos gráficamente la información anterior donde se puede apreciar los distintos oferentes (Campos) y demandantes (Molinos), además de la capacidad de producción y demanda (en toneladas mensuales) junto a los costos de transporte para cada combinación origen destino.

diagrama-problema-transport

Problema de Producción y Transporte

1. Variables de Decisión: (con i=I,II y j=A,B)

variable-decision-produccio

2. Función Objetivo: Minimizar los costos que se asumen mensualmente por el transporte de cereal desde los campos a los molinos.

funcion-objetivo-produccion

3. Restricciones: 

Capacidad de Producción de los Campos: La cantidad de toneladas que se transporte desde cada campo a cada uno de los molinos no puede superar su capacidad de producción.

restriccion-capacidad-trans

Demanda de los Molinos: Cada molino debe recibir un mínimo de toneladas mensuales de cereal desde los campos.

restriccion-demanda-transpo

No Negatividad: Las variables de decisión deben adoptar valores reales no negativos.

A continuación se detalla la implementación computacional del modelo de optimización haciendo uso de Solver de Excel:

solver-produccion-y-transpo

Notar que la celda F9 es una fórmula asociada a la función objetivo que pondera los costos unitarios de transporte por las toneladas transportas en cada combinación de origen (campos) destino (molinos). La celda E3 es la suma de C3 y D3 (análogamente E4=C4+D4) representando las restricciones de capacidad. De similar forma la celda C5 es una fórmula que considera la suma de las celdas C3 y C4 (por supuesto D5=D3+D4). Una vez generada la estructura del modelo de Programación Lineal se carga éste en la interfaz de Solver:

interfaz-solver-produccion-

La solución óptima (celdas color amarillo) consiste en transportar 125 toneladas del Campo I al Molino B y el Campo II envía 190 y 33 toneladas a los Molinos A y B, respectivamente. El valor óptimo es de 1.300 unidades monetarias.

solucion-optima-produccion-

¿Quieres tener el archivo Excel con la resolución en Solver de este problema?. Recomiéndanos en Facebook o Google+ utilizando la herramienta de redes sociales a continuación y accede de forma gratuita e inmediata a la descarga del archivo.

[sociallocker]Problema de Producción y Transporte[/sociallocker]

Cómo instalar WinQSB en un computador con Sistema Operativo Windows 7

Lamentablemente el popular software WinQSB (muy útil como herramienta de análisis para cursos de Gestión de Operaciones e Investigación de Operaciones) el cual hemos utilizado en artículos anteriores en el blog no es compatible con las últimas versiones de sistema operativo Windows, en particular con Windows 7 y tampoco lo es con Windows 8 o con la reciente versión disponible de Windows 10 que Microsoft ha dispuesto para descarga e instalación gratuita por parte de los usuarios. Si bien existen alternativas en la red donde podemos descargar el programa quedará en evidencia la incompatibilidad según se muestra en la imagen a continuación:

winqsb-incompatible-con-win

En nuestra experiencia WinQSB ha funcionado sin inconvenientes en una versión de 34 bits de Windows Vista pero desconocemos desde que versión de Windows exactamente ya no es posible su utilización (lo más probable es que justamente sea a contar de la versión de Windows 7).

¿Qué podemos hacer entonces para utilizar WinQSB en una versión más reciente de Windows?. En una frase esta pregunta no es fácil de responder, sin embargo, te sugerimos los siguientes pasos:

1. Verifica con exactitud que versión de Windows tienes. Para ello haz clic en el botón InicioImagen del botón Inicio, luego con el botón secundario en Equipo y finalmente en Propiedades.

windows-7-home-premium

2. Intenta si es posible instalar Windows XP Mode. Con Windows XP Mode se pueden ejecutar programas diseñados para Windows XP en equipos con las ediciones Professional, Enterprise o Ultimate de Windows 7. Lamentablemente Windows XP Mode no se admite en Windows 8. (Lee detenidamente las instrucciones disponibles en: http://windows.microsoft.com/es-xl/windows7/install-and-use-windows-xp-mode-in-windows-7).

Como podrás haber apreciado nuestra versión de Windows 7 es Home Premium la que en principio sería incompatible con XP Mode. Si tienes la edición ProfessionalEnterprise o Ultimate te agradeceríamos nos puedas compartir tu experiencia en la instalación de Windows XP Mode y luego la utilización de WinQSB (para ello puedes agregar tus comentarios a este artículo, te agradecemos de antemano!).

Como resolver un modelo de Programación Lineal con OpenSolver

OpenSolver es una excelente complemento de Excel que permite resolver modelos de optimización. En el siguiente artículo se describe cómo resolver un modelo de Programación Lineal con esta herramienta (previa descarga e instalación de OpenSolver en Excel 2010). Para fines académicos consideraremos un modelo lineal con 2 variables de decisión, no obstante se puede extender su aplicación a problemas de mayor tamaño sin inconvenientes.

modelo-lineal-infinitas-sol

A continuación necesitamos preparar una planilla Excel que considere los parámetros y variables del modelo (este paso es similar a la carga de un modelo en Solver de Frontline). Se puede apreciar que las celdas B2 y C2 (color amarillo) han sido asignadas a las variables de decisión y la función objetivo (celda azul) corresponde a la celda E2 que es una fórmula que vincula las variables de decisión y los respectivos parámetros que ponderan a éstas. Finalmente las celdas D5 y D6 son fórmulas que representan el “lado izquierdo” de las restricciones del problema (por ejemplo la celda D5 corresponde a B2*B5+C2*C5 o equivalentemente SUMAPRODUCTO(B2:C2;B5:C5)).

carga-modelo-lineal-opensol

Una vez completado el paso anterior se debe ejecutar OpenSolver cuyo menú esta disponible en la pestaña de “Datos” de Excel. Luego se selecciona “Model…” según se muestra a continuación:

model-opensolver

La interfaz para implementar el modelo es bastante similar a la versión tradicional de Solver (Frontline). Se define la celda objetivo (E2) en maximización; a continuación se selecciona el rango de variables de decisión (según se muestra en la siguiente imagen) y las restricciones. Si intentas replicar la estructura del ejemplo que desarrollamos en este artículo se debería ver así:

interfaz-opensolver

Luego seleccionamos “Save Model” (cambiará la estructura de la planilla la cual adoptará colores lo cual es una de las características de OpenSolver que hacen de este complemento una herramienta intuitiva para el usuario).

carga-opensolver-color

Finalmente seleccionamos “Solve”:

solve-opensolver

El programa se ejecutará y proporcionará (de existir) la solución óptima (X=0 e Y=60) y valor óptimo (V(P)=1.200) del problema de optimización:

solucion-optima-opensolver

Los resultados alcanzados son coincidentes con los alcanzados en la resolución gráfica del problema que hemos abordado en el artículo Qué significa un Precio Sombra igual a Cero en Programación Lineal según muestra la imagen a continuación:

grafico-infinitas-solucione

A continuación puedes descargar el archivo con la resolución en OpenSolver de este problema de modo de que puedas familiarizarte con este complemento de Excel: Modelo de Programación Lineal resuelto con OpenSolver

Problema de Asignación de Horas Académicas a Profesores aplicado a una Universidad Online

El desarrollo de las tecnologías de información ha favorecido un crecimiento sostenido en la oferta académica de las instituciones de educación superior, lo cual ha permitido sumar a la tradicional formación presencial la posibilidad de obtener grados académicos a través de una formación no presencial (online). En este contexto, en la actualidad existen numerosas “Universidades Online” las cuales deben programar horas de apoyo académico de sus distintos cursos por parte de los profesores o docentes hacia los alumnos, con el objetivo de favorecer la comprensión de los contenidos.

Problema de Asignación de Horas Académicas a Profesores

En el siguiente artículo consideraremos un problema de asignación para cubrir las necesidades de apoyo académico para un curso de Economía. Asumiremos que se desea tener exactamente un profesor de turno (para responder preguntas de los alumnos en tiempo real a través de un foro o chat) de Lunes a Viernes de 08:00 AM hasta las 23:00 PM. Los Sábados y Domingo también se desea ofrecer el servicio pero de 08:00 AM hasta las 20:00 PM. Actualmente se cuenta con 10 profesores que cuentan con los conocimientos necesarios para desarrollar los servicios de tutorias y su remuneración (en dólares por hora) depende básicamente de la experiencia en el curso y grado académico. Adicionalmente, debido a los compromisos que tienen dichos profesores con otros cursos de la Universidad, han manifestado su disponibilidad máxima (en horas) para atender los distintos requerimientos según se detalla en la siguiente tabla:

tabla-sueldo-y-disponibilid

Por ejemplo el profesor 1 recibe un salario de 50 dólares la hora y puede trabajar como máximo 5 horas el Lunes, 6 horas el Miércoles y Viernes, 3 horas el Sábado y 2 horas el Domingo. Los días Martes y Jueves el profesor 1 no tiene disponibilidad de tiempo. En base a esta información la Universidad desea determinar una asignación de horas académicas a los profesores de modo de cubrir las necesidades de atención de alumnos al menor costo posible al mismo tiempo de garantizar un mínimo de 5 horas por profesor a la semana. Para enfrentar dicha situación formularemos el siguiente modelo de Programación Lineal:

Variables de Decisión:

variables-problema-profesor

Con i=1,…,10 representando a los profesores y j=1,…,7 los días de la semana don j=1 es el día Lunes y j=7 el día Domingo.

Parámetros:

parametros-problema-profeso

Función Objetivo:

funcion-objetivo-profesores

Se busca minimizar los costos totales de la asignación que considera la ponderación para cada profesor de la cantidad de horas que trabaja durante la semana por el salario por hora (en dólares).

Restricciones:

Se debe cumplir con la cantidad de horas para cada día de la semana (15 horas para cada día de Lunes a Viernes y 12 horas para el Sábado y Domingo).

minimo-horas-dia-profesores

Se desea asignar al menos 5 horas académicas semanales a cada profesor.

minimo-horas-semanales-prof

Se debe respetar la disponibilidad horaria de los profesores durante la semana.

restriccion-de-demanda-prob

Condiciones de no negatividad para las variables de decisión.

no-negatividad-problema-avi

Luego de implementar computacionalmente el modelo de optimización con Solver de Excel se obtiene la siguiente solución óptima con valor óptimo V(P)=US$4.639.

solucion-optima-profesores

El siguiente tutorial de nuestro canal de Youtube muestra la resolución del problema anterior:

Problema de Asignación de Capacidad de un Avión (Programación Lineal)

La industria de transporte de pasajeros enfrenta diariamente el problema de determinar cómo asignar de forma eficiente su capacidad de transporte al momento de ofrecer distintos tipos de tarifas a sus clientes para una ruta específica. Para ello se debe considerar de forma simultanea los ingresos por venta asociados a cada tipo de tarifa, una estimación de demanda de los clientes por dichas tarifas y la capacidad del medio de transporte en términos de la cantidad de asientos.

El siguiente problema considera la formulación y resolución computacional de un Problema de Asignación de capacidad de un avión para una empresa de transporte aéreo. La complejidad del problema y el nivel de detalle de la información se ha simplificado para fines académicos.

Problema de Asignación de Capacidad de un Avión

Consideremos una línea aérea que realiza la ruta Santiago (Chile) a Bogotá (Colombia) con escala en Lima (Perú). Para dicha ruta utiliza un avión con capacidad de 200 pasajeros. El departamento de ventas ha estimado los precios de mercado (en dólares) para las combinaciones de origen destino de 3 tipos de tarifas que actualmente ofrece la empresa: “Tarifa Y” (primera clase), “Tarifa B” (estándar) y “Tarifa C” (turista).

tabla-tarifas-origen-destin

Adicionalmente y según información histórica de esta ruta, la línea aérea ha estimado el número máximo de pasajes que los clientes demandarán por cada combinación de tarifa en un tramo del vuelo. Por ejemplo la demanda máxima esperada para el tramo Santiago (SCL) a Bogota (BOG) en la Tarifa B es de 35 tickets.

maximo-tickets-por-tarifa-o

Con esta información la línea aérea desea determinar cómo asignar la capacidad del avión de modo de ofrecer un determinado número de pasajes para cada tipo de tarifa en un tramo del vuelo. Para ello definiremos el siguiente modelo de Programación Lineal:

Variables de Decisión:

variables-problema-avion

Donde i=1,2,3 representa los distintos tipos de tarifa (Y, B y C, respectivamente) y j=1,2,3 las combinaciones de origen destino (SCL-LIM, LIM-BOG y SCL-BOG, respectivamente).

Parámetros:

parametros-problema-avion

Al utilizar una notación con parámetros podemos representar el modelo de optimización de forma compacta.

Función Objetivo:

funcion-objetivo-problema-a

Restricciones:

Se ofrece para cada tarifa en las combinaciones origen destino un número de tickets que no supere la demanda máxima del mercado.

restriccion-de-demanda-prob

Para cada tramo del vuelo se debe respetar la capacidad total del avión de 200 pasajeros.

restriccion-capacidad-avion

Cuando el avión despega desde Santiago con destino Lima lleva pasajeros con destino tanto a Lima como Bogotá. Por tanto independiente de la tarifa que cada uno de estos pasajeros haya pagado (por ello la sumatoria en las tarifas) no pueden superar la capacidad total del avión. Lo anterior esta garantizado por la primera restricción de capacidad.

La segunda restricción de capacidad es para el tramo desde Lima a Bogotá, donde se consideran adicionalmente los pasajeros que vienen desde Santiago.

Finalmente se definen las condiciones de no negatividad.

no-negatividad-problema-avi

Al resolver con Solver el problema anterior se alcanza la siguiente solución óptima que determina cuántos pasajes debería ofertar la línea aérea para cada combinación de tarifa y origen destino.

solucion-optima-problema-av

El valor óptimo del problema que representa los ingresos totales (en dólares) asociados a la solución óptima propuesta es de US$158.340.

¿Quieres tener el archivo Excel con la resolución en Solver de este problema?.

[sociallocker]Descarga Aquí el Archivo[/sociallocker]