SciELO - Scientific Electronic Library Online

 
vol.6 issue2Influence of the subespecie of the donator cow in the quantity of total embryos obtained in vitro: a retrospective studyPrevalence of tuberculosis in primates in captivity in the municipality of Florencia, Caquetá author indexsubject indexarticles search
Home Pagealphabetic serial listing  

Services on Demand

Journal

Article

Indicators

Related links

  • On index processCited by Google
  • Have no similar articlesSimilars in SciELO
  • On index processSimilars in Google

Share


CES Medicina Veterinaria y Zootecnia

On-line version ISSN 1900-9607

Ces. Med. Vet. Zootec. vol.6 no.2 Medellín July/Dec. 2011

 

Programación lineal aplicada a la formulación de raciones para rumiantes

Linear programming applied to ruminant ration formulation

Programação linear aplicada à formulação de rações para ruminantes

Ricardo Rosero Noguera1*, Zoot, Esp, MS, PhD; Sandra Lucía Posada1, Zoot, Esp, MS, PhD y Diana María Ortiz2, Est. Zoot.


* Autor para correspondencia: Ricardo Rosero Noguera. Carrera 75 #65- 87, Facultad de ciencias Agrarias, Universidad de Antioquia, Medellin Colombia.
E-mail: ricardonoguera@agronica.udea.edu.co
Para citar este artículo: Rosero R, Posda SL, Ortíz DM. 2011. Programación lineal aplicada a la formulación de raciones para rumiantes. Rev CES Med Vet Zootec. Vol 6 (2): 53-60.
1 Grupo GRICA, Linea de investigación en Ciencias Animales, Facultad de Ciencias Agrarias, Universidad de Antioquia, Carrera 75 No 65-87, Medellín, Colombia.
2 Estudiante Zootecnia, Facultad de Ciencias Pecuarias, Universidad de Nariño, dirección, Nariño, Colombia.

(Recibido: 23 de Mayo de 2011; aceptado: 24 de Noviembre de 2011)


Resumen

La precisión en la formulación de raciones es importante para lograr un balance adecuado de los nutrientes en la fabricación de alimentos concentrados al menor costo posible, con el fin de obtener un buen rendimiento productivo y reproductivo. En la actualidad, existen numerosos programas de formulación de raciones, que en algunos casos resultan costosos. La herramienta SOLVER de Microsoft Excel® para Windows® es un procedimiento de fácil y flexible manejo, cuya ventaja principal es que está disponible en la gran mayoría de computadores que trabajan bajo la plataforma Windows®. El objetivo de este trabajo es presentar el desarrollo de un modelo de programación lineal para la formulación de raciones utilizando el procedimiento SOLVER mediante un ejemplo práctico se describe paso a paso la construcción del modelo y las ecuaciones que dan lugar a la formulación de una ración para vacas lecheras a mínimo costo.

Palabras clave: Algoritmo, mínimo costo, programación lineal.


Abstract

Accuracy in ration formulation is important in order to achieve a proper balance of nutrients in the manufacture of food concentrates at the lowest possible cost, with the goal of obtaining good productive and reproductive performance. Currently, there are numerous ration formulation programs, which in some cases are expensive. The tool, SOLVER, from Microsoft Excel® for Windows® is a procedure that is easy and flexible to use, whose main advantage is it's availability on the vast majority of computers using the Windows ® platform. The objective of this work is to present the development of a linear programming model for the formulation of rations using the SOLVER procedure from Microsoft Excel® for Windows®. Using a practical example, the step-by-step procedure for the mathematical model construction and the equations that lead to the ration formulation for dairy cows at minimum cost are described.

Key words:Algorithm, minimum cost, linear programming.


Resumo

A precisão na formulação de rações é importante para alcançar um balanço adequado de nutrientes na fabrição de alimentos concentrados ao menor custo possível, objetivando adequados rendimentos produtivos e reprodutivos. Na atualidade, existem numerosos programas de formulação de raçoes de custo elevado. A ferramenta SOLVER da Microsoft Excel® para Windows® é um procedimento de fácil manejo e flexibilidade cuja vantagem principal é que esta disponível na grande maioria de computadores que trabalham com Windows®. O objetivo deste trabalho foi apresentar o desenvolvimento de um modelo de programação linear para a formulação de raçoes utilizando o procedimento SOLVER. Mediante um exemplo pratico descreve-se a construção do modelo e as equações que dão lugar à formulação de uma ração para vacas leiteiras a mínimo custo.

Palavras chave: Algoritmo, mínimo custo, programagáo linear.


Introducción

La programación lineal es un algoritmo matemático mediante el cual se resuelve un problema indeterminado, formulado a través de ecuaciones lineales buscando siempre optimizar la función objetivo5. Para el caso de la formulación de raciones, la función objetivo consiste en determinar las proporciones en las cuales las materias primas deben ser mezcladas para satisfacer los requerimientos del animal al mínimo costo posible.

La programación lineal es un procedimiento matemático relativamente reciente cuyo desarrollo data de la mitad del siglo XX1,4. Este avance es catalogado por muchos como uno de los avances científicos más importantes del siglo pasado si tenemos en cuenta su impacto y campo de aplicación en las ciencias, tales como la ingeniería, economía, sociología, biología entre otras2. Se desarrolló durante la segunda guerra mundial para planificar los ingresos y los egresos, reduciendo los costos de la guerra y maximizando el daño en el enemigo3. Los fundadores de la técnica son George Dantzig, quien publicó el algoritmo simplex, en 1947, John von Neumann y Leonid Kantorovich.

Para la construcción de modelos de programación lineal es necesario cumplir con los siguientes requisitos: 1) Definir la función objetivo que la optimización desea alcanzar. En el balance de raciones la función objetivo es formular a mínimo costo; 2) Definir las restricciones y criterios de decisión. Estos límites y criterios de decisión se refieren a las restricciones en cuanto a la utilización de las materias primas y a las características bromatológicas de la ración a formular; 3) Tanto la función objetivo como las restricciones deben ser ecuaciones lineales o desigualdades lineales.

El objetivo de este trabajo es presentar el desarrollo de un modelo de programación lineal para la formulación de raciones utilizando el procedimiento SOLVER de Microsoft Excel® para Windows (Redmond-Washington).

Materiales y métodos

Para explicar la metodología de la programación lineal aplicada a la formulación de raciones para rumiantes será utilizado el siguiente ejemplo hipotético: se desea formular una ración para vacas lecheras en producción, con un peso vivo promedio de 600 kg, una producción diaria de leche de 26 kg corregida al 4% de grasa y con siete semanas de lactancia. La dieta base de los animales esta constituida por pasto kikuyo (Pennisetum clandestinum) cuyas características nutricionales son descritas en la tabla 1. La disponibilidad diaria de materia seca de forraje por animal es de 30 kg y su porcentaje de utilización es del 60%. Los requerimientos nutricionales para esta categoría de animales de acuerdo con las recomendaciones del NRC6 son 28,94 Mcal ENl/día y 2,75 kg de proteína bruta (PB)/día. Se desea que la relación forraje - concentrado sea de 60:40, respectivamente.

En la tabla 1, se describe la composición química del alimento base, las materias primas disponibles y su costo expresado en dólares americanos.

Se estimó que el consumo de materia seca (CMS) de los animales fue de 18,32 kg /día, lo que se hizo utilizando la ecuación7:

CMS= (0,372*PLC+0,0968*PV0,75 ) *(1-e(-°-192 *sl+3 -67 )) de donde:

PLC: Producción de leche corregida al 4% de grasa (kg/día).
PV: Peso vivo del animal
SL: semana de lactancia

Para encontrar las soluciones a las ecuaciones lineales planteadas en el modelo y optimizar la función objetivo fue utilizada la herramienta SOLVER del software Excel® 2007 para Windows®. Este software fue escogido dado que la mayoría de los ordenadores poseen este tipo de hojas de cálculo.

Resultados

El algoritmo matemático para resolver el problema planteado contempla el siguiente procedimiento:

1. Optimizar la función objetivo

W = C7X7 + C2X2 +.....+ CWXW

de donde:

W: corresponde al mínimo valor (costo) de la ración que satisface las restricciones, niveles de inclusión y concentración de nutrientes de la dieta formulada.

CWXW: corresponde a la n-ésima cantidad de materia prima multiplicada por el n-esimo valor de esa materia prima en el mercado.

2. La función objetivo deberá estar supeditada a:

C7P7 + C2P2 + ..... + CnPn ≥ ó ≤ Z

En la cual:

CnPn: corresponde a la n-ésima cantidad de materia prima multiplicada por la n-ésima concentración del nutriente en esa materia prima.

Z: corresponde a la concentración del nutriente en la dieta final. Esa concentración puede tener un valor fijo o variar dentro de un intervalo previamente determinado.

3. Restringir todas las variables para que tomen valores mayores o iguales que cero:

C7 ≥ 0, C2 ≥ 0... Cn0

de donde:

Cn: corresponde a la cantidad de la n-ésima materia prima dentro de la formulación cuyo valor debe ser positivo.

Las hojas de cálculo permiten resolver este tipo de problemas a través de procesos iterativos. El primer paso es introducir la información correspondiente a la composición de las materias primas que serán utilizadas en la formulación, su composición, su valor comercial en el mercado y reservar una columna para que el programa calcule la participación de las materias en la dieta. El siguiente paso es definir la función objetivo, esto es, multiplicar el costo de cada materia prima por su correspondiente cantidad como ilustrado en la figura 1.

Una vez definida la función objetivo es necesario establecer a que estará supeditada dicha función. Estas restricciones se construyen de acuerdo a las características que se desean en la dieta final, por ejemplo, para el caso de la proteína, el requerimiento del animal es de 2,75 kg de PB/día. Eso significa que la sumatoria del producto entre la cantidad de una materia prima en la dieta y su respectiva concentración de PB debe ser igual a 2,75 kg de PB, tal como puede ser observado en la figura 2.

En la figura 2, también son descritas las restricciones para la concentración de energía y las proporciones de forraje concentrado (60:40) en la dieta final. Estas restricciones se construyen de la misma forma descrita para el caso de la PB.

Una vez establecida la función objetivo y las restricciones es necesario recurrir a la herramienta SOLVER para que a través de un proceso iterativo estime las cantidades en las cuales las materias primas deben participar en la dieta final. Para llegar a la herramienta SOLVER es necesario acceder a menú DATOS, como ilustrado en la figura 3.

Para resolver el sistema de ecuaciones SOLVER solicita $I$15 = $H$15 Garantiza que la cantidad de proteína de una serie de parámetros que a continuación se describen: la dieta estimada cubre el requerimiento del animal.

Definir celda objetivo

Es necesario especificar la celda objetivo que se desea definir con un valor determinado o que se desea maximizar o minimizar. La celda debe contener una fórmula.

Valor de la celda objetivo

Específica si se desea maximizar o minimizar la celda objetivo, o bien definirla con un valor específico. Para el caso de formulación de raciones se busca formular una dieta a mínimo costo.

Cambiando las celdas

En el recuadro es necesario especificar las celdas que pueden ajustarse hasta que se satisfagan las restricciones en la dieta. Las celdas ajustables deben estar directa o indirectamente relacionadas con las celdas objetivo. Para nuestro caso en el recuadro se señala el intervalo de celdas donde deseamos que SOLVER estime las cantidades en las cuales las materias primas deben participar para obtener la dieta final (Figura 3).

Sujeto a las siguientes restricciones

Muestra una lista de las restricciones actuales en el problema. Se ofrece la posibilidad de agregar, cambiar o eliminar una restricción determinada. A continuación se describen las restricciones estipuladas para dar solución al problema (Figura 3):

$F$4:$F$9 > = 0 Especifica que las cantidades estimadas de las materias primas que participaran en la dieta final tienen que ser positivas.

$F$8 > = 0,5 Determina que la cantidad de grasa en la ración no debe ser inferior a 500 gramos. En este caso estamos fijando un límite mínimo de inclusión de esta materia prima en la dieta.

$F$9 > = 0,082 Limita la cantidad de urea en la ración, esto con el fin de garantizar que no mas de un tercio de la proteína de la dieta provenga de la urea.

$I$16 = $H$16 Garantiza que la cantidad de energía de la dieta estimada cubre el requerimiento del animal.

$I$17<= $H$17 y $I$18 = $H$18 Garantizan que la proporción forraje concentrado se mantenga en la reciprocidad establecida (60:40).

Con esta información SOLVER es capaz de dar solución al problema planteado como puede ser verificado en la figura 4.

El programa estima las proporciones de las materias primas que satisfacen a plenitud las restricciones impuestas. De igual manera en la celda objetivo aparece descrito el valor de la ración estimado con el criterio de mínimo costo.

Discusión

La programación lineal involucra la selección de un conjunto de variables de decisión y sus cantidades (ej. kilogramos de maíz por vaca por día) que maximizan (o minimizan) una función lineal objetivo (ej. retorno de dinero por encima del costo del alimento por vaca por día en el caso de la maximización o costo del alimento por vaca por día en el caso de la minimización) y una serie de restricciones lineales (ej. consumo de materia seca, energía neta requerida por día, etc.). De igual manera para el caso de la formulación de raciones se requiere que las variables de decisión no sean negativas (ej. las cantidades de alimento por día para una vaca no pueden ser negativas). En términos algebraicos las expresiones que representan estos requerimientos son:

Maximice (o minimice)

Z=Σ cjxj para j= 1,...,N

Sujeto a:

Σ aijxj , =,≥, o bi para i= 1,...,M

y

cj 0.

Los coeficientes de decisión que maximizan o minimizan la función (Z) generalmente corresponden al producto de la cantidad de alimento (cj) en kilogramos y el costo por kilogramo de alimento (xj), sujeto a una o a una serie de restricciones (bi) asociadas con los niveles máximos o mínimos de inclusión de una materia prima en la ración y los requerimientos nutricionales de la especie animal a la cual se destinará la ración.

Los sistemas de ecuaciones resueltos por programación lineal deben cumplir con las siguientes características: divisibilidad, proporcionalidad, aditividad, no hacer uso de disyunciones inclusivas (y/o) y ser determinísticos. En el caso de la divisibilidad, todas las variables de decisión pueden ser divididas en alguna fracción (ej. cantidad de alimento por vaca por día). La proporcionalidad significa que para alguna variable de decisión dada, su efecto sobre el costo y el aporte de nutrientes es recíproco a su participación dentro de la formulación (ej. un kg de maíz cuesta US$ 0.50, dos kg de maíz costarán US$ 1 dólar).

La aditividad significa que el costo total de la dieta es igual a la suma de los costos individuales y que la contribución total para la i-ésima restricción es la suma de las contribuciones de los alimentos individuales. La aditividad ignora sinergismos y antagonismos entre nutrientes. Un ejemplo claro lo constituyen las grasas y los carbohidratos solubles en una ración, supongamos que formulamos una ración para contener 1,8 Mcal ENl y la fuente principal de energía es el almidón, si sustituimos el 80% de la energía aportada por el almidón por grasa, lograremos mantener la energía de la ración en 1,8 Mcal ENl, pero su efecto para las bacterias a nivel ruminal podría ser adverso.

La utilización de disyunciones inclusivas (y/o) no pueden ser manejadas a través de un simple algoritmo. Por ejemplo, es imposible a través de la programación lineal afirmar: incluya el suplemento uno y el suplemento dos, pero no ambos al mismo tiempo. Modelos más sofisticados son necesarios para hacer dichas programaciones.

Determinístico significa que bajo las mismas condiciones de formulación (restricciones, materias primas, composición y costo) el resultado siempre será el mismo.

La utilización de la programación lineal a través de hojas de cálculo ofrece múltiples ventajas a los nutricionistas, al permitir cierta flexibilidad para describir alimentos y formular raciones prácticas y ajustadas a los requerimientos del animal. Por otra parte, es una valiosa herramienta que permite combinar un complicado conjunto de requerimientos, nutrientes y costos para formular raciones relativamente bien balanceadas. Desde el punto de vista académico la formulación de dietas utilizando programación lineal, permite crear diferentes escenarios productivos, que permiten al estudiante o profesional tener un mayor número de herramientas y criterios para la toma de decisiones.

La programación lineal posee una amplia aplicación en las ciencias, que cuando utilizada permite maximizar la utilización de los recursos y reducir los costos de producción. A manera de ilustración, este artículo reporta como paso a paso fue construido un algoritmo que permite utilizar la programación lineal en la formulación de raciones para animales.


Referencias

1. Barbosa, PS. 1997. Técnicas quantitativas para o gerenciamento de recursos hídricos. Ed. Universidade/UFRGS/Associaçáo brasileira de Recursos Hídricos. Porto Alegre. 6, 420p.         [ Links ]

2. Coló, A; Patritti, H. 2003. Introducción a la producción lineal. Uruguay. 3 p. [noviembre 1 de 2011 ]http://www.utu.edu.uy/Publicaciones/Publicadones%20Educativas/Libros%20de%20Matematica/PROGRAMACION%20LINEAL.pdf.         [ Links ]

3. Megiddo, N. 1991. Linear programming. Encyclopedia mycrocomputers. 8 p. [septiembre 29 de 2011] http://theory.stanford.edu/~megiddo/pdf/lpencyc1.pdf.         [ Links ]

4. Simonovic, S. 1992. Reservoir system analysis: closing gap between theory and practice. Journal of Water Resources Planning and Management; 118 (3): 262-280.         [ Links ]

5. Silva, FA; Perin, CF.1996. Programacáo Linear por Partes: Revisáo Teórica e Aplicacóes. Belo Horizonte. 16 (2): 146-163.         [ Links ]

6. NRC. 1989. Nutrient Requirements of Dairy Cattle (6th Ed.). National Academy Press, Washington, DC.         [ Links ]

7. NRC. 2001. Nutrient Requirements of Dairy Cattle (7th Ed.). National Academy Press, Washington, DC.         [ Links ]