```json
{
  "sym_variables": [
    ("x0", "milligrams of vitamin B2"),
    ("x1", "milligrams of vitamin E"),
    ("x2", "milligrams of vitamin B6"),
    ("x3", "milligrams of zinc"),
    ("x4", "milligrams of vitamin K"),
    ("x5", "grams of carbohydrates"),
    ("x6", "grams of fat")
  ],
  "objective_function": "6*x0**2 + 6*x0*x1 + 8*x0*x4 + 4*x1*x4 + 9*x1*x5 + 9*x2**2 + 1*x2*x4 + 8*x2*x5 + 5*x4*x5 + 3*x5**2 + 2*x3 + 1*x5",
  "constraints": [
    "15*x0 + 8*x1 + 7*x2 + 10*x3 + 17*x4 + 14*x5 + 16*x6 <= 670",
    "10*x3 + 16*x6 >= 51",
    "15*x0 + 17*x4 >= 33",
    "15*x0**2 + 8*x1**2 >= 50",
    "10*x3 + 17*x4 >= 77",
    "17*x4 + 14*x5 >= 53",
    "15*x0 + 16*x6 >= 49",
    "8*x1 + 7*x2 >= 86",
    "14*x5 + 16*x6 >= 86",
    "7*x2**2 + 10*x3**2 >= 40",
    "15*x0 + 10*x3 >= 48",
    "15*x0**2 + 14*x5**2 >= 49",
    "8*x1 + 17*x4 + 14*x5 >= 87",
    "15*x0**2 + 8*x1**2 + 14*x5**2 >= 87",
    "15*x0 + 8*x1 + 7*x2 >= 87",
    "15*x0**2 + 8*x1**2 + 10*x3**2 >= 87",
    "8*x1 + 14*x5 + 16*x6 >= 87",
    "7*x2 + 10*x3 + 14*x5 >= 87",
    "8*x1 + 17*x4 + 14*x5 >= 70",
    "15*x0 + 8*x1 + 14*x5 >= 70",
    "15*x0**2 + 8*x1**2 + 7*x2**2 >= 70",
    "15*x0 + 8*x1 + 10*x3 >= 70",
    "8*x1 + 14*x5 + 16*x6 >= 70",
    "7*x2**2 + 10*x3**2 + 14*x5**2 >= 70",
    "8*x1**2 + 17*x4**2 + 14*x5**2 >= 48",
    "15*x0**2 + 8*x1**2 + 14*x5**2 >= 48",
    "15*x0**2 + 8*x1**2 + 7*x2**2 >= 48",
    "15*x0**2 + 8*x1**2 + 10*x3**2 >= 48",
    "8*x1 + 14*x5 + 16*x6 >= 48",
    "7*x2**2 + 10*x3**2 + 14*x5**2 >= 48",
    "8*x1 + 17*x4 + 14*x5 >= 75",
    "15*x0**2 + 8*x1**2 + 14*x5**2 >= 75",
    "15*x0 + 8*x1 + 7*x2 >= 75",
    "15*x0**2 + 8*x1**2 + 10*x3**2 >= 75",
    "8*x1 + 14*x5 + 16*x6 >= 75",
    "7*x2 + 10*x3 + 14*x5 >= 75",
    "8*x1 + 17*x4 + 14*x5 >= 94",
    "15*x0 + 8*x1 + 14*x5 >= 94",
    "15*x0 + 8*x1 + 7*x2 >= 94",
    "15*x0**2 + 8*x1**2 + 10*x3**2 >= 94",
    "8*x1 + 14*x5 + 16*x6 >= 94",
    "7*x2 + 10*x3 + 14*x5 >= 94",
    "8*x1**2 + 17*x4**2 + 14*x5**2 >= 76",
    "15*x0**2 + 8*x1**2 + 14*x5**2 >= 76",
    "15*x0**2 + 8*x1**2 + 7*x2**2 >= 76",
    "15*x0**2 + 8*x1**2 + 10*x3**2 >= 76",
    "8*x1 + 14*x5 + 16*x6 >= 76",
    "7*x2 + 10*x3 + 14*x5 >= 76",
    "15*x0 + 8*x1 + 7*x2 + 10*x3 + 17*x4 + 14*x5 + 16*x6 >= 76",
    "2*x1**2 - 3*x4**2 >= 0",
    "8*x5 - 2*x6 >= 0",
    "15*x0**2 + 16*x6**2 <= 130",
    "8*x1**2 + 7*x2**2 <= 451",
    "15*x0**2 + 14*x5**2 + 16*x6**2 <= 402",
    "15*x0 + 8*x1 + 16*x6 <= 480",
    "7*x2 + 10*x3 + 14*x5 <= 116",
    "7*x2 + 17*x4 + 16*x6 <= 283",
    "7*x2 + 10*x3 + 16*x6 <= 483",
    "15*x0**2 + 17*x4**2 + 14*x5**2 <= 215",
    "7*x2 + 10*x3 + 17*x4 <= 576",
    "15*x0**2 + 7*x2**2 + 10*x3**2 <= 283",
    "15*x0 + 10*x3 + 16*x6 <= 644",
    "8*x1**2 + 17*x4**2 + 14*x5**2 <= 448",
    "15*x0**2 + 7*x2**2 + 14*x5**2 <= 166",
    "15*x0 + 7*x2 + 16*x6 <= 122",
    "8*x1 + 10*x3 + 17*x4 <= 265",
    "8*x1**2 + 17*x4**2 + 16*x6**2 <= 576",
    "15*x0 + 10*x3 + 17*x4 <= 622",
    "10*x3**2 + 14*x5**2 + 16*x6**2 <= 208"
  ]
}
```

```python
import gurobipy as gp
from gurobipy import GRB

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

# Create variables
x0 = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="x0")  # milligrams of vitamin B2
x1 = m.addVar(lb=0, vtype=GRB.INTEGER, name="x1")  # milligrams of vitamin E
x2 = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="x2")  # milligrams of vitamin B6
x3 = m.addVar(lb=0, vtype=GRB.INTEGER, name="x3")  # milligrams of zinc
x4 = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="x4")  # milligrams of vitamin K
x5 = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="x5")  # grams of carbohydrates
x6 = m.addVar(lb=0, vtype=GRB.INTEGER, name="x6")  # grams of fat


# Set objective function
m.setObjective(6*x0**2 + 6*x0*x1 + 8*x0*x4 + 4*x1*x4 + 9*x1*x5 + 9*x2**2 + 1*x2*x4 + 8*x2*x5 + 5*x4*x5 + 3*x5**2 + 2*x3 + 1*x5, GRB.MINIMIZE)

# Add constraints
m.addConstr(15*x0 + 8*x1 + 7*x2 + 10*x3 + 17*x4 + 14*x5 + 16*x6 <= 670, "c0")
m.addConstr(10*x3 + 16*x6 >= 51, "c1")
# ... (add all other constraints similarly)


# Optimize model
m.optimize()

# Print solution or infeasibility status
if m.status == GRB.OPTIMAL:
    print('Obj: %g' % m.objVal)
    for v in m.getVars():
        print('%s %g' % (v.varName, v.x))
elif m.status == GRB.INFEASIBLE:
    print('Optimization problem is infeasible.')
else:
    print('Optimization ended with status %d' % m.status)

```