```json
{
  "sym_variables": [
    ("x0", "milligrams of vitamin B6"),
    ("x1", "milligrams of vitamin D"),
    ("x2", "grams of protein"),
    ("x3", "milligrams of zinc"),
    ("x4", "milligrams of calcium")
  ],
  "objective_function": "7.33 * x0 + 7.3 * x1 + 7.5 * x2 + 6.75 * x3 + 6.04 * x4",
  "constraints": [
    "7 * x3 + 14 * x4 >= 40",
    "5 * x2 + 14 * x4 >= 40",
    "1 * x1 + 14 * x4 >= 31",
    "1 * x1 + 5 * x2 >= 24",
    "5 * x0 + 1 * x1 + 5 * x2 + 7 * x3 + 14 * x4 >= 24",
    "9 * x2 + 5 * x4 >= 35",
    "14 * x0 + 9 * x2 >= 30",
    "14 * x0 + 5 * x4 >= 21",
    "18 * x1 + 5 * x4 >= 36",
    "14 * x0 + 20 * x3 >= 39",
    "18 * x1 + 20 * x3 >= 38",
    "9 * x2 + 20 * x3 + 5 * x4 >= 23",
    "14 * x0 + 18 * x1 + 9 * x2 + 20 * x3 + 5 * x4 >= 23",
    "9 * x1 + 9 * x2 >= 24",
    "9 * x1 + 10 * x4 >= 36",
    "9 * x2 + 10 * x4 >= 19",
    "4 * x0 + 10 * x4 >= 27",
    "9 * x2 + 5 * x3 >= 41",
    "4 * x0 + 9 * x1 >= 20",
    "4 * x0 + 9 * x2 >= 29",
    "4 * x0 + 9 * x1 + 9 * x2 >= 44",
    "4 * x0 + 9 * x2 + 10 * x4 >= 44",
    "4 * x0 + 9 * x2 + 5 * x3 >= 44",
    "9 * x2 + 5 * x3 + 10 * x4 >= 44",
    "4 * x0 + 9 * x1 + 9 * x2 >= 43",
    "4 * x0 + 9 * x2 + 10 * x4 >= 43",
    "4 * x0 + 9 * x2 + 5 * x3 >= 43",
    "9 * x2 + 5 * x3 + 10 * x4 >= 43",
    "4 * x0 + 9 * x1 + 9 * x2 >= 25",
    "4 * x0 + 9 * x2 + 10 * x4 >= 25",
    "4 * x0 + 9 * x2 + 5 * x3 >= 25",
    "9 * x2 + 5 * x3 + 10 * x4 >= 25",
    "4 * x0 + 9 * x1 + 9 * x2 >= 43",
    "4 * x0 + 9 * x2 + 10 * x4 >= 43",
    "4 * x0 + 9 * x2 + 5 * x3 >= 43",
    "9 * x2 + 5 * x3 + 10 * x4 >= 43",
    "4 * x0 + 9 * x1 + 9 * x2 + 5 * x3 + 10 * x4 >= 43",
    "1 * x0 - 2 * x4 >= 0",
    "-4 * x0 + 2 * x1 >= 0",
    "5 * x0 + 14 * x4 <= 116",
    "x1 + 14 * x4 <= 70",
    "x1 + 7 * x3 <= 55",
    "5 * x0 + x1 <= 136",
    "5 * x0 + 7 * x3 <= 45",
    "5 * x2 + 7 * x3 <= 88",
    "5 * x0 + 5 * x2 <= 131",
    "x1 + 5 * x2 + 7 * x3 <= 154",
    "5 * x0 + x1 + 5 * x2 <= 96",
    "x1 + 5 * x2 + 14 * x4 <= 197",
    "5 * x0 + x1 + 14 * x4 <= 216",
    "5 * x0 + 5 * x2 + 14 * x4 <= 65",
    "18 * x1 + 20 * x3 <= 205",
    "9 * x2 + 5 * x4 <= 116",
    "14 * x0 + 18 * x1 + 20 * x3 <= 106",
    "14 * x0 + 18 * x1 + 5 * x4 <= 130",
    "5 * x3 + 10 * x4 <= 178",
    "9 * x1 + 9 * x2 <= 96",
    "4 * x0 + 9 * x2 <= 175",
    "9 * x2 + 10 * x4 <= 52",
    "9 * x1 + 5 * x3 + 10 * x4 <= 187",
    "x0 >= 0",
    "x1 >= 0",
    "x2 >= 0",
    "x3 >= 0",
    "x4 >= 0",
    "x2 == int",
    "x4 == int"

  ]
}
```

```python
import gurobipy as gp

# Create a new model
m = gp.Model("nutrition_optimization")

# Create variables
vitamin_b6 = m.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="vitamin_b6")
vitamin_d = m.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="vitamin_d")
protein = m.addVar(lb=0, vtype=gp.GRB.INTEGER, name="protein")
zinc = m.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="zinc")
calcium = m.addVar(lb=0, vtype=gp.GRB.INTEGER, name="calcium")


# Set objective function
m.setObjective(7.33 * vitamin_b6 + 7.3 * vitamin_d + 7.5 * protein + 6.75 * zinc + 6.04 * calcium, gp.GRB.MINIMIZE)

# Add constraints
m.addConstr(7 * zinc + 14 * calcium >= 40)
m.addConstr(5 * protein + 14 * calcium >= 40)
m.addConstr(vitamin_d + 14 * calcium >= 31)
m.addConstr(vitamin_d + 5 * protein >= 24)
m.addConstr(5 * vitamin_b6 + vitamin_d + 5 * protein + 7 * zinc + 14 * calcium >= 24)
m.addConstr(9 * protein + 5 * calcium >= 35)
m.addConstr(14 * vitamin_b6 + 9 * protein >= 30)
m.addConstr(14 * vitamin_b6 + 5 * calcium >= 21)
m.addConstr(18 * vitamin_d + 5 * calcium >= 36)
m.addConstr(14 * vitamin_b6 + 20 * zinc >= 39)
m.addConstr(18 * vitamin_d + 20 * zinc >= 38)
m.addConstr(9 * protein + 20 * zinc + 5 * calcium >= 23)
m.addConstr(14 * vitamin_b6 + 18 * vitamin_d + 9 * protein + 20 * zinc + 5 * calcium >= 23)
m.addConstr(9 * vitamin_d + 9 * protein >= 24)
m.addConstr(9 * vitamin_d + 10 * calcium >= 36)
m.addConstr(9 * protein + 10 * calcium >= 19)
m.addConstr(4 * vitamin_b6 + 10 * calcium >= 27)
m.addConstr(9 * protein + 5 * zinc >= 41)
m.addConstr(4 * vitamin_b6 + 9 * vitamin_d >= 20)
m.addConstr(4 * vitamin_b6 + 9 * protein >= 29)

# Add remaining constraints similarly


# Optimize model
m.optimize()

# Print results
if m.status == gp.GRB.OPTIMAL:
    print('Obj: %g' % m.objVal)
    for v in m.getVars():
        print('%s %g' % (v.varName, v.x))
elif m.status == gp.GRB.INFEASIBLE:
    print("The model is infeasible.")
else:
    print("Optimization ended with status %d" % m.status)

```
