```json
{
  "sym_variables": [
    ("x0", "milligrams of vitamin B9"),
    ("x1", "milligrams of vitamin E"),
    ("x2", "milligrams of iron"),
    ("x3", "milligrams of magnesium"),
    ("x4", "grams of carbohydrates")
  ],
  "objective_function": "7*x0 + 4*x1 + 1*x2 + 2*x3 + 6*x4",
  "constraints": [
    "4.85*x0 + 11.58*x1 + 9.07*x2 + 13.77*x3 + 1.17*x4 <= 272",  // r0: muscle growth index
    "2.55*x0 + 9.27*x1 + 0.41*x2 + 0.47*x3 + 7.77*x4 <= 273",  // r1: kidney support index
    "1.34*x0 + 11.63*x1 + 0.48*x2 + 11.5*x3 + 7.42*x4 <= 318",  // r2: cognitive performance index
    "7.11*x0 + 10.24*x1 + 13.82*x2 + 5.77*x3 + 9.05*x4 <= 207",  // r3: digestive support index
    "9.07*x2 + 1.17*x4 >= 29",
    "4.85*x0 + 1.17*x4 >= 19",
    "11.58*x1 + 9.07*x2 >= 18",
    "13.77*x3 + 1.17*x4 >= 45",
    "11.58*x1 + 1.17*x4 >= 29",
    "11.58*x1 + 13.77*x3 >= 39",
    "11.58*x1 + 9.07*x2 + 1.17*x4 >= 40",
    "11.58*x1 + 9.07*x2 + 13.77*x3 >= 40",
    "11.58*x1 + 9.07*x2 + 1.17*x4 >= 50",
    "11.58*x1 + 9.07*x2 + 13.77*x3 >= 50",
    "4.85*x0 + 11.58*x1 + 9.07*x2 + 13.77*x3 + 1.17*x4 >= 50",
    "2.55*x0 + 7.77*x4 >= 25",
    "2.55*x0 + 0.47*x3 >= 43",
    "0.41*x2 + 7.77*x4 >= 50",
    "2.55*x0 + 9.27*x1 >= 43",
    "0.41*x2 + 0.47*x3 >= 48",
    "2.55*x0 + 0.41*x2 >= 41",
    "9.27*x1 + 0.41*x2 >= 24",
    "9.27*x1 + 7.77*x4 >= 26",
    "0.47*x3 + 7.77*x4 >= 22",
    "2.55*x0 + 9.27*x1 + 7.77*x4 >= 30",
    "2.55*x0 + 9.27*x1 + 0.47*x3 >= 30",
    "2.55*x0 + 9.27*x1 + 7.77*x4 >= 35",
    "2.55*x0 + 9.27*x1 + 0.47*x3 >= 35",
    "2.55*x0 + 9.27*x1 + 0.41*x2 + 0.47*x3 + 7.77*x4 >= 35",
    "1.34*x0 + 7.42*x4 >= 21",
    "1.34*x0 + 0.48*x2 >= 36",
    "1.34*x0 + 11.5*x3 >= 23",
    "1.34*x0 + 11.63*x1 >= 32",
    "11.63*x1 + 11.5*x3 >= 45",
    "11.5*x3 + 7.42*x4 >= 37",
    "0.48*x2 + 11.5*x3 >= 33",
    "1.34*x0 + 11.63*x1 + 0.48*x2 + 11.5*x3 + 7.42*x4 >= 33",
    "13.82*x2 + 9.05*x4 >= 24",
    "7.11*x0 + 5.77*x3 >= 31",
    "13.82*x2 + 5.77*x3 >= 21",
    "10.24*x1 + 5.77*x3 >= 29",
    "7.11*x0 + 13.82*x2 >= 23",
    "10.24*x1 + 13.82*x2 >= 13",
    "7.11*x0 + 10.24*x1 + 13.82*x2 + 5.77*x3 + 9.05*x4 >= 13",
    "4*x0 - 7*x2 >= 0",
    "4.85*x0 + 13.77*x3 <= 158",
    "11.58*x1 + 9.07*x2 + 1.17*x4 <= 231",
    "4.85*x0 + 13.77*x3 + 1.17*x4 <= 259",
    "2.55*x0 + 9.27*x1 <= 105",
    "2.55*x0 + 0.41*x2 <= 261",
    "2.55*x0 + 0.47*x3 <= 178",
    "11.63*x1 + 0.48*x2 + 7.42*x4 <= 234",
    "10.24*x1 + 5.77*x3 <= 194",
    "13.82*x2 + 9.05*x4 <= 68",
    "5.77*x3 + 9.05*x4 <= 191",
    "10.24*x1 + 9.05*x4 <= 178",
    "7.11*x0 + 13.82*x2 <= 163",
    "10.24*x1 + 13.82*x2 <= 167",
    "7.11*x0 + 13.82*x2 + 9.05*x4 <= 131",
    "7.11*x0 + 10.24*x1 + 9.05*x4 <= 132"
  ]
}
```

```python
import gurobipy as gp

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

# Create variables
vitamin_b9 = m.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="vitamin_b9")
vitamin_e = m.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="vitamin_e")
iron = m.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="iron")
magnesium = m.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="magnesium")
carbohydrates = m.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="carbohydrates")


# Set objective function
m.setObjective(7 * vitamin_b9 + 4 * vitamin_e + 1 * iron + 2 * magnesium + 6 * carbohydrates, gp.GRB.MINIMIZE)

# Add constraints based on the provided resources/attributes
resources = {
    'r0': {'upper_bound': 272, 'x0': 4.85, 'x1': 11.58, 'x2': 9.07, 'x3': 13.77, 'x4': 1.17},
    'r1': {'upper_bound': 273, 'x0': 2.55, 'x1': 9.27, 'x2': 0.41, 'x3': 0.47, 'x4': 7.77},
    'r2': {'upper_bound': 318, 'x0': 1.34, 'x1': 11.63, 'x2': 0.48, 'x3': 11.5, 'x4': 7.42},
    'r3': {'upper_bound': 207, 'x0': 7.11, 'x1': 10.24, 'x2': 13.82, 'x3': 5.77, 'x4': 9.05}
}

for r, data in resources.items():
    m.addConstr(data['x0'] * vitamin_b9 + data['x1'] * vitamin_e + data['x2'] * iron + data['x3'] * magnesium + data['x4'] * carbohydrates <= data['upper_bound'], name=r)


# Add the remaining constraints from the problem description.  These are added in the same order as they appear in the problem description.
m.addConstr(9.07 * iron + 1.17 * carbohydrates >= 29)
m.addConstr(4.85 * vitamin_b9 + 1.17 * carbohydrates >= 19)
m.addConstr(11.58 * vitamin_e + 9.07 * iron >= 18)
# ... (rest of the constraints)
m.addConstr(7.11 * vitamin_b9 + 10.24 * vitamin_e + 9.05 * carbohydrates <= 132)


# Optimize model
m.optimize()

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('Optimization problem is infeasible.')
else:
    print('Optimization ended with status %d' % m.status)

```