```json
{
  "sym_variables": [
    ("x0", "cherry pies"),
    ("x1", "kale salads"),
    ("x2", "hot dogs"),
    ("x3", "granola bars"),
    ("x4", "sashimi")
  ],
  "objective_function": "8.47*x0**2 + 4.98*x0*x1 + 1.89*x0*x3 + 4.42*x0*x4 + 8.94*x1**2 + 3.13*x2**2 + 2.21*x2*x4 + 3.25*x3*x4 + 7.68*x1 + 5.23*x3",
  "constraints": [
    "12*x0 + 11*x3 + 15*x4 >= 38",
    "14*x1 + 17*x3 >= 21",
    "22*x2**2 + 21*x4**2 >= 23",
    "1*x0 + 17*x3 >= 36",
    "1*x0**2 + 21*x4**2 >= 23",
    "1*x0 + 22*x2 >= 18",
    "1*x0**2 + 14*x1**2 + 22*x2**2 >= 36",
    "14*x1 + 22*x2 + 17*x3 >= 36",
    "1*x0 + 17*x3 + 21*x4 >= 36",
    "1*x0**2 + 14*x1**2 + 17*x3**2 >= 36",
    "22*x2 + 17*x3 + 21*x4 >= 36",
    "1*x0 + 14*x1 + 22*x2 >= 32",
    "14*x1 + 22*x2 + 17*x3 >= 32",
    "1*x0 + 17*x3 + 21*x4 >= 32",
    "1*x0 + 14*x1 + 17*x3 >= 32",
    "22*x2 + 17*x3 + 21*x4 >= 32",
    "1*x0 + 14*x1 + 22*x2 >= 26",
    "14*x1**2 + 22*x2**2 + 17*x3**2 >= 26",
    "1*x0 + 17*x3 + 21*x4 >= 26",
    "1*x0 + 14*x1 + 17*x3 >= 26",
    "22*x2**2 + 17*x3**2 + 21*x4**2 >= 26",
    "1*x0 + 14*x1 + 22*x2 >= 33",
    "14*x1**2 + 22*x2**2 + 17*x3**2 >= 33",
    "1*x0 + 17*x3 + 21*x4 >= 33",
    "1*x0**2 + 14*x1**2 + 17*x3**2 >= 33",
    "22*x2**2 + 17*x3**2 + 21*x4**2 >= 33",
    "1*x0 + 14*x1 + 22*x2 >= 24",
    "14*x1 + 22*x2 + 17*x3 >= 24",
    "1*x0 + 17*x3 + 21*x4 >= 24",
    "1*x0 + 14*x1 + 17*x3 >= 24",
    "22*x2**2 + 17*x3**2 + 21*x4**2 >= 24",
    "15*x1 + 6*x2 >= 22",
    "10*x0 + 6*x2 >= 30",
    "15*x1 + 10*x4 >= 34",
    "10*x0 + 15*x1 >= 47",
    "6*x2 + 10*x4 >= 43",
    "10*x0 + 4*x3 >= 48",
    "10*x0 + 10*x4 >= 30",
    "15*x1**2 + 4*x3**2 >= 51",
    "10*x0 + 4*x3 + 10*x4 >= 28",
    "6*x2 + 4*x3 + 10*x4 >= 28",
    "10*x0 + 15*x1 + 4*x3 >= 28",
    "10*x0 + 15*x1 + 10*x4 >= 28",
    "10*x0 + 4*x3 + 10*x4 >= 42",
    "6*x2**2 + 4*x3**2 + 10*x4**2 >= 42",
    "10*x0 + 15*x1 + 4*x3 >= 42",
    "10*x0 + 15*x1 + 10*x4 >= 42",
    "10*x0**2 + 4*x3**2 + 10*x4**2 >= 36",
    "6*x2 + 4*x3 + 10*x4 >= 36",
    "10*x0 + 15*x1 + 4*x3 >= 36",
    "10*x0 + 15*x1 + 10*x4 >= 36",
    "10*x0 + 4*x3 + 10*x4 >= 34",
    "6*x2 + 4*x3 + 10*x4 >= 34",
    "10*x0**2 + 15*x1**2 + 4*x3**2 >= 34",
    "10*x0**2 + 15*x1**2 + 10*x4**2 >= 34",
    "4*x2**2 + 15*x4**2 <= 184",
    "12*x0 + 23*x1 <= 153",
    "12*x0**2 + 4*x2**2 <= 196",
    "23*x1 + 11*x3 <= 203",
    "4*x2 + 11*x3 <= 122",
    "12*x0**2 + 11*x3**2 <= 240",
    "4*x2 + 11*x3 + 15*x4 <= 211",
    "12*x0 + 4*x2 + 11*x3 <= 156",
    "12*x0 + 23*x1 + 4*x2 <= 157",
    "12*x0 + 11*x3 + 15*x4 <= 213",
    "23*x1 + 11*x3 + 15*x4 <= 113",
    "12*x0 + 23*x1 + 11*x3 <= 60",
    "23*x1**2 + 4*x2**2 + 15*x4**2 <= 235",
    "12*x0 + 4*x2 + 15*x4 <= 179",
    "12*x0 + 23*x1 + 4*x2 + 11*x3 + 15*x4 <= 179",
    "14*x1 + 17*x3 <= 166",
    "1*x0 + 21*x4 <= 179",
    "14*x1 + 22*x2 <= 125",
    "17*x3**2 + 21*x4**2 <= 76",
    "1*x0 + 14*x1 <= 170",
    "1*x0 + 14*x1 + 22*x2 + 17*x3 + 21*x4 <= 170",
    "15*x1 + 16*x2 <= 162",
    "16*x2**2 + 19*x4**2 <= 247",
    "16*x2 + 23*x3 <= 166",
    "15*x1 + 19*x4 <= 126",
    "19*x0**2 + 16*x2**2 <= 74",
    "15*x1**2 + 23*x3**2 <= 276",
    "19*x0**2 + 15*x1**2 + 16*x2**2 <= 290",
    "19*x0 + 15*x1 + 16*x2 + 23*x3 + 19*x4 <= 290",
    "15*x1**2 + 10*x4**2 <= 127",
    "4*x3**2 + 10*x4**2 <= 245",
    "6*x2 + 10*x4 <= 128",
    "10*x0**2 + 15*x1**2 <= 109",
    "15*x1**2 + 6*x2**2 + 10*x4**2 <= 175",
    "10*x0 + 6*x2 + 4*x3 <= 79",
    "10*x0**2 + 15*x1**2 + 4*x3**2 <= 81",
    "15*x1**2 + 6*x2**2 + 4*x3**2 <= 265",
    "15*x1 + 4*x3 + 10*x4 <= 108",
    "10*x0 + 15*x1 + 6*x2 + 4*x3 + 10*x4 <= 108",
    "12*x0 + 23*x1 + 4*x2 + 11*x3 + 15*x4 <= 240",
    "1*x0 + 14*x1 + 22*x2 + 17*x3 + 21*x4 <= 181",
    "19*x0 + 15*x1 + 16*x2 + 23*x3 + 19*x4 <= 336",
    "10*x0 + 15*x1 + 6*x2 + 4*x3 + 10*x4 <= 272"
  ]
}
```

```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="cherry pies")
x1 = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="kale salads")
x2 = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="hot dogs")
x3 = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="granola bars")
x4 = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="sashimi")


# Set objective function
m.setObjective(8.47*x0**2 + 4.98*x0*x1 + 1.89*x0*x3 + 4.42*x0*x4 + 8.94*x1**2 + 3.13*x2**2 + 2.21*x2*x4 + 3.25*x3*x4 + 7.68*x1 + 5.23*x3, GRB.MAXIMIZE)

# Add constraints
m.addConstr(12*x0 + 11*x3 + 15*x4 >= 38)
m.addConstr(14*x1 + 17*x3 >= 21)
m.addConstr(22*x2**2 + 21*x4**2 >= 23)
# ... (add all other constraints similarly)
m.addConstr(12 * x0 + 23 * x1 + 4 * x2 + 11 * x3 + 15 * x4 <= 240)
m.addConstr(1 * x0 + 14 * x1 + 22 * x2 + 17 * x3 + 21 * x4 <= 181)
m.addConstr(19 * x0 + 15 * x1 + 16 * x2 + 23 * x3 + 19 * x4 <= 336)
m.addConstr(10 * x0 + 15 * x1 + 6 * x2 + 4 * x3 + 10 * x4 <= 272)


# 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)

```
