```json
{
  "sym_variables": [
    ("x0", "steaks"),
    ("x1", "bowls of instant ramen"),
    ("x2", "kiwis"),
    ("x3", "cornichons"),
    ("x4", "cherry pies"),
    ("x5", "protein bars"),
    ("x6", "lemons")
  ],
  "objective_function": "1*x0 + 9*x1 + 6*x2 + 3*x3 + 6*x4 + 8*x5 + 7*x6",
  "constraints": [
    "1*x2 + 6*x5 >= 58",
    "23*x1 + 16*x6 >= 97",
    "23*x1 + 9*x4 >= 54",
    "23*x1 + 17*x2 >= 73",
    "1*x0 + 23*x1 + 9*x4 >= 65",
    "13*x3 + 9*x4 + 6*x5 >= 65",
    "13*x3 + 9*x4 + 16*x6 >= 65",
    "23*x1 + 13*x3 + 9*x4 >= 65",
    "13*x3 + 6*x5 + 16*x6 >= 65",
    "1*x0 + 17*x2 + 6*x5 >= 65",
    "23*x1 + 6*x5 + 16*x6 >= 65",
    "1*x0 + 13*x3 + 6*x5 >= 65",
    "23*x1 + 13*x3 + 6*x5 >= 65",
    "1*x0 + 17*x2 + 9*x4 >= 65",
    "1*x0 + 17*x2 + 16*x6 >= 65",
    "1*x0 + 23*x1 + 16*x6 >= 65",
    "1*x0 + 23*x1 + 9*x4 >= 88",
    "13*x3 + 9*x4 + 6*x5 >= 88",
    "13*x3 + 9*x4 + 16*x6 >= 88",
    "23*x1 + 13*x3 + 9*x4 >= 88",
    "13*x3 + 6*x5 + 16*x6 >= 88",
    "1*x0 + 17*x2 + 6*x5 >= 88",
    "23*x1 + 6*x5 + 16*x6 >= 88",
    "1*x0 + 13*x3 + 6*x5 >= 88",
    "23*x1 + 13*x3 + 6*x5 >= 88",
    "1*x0 + 17*x2 + 9*x4 >= 88",
    "1*x0 + 17*x2 + 16*x6 >= 88",
    "1*x0 + 23*x1 + 16*x6 >= 88",
    "1*x0 + 23*x1 + 9*x4 >= 90",
    "13*x3 + 9*x4 + 6*x5 >= 90",
    "13*x3 + 9*x4 + 16*x6 >= 90",
    "23*x1 + 13*x3 + 9*x4 >= 90",
    "13*x3 + 6*x5 + 16*x6 >= 90",
    "1*x0 + 17*x2 + 6*x5 >= 90",
    "23*x1 + 6*x5 + 16*x6 >= 90",
    "1*x0 + 13*x3 + 6*x5 >= 90",
    "23*x1 + 13*x3 + 6*x5 >= 90",
    "1*x0 + 17*x2 + 9*x4 >= 90",
    "1*x0 + 17*x2 + 16*x6 >= 90",
    "1*x0 + 23*x1 + 16*x6 >= 90",
    "1*x0 + 23*x1 + 9*x4 >= 53",
    "13*x3 + 9*x4 + 6*x5 >= 53",
    "13*x3 + 9*x4 + 16*x6 >= 53",
    "23*x1 + 13*x3 + 9*x4 >= 53",
    "13*x3 + 6*x5 + 16*x6 >= 53",
    "1*x0 + 17*x2 + 6*x5 >= 53",
    "23*x1 + 6*x5 + 16*x6 >= 53",
    "1*x0 + 13*x3 + 6*x5 >= 53",
    "23*x1 + 13*x3 + 6*x5 >= 53",
    "1*x0 + 17*x2 + 9*x4 >= 53",
    "1*x0 + 17*x2 + 16*x6 >= 53",
    "1*x0 + 23*x1 + 16*x6 >= 53",
    "12*x0 + 5*x4 >= 60",
    "14*x1 + 5*x4 >= 54",
    "11*x3 + 23*x6 >= 44",
    "12*x0 + 11*x3 + 5*x5 >= 61",
    "14*x1 + 26*x2 + 11*x3 >= 61",
    "12*x0 + 26*x2 + 5*x4 >= 61",
    "14*x1 + 5*x4 + 23*x6 >= 61",
    "12*x0 + 26*x2 + 23*x6 >= 61",
    "14*x1 + 11*x3 + 23*x6 >= 61",
    "11*x3 + 5*x5 + 23*x6 >= 61",
    "14*x1 + 11*x3 + 5*x4 >= 61",
    "29*x1 + 28*x2 + 15*x6 >= 36",
    "29*x1 + 28*x2 + 27*x5 >= 36",
    "6*x0 + 27*x5 + 15*x6 >= 36",
    "6*x0 + 28*x2 + 8*x3 >= 36",
    "28*x2 + 8*x3 + 15*x6 >= 36",
    "6*x0 + 29*x1 + 28*x2 >= 36",
    "6*x0 + 28*x2 + 15*x6 >= 36",
    "8*x3 + 25*x4 + 27*x5 >= 36",
    "29*x1 + 8*x3 + 25*x4 >= 36",
    "6*x0 + 8*x3 + 15*x6 >= 36",
    "28*x2 + 25*x4 + 15*x6 >= 36",
    "23*x1 + 9*x4 <= 566",
    "17*x2 + 9*x4 <= 478",
    "1*x0 + 16*x6 <= 110",
    "1*x0 + 23*x1 <= 179",
    "13*x3 + 9*x4 <= 560",
    "23*x1 + 13*x3 <= 389",
    "13*x3 + 6*x5 <= 298",
    "1*x0 + 13*x3 <= 404",
    "17*x2 + 6*x5 <= 393",
    "1*x0 + 9*x4 <= 578",
    "23*x1 + 17*x2 + 16*x6 <= 627",
    "1*x0 + 6*x5 + 16*x6 <= 396",
    "1*x0 + 17*x2 + 8*x3 <= 600",
    "1*x0 + 8*x3 + 16*x6 <= 407",
    "23*x1 + 9*x4 + 16*x6 <= 152",
    "23*x1 + 13*x3 + 6*x5 <= 186",
    "13*x3 + 6*x5 + 16*x6 <= 269",
    "9*x4 + 6*x5 + 16*x6 <= 546",
    "23*x1 + 17*x2 + 8*x3 <= 262",
    "1*x0 + 13*x3 + 6*x5 <= 442",
    "23*x1 + 6*x5 + 16*x6 <= 185",
    "1*x0 + 17*x2 + 9*x4 <= 617",
    "17*x2 + 8*x3 + 16*x6 <= 351",
    "1*x0 + 23*x1 + 6*x5 <= 465",
    "23*x1 + 9*x4 + 6*x5 <= 203",
    "23*x1 + 13*x3 + 16*x6 <= 171",
    "1*x0 + 23*x1 + 17*x2 <= 636",
    "17*x2 + 8*x3 + 9*x4 <= 475",
    "1*x0 + 23*x1 + 9*x4 <= 298",
    "1*x0 + 17*x2 + 16*x6 <= 607",
    "23*x1 + 13*x3 + 9*x4 <= 285",
    "13*x3 + 9*x4 + 16*x6 <= 373",
    "1*x0 + 13*x3 + 9*x4 <= 116",
    "1*x0 + 17*x2 + 6*x5 <= 304",
    "17*x2 + 9*x4 + 16*x6 <= 104",
    "13*x3 + 9*x4 + 6*x5 <= 164",
    "1*x0 + 23*x1 + 17*x2 + 13*x3 + 9*x4 + 6*x5 + 16*x6 <= 164",
    "5*x4 + 5*x5 <= 410",
    "11*x3 + 5*x4 <= 195",
    "26*x2 + 5*x4 <= 317",
    "14*x1 + 5*x5 <= 127",
    "5*x4 + 23*x6 <= 179",
    "26*x2 + 11*x3 <= 255",
    "12*x0 + 23*x6 <= 289",
    "11*x3 + 5*x5 <= 354",
    "12*x0 + 14*x1 <= 189",
    "5*x5 + 23*x6 <= 155",
    "12*x0 + 5*x5 <= 107",
    "12*x0 + 14*x1 + 23*x6 <= 434",
    "26*x2 + 11*x3 + 23*x6 <= 137",
    "26*x2 + 5*x4 + 5*x5 <= 292",
    "14*x1 + 26*x2 + 5*x5 <= 346",
    "12*x0 + 5*x4 + 23*x6 <= 99",
    "12*x0 + 26*x2 + 23*x6 <= 284",
    "11*x3 + 5*x5 + 23*x6 <= 358",
    "26*x2 + 11*x3 + 5*x4 <= 376",
    "26*x2 + 11*x3 + 5*x5 <= 108",
    "12*x0 + 5*x5 + 23*x6 <= 106",
    "12*x0 + 14*x1 + 26*x2 + 11*x3 + 5*x4 + 5*x5 + 23*x6 <= 106",
    "27*x5 + 15*x6 <= 316",
    "6*x0 + 28*x2 <= 325",
    "6*x0 + 29*x1 <= 98",
    "6*x0 + 8*x3 <= 306",
    "8*x3 + 15*x6 <= 119",
    "6*x0 + 27*x5 <= 83",
    "8*x3 + 25*x4 <= 182",
    "6*x0 + 15*x6 <= 389",
    "6*x0 + 29*x1 + 15*x6 <= 71",
    "6*x0 + 29*x1 + 27*x5 <= 340",
    "28*x2 + 8*x3 + 25*x4 <= 408",
    "6*x0 + 29*x1 + 25*x4 <= 134",
    "6*x0 + 27*x5 + 15*x6 <= 84",
    "6*x0 + 25*x4 + 27*x5 <= 305",
    "6*x0 + 8*x3 + 15*x6 <= 179",
    "8*x3 + 27*x5 + 15*x6 <= 179",
    "29*x1 + 28*x2 + 27*x5 <= 131",
    "29*x1 + 8*x3 + 15*x6 <= 398",
    "28*x2 + 27*x5 + 15*x6 <= 89",
    "29*x1 + 28*x2 + 25*x4 <= 375",
    "29*x1 + 8*x3 + 25*x4 <= 102",
    "6*x0 + 8*x3 + 25*x4 <= 230",
    "28*x2 + 25*x4 + 15*x6 <= 345",
    "28*x2 + 8*x3 + 15*x6 <= 350",
    "29*x1 + 27*x5 + 15*x6 <= 171",
    "6*x0 + 28*x2 + 15*x6 <= 308",
    "28*x2 + 8*x3 + 27*x5 <= 246",
    "6*x0 + 28*x2 + 27*x5 <= 332",
    "6*x0 + 28*x2 + 8*x3 <= 150",
    "29*x1 + 28*x2 + 8*x3 <= 276",
    "29*x1 + 28*x2 + 15*x6 <= 297",
    "29*x1 + 25*x4 + 27*x5 <= 147",
    "6*x0 + 25*x4 + 15*x6 <= 154",
    "6*x0 + 29*x1 + 28*x2 + 8*x3 + 25*x4 + 27*x5 + 15*x6 <= 154"
  ]
}
```

```python
import gurobipy as gp

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

# Create variables
steaks = m.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="steaks")
bowls_of_instant_ramen = m.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="bowls_of_instant_ramen")
kiwis = m.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="kiwis")
cornichons = m.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="cornichons")
cherry_pies = m.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="cherry_pies")
protein_bars = m.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="protein_bars")
lemons = m.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="lemons")


# Set objective
m.setObjective(1 * steaks + 9 * bowls_of_instant_ramen + 6 * kiwis + 3 * cornichons + 6 * cherry_pies + 8 * protein_bars + 7 * lemons, gp.GRB.MAXIMIZE)

# Add constraints
m.addConstr(17 * kiwis + 6 * protein_bars >= 58)
m.addConstr(23 * bowls_of_instant_ramen + 16 * lemons >= 97)
m.addConstr(23 * bowls_of_instant_ramen + 9 * cherry_pies >= 54)
m.addConstr(23 * bowls_of_instant_ramen + 17 * kiwis >= 73)
# ... (add all other constraints similarly)
m.addConstr(1*steaks + 23*bowls_of_instant_ramen + 9 * cherry_pies >= 65)
# ...

# Resource constraints
m.addConstr(1 * steaks + 23 * bowls_of_instant_ramen + 17 * kiwis + 13 * cornichons + 9 * cherry_pies + 6 * protein_bars + 16 * lemons <= 679, "r0")
m.addConstr(12 * steaks + 14 * bowls_of_instant_ramen + 26 * kiwis + 11 * cornichons + 5 * cherry_pies + 5 * protein_bars + 23 * lemons <= 451, "r1")
m.addConstr(6 * steaks + 29 * bowls_of_instant_ramen + 28 * kiwis + 8 * cornichons + 25 * cherry_pies + 27 * protein_bars + 15 * lemons <= 414, "r2")


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

```
