```json
{
  "sym_variables": [
    ("x0", "milligrams of potassium"),
    ("x1", "milligrams of vitamin B1"),
    ("x2", "milligrams of vitamin E"),
    ("x3", "milligrams of iron"),
    ("x4", "milligrams of zinc"),
    ("x5", "milligrams of vitamin B9")
  ],
  "objective_function": "2.37*x0**2 + 6.17*x0*x1 + 1.13*x0*x2 + 2.53*x0*x3 + 8.75*x0*x4 + 6.78*x1**2 + 4.52*x1*x2 + 9.5*x1*x3 + 8.49*x1*x4 + 3.58*x1*x5 + 4.18*x2**2 + 4.88*x2*x3 + 3.82*x2*x4 + 9.6*x3**2 + 5.47*x3*x4 + 3.79*x3*x5 + 3.65*x4*x5 + 9.25*x5**2 + 9.46*x0 + 2.03*x1 + 9.34*x2 + 7.69*x3 + 6.98*x4 + 7.05*x5",
  "constraints": [
    "9*x0 + 17*x1 + 2*x2 >= 18",
    "9*x0 + 17*x1 + 9*x3 >= 18",
    "17*x1 + 2*x2 + 9*x3 >= 18",
    "9*x0**2 + 17*x1**2 + 2*x2**2 >= 25",
    "9*x0**2 + 17*x1**2 + 9*x3**2 >= 25",
    "17*x1 + 2*x2 + 9*x3 >= 25",
    "9*x0 + 17*x1 + 2*x2 >= 20",
    "9*x0**2 + 17*x1**2 + 9*x3**2 >= 20",
    "17*x1 + 2*x2 + 9*x3 >= 20",
    "2*x2 + 14*x5 <= 197",
    "16*x4 + 14*x5 <= 86",
    "9*x3**2 + 16*x4**2 <= 109",
    "17*x1 + 9*x3 <= 70",
    "17*x1 + 16*x4 + 14*x5 <= 139",
    "17*x1 + 2*x2 + 9*x3 <= 177",
    "9*x0 + 17*x1 + 2*x2 <= 49",
    "17*x1 + 2*x2 + 14*x5 <= 104",
    "9*x0**2 + 17*x1**2 + 14*x5**2 <= 190",
    "9*x0**2 + 9*x3**2 + 14*x5**2 <= 100",
    "17*x1**2 + 9*x3**2 + 16*x4**2 <= 171",
    "9*x0 + 2*x2 + 9*x3 <= 103",
    "2*x2 + 9*x3 + 14*x5 <= 120",
    "17*x1 + 9*x3 + 14*x5 <= 141",
    "9*x0 + 17*x1 + 2*x2 + 9*x3 + 16*x4 + 14*x5 <= 141",
    "20*x0 + 11*x1 + 1*x2 + 10*x3 + 14*x4 + 3*x5 <= 399",  
    "11*x1**2 + 10*x3**2 >= 44",
    "11*x1 + 14*x4 >= 42",
    "20*x0 + 11*x1 + 3*x5 >= 37",
    "11*x1 + 10*x3 + 3*x5 >= 37",
    "11*x1**2 + 14*x4**2 + 3*x5**2 >= 37",
    "20*x0**2 + 14*x4**2 + 3*x5**2 >= 37",
    "20*x0 + 1*x2 + 3*x5 >= 37",
    "11*x1 + 10*x3 + 14*x4 >= 37",
    "1*x2 + 10*x3 + 3*x5 >= 37",
    "20*x0 + 11*x1 + 14*x4 >= 37",
    "20*x0 + 11*x1 + 1*x2 >= 37",
    "20*x0**2 + 11*x1**2 + 10*x3**2 >= 37",
    "11*x1**2 + 1*x2**2 + 3*x5**2 >= 37",
    "20*x0**2 + 10*x3**2 + 14*x4**2 >= 37",
    "20*x0 + 1*x2 + 10*x3 >= 37",
    "11*x1 + 1*x2 + 14*x4 >= 37",
    "20*x0**2 + 11*x1**2 + 3*x5**2 >= 64",
    "11*x1 + 10*x3 + 3*x5 >= 64",
    "11*x1 + 14*x4 + 3*x5 >= 64",
    "20*x0 + 14*x4 + 3*x5 >= 64",
    "20*x0**2 + 1*x2**2 + 3*x5**2 >= 64",
    "11*x1 + 10*x3 + 14*x4 >= 64",
    "1*x2 + 10*x3 + 3*x5 >= 64",
    "20*x0**2 + 11*x1**2 + 14*x4**2 >= 64",
    "20*x0 + 11*x1 + 1*x2 >= 64",
    "20*x0 + 11*x1 + 10*x3 >= 64",
    "11*x1**2 + 1*x2**2 + 3*x5**2 >= 64",
    "20*x0**2 + 10*x3**2 + 14*x4**2 >= 64",
    "20*x0 + 1*x2 + 10*x3 >= 64",
    "11*x1 + 1*x2 + 14*x4 >= 64",
    "20*x0 + 11*x1 + 3*x5 >= 57",
    "11*x1 + 10*x3 + 3*x5 >= 57",
    "11*x1 + 14*x4 + 3*x5 >= 57",
    "20*x0 + 14*x4 + 3*x5 >= 57",
    "20*x0**2 + 1*x2**2 + 3*x5**2 >= 57",
    "11*x1**2 + 10*x3**2 + 14*x4**2 >= 57",
    "1*x2 + 10*x3 + 3*x5 >= 57",
    "20*x0 + 11*x1 + 14*x4 >= 57",
    "20*x0 + 11*x1 + 1*x2 >= 57",
    "20*x0 + 11*x1 + 10*x3 >= 57",
    "11*x1 + 1*x2 + 3*x5 >= 57",
    "20*x0**2 + 10*x3**2 + 14*x4**2 >= 57",
    "20*x0 + 1*x2 + 10*x3 >= 57",
    "11*x1**2 + 1*x2**2 + 14*x4**2 >= 57",
    "20*x0 + 11*x1 + 3*x5 >= 60",
    "11*x1 + 10*x3 + 3*x5 >= 60",
    "11*x1 + 14*x4 + 3*x5 >= 60",
    "20*x0 + 14*x4 + 3*x5 >= 60",
    "20*x0 + 1*x2 + 3*x5 >= 60",
    "11*x1 + 10*x3 + 14*x4 >= 60",
    "1*x2 + 10*x3 + 3*x5 >= 60",
    "20*x0 + 11*x1 + 14*x4 >= 60",
    "20*x0 + 11*x1 + 1*x2 >= 60",
    "20*x0 + 11*x1 + 10*x3 >= 60",
    "11*x1 + 1*x2 + 3*x5 >= 60",
    "20*x0 + 10*x3 + 14*x4 >= 60",
    "20*x0**2 + 1*x2**2 + 10*x3**2 >= 60",
    "11*x1**2 + 1*x2**2 + 14*x4**2 >= 60",
    "20*x0 + 11*x1 + 3*x5 >= 35",
    "11*x1 + 10*x3 + 3*x5 >= 35",
    "11*x1 + 14*x4 + 3*x5 >= 35",
    "20*x0**2 + 14*x4**2 + 3*x5**2 >= 35",
    "20*x0 + 1*x2 + 3*x5 >= 35",
    "11*x1 + 10*x3 + 14*x4 >= 35",
    "1*x2 + 10*x3 + 3*x5 >= 35",
    "20*x0 + 11*x1 + 14*x4 >= 35",
    "20*x0 + 11*x1 + 1*x2 >= 35",
    "20*x0 + 11*x1 + 10*x3 >= 35",
    "11*x1 + 1*x2 + 3*x5 >= 35",
    "20*x0**2 + 10*x3**2 + 14*x4**2 >= 35",
    "20*x0 + 1*x2 + 10*x3 >= 35",
    "11*x1 + 1*x2 + 14*x4 >= 35",
    "20*x0**2 + 11*x1**2 + 3*x5**2 >= 46",
    "11*x1 + 10*x3 + 3*x5 >= 46",
    "11*x1 + 14*x4 + 3*x5 >= 46",
    "20*x0**2 + 14*x4**2 + 3*x5**2 >= 46",
    "20*x0**2 + 1*x2**2 + 3*x5**2 >= 46",
    "11*x1 + 10*x3 + 14*x4 >= 46",
    "1*x2 + 10*x3 + 3*x5 >= 46",
    "20*x0 + 11*x1 + 14*x4 >= 46",
    "20*x0 + 11*x1 + 1*x2 >= 46",
    "20*x0**2 + 11*x1**2 + 10*x3**2 >= 46",
    "11*x1**2 + 1*x2**2 + 3*x5**2 >= 46",
    "20*x0**2 + 10*x3**2 + 14*x4**2 >= 46",
    "20*x0 + 1*x2 + 10*x3 >= 46",
    "11*x1 + 1*x2 + 14*x4 >= 46",
    "11*x1**2 + 14*x4**2 <= 157",
    "20*x0 + 10*x3 <= 300",
    "10*x3**2 + 3*x5**2 <= 138",
    "1*x2**2 + 10*x3**2 <= 147",
    "20*x0 + 11*x1 + 1*x2 + 10*x3 + 14*x4 + 3*x5 <= 147"
  ]
}
```

```python
import gurobipy as gp

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

# Create variables
potassium = m.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="potassium")
vitamin_b1 = m.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="vitamin_b1")
vitamin_e = m.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="vitamin_e")
iron = m.addVar(lb=0, vtype=gp.GRB.INTEGER, name="iron")
zinc = m.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="zinc")
vitamin_b9 = m.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="vitamin_b9")


# Set objective
obj = 2.37*potassium**2 + 6.17*potassium*vitamin_b1 + 1.13*potassium*vitamin_e + 2.53*potassium*iron + 8.75*potassium*zinc + 6.78*vitamin_b1**2 + 4.52*vitamin_b1*vitamin_e + 9.5*vitamin_b1*iron + 8.49*vitamin_b1*zinc + 3.58*vitamin_b1*vitamin_b9 + 4.18*vitamin_e**2 + 4.88*vitamin_e*iron + 3.82*vitamin_e*zinc + 9.6*iron**2 + 5.47*iron*zinc + 3.79*iron*vitamin_b9 + 3.65*zinc*vitamin_b9 + 9.25*vitamin_b9**2 + 9.46*potassium + 2.03*vitamin_b1 + 9.34*vitamin_e + 7.69*iron + 6.98*zinc + 7.05*vitamin_b9

m.setObjective(obj, gp.GRB.MAXIMIZE)

# Add constraints - Digestive Support Index
m.addConstr(9*potassium + 17*vitamin_b1 + 2*vitamin_e >= 18)
m.addConstr(9*potassium + 17*vitamin_b1 + 9*iron >= 18)
m.addConstr(17*vitamin_b1 + 2*vitamin_e + 9*iron >= 18)
m.addConstr(9*potassium**2 + 17*vitamin_b1**2 + 2*vitamin_e**2 >= 25)
m.addConstr(9*potassium**2 + 17*vitamin_b1**2 + 9*iron**2 >= 25)
m.addConstr(17*vitamin_b1 + 2*vitamin_e + 9*iron >= 25)
m.addConstr(9*potassium + 17*vitamin_b1 + 2*vitamin_e >= 20)
m.addConstr(9*potassium**2 + 17*vitamin_b1**2 + 9*iron**2 >= 20)
m.addConstr(17*vitamin_b1 + 2*vitamin_e + 9*iron >= 20)


# Add constraints - Cardiovascular Support Index
m.addConstr(20 * potassium + 11 * vitamin_b1 + 1 * vitamin_e + 10 * iron + 14 * zinc + 3 * vitamin_b9 <= 399)
# ... (add all other cardiovascular support index constraints similarly)


# Add remaining constraints from the JSON "constraints" field.

# Optimize model
m.optimize()

# Print solution or infeasibility status
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)

```