```json
{
  "sym_variables": [
    ("x0", "hot dogs"),
    ("x1", "ham sandwiches"),
    ("x2", "oreos"),
    ("x3", "chicken drumsticks"),
    ("x4", "bananas")
  ],
  "objective_function": "3*x0 + 2*x1 + 7*x2 + 3*x3 + 6*x4",
  "constraints": [
    "18*x0 + 10*x1 + 3*x2 + 22*x3 + 17*x4 <= 436",
    "15*x0 + 13*x1 + 19*x2 + 12*x3 + 21*x4 <= 142",
    "9*x0 + 15*x1 + 10*x2 + 6*x3 + 3*x4 <= 239",
    "10*x1 + 17*x4 >= 60",
    "18*x0 + 17*x4 >= 46",
    "3*x2 + 17*x4 >= 64",
    "18*x0 + 10*x1 >= 64",
    "18*x0 + 3*x2 + 17*x4 >= 74",
    "18*x0 + 22*x3 + 17*x4 >= 74",
    "18*x0 + 3*x2 + 22*x3 >= 74",
    "10*x1 + 3*x2 + 17*x4 >= 74",
    "18*x0 + 3*x2 + 17*x4 >= 65",
    "18*x0 + 22*x3 + 17*x4 >= 65",
    "18*x0 + 3*x2 + 22*x3 >= 65",
    "10*x1 + 3*x2 + 17*x4 >= 65",
    "18*x0 + 3*x2 + 17*x4 >= 81",
    "18*x0 + 22*x3 + 17*x4 >= 81",
    "18*x0 + 3*x2 + 22*x3 >= 81",
    "10*x1 + 3*x2 + 17*x4 >= 81",
    "18*x0 + 3*x2 + 17*x4 >= 45",
    "18*x0 + 22*x3 + 17*x4 >= 45",
    "18*x0 + 3*x2 + 22*x3 >= 45",
    "10*x1 + 3*x2 + 17*x4 >= 45",
    "15*x0 + 13*x1 >= 28",
    "15*x0 + 21*x4 >= 17",
    "15*x0 + 12*x3 >= 9",
    "15*x0 + 19*x2 >= 18",
    "19*x2 + 12*x3 >= 27",
    "13*x1 + 12*x3 >= 21",
    "13*x1 + 21*x4 >= 14",
    "15*x0 + 13*x1 + 19*x2 >= 25",
    "15*x0 + 19*x2 + 21*x4 >= 25",
    "15*x0 + 19*x2 + 12*x3 >= 25",
    "19*x2 + 12*x3 + 21*x4 >= 25",
    "15*x0 + 12*x3 + 21*x4 >= 25",
    "15*x0 + 13*x1 + 21*x4 >= 25",
    "15*x0 + 13*x1 + 12*x3 >= 25",
    "13*x1 + 19*x2 + 12*x3 >= 25",

    "9*x0 + 10*x2 >= 37",
    "9*x0 + 6*x3 >= 28",
    "9*x0 + 15*x1 >= 15",
    "18*x0 + 17*x4 <= 402",
    "22*x3 + 17*x4 <= 208",
    "18*x0 + 10*x1 <= 359",
    "18*x0 + 22*x3 <= 183",
    "18*x0 + 10*x1 + 3*x2 <= 419",
    "18*x0 + 10*x1 + 17*x4 <= 162",
    "18*x0 + 3*x2 + 17*x4 <= 316",
    "18*x0 + 3*x2 + 22*x3 <= 169",
    "10*x1 + 3*x2 + 17*x4 <= 226",
    "18*x0 + 10*x1 + 3*x2 + 22*x3 + 17*x4 <= 226",
    "15*x0 + 13*x1 <= 41",
    "13*x1 + 19*x2 <= 97",
    "12*x3 + 21*x4 <= 38",
    "19*x2 + 21*x4 <= 121",
    "15*x0 + 21*x4 <= 45",
    "13*x1 + 21*x4 <= 103",
    "15*x0 + 19*x2 + 21*x4 <= 118",
    "13*x1 + 12*x3 + 21*x4 <= 79",
    "15*x0 + 13*x1 + 21*x4 <= 131",
    "15*x0 + 12*x3 + 21*x4 <= 140",
    "13*x1 + 19*x2 + 12*x3 <= 111",
    "15*x0 + 13*x1 + 12*x3 <= 61",
    "13*x1 + 19*x2 + 21*x4 <= 47",
    "19*x2 + 12*x3 + 21*x4 <= 71",
    "15*x0 + 13*x1 + 19*x2 + 12*x3 + 21*x4 <= 71",
    "9*x0 + 6*x3 <= 128",
    "9*x0 + 15*x1 + 10*x2 <= 63",
    "9*x0 + 6*x3 + 3*x4 <= 162",
    "9*x0 + 10*x2 + 3*x4 <= 62",
    "9*x0 + 15*x1 + 10*x2 + 6*x3 + 3*x4 <= 62"


  ]
}
```

```python
import gurobipy as gp

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

# Create variables
hot_dogs = m.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="hot_dogs")
ham_sandwiches = m.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="ham_sandwiches")
oreos = m.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="oreos")
chicken_drumsticks = m.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="chicken_drumsticks")
bananas = m.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="bananas")


# Set objective function
m.setObjective(3*hot_dogs + 2*ham_sandwiches + 7*oreos + 3*chicken_drumsticks + 6*bananas, gp.GRB.MAXIMIZE)

# Add constraints
m.addConstr(18*hot_dogs + 10*ham_sandwiches + 3*oreos + 22*chicken_drumsticks + 17*bananas <= 436, "c0")
m.addConstr(15*hot_dogs + 13*ham_sandwiches + 19*oreos + 12*chicken_drumsticks + 21*bananas <= 142, "c1")
m.addConstr(9*hot_dogs + 15*ham_sandwiches + 10*oreos + 6*chicken_drumsticks + 3*bananas <= 239, "c2")

# ... (rest of the constraints from the JSON "constraints" section)

m.optimize()

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 model is infeasible.")
else:
    print(f"Optimization terminated with status {m.status}")

```