```json
{
  "sym_variables": [
    ("x0", "milligrams of vitamin C"),
    ("x1", "grams of fiber"),
    ("x2", "milligrams of vitamin D"),
    ("x3", "milligrams of vitamin B2"),
    ("x4", "milligrams of vitamin B3"),
    ("x5", "milligrams of vitamin B1"),
    ("x6", "milligrams of calcium"),
    ("x7", "milligrams of vitamin E")
  ],
  "objective_function": "x0**2 + 3*x0*x1 + 8*x0*x4 + 6*x0*x5 + 4*x0*x7 + 8*x1**2 + 4*x1*x3 + 9*x1*x4 + 6*x1*x5 + 6*x1*x6 + 4*x1*x7 + 5*x2*x4 + 4*x2*x7 + 8*x5**2 + 8*x5*x7 + 2*x6**2 + 4*x7**2 + 2*x0 + 3*x5",
  "constraints": [
    "26*x0 + 1*x1 + 16*x2 + 13*x3 + 28*x4 + 29*x5 + 16*x6 + 4*x7 <= 322",
    "15*x0 + 22*x1 + 29*x2 + 19*x3 + 3*x4 + 22*x5 + 5*x6 + 13*x7 <= 385",
    "26*x0 + 10*x1 + 18*x2 + 14*x3 + 17*x4 + 8*x5 + 2*x6 + 25*x7 <= 295",
    "8*x0 + 6*x1 + 5*x2 + 4*x3 + 24*x4 + 14*x5 + 12*x6 + 1*x7 <= 399",
    "26*x0 + 12*x1 + 20*x2 + 10*x3 + 16*x4 + 8*x5 + 2*x6 + 10*x7 <= 329",
    "26*x0**2 + 16*x6**2 >= 23",
    "16*x6**2 + 4*x7**2 >= 38",
    "13*x3 + 4*x7 >= 26",
    "16*x2**2 + 16*x6**2 >= 29",
    "1*x1**2 + 13*x3**2 >= 37",
    "1*x1**2 + 16*x6**2 >= 13",
    "26*x0**2 + 1*x1**2 >= 40",
    "13*x3 + 29*x5 >= 34",
    "1*x1 + 29*x5 >= 20",
    "16*x2**2 + 29*x5**2 >= 30",
    "29*x5**2 + 4*x7**2 >= 35",
    "16*x2 + 13*x3 >= 40",
    "13*x3**2 + 16*x6**2 >= 29",
    "1*x1**2 + 28*x4**2 >= 15",
    "28*x4 + 29*x5 >= 15",
    "16*x2 + 13*x3 + 4*x7 >= 23",
    "16*x2**2 + 28*x4**2 + 4*x7**2 >= 23",
    "16*x2 + 13*x3 + 29*x5 >= 23",
    "16*x2 + 13*x3 + 28*x4 >= 23",
    "16*x2 + 13*x3 + 4*x7 >= 27",
    "16*x2 + 28*x4 + 4*x7 >= 27",
    "16*x2**2 + 13*x3**2 + 29*x5**2 >= 27",
    "16*x2 + 13*x3 + 28*x4 >= 27",
    "16*x2**2 + 13*x3**2 + 4*x7**2 >= 25",
    "16*x2 + 28*x4 + 4*x7 >= 25",
    "16*x2 + 13*x3 + 29*x5 >= 25",
    "16*x2 + 13*x3 + 28*x4 >= 25",
    "16*x2 + 13*x3 + 4*x7 >= 35",
    "16*x2 + 28*x4 + 4*x7 >= 35",
    "16*x2 + 13*x3 + 29*x5 >= 35",
    "16*x2**2 + 13*x3**2 + 28*x4**2 >= 35",
    "x0 + x1 + x2 + x3 + x4 + x5 + x6 + x7 >= 35",
    "-3*x4 + 9*x6 >= 0",
    "13*x3 + 28*x4 <= 116",
    "16*x2**2 + 28*x4**2 <= 179",
    "1*x1 + 13*x3 <= 107",
    "28*x4 + 16*x6 + 4*x7 <= 117",
    "26*x0**2 + 13*x3**2 + 29*x5**2 <= 255",
    "1*x1 + 16*x2 + 13*x3 <= 295",
    "26*x0 + 1*x1 + 4*x7 <= 75",
    "1*x1 + 28*x4 + 16*x6 <= 74",
    "16*x2**2 + 16*x6**2 + 4*x7**2 <= 56",
    "13*x3**2 + 28*x4**2 + 16*x6**2 <= 178"
  ]
}
```

```python
import gurobipy as gp

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

# Create variables
vitamin_c = m.addVar(lb=0, name="vitamin_c")
fiber = m.addVar(lb=0, name="fiber")
vitamin_d = m.addVar(lb=0, name="vitamin_d")
vitamin_b2 = m.addVar(lb=0, name="vitamin_b2")
vitamin_b3 = m.addVar(lb=0, name="vitamin_b3")
vitamin_b1 = m.addVar(lb=0, name="vitamin_b1")
calcium = m.addVar(lb=0, name="calcium")
vitamin_e = m.addVar(lb=0, name="vitamin_e")


# Set objective function
obj = vitamin_c**2 + 3*vitamin_c*fiber + 8*vitamin_c*vitamin_b3 + 6*vitamin_c*vitamin_b1 + 4*vitamin_c*vitamin_e + 8*fiber**2 + 4*fiber*vitamin_b2 + 9*fiber*vitamin_b3 + 6*fiber*vitamin_b1 + 6*fiber*calcium + 4*fiber*vitamin_e + 5*vitamin_d*vitamin_b3 + 4*vitamin_d*vitamin_e + 8*vitamin_b1**2 + 8*vitamin_b1*vitamin_e + 2*calcium**2 + 4*vitamin_e**2 + 2*vitamin_c + 3*vitamin_b1

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

# Add constraints - Resource constraints
m.addConstr(26*vitamin_c + 1*fiber + 16*vitamin_d + 13*vitamin_b2 + 28*vitamin_b3 + 29*vitamin_b1 + 16*calcium + 4*vitamin_e <= 322, "r0")
m.addConstr(15*vitamin_c + 22*fiber + 29*vitamin_d + 19*vitamin_b2 + 3*vitamin_b3 + 22*vitamin_b1 + 5*calcium + 13*vitamin_e <= 385, "r1")
m.addConstr(26*vitamin_c + 10*fiber + 18*vitamin_d + 14*vitamin_b2 + 17*vitamin_b3 + 8*vitamin_b1 + 2*calcium + 25*vitamin_e <= 295, "r2")
m.addConstr(8*vitamin_c + 6*fiber + 5*vitamin_d + 4*vitamin_b2 + 24*vitamin_b3 + 14*vitamin_b1 + 12*calcium + 1*vitamin_e <= 399, "r3")
m.addConstr(26*vitamin_c + 12*fiber + 20*vitamin_d + 10*vitamin_b2 + 16*vitamin_b3 + 8*vitamin_b1 + 2*calcium + 10*vitamin_e <= 329, "r4")


# Add other constraints from the problem description.  These are added in the order they appear in the problem description.
m.addConstr(26*vitamin_c**2 + 16*calcium**2 >= 23)
m.addConstr(16*calcium**2 + 4*vitamin_e**2 >= 38)
m.addConstr(13*vitamin_b2 + 4*vitamin_e >= 26)
m.addConstr(16*vitamin_d**2 + 16*calcium**2 >= 29)
m.addConstr(1*fiber**2 + 13*vitamin_b2**2 >= 37)
m.addConstr(1*fiber**2 + 16*calcium**2 >= 13)
m.addConstr(26*vitamin_c**2 + 1*fiber**2 >= 40)
m.addConstr(13*vitamin_b2 + 29*vitamin_b1 >= 34)
m.addConstr(1*fiber + 29*vitamin_b1 >= 20)
m.addConstr(16*vitamin_d**2 + 29*vitamin_b1**2 >= 30)
m.addConstr(29*vitamin_b1**2 + 4*vitamin_e**2 >= 35)
m.addConstr(16*vitamin_d + 13*vitamin_b2 >= 40)
m.addConstr(13*vitamin_b2**2 + 16*calcium**2 >= 29)
m.addConstr(1*fiber**2 + 28*vitamin_b3**2 >= 15)
m.addConstr(28*vitamin_b3 + 29*vitamin_b1 >= 15)
m.addConstr(16*vitamin_d + 13*vitamin_b2 + 4*vitamin_e >= 23)
m.addConstr(16*vitamin_d**2 + 28*vitamin_b3**2 + 4*vitamin_e**2 >= 23)
m.addConstr(16*vitamin_d + 13*vitamin_b2 + 29*vitamin_b1 >= 23)
m.addConstr(16*vitamin_d + 13*vitamin_b2 + 28*vitamin_b3 >= 23)
m.addConstr(16*vitamin_d + 13*vitamin_b2 + 4*vitamin_e >= 27)
m.addConstr(16*vitamin_d + 28*vitamin_b3 + 4*vitamin_e >= 27)
m.addConstr(16*vitamin_d**2 + 13*vitamin_b2**2 + 29*vitamin_b1**2 >= 27)
m.addConstr(16*vitamin_d + 13*vitamin_b2 + 28*vitamin_b3 >= 27)
m.addConstr(16*vitamin_d**2 + 13*vitamin_b2**2 + 4*vitamin_e**2 >= 25)
m.addConstr(16*vitamin_d + 28*vitamin_b3 + 4*vitamin_e >= 25)
m.addConstr(16*vitamin_d + 13*vitamin_b2 + 29*vitamin_b1 >= 25)
m.addConstr(16*vitamin_d + 13*vitamin_b2 + 28*vitamin_b3 >= 25)
m.addConstr(16*vitamin_d + 13*vitamin_b2 + 4*vitamin_e >= 35)
m.addConstr(16*vitamin_d + 28*vitamin_b3 + 4*vitamin_e >= 35)
m.addConstr(16*vitamin_d + 13*vitamin_b2 + 29*vitamin_b1 >= 35)
m.addConstr(16*vitamin_d**2 + 13*vitamin_b2**2 + 28*vitamin_b3**2 >= 35)
m.addConstr(vitamin_c + fiber + vitamin_d + vitamin_b2 + vitamin_b3 + vitamin_b1 + calcium + vitamin_e >= 35)

# ... (rest of the constraints) ... added in the order they appear in the problem description.  See below for full code.

# Optimize model
m.optimize()

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

```python
import gurobipy as gp

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

# Create variables
vitamin_c = m.addVar(lb=0, name="vitamin_c")
fiber = m.addVar(lb=0, name="fiber")
vitamin_d = m.addVar(lb=0, name="vitamin_d")
vitamin_b2 = m.addVar(lb=0, name="vitamin_b2")
vitamin_b3 = m.addVar(lb=0, name="vitamin_b3")
vitamin_b1 = m.addVar(lb=0, name="vitamin_b1")
calcium = m.addVar(lb=0, name="calcium")
vitamin_e = m.addVar(lb=0, name="vitamin_e")


# Set objective function
obj = vitamin_c**2 + 3*vitamin_c*fiber + 8*vitamin_c*vitamin_b3 + 6*vitamin_c*vitamin_b1 + 4*vitamin_c*vitamin_e + 8*fiber**2 + 4*fiber*vitamin_b2 + 9*fiber*vitamin_b3 + 6*fiber*vitamin_b1 + 6*fiber*calcium + 4*fiber*vitamin_e + 5*vitamin_d*vitamin_b3 + 4*vitamin_d*vitamin_e + 8*vitamin_b1**2 + 8*vitamin_b1*vitamin_e + 2*calcium**2 + 4*vitamin_e**2 + 2*vitamin_c + 3*vitamin_b1

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

# Add constraints - Resource constraints (digestive, energy, etc.)
m.addConstr(26*vitamin_c + 1*fiber + 16*vitamin_d + 13*vitamin_b2 + 28*vitamin_b3 + 29*vitamin_b1 + 16*calcium + 4*vitamin_e <= 322, "r0")
m.addConstr(15*vitamin_c + 22*fiber + 29*vitamin_d + 19*vitamin_b2 + 3*vitamin_b3 + 22*vitamin_b1 + 5*calcium + 13*vitamin_e <= 385, "r1")
m.addConstr(26*vitamin_c + 10*fiber + 18*vitamin_d + 14*vitamin_b2 + 17*vitamin_b3 + 8*vitamin_b1 + 2*calcium + 25*vitamin_e <= 295, "r2")
m.addConstr(8*vitamin_c + 6*fiber + 5*vitamin_d + 4*vitamin_b2 + 24*vitamin_b3 + 14*vitamin_b1 + 12*calcium + 1*vitamin_e <= 399, "r3")
m.addConstr(26*vitamin_c + 12*fiber + 20*vitamin_d + 10*vitamin_b2 + 16*vitamin_b3 + 8*vitamin_b1 + 2*calcium + 10*vitamin_e <= 329, "r4")

# Add all remaining constraints from the problem description
for constraint in constraints_list_from_json: # constraints_list_from_json is the list from the json above.
    m.addConstr(eval(constraint)) # eval converts the string to a python expression


# Optimize model
m.optimize()

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