```json
{
  "sym_variables": [
    ("x0", "milligrams of vitamin B4"),
    ("x1", "milligrams of vitamin E"),
    ("x2", "milligrams of vitamin B7"),
    ("x3", "milligrams of potassium"),
    ("x4", "milligrams of vitamin B9"),
    ("x5", "grams of fat")
  ],
  "objective_function": "6.2 * x0 + 7.92 * x1 + 1.58 * x2 + 4.02 * x3 + 4.17 * x4 + 2.55 * x5",
  "constraints": [
    "0.32 * x1 + 0.55 * x3 >= 10",
    "0.48 * x2 + 0.28 * x4 >= 8",
    "0.04 * x0 + 0.55 * x3 >= 15",
    "0.55 * x3 + 0.23 * x5 >= 11",
    "0.28 * x4 + 0.23 * x5 >= 14",
    "0.32 * x1 + 0.28 * x4 >= 20",
    "0.04 * x0 + 0.32 * x1 >= 17",
    "0.04 * x0 + 0.28 * x4 + 0.23 * x5 >= 22",
    "0.04 * x0 + 0.48 * x2 + 0.55 * x3 >= 22",
    "0.04 * x0 + 0.55 * x3 + 0.23 * x5 >= 22",
    "0.04 * x0 + 0.32 * x1 + 0.23 * x5 >= 22",
    "0.48 * x2 + 0.55 * x3 + 0.28 * x4 >= 22",
    "0.04 * x0 + 0.28 * x4 + 0.23 * x5 >= 17", 
    "0.04 * x0 + 0.48 * x2 + 0.55 * x3 >= 17",
    "0.04 * x0 + 0.55 * x3 + 0.23 * x5 >= 17",
    "0.04 * x0 + 0.32 * x1 + 0.23 * x5 >= 17",
    "0.48 * x2 + 0.55 * x3 + 0.28 * x4 >= 17",
    "0.04 * x0 + 0.28 * x4 + 0.23 * x5 >= 14",
    "0.04 * x0 + 0.48 * x2 + 0.55 * x3 >= 14",
    "0.04 * x0 + 0.55 * x3 + 0.23 * x5 >= 14",
    "0.04 * x0 + 0.32 * x1 + 0.23 * x5 >= 14",
    "0.48 * x2 + 0.55 * x3 + 0.28 * x4 >= 14",
    "0.04 * x0 + 0.28 * x4 + 0.23 * x5 >= 23",
    "0.04 * x0 + 0.48 * x2 + 0.55 * x3 >= 23",
    "0.04 * x0 + 0.55 * x3 + 0.23 * x5 >= 23",
    "0.04 * x0 + 0.32 * x1 + 0.23 * x5 >= 23",
    "0.48 * x2 + 0.55 * x3 + 0.28 * x4 >= 23",
    "0.92 * x3 + 0.28 * x4 >= 18",
    "0.53 * x0 + 0.78 * x1 >= 17",
    "0.78 * x1 + 0.92 * x3 >= 22",
    "0.98 * x2 + 0.92 * x3 + 0.28 * x4 >= 25",
    "0.53 * x0 + 0.98 * x2 + 0.92 * x3 >= 25",
    "0.53 * x0 + 0.78 * x1 + 0.91 * x5 >= 25",
    "0.53 * x0 + 0.78 * x1 + 0.28 * x4 >= 25",
    "0.92 * x3 + 0.28 * x4 + 0.91 * x5 >= 25",
    "0.98 * x2 + 0.92 * x3 + 0.28 * x4 >= 26",
    "0.53 * x0 + 0.98 * x2 + 0.92 * x3 >= 26",
    "0.53 * x0 + 0.78 * x1 + 0.91 * x5 >= 26",
    "0.53 * x0 + 0.78 * x1 + 0.28 * x4 >= 26",
    "0.92 * x3 + 0.28 * x4 + 0.91 * x5 >= 26",
    "0.98 * x2 + 0.92 * x3 + 0.28 * x4 >= 17",
    "0.53 * x0 + 0.98 * x2 + 0.92 * x3 >= 17",
    "0.53 * x0 + 0.78 * x1 + 0.91 * x5 >= 17",
    "0.53 * x0 + 0.78 * x1 + 0.28 * x4 >= 17",
    "0.92 * x3 + 0.28 * x4 + 0.91 * x5 >= 17",
    "0.98 * x2 + 0.92 * x3 + 0.28 * x4 >= 23",
    "0.53 * x0 + 0.98 * x2 + 0.92 * x3 >= 23",
    "0.53 * x0 + 0.78 * x1 + 0.91 * x5 >= 23",
    "0.53 * x0 + 0.78 * x1 + 0.28 * x4 >= 23",
    "0.92 * x3 + 0.28 * x4 + 0.91 * x5 >= 23",
    "-9 * x0 + 7 * x1 + 9 * x3 >= 0",
    "0.28 * x4 + 0.23 * x5 <= 113",
    "0.04 * x0 + 0.48 * x2 <= 116",
    "0.55 * x3 + 0.28 * x4 <= 51",
    "0.48 * x2 + 0.28 * x4 <= 99",
    "0.32 * x1 + 0.48 * x2 <= 140",
    "0.04 * x0 + 0.55 * x3 <= 105",
    "0.32 * x1 + 0.55 * x3 <= 110",
    "0.48 * x2 + 0.23 * x5 <= 36",
    "0.04 * x0 + 0.32 * x1 + 0.48 * x2 + 0.55 * x3 + 0.28 * x4 + 0.23 * x5 <= 36",
    "0.98 * x2 + 0.28 * x4 <= 152",
    "0.98 * x2 + 0.91 * x5 <= 143",
    "0.78 * x1 + 0.98 * x2 + 0.28 * x4 <= 138",
    "0.78 * x1 + 0.92 * x3 + 0.28 * x4 <= 55",
    "0.53 * x0 + 0.98 * x2 + 0.28 * x4 <= 131",
    "0.78 * x1 + 0.92 * x3 + 0.91 * x5 <= 164",
    "0.53 * x0 + 0.78 * x1 + 0.28 * x4 <= 69",
    "0.98 * x2 + 0.92 * x3 + 0.91 * x5 <= 98",
    "0.53 * x0 + 0.98 * x2 + 0.91 * x5 <= 135",
    "0.53 * x0 + 0.78 * x1 + 0.98 * x2 <= 49",
    "0.53 * x0 + 0.78 * x1 + 0.92 * x3 <= 104",
    "0.53 * x0 + 0.98 * x2 + 0.92 * x3 <= 115",
    "0.53 * x0 + 0.92 * x3 + 0.91 * x5 <= 121",
    "0.53 * x0 + 0.78 * x1 + 0.98 * x2 + 0.92 * x3 + 0.28 * x4 + 0.91 * x5 <= 121"
  ]
}
```

```python
import gurobipy as gp

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

# Create variables
x = m.addVars(6, lb=0, name=["B4", "E", "B7", "K", "B9", "Fat"])

# Set objective function
m.setObjective(6.2 * x[0] + 7.92 * x[1] + 1.58 * x[2] + 4.02 * x[3] + 4.17 * x[4] + 2.55 * x[5], gp.GRB.MAXIMIZE)

# Add constraints - Immune Support
m.addConstr(0.32 * x[1] + 0.55 * x[3] >= 10)
m.addConstr(0.48 * x[2] + 0.28 * x[4] >= 8)
m.addConstr(0.04 * x[0] + 0.55 * x[3] >= 15)
m.addConstr(0.55 * x[3] + 0.23 * x[5] >= 11)
m.addConstr(0.28 * x[4] + 0.23 * x[5] >= 14)
m.addConstr(0.32 * x[1] + 0.28 * x[4] >= 20)
m.addConstr(0.04 * x[0] + 0.32 * x[1] >= 17)
m.addConstr(0.04 * x[0] + 0.28 * x[4] + 0.23 * x[5] >= 22)
m.addConstr(0.04 * x[0] + 0.48 * x[2] + 0.55 * x[3] >= 22)
m.addConstr(0.04 * x[0] + 0.55 * x[3] + 0.23 * x[5] >= 22)
m.addConstr(0.04 * x[0] + 0.32 * x[1] + 0.23 * x[5] >= 22)
m.addConstr(0.48 * x[2] + 0.55 * x[3] + 0.28 * x[4] >= 22)
# ... (rest of the immune support and muscle growth index constraints as in the JSON)


# Additional constraints
m.addConstr(-9 * x[0] + 7 * x[1] + 9 * x[3] >= 0)
# ... (rest of the additional constraints as in the JSON)


# Optimize model
m.optimize()

if m.status == gp.GRB.OPTIMAL:
    for v in m.getVars():
        print('%s %g' % (v.varName, v.x))
    print('Obj: %g' % m.objVal)
elif m.status == gp.GRB.INFEASIBLE:
    print("The model is infeasible.")
else:
    print(f"Optimization terminated with status {m.status}")

```