0% encontró este documento útil (0 votos)
635 vistas2 páginas

Optimización de la dieta para batallones

Este documento presenta un problema de optimización de dieta planteado por un nutricionista. El objetivo es minimizar el costo de tres alimentos (carne, papa y habichuela) que proveen las vitaminas necesarias para un batallón, sujeto a restricciones en las porciones mínimas diarias requeridas de cada vitamina. La solución utiliza programación lineal en SageMath, arrojando que las cantidades óptimas son 3 onzas de carne, 2 onzas de papa y 4 onzas de habichuela, para un costo total

Cargado por

Edwin Araque
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
635 vistas2 páginas

Optimización de la dieta para batallones

Este documento presenta un problema de optimización de dieta planteado por un nutricionista. El objetivo es minimizar el costo de tres alimentos (carne, papa y habichuela) que proveen las vitaminas necesarias para un batallón, sujeto a restricciones en las porciones mínimas diarias requeridas de cada vitamina. La solución utiliza programación lineal en SageMath, arrojando que las cantidades óptimas son 3 onzas de carne, 2 onzas de papa y 4 onzas de habichuela, para un costo total

Cargado por

Edwin Araque
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

PROBLEMA DE LA DIETA

OPTIMIZACIÓN
Edwin René Araque Alarcón
Escuela de Matemáticas, Universidad Industrial de Santander, Bucaramanga, Colombia

Octubre 2018

Problema de la dieta
Un nutricionista está planeando la alimentación para un batallón. Se sirven 3 alimentos
principales, carne, papa, habichuela. Todos ellos con distinto contenido vitamínico. El
nutricionista quiere suministrar tres vitaminas en la alimentación, con un tama[U+FFFD]
la porción total de 9 onzas por lo menos.

En la siguiente tabla se muestra la cantidad de vitaminas que proporciona cada


onza de alimento:
vitamina1 vitamina2 vitamina3
carne 50mg. 20mg. 10mg.
papa 30mg. 10mg. 50mg.
habichuela 20mg. 30mg. 20mg.

El costo por cada onza de carne, papa, habichuela son US$0.10, US$0.15, US$0.12 respec-
tivamente.

Objetivo
Determinar el numero de onzas que se requiere para cada alimento, con el objeto de mini-
mizar el costo. Se debe tener en cuenta que una persona requiere raciones mínimas diarias
de: 290 mg., 200 mg.,210 mg., para las vitaminas 1, 2 y 3 respectivamente.

Solución
Definición de variables:
x1 : nmerodeonzasdecarne.
x2 : nmerodeonzasdepapa.
x3 : nmerodeonzasdehabichuela.

1
La función objetivo( función costo ) es: minimizar Z = 0.10x1 + 0.15x2 + 0.12x3 su-
jeto a las suiguientes desigualdades:

50x1 + 30x2 + 20x3 ≥ 290


20x1 + 10x2 + 30x3 ≥ 200
10x1 + 50x2 + 20x3 ≥ 290
x1 + x2 + x3 ≥ 9

A continuación el código utilizado en SAGEMATH para dar solución al problema


de programación lineal.

In [1]: LP=MixedIntegerLinearProgram(maximization=False)
x=LP.new_variable()
LP.add_constraint(50*x[1]+30*x[2]+20*x[3]>=290)
LP.add_constraint(20*x[1]+10*x[2]+30*x[3]>=200)
LP.add_constraint(10*x[1]+50*x[2]+20*x[3]>=210)
LP.add_constraint(x[1]+x[2]+x[3]>=9)
LP.add_constraint(x[1]>=0)
LP.add_constraint(x[2]>=0)
LP.add_constraint(x[3]>=0)
LP.set_objective(0.10*x[1]+0.15*x[2]+0.12*x[3])
print [Link]()
print LP.get_values(x)

1.08
{1: 3.0, 2: 2.0, 3: 4.000000000000001}

La función costo evaluada en el punto (3, 2, 4) da como resultado US$1.08, asi x1 =


3, x2 = 2, x3 = 4 minimizan la funcion costo a US$1.08.
x1 : nmerodeonzasdecarne.
x2 : nmerodeonzasdepapa.
x3 : nmerodeonzasdehabichuela.

También podría gustarte