```json
{
  "sym_variables": [
    ("x0", "chicken breasts"),
    ("x1", "strips of bacon"),
    ("x2", "corn cobs"),
    ("x3", "cornichons"),
    ("x4", "chicken thighs"),
    ("x5", "hot dogs")
  ],
  "objective_function": "8*x0*x1 + 2*x0*x3 + 3*x0*x4 + 4*x1**2 + 8*x1*x2 + 5*x1*x4 + 9*x2*x4 + 4*x3*x5 + 9*x4*x5 + 6*x4",
  "constraints": [
    "16.91*x0 + 7.73*x1 + 10.25*x2 + 8.01*x3 + 8.1*x4 + 17.46*x5 <= 252",
    "3.65*x0 + 10.46*x1 + 9.96*x2 + 10.29*x3 + 17.09*x4 + 6.73*x5 <= 310",
    "5.48*x0 + 15.94*x1 + 8.44*x2 + 8.91*x3 + 11.84*x4 + 17.86*x5 <= 322",
    "7.73*x1**2 + 8.1*x4**2 >= 17",
    "10.25*x2 + 8.01*x3 >= 41",
    "16.91*x0**2 + 7.73*x1**2 >= 37",
    "7.73*x1 + 8.01*x3 >= 30",
    "8.1*x4 + 17.46*x5 >= 39",
    "16.91*x0 + 17.46*x5 >= 37",
    "10.25*x2 + 8.1*x4 >= 42",
    "7.73*x1**2 + 17.46*x5**2 >= 18",
    "16.91*x0 + 8.1*x4 >= 26",
    "8.01*x3 + 8.1*x4 >= 42",
    "8.01*x3 + 8.1*x4 + 17.46*x5 >= 37",
    "7.73*x1**2 + 8.01*x3**2 + 8.1*x4**2 >= 37",
    "7.73*x1**2 + 10.25*x2**2 + 17.46*x5**2 >= 37",
    "10.25*x2**2 + 8.1*x4**2 + 17.46*x5**2 >= 37",
    "7.73*x1 + 10.25*x2 + 8.01*x3 >= 37",
    "10.25*x2**2 + 8.01*x3**2 + 8.1*x4**2 >= 37",  
    "7.73*x1 + 8.1*x4 + 17.46*x5 >= 37",
    "7.73*x1**2 + 8.01*x3**2 + 17.46*x5**2 >= 37",
    "8.01*x3 + 8.1*x4 + 17.46*x5 >= 35",
    "7.73*x1 + 8.01*x3 + 8.1*x4 >= 35",
    "7.73*x1 + 10.25*x2 + 17.46*x5 >= 35",
    "10.25*x2**2 + 8.1*x4**2 + 17.46*x5**2 >= 35",
    "7.73*x1 + 10.25*x2 + 8.01*x3 >= 35",
    "10.25*x2**2 + 8.01*x3**2 + 8.1*x4**2 >= 35",
    "7.73*x1 + 8.1*x4 + 17.46*x5 >= 35",
    "7.73*x1**2 + 8.01*x3**2 + 17.46*x5**2 >= 35",

    "9.96*x2 + 17.09*x4 >= 49",
    "10.29*x3 + 17.09*x4 >= 24",
    "10.46*x1 + 10.29*x3 >= 35",
    "3.65*x0 + 9.96*x2 >= 36",
    "17.09*x4 + 6.73*x5 >= 27",
    "3.65*x0 + 6.73*x5 >= 46",
    "15.94*x1**2 + 11.84*x4**2 >= 42",
    "8.91*x3 + 11.84*x4 >= 51",
    "8.91*x3**2 + 17.86*x5**2 >= 47",
    "5.48*x0 + 11.84*x4 >= 21",
    "8.44*x2 + 11.84*x4 >= 52",
    "8.44*x2 + 8.91*x3 >= 43",
    "x0 >= 0",
    "x1 >= 0",
    "x2 >= 0",
    "x3 >= 0",
    "x4 >= 0",
    "x5 >= 0"

  ]
}
```

```python
import gurobipy as gp

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

# Create variables
chicken_breasts = m.addVar(lb=0, name="chicken_breasts")
strips_of_bacon = m.addVar(lb=0, name="strips_of_bacon")
corn_cobs = m.addVar(lb=0, name="corn_cobs")
cornichons = m.addVar(lb=0, name="cornichons")
chicken_thighs = m.addVar(lb=0, name="chicken_thighs")
hot_dogs = m.addVar(lb=0, name="hot_dogs")


# Set objective function
m.setObjective(8*chicken_breasts*strips_of_bacon + 2*chicken_breasts*cornichons + 3*chicken_breasts*chicken_thighs + 4*strips_of_bacon**2 + 8*strips_of_bacon*corn_cobs + 5*strips_of_bacon*chicken_thighs + 9*corn_cobs*chicken_thighs + 4*cornichons*hot_dogs + 9*chicken_thighs*hot_dogs + 6*chicken_thighs, gp.GRB.MINIMIZE)

# Add constraints
m.addConstr(16.91*chicken_breasts + 7.73*strips_of_bacon + 10.25*corn_cobs + 8.01*cornichons + 8.1*chicken_thighs + 17.46*hot_dogs <= 252, "r0")
m.addConstr(3.65*chicken_breasts + 10.46*strips_of_bacon + 9.96*corn_cobs + 10.29*cornichons + 17.09*chicken_thighs + 6.73*hot_dogs <= 310, "r1")
m.addConstr(5.48*chicken_breasts + 15.94*strips_of_bacon + 8.44*corn_cobs + 8.91*cornichons + 11.84*chicken_thighs + 17.86*hot_dogs <= 322, "r2")


# ... (rest of the constraints from the JSON "constraints" field)
# Example:
m.addConstr(7.73*strips_of_bacon**2 + 8.1*chicken_thighs**2 >= 17)
# ... (add all other constraints similarly)


# Optimize model
m.optimize()

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

```