```json
{
  "sym_variables": [
    ("x0", "eggs"),
    ("x1", "bowls of cereal"),
    ("x2", "corn cobs"),
    ("x3", "ravioli"),
    ("x4", "hamburgers")
  ],
  "objective_function": "6.56*x0**2 + 3.33*x0*x1 + 6.39*x0*x2 + 1.62*x0*x3 + 9.77*x0*x4 + 4.9*x1*x4 + 6.19*x2*x3 + 1.47*x2*x4 + 3.91*x0 + 9.32*x1 + 1.6*x3 + 6.03*x4",
  "constraints": [
    "5*x0**2 + 6*x4**2 >= 17",
    "5*x3 + 6*x4 >= 32",
    "5*x0 + 4*x1 >= 38",
    "6*x2 + 5*x3 >= 44",
    "4*x1 + 5*x3 >= 29",
    "5*x0 + 5*x3 >= 40",
    "3*x2**2 + 1*x3**2 >= 25",
    "7*x0 + 8*x4 >= 26",
    "3*x2 + 8*x4 >= 22",
    "7*x0 + 3*x2 + 1*x3 >= 13",
    "7*x0 + 7*x1 + 1*x3 >= 13",
    "3*x2**2 + 1*x3**2 + 8*x4**2 >= 13",
    "7*x1**2 + 3*x2**2 + 1*x3**2 >= 13",
    "7*x0 + 1*x3 + 8*x4 >= 13",
    "7*x0 + 7*x1 + 8*x4 >= 13",
    "7*x1 + 3*x2 + 8*x4 >= 13",
    "7*x0 + 3*x2 + 1*x3 >= 25",
    "7*x0 + 7*x1 + 1*x3 >= 25",
    "3*x2 + 1*x3 + 8*x4 >= 25",
    "7*x1 + 3*x2 + 1*x3 >= 25",
    "7*x0**2 + 1*x3**2 + 8*x4**2 >= 25",
    "7*x0 + 7*x1 + 8*x4 >= 25",
    "7*x1**2 + 3*x2**2 + 8*x4**2 >= 25",
    "7*x0**2 + 3*x2**2 + 1*x3**2 >= 26",
    "7*x0 + 7*x1 + 1*x3 >= 26",
    "3*x2 + 1*x3 + 8*x4 >= 26",
    "7*x1 + 3*x2 + 1*x3 >= 26",
    "7*x0 + 1*x3 + 8*x4 >= 26",
    "7*x0**2 + 7*x1**2 + 8*x4**2 >= 26",
    "7*x1 + 3*x2 + 8*x4 >= 26",
    "7*x0**2 + 3*x2**2 + 1*x3**2 >= 19",
    "7*x0**2 + 7*x1**2 + 1*x3**2 >= 19",
    "3*x2**2 + 1*x3**2 + 8*x4**2 >= 19",
    "7*x1 + 3*x2 + 1*x3 >= 19",
    "7*x0 + 1*x3 + 8*x4 >= 19",
    "7*x0 + 7*x1 + 8*x4 >= 19",
    "7*x1**2 + 3*x2**2 + 8*x4**2 >= 19",
    "7*x0 + 3*x2 + 1*x3 >= 20",
    "7*x0**2 + 7*x1**2 + 1*x3**2 >= 20",
    "3*x2 + 1*x3 + 8*x4 >= 20",
    "7*x1 + 3*x2 + 1*x3 >= 20",
    "7*x0 + 1*x3 + 8*x4 >= 20",
    "7*x0 + 7*x1 + 8*x4 >= 20",
    "7*x1 + 3*x2 + 8*x4 >= 20",
    "5*x0**2 + 5*x3**2 >= 18",
    "7*x0 + 8*x4 >= 18",
    "1*x1 + 5*x3 >= 19",
    "10*x0 - 8*x1 >= 0",
    "6*x2 + 5*x3 <= 134",
    "5*x3**2 + 6*x4**2 <= 123",
    "4*x1 + 6*x4 <= 77",
    "4*x1**2 + 6*x2**2 <= 84",
    "6*x2 + 6*x4 <= 120",
    "5*x0 + 4*x1 + 6*x2 <= 50",
    "4*x1**2 + 6*x2**2 + 6*x4**2 <= 121",
    "5*x0 + 4*x1 + 6*x2 + 5*x3 + 6*x4 <= 121",
    "7*x0 + 1*x3 <= 41",
    "7*x0**2 + 3*x2**2 <= 36",
    "3*x2 + 1*x3 <= 87",
    "7*x0 + 7*x1 + 8*x4 <= 75",
    "3*x2 + 1*x3 + 8*x4 <= 61",
    "7*x1 + 3*x2 + 1*x3 <= 105",
    "7*x0**2 + 1*x3**2 + 8*x4**2 <= 28",
    "7*x0 + 3*x2 + 1*x3 <= 96",
    "7*x0 + 7*x1 + 3*x2 + 1*x3 + 8*x4 <= 96",
    "5*x0**2 + 3*x4**2 <= 67",
    "5*x3**2 + 3*x4**2 <= 42",
    "5*x2 + 5*x3 <= 29",
    "5*x0**2 + 5*x3**2 <= 58",
    "5*x2 + 5*x3 + 3*x4 <= 42",
    "1*x1 + 5*x2 + 5*x3 <= 96",
    "5*x0**2 + 5*x3**2 + 3*x4**2 <= 59",
    "5*x0 + 1*x1 + 3*x4 <= 46",
    "5*x0**2 + 1*x1**2 + 5*x2**2 <= 27",
    "1*x1 + 5*x2 + 3*x4 <= 25",
    "5*x0 + 1*x1 + 5*x2 + 5*x3 + 3*x4 <= 25"
  ]
}
```

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

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

# Create variables
eggs = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="eggs")
bowls_of_cereal = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="bowls_of_cereal")
corn_cobs = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="corn_cobs")
ravioli = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="ravioli")
hamburgers = m.addVar(lb=0, vtype=GRB.INTEGER, name="hamburgers")


# Set objective function
m.setObjective(6.56*eggs**2 + 3.33*eggs*bowls_of_cereal + 6.39*eggs*corn_cobs + 1.62*eggs*ravioli + 9.77*eggs*hamburgers + 4.9*bowls_of_cereal*hamburgers + 6.19*corn_cobs*ravioli + 1.47*corn_cobs*hamburgers + 3.91*eggs + 9.32*bowls_of_cereal + 1.6*ravioli + 6.03*hamburgers, GRB.MAXIMIZE)

# Add constraints
m.addConstr(5*eggs**2 + 6*hamburgers**2 >= 17)
m.addConstr(5*ravioli + 6*hamburgers >= 32)
m.addConstr(5*eggs + 4*bowls_of_cereal >= 38)
m.addConstr(6*corn_cobs + 5*ravioli >= 44)
m.addConstr(4*bowls_of_cereal + 5*ravioli >= 29)
m.addConstr(5*eggs + 5*ravioli >= 40)
m.addConstr(3*corn_cobs**2 + 1*ravioli**2 >= 25)
# ... (rest of the constraints from the JSON "constraints" field)

m.addConstr(5 * eggs + 4 * bowls_of_cereal + 6 * corn_cobs + 5 * ravioli + 6 * hamburgers <= 121)
m.addConstr(5*eggs <= 238)
m.addConstr(4*bowls_of_cereal <= 238)
m.addConstr(6*corn_cobs <= 238)
m.addConstr(5*ravioli <= 238)
m.addConstr(6*hamburgers <= 238)

m.addConstr(7*eggs <= 130)
m.addConstr(7*bowls_of_cereal <= 130)
m.addConstr(3*corn_cobs <= 130)
m.addConstr(1*ravioli <= 130)
m.addConstr(8*hamburgers <= 130)

m.addConstr(5*eggs <= 121)
m.addConstr(1*bowls_of_cereal <= 121)
m.addConstr(5*corn_cobs <= 121)
m.addConstr(5*ravioli <= 121)
m.addConstr(3*hamburgers <= 121)


# Optimize model
m.optimize()

# Print solution
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("The problem is infeasible.")
else:
    print("The problem could not be solved to optimality.")

```