```json
{
  "sym_variables": [
    ("x0", "cantaloupes"),
    ("x1", "oreos"),
    ("x2", "apple pies"),
    ("x3", "kiwis"),
    ("x4", "bowls of instant ramen"),
    ("x5", "rotisserie chickens")
  ],
  "objective_function": "6.3*x0**2 + 3.48*x0*x1 + 6.25*x0*x4 + 4.34*x0*x5 + 1.08*x1*x2 + 7.63*x1*x3 + 6.66*x2**2 + 6.5*x2*x3 + 7.97*x2*x5 + 4.5*x3**2 + 7.24*x3*x5 + 5.51*x4*x5 + 7.25*x0 + 5.43*x2 + 3.49*x3 + 8.39*x4 + 4.79*x5",
  "constraints": [
    "6*x0 + 9*x1 + 11*x2 + 5*x3 + 10*x4 + 9*x5 <= 381",
    "9*x0 + 7*x1 + 11*x2 + 9*x3 + 2*x4 + 4*x5 <= 378",
    "8*x0 + 5*x1 + 8*x2 + 4*x3 + 6*x4 + 11*x5 <= 249",
    "8*x0 + 9*x1 + 7*x2 + 11*x3 + 7*x4 + 3*x5 <= 168",
    "6*x0**2 + 9*x5**2 >= 40",
    "11*x2 + 10*x4 >= 45",
    "10*x4 + 9*x5 >= 33",
    "11*x2 + 5*x3 + 10*x4 >= 59",
    "6*x0 + 9*x1 + 10*x4 >= 59",
    "11*x2**2 + 5*x3**2 + 10*x4**2 >= 59",
    "6*x0**2 + 9*x1**2 + 10*x4**2 >= 59",
    "7*x1**2 + 9*x3**2 >= 49",
    "11*x2 + 2*x4 >= 56",
    "11*x2 + 4*x5 >= 23",
    "9*x0 + 9*x3 >= 31",
    "9*x0 + 4*x5 >= 39",
    "7*x1**2 + 2*x4**2 >= 45",
    "11*x2**2 + 9*x3**2 >= 55",
    "7*x1 + 11*x2 + 4*x5 >= 41",
    "9*x0 + 9*x3 + 2*x4 >= 41",
    "11*x2 + 9*x3 + 4*x5 >= 41",
    "7*x1 + 11*x2 + 4*x5 >= 48",
    "9*x0 + 9*x3 + 2*x4 >= 48",
    "11*x2 + 9*x3 + 4*x5 >= 48",
    "7*x1**2 + 11*x2**2 + 4*x5**2 >= 42",
    "9*x0 + 9*x3 + 2*x4 >= 42",
    "11*x2 + 9*x3 + 4*x5 >= 42",
    "4*x3**2 + 6*x4**2 >= 21",
    "5*x1 + 4*x3 >= 29",
    "5*x1 + 6*x4 >= 17",
    "5*x1 + 11*x5 >= 20",
    "8*x0**2 + 5*x1**2 + 4*x3**2 >= 30"
  ]
}
```

```python
from gurobipy import *

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

# Create variables
cantaloupes = m.addVar(vtype=GRB.INTEGER, name="cantaloupes")
oreos = m.addVar(vtype=GRB.INTEGER, name="oreos")
apple_pies = m.addVar(vtype=GRB.INTEGER, name="apple_pies")
kiwis = m.addVar(vtype=GRB.CONTINUOUS, name="kiwis")
instant_ramen = m.addVar(vtype=GRB.CONTINUOUS, name="bowls_of_instant_ramen")
rotisserie_chickens = m.addVar(vtype=GRB.INTEGER, name="rotisserie_chickens")


# Set objective
m.setObjective(6.3*cantaloupes**2 + 3.48*cantaloupes*oreos + 6.25*cantaloupes*instant_ramen + 4.34*cantaloupes*rotisserie_chickens + 1.08*oreos*apple_pies + 7.63*oreos*kiwis + 6.66*apple_pies**2 + 6.5*apple_pies*kiwis + 7.97*apple_pies*rotisserie_chickens + 4.5*kiwis**2 + 7.24*kiwis*rotisserie_chickens + 5.51*instant_ramen*rotisserie_chickens + 7.25*cantaloupes + 5.43*apple_pies + 3.49*kiwis + 8.39*instant_ramen + 4.79*rotisserie_chickens, GRB.MAXIMIZE)

# Add constraints
m.addConstr(6*cantaloupes + 9*oreos + 11*apple_pies + 5*kiwis + 10*instant_ramen + 9*rotisserie_chickens <= 381, "r0")
m.addConstr(9*cantaloupes + 7*oreos + 11*apple_pies + 9*kiwis + 2*instant_ramen + 4*rotisserie_chickens <= 378, "r1")
m.addConstr(8*cantaloupes + 5*oreos + 8*apple_pies + 4*kiwis + 6*instant_ramen + 11*rotisserie_chickens <= 249, "r2")
m.addConstr(8*cantaloupes + 9*oreos + 7*apple_pies + 11*kiwis + 7*instant_ramen + 3*rotisserie_chickens <= 168, "r3")
# ... (add all other constraints similarly)


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

```