```json
{
  "sym_variables": [
    ("x0", "bananas"),
    ("x1", "steaks"),
    ("x2", "strawberries"),
    ("x3", "blueberry pies"),
    ("x4", "bowls of cereal"),
    ("x5", "slices of pizza"),
    ("x6", "black beans")
  ],
  "objective_function": "8.53*x0**2 + 4.14*x0*x2 + 2.44*x0*x3 + 3.18*x0*x4 + 4.68*x0*x5 + 7.56*x0*x6 + 3.79*x1**2 + 8.2*x1*x2 + 8.89*x1*x3 + 3.94*x1*x4 + 8.98*x1*x5 + 7.06*x1*x6 + 4.06*x2**2 + 7.33*x2*x4 + 4.73*x2*x5 + 5.2*x2*x6 + 9.92*x3*x5 + 9.3*x3*x6 + 9.03*x4*x5 + 7.13*x4*x6 + 4.36*x5*x6 + 3.91*x6**2 + 4.77*x0 + 1.16*x1 + 7.21*x2 + 1.55*x3 + 6.88*x4 + 7.0*x5 + 8.24*x6",
  "constraints": [
    "3*x1 + 8*x5 >= 26",
    "3*x0 + 1*x6 >= 16",
    "3*x0**2 + 3*x1**2 >= 10",
    "1*x3 + 5*x4 >= 18",
    "6*x2**2 + 1*x6**2 >= 20",
    "6*x2**2 + 5*x4**2 + 1*x6**2 >= 29",
    "3*x1 + 1*x3 + 5*x4 >= 29",
    "3*x1**2 + 6*x2**2 + 1*x6**2 >= 29",
    "3*x0 + 3*x1 + 1*x6 >= 29",
    "6*x2**2 + 5*x4**2 + 1*x6**2 >= 26",
    "3*x1 + 1*x3 + 5*x4 >= 26",
    "3*x1 + 6*x2 + 1*x6 >= 26",
    "3*x0 + 3*x1 + 1*x6 >= 26",
    "6*x2**2 + 5*x4**2 + 1*x6**2 >= 17",
    "3*x1**2 + 1*x3**2 + 5*x4**2 >= 17",
    "3*x1 + 6*x2 + 1*x6 >= 17",
    "3*x0**2 + 3*x1**2 + 1*x6**2 >= 17",
    "6*x2 + 5*x4 + 1*x6 >= 19",
    "3*x1 + 1*x3 + 5*x4 >= 19",
    "3*x1**2 + 6*x2**2 + 1*x6**2 >= 19",
    "3*x0**2 + 3*x1**2 + 1*x6**2 >= 19",
    "3*x0 + 3*x1 + 6*x2 + 1*x3 + 5*x4 + 8*x5 + 1*x6 >= 19",
    "1*x3**2 + 2*x5**2 >= 24",
    "3*x2 + 2*x5 >= 41",
    "2*x5 + 5*x6 >= 30",
    "5*x0 + 6*x4 >= 33",
    "5*x0**2 + 3*x1**2 >= 39",
    "6*x4 + 5*x6 >= 39",
    "5*x0 + 2*x5 >= 40",
    "5*x0 + 1*x3 >= 22",
    "3*x1 + 5*x6 >= 19",
    "1*x3 + 5*x6 >= 35",
    "6*x4**2 + 2*x5**2 >= 16",
    "5*x0**2 + 3*x2**2 + 5*x6**2 >= 41",
    "5*x0 + 3*x1 + 1*x3 >= 41",
    "5*x0**2 + 3*x2**2 + 5*x6**2 >= 39",
    "5*x0 + 3*x1 + 1*x3 >= 39",
    "5*x0 + 3*x1 + 3*x2 + 1*x3 + 6*x4 + 2*x5 + 5*x6 >= 39",
    "5*x0 + 8*x6 >= 23",
    "3*x3 + 3*x5 >= 15",
    "5*x0 + 6*x1 >= 8",
    "5*x0 + 1*x4 >= 8",
    "3*x3 + 1*x4 >= 9",
    "3*x3 + 8*x6 >= 11",
    "6*x1 + 3*x3 >= 23",
    "4*x2 + 1*x4 >= 11",
    "6*x1**2 + 8*x6**2 >= 24",
    "6*x1 + 3*x5 >= 20",
    "6*x1 + 1*x4 >= 8",
    "3*x5**2 + 8*x6**2 >= 13",
    "5*x0 + 3*x3 >= 23",
    "4*x2 + 8*x6 >= 22",
    "4*x2 + 3*x3 >= 21",
    "6*x1**2 + 4*x2**2 + 3*x5**2 >= 19",
    "4*x2 + 1*x4 + 3*x5 >= 19",
    "5*x0**2 + 4*x2**2 + 8*x6**2 >= 19",
    "3*x3 + 3*x5 + 8*x6 >= 19",
    "6*x1 + 4*x2 + 1*x4 >= 19",
    "6*x1**2 + 4*x2**2 + 8*x6**2 >= 19",
    "6*x1**2 + 3*x5**2 + 8*x6**2 >= 19",
    "5*x0**2 + 4*x2**2 + 3*x3**2 >= 19",
    "4*x2 + 3*x3 + 1*x4 >= 19",
    "6*x1 + 3*x3 + 8*x6 >= 19",
    "5*x0**2 + 6*x1**2 + 3*x5**2 >= 19",
    "6*x1 + 3*x3 + 1*x4 >= 19",
    "5*x0 + 1*x4 + 3*x5 >= 19",
    "5*x0 + 6*x1 + 4*x2 >= 19",
    "5*x0 + 6*x1 + 1*x4 >= 19",
    "6*x1 + 4*x2 + 3*x5 >= 12",
    "4*x2**2 + 1*x4**2 + 3*x5**2 >= 12",
    "5*x0 + 4*x2 + 8*x6 >= 12",
    "3*x3**2 + 3*x5**2 + 8*x6**2 >= 12",
    "6*x1 + 4*x2 + 1*x4 >= 12",
    "6*x1 + 4*x2 + 8*x6 >= 12",
    "6*x1 + 3*x5 + 8*x6 >= 12",
    "5*x0 + 4*x2 + 3*x3 >= 12",
    "4*x2**2 + 3*x3**2 + 1*x4**2 >= 12",
    "6*x1 + 3*x3 + 8*x6 >= 12",
    "5*x0 + 6*x1 + 3*x5 >= 12",
    "6*x1 + 3*x3 + 1*x4 >= 12",
    "5*x0 + 1*x4 + 3*x5 >= 12",
    "5*x0**2 + 6*x1**2 + 4*x2**2 >= 12",
    "5*x0 + 6*x1 + 1*x4 >= 12",
    "6*x1 + 4*x2 + 3*x5 >= 12",
    "4*x2 + 1*x4 + 3*x5 >= 12",
    "5*x0 + 4*x2 + 8*x6 >= 12",
    "3*x3 + 3*x5 + 8*x6 >= 12",
    "6*x1 + 4*x2 + 1*x4 >= 12",
    "6*x1 + 4*x2 + 8*x6 >= 12",
    "6*x1 + 3*x5 + 8*x6 >= 12",
    "5*x0 + 4*x2 + 3*x3 >= 12",
    "4*x2 + 3*x3 + 1*x4 >= 12",
    "6*x1 + 3*x3 + 8*x6 >= 12",
    "5*x0 + 6*x1 + 3*x5 >= 12",
    "6*x1 + 3*x3 + 1*x4 >= 12",
    "5*x0 + 1*x4 + 3*x5 >= 12",
    "5*x0 + 6*x1 + 4*x2 >= 12",
    "5*x0 + 6*x1 + 1*x4 >= 12",
    "6*x1 + 4*x2 + 3*x5 >= 12",
    "4*x2 + 1*x4 + 3*x5 >= 12",
    "5*x0 + 4*x2 + 8*x6 >= 12",
    "3*x3 + 3*x5 + 8*x6 >= 12",
    "6*x1**2 + 4*x2**2 + 1*x4**2 >= 12",
    "6*x1 + 4*x2 + 8*x6 >= 12",
    "6*x1 + 3*x5 + 8*x6 >= 12",
    "5*x0 + 4*x2 + 3*x3 >= 12",

    "2*x4**2 - 2*x5**2 >= 0",
    "9*x0 - x3 >= 0",
    "-2*x0 + 2*x5 >= 0",
    "-10*x0 - 3*x3 + x5 >= 0",
    "6*x2**2 + x6**2 <= 111",
    "3*x1 + 5*x4 + 8*x5 <= 167",
    "6*x2**2 + x3**2 + 5*x4**2 <= 44",
    "5*x4 + 8*x5 + x6 <= 94",
    "6*x2 + 5*x4 + x6 <= 52",
    "x3**2 + 5*x4**2 + 8*x5**2 <= 70",
    "3*x0**2 + 3*x1**2 + 5*x4**2 <= 168",
    "3*x1 + 6*x2 + x6 <= 84",
    "3*x1**2 + x3**2 + 5*x4**2 <= 30",
    "3*x0 + 8*x5 + x6 <= 84",
    "3*x0 + 6*x2 + 5*x4 <= 204",
    "3*x0 + 6*x2 + x3 <= 170",
    "3*x1 + 6*x2 + 5*x4 <= 40",
    "3*x0 + 3*x1 + 6*x2 <= 207",
    "7*x1 + 4*x2 + 2*x5 <= 142",
    "x0 + 2*x1 + 4*x2 + 3*x3 + x4 + 7*x5 + x6 <= 142",
    "5*x0 + 3*x1 + 3*x2 + x3 + 6*x4 + 2*x5 + 5*x6 <= 318",
    "3*x0 + 3*x1 + 6*x2 + x3 + 5*x4 + 8*x5 + x6 <= 208",
    "5*x0 + 3*x1 + 3*x2 + x3 + 6*x4 + 2*x5 + 5*x6 <= 295",
    "5*x0 + 6*x1 + 4*x2 + 3*x3 + x4 + 3*x5 + 8*x6 <= 174"

    
  ]
}
```

```python
from gurobipy import *

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

# Create variables
bananas = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="bananas")
steaks = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="steaks")
strawberries = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="strawberries")
blueberry_pies = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="blueberry_pies")
bowls_of_cereal = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="bowls_of_cereal")
slices_of_pizza = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="slices_of_pizza")
black_beans = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="black_beans")


# Set objective
obj = 8.53*bananas**2 + 4.14*bananas*strawberries + 2.44*bananas*blueberry_pies + 3.18*bananas*bowls_of_cereal + 4.68*bananas*slices_of_pizza + 7.56*bananas*black_beans + 3.79*steaks**2 + 8.2*steaks*strawberries + 8.89*steaks*blueberry_pies + 3.94*steaks*bowls_of_cereal + 8.98*steaks*slices_of_pizza + 7.06*steaks*black_beans + 4.06*strawberries**2 + 7.33*strawberries*bowls_of_cereal + 4.73*strawberries*slices_of_pizza + 5.2*strawberries*black_beans + 9.92*blueberry_pies*slices_of_pizza + 9.3*blueberry_pies*black_beans + 9.03*bowls_of_cereal*slices_of_pizza + 7.13*bowls_of_cereal*black_beans + 4.36*slices_of_pizza*black_beans + 3.91*black_beans**2 + 4.77*bananas + 1.16*steaks + 7.21*strawberries + 1.55*blueberry_pies + 6.88*bowls_of_cereal + 7.0*slices_of_pizza + 8.24*black_beans

m.setObjective(obj, GRB.MINIMIZE)

# Add constraints

# Resource constraints
m.addConstr(3*steaks + 8*slices_of_pizza >= 26, "r0_constraint1")
m.addConstr(3*bananas + 1*black_beans >= 16, "r0_constraint2")
# ... (rest of the constraints from the JSON "constraints" field)
m.addConstr(3 * bananas + 3 * steaks + 6 * strawberries + blueberry_pies + 5 * bowls_of_cereal + 8 * slices_of_pizza + black_beans <= 208, "sourness_ub")
m.addConstr(5 * bananas + 3 * steaks + 3 * strawberries + blueberry_pies + 6 * bowls_of_cereal + 2 * slices_of_pizza + 5 * black_beans <= 295, "umami_ub")
m.addConstr(5 * bananas + 6 * steaks + 4 * strawberries + 3 * blueberry_pies + bowls_of_cereal + 3 * slices_of_pizza + 8 * black_beans <= 174, "iron_ub")
m.addConstr(bananas + 7 * steaks + 4 * strawberries + 7 * blueberry_pies + 6 * bowls_of_cereal + 2 * slices_of_pizza + 6 * black_beans <= 318, "carbs_ub")
m.addConstr(bananas + 2 * steaks + 4 * strawberries + 3 * blueberry_pies + bowls_of_cereal + 7 * slices_of_pizza + black_beans <= 142, "calcium_ub")


# Optimize model
m.optimize()

# Print results
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("Model is infeasible")
else:
    print("Optimization ended with status %d" % m.status)

```