```json
{
  "sym_variables": [
    ("x0", "color printers"),
    ("x1", "headsets"),
    ("x2", "red highlighters"),
    ("x3", "paper clips"),
    ("x4", "lanyards")
  ],
  "objective_function": "9.97 * x0 + 7.52 * x1 + 4.8 * x2 + 3.16 * x3 + 6.17 * x4",
  "constraints": [
    "11 * x1 + 12 * x2 >= 55",
    "12 * x2 + 10 * x4 >= 24",
    "11 * x1 + 26 * x3 >= 49",
    "15 * x0 + 12 * x2 + 10 * x4 >= 31",
    "15 * x0 + 12 * x2 + 26 * x3 >= 31",
    "12 * x2 + 26 * x3 + 10 * x4 >= 31",
    "15 * x0 + 11 * x1 + 12 * x2 >= 31",
    "15 * x0 + 11 * x1 + 10 * x4 >= 31",
    "11 * x1 + 12 * x2 + 10 * x4 >= 31",
    "11 * x1 + 26 * x3 + 10 * x4 >= 31",
    "11 * x1 + 12 * x2 + 26 * x3 >= 31",
    "15 * x0 + 12 * x2 + 10 * x4 >= 33",
    "15 * x0 + 12 * x2 + 26 * x3 >= 33",
    "12 * x2 + 26 * x3 + 10 * x4 >= 33",
    "15 * x0 + 11 * x1 + 12 * x2 >= 33",
    "15 * x0 + 11 * x1 + 10 * x4 >= 33",
    "11 * x1 + 12 * x2 + 10 * x4 >= 33",
    "11 * x1 + 26 * x3 + 10 * x4 >= 33",
    "11 * x1 + 12 * x2 + 26 * x3 >= 33",
    "15 * x0 + 12 * x2 + 10 * x4 >= 48",
    "15 * x0 + 12 * x2 + 26 * x3 >= 48",
    "12 * x2 + 26 * x3 + 10 * x4 >= 48",
    "15 * x0 + 11 * x1 + 12 * x2 >= 48",
    "15 * x0 + 11 * x1 + 10 * x4 >= 48",
    "11 * x1 + 12 * x2 + 10 * x4 >= 48",
    "11 * x1 + 26 * x3 + 10 * x4 >= 48",
    "11 * x1 + 12 * x2 + 26 * x3 >= 48",
    "15 * x0 + 12 * x2 + 10 * x4 >= 37",
    "15 * x0 + 12 * x2 + 26 * x3 >= 37",
    "12 * x2 + 26 * x3 + 10 * x4 >= 37",
    "15 * x0 + 11 * x1 + 12 * x2 >= 37",
    "15 * x0 + 11 * x1 + 10 * x4 >= 37",
    "11 * x1 + 12 * x2 + 10 * x4 >= 37",
    "11 * x1 + 26 * x3 + 10 * x4 >= 37",
    "11 * x1 + 12 * x2 + 26 * x3 >= 37",
    "15 * x0 + 12 * x2 + 10 * x4 >= 49",
    "15 * x0 + 12 * x2 + 26 * x3 >= 49",
    "12 * x2 + 26 * x3 + 10 * x4 >= 49",
    "15 * x0 + 11 * x1 + 12 * x2 >= 49",
    "15 * x0 + 11 * x1 + 10 * x4 >= 49",
    "11 * x1 + 12 * x2 + 10 * x4 >= 49",
    "11 * x1 + 26 * x3 + 10 * x4 >= 49",
    "11 * x1 + 12 * x2 + 26 * x3 >= 49",
    "15 * x0 + 12 * x2 + 10 * x4 >= 63",
    "15 * x0 + 12 * x2 + 26 * x3 >= 63",
    "12 * x2 + 26 * x3 + 10 * x4 >= 63",
    "15 * x0 + 11 * x1 + 12 * x2 >= 63",
    "15 * x0 + 11 * x1 + 10 * x4 >= 63",
    "11 * x1 + 12 * x2 + 10 * x4 >= 63",
    "11 * x1 + 26 * x3 + 10 * x4 >= 63",
    "11 * x1 + 12 * x2 + 26 * x3 >= 63",
    "15 * x0 + 12 * x2 + 10 * x4 >= 60",
    "15 * x0 + 12 * x2 + 26 * x3 >= 60",
    "12 * x2 + 26 * x3 + 10 * x4 >= 60",
    "15 * x0 + 11 * x1 + 12 * x2 >= 60",
    "15 * x0 + 11 * x1 + 10 * x4 >= 60",
    "11 * x1 + 12 * x2 + 10 * x4 >= 60",
    "11 * x1 + 26 * x3 + 10 * x4 >= 60",
    "11 * x1 + 12 * x2 + 26 * x3 >= 60",
    "15 * x0 + 11 * x1 + 12 * x2 + 26 * x3 + 10 * x4 >= 60",
    "17 * x2 + 24 * x4 >= 14",
    "8 * x0 + 17 * x2 >= 29",
    "6 * x1 + 24 * x4 >= 15",
    "8 * x0 + 22 * x3 >= 11",
    "6 * x1 + 17 * x2 >= 21",
    "8 * x0 + 6 * x1 + 17 * x2 + 22 * x3 + 24 * x4 >= 21",
    "20 * x3 + 23 * x4 >= 30",
    "9 * x1 + 20 * x2 >= 40",
    "13 * x0 + 20 * x2 >= 29",
    "13 * x0 + 9 * x1 >= 53",
    "9 * x1 + 20 * x3 >= 33",
    "9 * x1 + 23 * x4 >= 33",
    "20 * x2 + 20 * x3 + 23 * x4 >= 32",
    "13 * x0 + 9 * x1 + 20 * x2 + 20 * x3 + 23 * x4 >= 32",
    "-3 * x0 + 3 * x1 >= 0",
    "6 * x3 - 4 * x4 >= 0",
    "-7 * x0 - 5 * x1 + 2 * x4 >= 0",
    "15 * x0 + 12 * x2 <= 261",
    "15 * x0 + 11 * x1 <= 200",
    "11 * x1 + 10 * x4 <= 274",
    "15 * x0 + 12 * x2 + 10 * x4 <= 187",
    "15 * x0 + 12 * x2 + 26 * x3 <= 231",
    "6 * x1 + 17 * x2 + 22 * x3 <= 93",
    "6 * x1 + 22 * x3 + 24 * x4 <= 121",
    "13 * x0 + 9 * x1 <= 173",
    "20 * x2 + 23 * x4 <= 147",
    "20 * x3 + 23 * x4 <= 82",
    "13 * x0 + 20 * x3 <= 124",
    "13 * x0 + 23 * x4 <= 100",
    "9 * x1 + 20 * x3 + 23 * x4 <= 230",
    "15 * x0 + 11 * x1 + 12 * x2 + 26 * x3 + 10 * x4 <= 319",
    "8 * x0 + 6 * x1 + 17 * x2 + 22 * x3 + 24 * x4 <= 171",
    "13 * x0 + 9 * x1 + 20 * x2 + 20 * x3 + 23 * x4 <= 270"
  ]
}
```

```python
import gurobipy as gp

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

# Create variables
color_printers = m.addVar(vtype=gp.GRB.INTEGER, name="color_printers")
headsets = m.addVar(vtype=gp.GRB.INTEGER, name="headsets")
red_highlighters = m.addVar(vtype=gp.GRB.INTEGER, name="red_highlighters")
paper_clips = m.addVar(vtype=gp.GRB.INTEGER, name="paper_clips")
lanyards = m.addVar(vtype=gp.GRB.INTEGER, name="lanyards")


# Set objective function
m.setObjective(9.97 * color_printers + 7.52 * headsets + 4.8 * red_highlighters + 3.16 * paper_clips + 6.17 * lanyards, gp.GRB.MINIMIZE)

# Add constraints
m.addConstr(11 * headsets + 12 * red_highlighters >= 55)
m.addConstr(12 * red_highlighters + 10 * lanyards >= 24)
m.addConstr(11 * headsets + 26 * paper_clips >= 49)


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

m.addConstr(15 * color_printers + 11 * headsets + 12 * red_highlighters + 26 * paper_clips + 10 * lanyards <= 319)
m.addConstr(8 * color_printers + 6 * headsets + 17 * red_highlighters + 22 * paper_clips + 24 * lanyards <= 171)
m.addConstr(13 * color_printers + 9 * headsets + 20 * red_highlighters + 20 * paper_clips + 23 * lanyards <= 270)


# Optimize model
m.optimize()

# Print results
if m.status == gp.GRB.OPTIMAL:
    print('Obj: %g' % m.objVal)
    print('color_printers:', color_printers.x)
    print('headsets:', headsets.x)
    print('red_highlighters:', red_highlighters.x)
    print('paper_clips:', paper_clips.x)
    print('lanyards:', lanyards.x)

elif m.status == gp.GRB.INFEASIBLE:
    print("The model is infeasible.")
else:
    print("Optimization ended with status:", m.status)

```