Problema de Manejo de Aves en Programación Lineal

El siguiente artículo aborda la formulación y resolución computacional haciendo uso de AMPL y el solver CPLEX de un modelo de Programación Lineal que trata sobre el manejo óptimo de aves en un criadero con el objetivo de maximizar el valor comercial de su explotación transcurrido un horizonte de planificación de 4 semanas. Se busca dar un especial énfasis al modelamiento matemático y la interpretación intuitiva de la solución óptima y valor óptimo alcanzado de modo de visualizar de forma más sencilla la naturaleza del problema.

Suponga que a un ave de criadero le toma dos semanas poner 12 huevos para la venta o, alternativamente, tener 4 pollos (al empollar 4 huevos). Formule y resuelva un modelo de optimización que provea el mejor programa de manejo de las aves si al cabo de la cuarta semana todas las aves y pollos acumulados son vendidos a USD 0.60 cada unidad y los huevos a USD 0.10 cada unidad. Suponga un inventario inicial de 100 aves y 100 huevos.

Variables de Decisión:

xe0: cantidad de aves empolladoras de huevos inicial
xe2: cantidad de aves empolladoras de huevos al término de la semana 2
xe4: cantidad de aves empolladoras de huevos al término de la semana 4

xp0: cantidad de aves ponedoras de huevos inicial
xp2: cantidad de aves ponedoras de huevos al término de la semana 2
xp4: cantidad de aves ponedoras de huevos al término de la semana 4

ye0: cantidad de huevos inicial para ser empollados
ye2: cantidad de huevos empollados al término de la semana 2
yi0: cantidad de huevos inicial para inventario
yi2: cantidad de huevos en inventario al término de la semana 2

Función Objetivo:

Se desea maximizar el valor comercial del manejo de las aves, donde se obtendrá USD 0.60 por cada una de las 100 aves iniciales y los pollos que se obtienen al empollar (un pollo por cada huevo empollado). Adicionalmente se percibe un ingreso de USD 0.10 por los huevos obtenidos por las aves ponedoras y aquellos que quedan en inventario.

Max 0.6 (100 + ye0 + ye2) + 0.1 (12 xp2 + yi2)

Restricciones:

La cantidad de aves destinadas a empollar (o poner huevos, denominadas también ponedoras) deben ser menor o igual a 100 tanto al inicio del horizonte de planificación como al final de la segunda y cuarta semana. Por supuesto adicionalmente se debe satisfacer las condiciones de no negatividad.

0 ≤ xp0 ≤ 100
0 ≤ xp2 ≤ 100
0 ≤ xp4 ≤ 100
0 ≤ xe0 ≤ 100
0 ≤ xe2 ≤ 100
0 ≤ xe4 ≤ 100

La cantidad de aves destinadas para poner huevos o empollar durante al inicio del horizonte de planificación, al final de la semana 2 y al final de la semana 4, debe ser igual a 100 aves (que son las aves iniciales). Por supuesto los pollitos que puedan haber nacido durante el período de evaluación no están en condiciones de empollar o poner huevos.

xp0 + xe0 = 100
xp2 + xe2 = 100
xp4 + xe4 = 100

Los 100 huevos iniciales pueden ser destinados sólo para 2 propósitos: almacenar en inventario o ser utilizados para ser empollados.

ye0 + yi0 = 100

Por cada ave destinada a empollar (al inicio del horizonte de planificación o al término de la semana 4) se necesitarán exactamente 4 huevos.

ye0 = 4 xe0
ye2 = 4 xe2

La cantidad de huevos inicial para inventario, más los que se obtengan de las aves destinadas inicialmente como ponedoras (12 huevos por cada una de ellas), menos aquellos huevos empollados al término de la semana 2, deberá ser igual a la cantidad de huevos en inventario al término de la semana 2.

yi0 + 12xp0 – ye2 = yi2

Una vez definido el modelo de optimización lineal para el problema de manejo de las aves de criadero, se propone una formulación matemática del mismo en el lenguaje de programación matemática AMPL que da origen al siguiente código (se ha utilizado para estos efectos el software Notepad como editor de texto y el archivo se debe guardar con la extensión .mod).

modelo aves ampl

A continuación podemos seleccionar algunos de los solvers compatibles con AMPL disponibles en la plataforma NEOS Solvers, en particular uno ad hoc a un modelo de Programación Lineal como resulta ser este caso. En este contexto hemos seleccionado CPLEX, cargando el archivo del modelo (que hemos llamado modeloaves.mod) de forma similar a la que usualmente se utiliza para adjuntar un archivo a un correo electrónico. Finalmente ingresamos un email donde deseamos recibir los resultados.

cplex ampl

Al cabo de unos segundos recibiremos un correo electrónico con la solución óptima y valor óptimo del problema. Un extracto del mismo se muestra a continuación:

solución cplex ampl

El valor óptimo corresponde a USD 410 que representa el valor comercial de las aves y huevos al final del período de planificación. En cuanto a la solución óptima esta corresponde a:

xe0: cantidad de aves empolladoras de huevos inicial = 25
xe2: cantidad de aves empolladoras de huevos al término de la semana 2 = 100
xe4: cantidad de aves empolladoras de huevos al término de la semana 4 = 0
xp0: cantidad de aves ponedoras de huevos inicial = 75
xp2: cantidad de aves ponedoras de huevos al término de la semana 2 = 0
xp4: cantidad de aves ponedoras de huevos al término de la semana 4 = 100
ye0: cantidad de huevos inicial para ser empollados = 100
ye2: cantidad de huevos empollados al término de la semana 2 = 400
yi0: cantidad de huevos inicial para inventario = 0
yi2: cantidad de huevos en inventario al término de la semana 2 = 500

Esquemáticamente y con el objetivo de facilitar la interpretación de la solución alcanzada, a continuación se presente una representación de la situación abordada.

Inicio: Se dispone de 100 aves y 100 huevos. De las 100 Aves, 25 de ellas son destinadas a empollar (utilizando cada una ella 4 huevos, por tanto se utiliza la totalidad del inventario inicial de huevos) y 75 aves serán ponedoras.

ave y huevo

Semana 2: Transcurridas las 2 primeras semanas se habrán obtenido 900 huevos (12*75) por parte de las Aves ponedoras y adicionalmente tendremos 100 pollitos (que nacieron luego de que 25 Aves empollaran 4 huevos cada una por un lapso de 2 semanas). Luego se destinan las 100 Aves (por supuesto omitiendo los pollitos) a empollar (requiriendo un total de 400 huevos) y quedando de esta forma 500 huevos en inventario.

aves huevos pollitos

Semana 4: Se dispondrá de 500 pollitos (400 de ellos recién nacidos y los 100 restantes aquellos que nacieron en la Semana 2) y 100 Aves (que son aquellas iniciales y que en suma a los pollitos da un total de 600 aves, cada una con un valor comercial de USD 0.60, es decir, un total de USD 360). Como no se destinaron aves como ponedoras al término de la semana 2, sólo se podrán vender de forma directa aquellos huevos que quedaron en inventario al final de la semana 2 (500 huevos) a un valor unitario de USD 0.10, es decir, USD 50 en total. Se concluye que la valorización total de las aves (incluyendo los pollitos) más los huevos alcanza por tanto USD 410 (360+50).

¿Quieres tener el archivo .mod con la formulación del modelo de optimización en AMPL resuelto en este artículo? (El archivo .mod estará al interior de un archivo comprimido .zip).

[sociallocker]MUCHAS GRACIAS. DESCARGA AQUÍ EL ARCHIVO CON EL MODELO EN AMPL[/sociallocker]