Investigación operativa: problema de dieta
Enviado por Camila Campusano • 16 de Abril de 2022 • Ensayo • 969 Palabras (4 Páginas) • 96 Visitas
[pic 1] [pic 2]
Investigación Operativa I
Taller 1
Integrantes: José Delgado
Camila Ramírez
Álvaro Silva
Procedimiento solver-excel
Se comienza definiendo las variables X1, X2, X3, X4 y X5 como ingredientes 1, 2, 3, 4 y 5 respectivamente. Luego se le atribuye a cada ingrediente una cantidad determinada de nutrientes tales como proteinas, fibra, carbohidratos y vitaminas, además de sus respectivas calorías y costos. Cabe destacar que las proteinas, fibra y carbohidratos se presentan en procentajes, mientras que el aporte calórico se mide por kilogramo de ingrediente y las vitaminas estan dadas en gramos.
A continuación se presenta la tabla de dichos datos.
Ingredientes | Proteínas | Fibra | Carbohidratos | Vitaminas | Calorías | Costo |
X1 | 5 | 15 | 10 | 5 | 1000 | 60 |
X2 | 30 | 0 | 12 | 0 | 700 | 100 |
X3 | 5 | 25 | 20 | 12 | 750 | 80 |
X4 | 40 | 0 | 8 | 7 | 1000 | 150 |
X5 | 35 | 0 | 10 | 10 | 800 | 90 |
Se propone que las proteínas sean mayores o igual al 10%, la fibra no sobrepase el 60%, los hidratos de carbono sean menores o igual al 60%, las vitaminas se encuentre en el rango de 5 a 30 gramos y las calorías totales tengan un valor entre 1000 y 2500, además de esto la cantidad no debe sobrepasar los 5 alimentos. Con lo dicho anteriormente se busca encontrar un dieta que contenga el menor costo posible.
Para ello se define el siguiente modelo de programación lineal:
- Variables de decisión: -Xi: cantidad de alimento a consumir diariamente con i =(1,2,3,4,5).
- Función objetivo: Minimizar 60X1+100X2+80X3+150X4+90X5
- Restricciones:
-Proteínas: 5X1+30X2+5X3+40X4+35X5 ≥ 10
-Fibra: 15X1+25X3 ≤ 60
-Carbohidratos: 10X1+12X2+20X3+8X4+10X5 ≤ 60
-Vitaminas: 5 ≤ 5X1+12X3+7X4+10X5 ≤ 30
-Calorías: 1000 ≤ 1000X1+700X2+750X3+1000X4+800X5 ≤ 2500
- X1+X2+X3+X4+X5 = 1
- Solución óptima: X1=0,857142857142857, X2=0, X3=0, X4=0,142857142857143, X5=3,46944695195361E-17
- Valor óptimo: $72,8571428571429
Procedimiento python-gurobi
El siguiente procedimiento empieza importando las librerias necesarias para el análisis mediante python, de los cuales destaca la librería llamada gurobi. Luego se procede a descargar el excel llamado “problema_dieta” dándole la variable de “df”. Posteriormente se crea la matriz de ingredientes comenzando desde el ingrediente 1 que se respresenta con la poscición 0 y continúa enumerándose así hasta llegar el ingrediente 5 representado por la posición 4. A partir de esto se le asigna la variable “model” al modelamiento del problema basado en una dieta alimentaria diaria, luego se identifica la variable proteína denotada por la letra P y es agregada a la lista, se sigue así sucesivamente con las variables fibra (F), carbohidratos (CH), vitaminas (V), calorías (C) y costos (Costos), dividiendo la lista en las distintas variables mencionadas. En este punto ya se identifica que la variable decisión toma un valor continuo, es decir, se trata de un problema de optimización continua. A continuación se define la función obejtivo, mediante gurobi, como la miniminación de los costos (aplicando el código “GRB.MINIMIZE”) y al igual que en un modelamiento lineal por solver, se definen las restricciones en forma de sistema de ecuaciones, para esto se utiliza el código “quicksum”. Adicional a las restricciones de cada variable se incluye una restricción de todas las sumas igual a 1 debido a que los datos están expresados en procentajes. A continuación se muestra el modelamiento.
...