```json
{
  "sym_variables": [
    ("x0", "cherry pies"),
    ("x1", "kale salads"),
    ("x2", "cantaloupes")
  ],
  "objective_function": "x0 * x1 + 8 * x1**2 + 2 * x1 * x2 + 6 * x2**2 + 6 * x0 + 3 * x1 + 7 * x2",
  "constraints": [
    "5*x0 + 15*x1 + 17*x2 >= 41",
    "12*x0 + 4*x1 + 16*x2 >= 39",
    "4*x1 + 16*x2 >= 31",
    "12*x0 + 16*x2 >= 39",
    "12*x0 + 4*x1 + 16*x2 >= 39",
    "1*x0 + 11*x2 >= 10",
    "11*x1**2 + 11*x2**2 >= 28",
    "1*x0 + 11*x1 >= 16",
    "1*x0**2 + 11*x1**2 + 11*x2**2 >= 19",
    "1*x0 + 11*x1 + 11*x2 >= 19",
    "17*x0**2 + 7*x1**2 >= 36",
    "7*x1 + 7*x2 >= 47",
    "17*x0**2 + 7*x2**2 >= 48",
    "17*x0 + 7*x1 + 7*x2 >= 48",
    "11*x0 + 9*x1 >= 32",
    "11*x0**2 + 5*x2**2 >= 26",
    "11*x0 + 9*x1 + 5*x2 >= 26",
    "10*x0 - 4*x1 >= 0",
    "1*x0 + 11*x2 <= 75",
    "1*x0 + 11*x1 <= 72",
    "1*x0 + 11*x1 + 11*x2 <= 40",
    "7*x1 + 7*x2 <= 86",
    "5*x0 + 15*x1 + 17*x2 <= 263",
    "12*x0 + 4*x1 + 16*x2 <= 134",
    "1*x0 + 11*x1 + 11*x2 <= 86",
    "17*x0 + 7*x1 + 7*x2 <= 218",
    "11*x0 + 9*x1 + 5*x2 <= 102"

  ]
}
```

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

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

# Create variables
cherry_pies = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="cherry_pies")
kale_salads = m.addVar(lb=0, vtype=GRB.INTEGER, name="kale_salads")
cantaloupes = m.addVar(lb=0, vtype=GRB.INTEGER, name="cantaloupes")


# Set objective function
m.setObjective(cherry_pies * kale_salads + 8 * kale_salads**2 + 2 * kale_salads * cantaloupes + 6 * cantaloupes**2 + 6 * cherry_pies + 3 * kale_salads + 7 * cantaloupes, GRB.MINIMIZE)

# Add constraints
m.addConstr(5*cherry_pies + 15*kale_salads + 17*cantaloupes >= 41)
m.addConstr(12*cherry_pies + 4*kale_salads + 16*cantaloupes >= 39)
m.addConstr(4*kale_salads + 16*cantaloupes >= 31)
m.addConstr(12*cherry_pies + 16*cantaloupes >= 39)
m.addConstr(12*cherry_pies + 4*kale_salads + 16*cantaloupes >= 39)
m.addConstr(1*cherry_pies + 11*cantaloupes >= 10)
m.addConstr(11*kale_salads**2 + 11*cantaloupes**2 >= 28)
m.addConstr(1*cherry_pies + 11*kale_salads >= 16)
m.addConstr(1*cherry_pies**2 + 11*kale_salads**2 + 11*cantaloupes**2 >= 19)
m.addConstr(1*cherry_pies + 11*kale_salads + 11*cantaloupes >= 19)
m.addConstr(17*cherry_pies**2 + 7*kale_salads**2 >= 36)
m.addConstr(7*kale_salads + 7*cantaloupes >= 47)
m.addConstr(17*cherry_pies**2 + 7*cantaloupes**2 >= 48)
m.addConstr(17*cherry_pies + 7*kale_salads + 7*cantaloupes >= 48)
m.addConstr(11*cherry_pies + 9*kale_salads >= 32)
m.addConstr(11*cherry_pies**2 + 5*cantaloupes**2 >= 26)
m.addConstr(11*cherry_pies + 9*kale_salads + 5*cantaloupes >= 26)
m.addConstr(10*cherry_pies - 4*kale_salads >= 0)
m.addConstr(1*cherry_pies + 11*cantaloupes <= 75)
m.addConstr(1*cherry_pies + 11*kale_salads <= 72)
m.addConstr(1*cherry_pies + 11*kale_salads + 11*cantaloupes <= 40)
m.addConstr(7*kale_salads + 7*cantaloupes <= 86)

m.addConstr(5*cherry_pies + 15*kale_salads + 17*cantaloupes <= 263)
m.addConstr(12*cherry_pies + 4*kale_salads + 16*cantaloupes <= 134)
m.addConstr(1*cherry_pies + 11*kale_salads + 11*cantaloupes <= 86)
m.addConstr(17*cherry_pies + 7*kale_salads + 7*cantaloupes <= 218)
m.addConstr(11*cherry_pies + 9*kale_salads + 5*cantaloupes <= 102)



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

```