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.