```json
{
  "sym_variables": [
    ("x0", "hours worked by Ringo"),
    ("x1", "hours worked by Dale"),
    ("x2", "hours worked by Jean"),
    ("x3", "hours worked by Hank"),
    ("x4", "hours worked by Laura")
  ],
  "objective_function": "4*x0 + 3*x1 + 8*x2 + 7*x3 + 9*x4",
  "constraints": [
    "1.18*x3 + 8.96*x4 >= 58",
    "1.18*x0 + 8.96*x4 >= 43",
    "1.18*x0 + 6.2*x3 >= 38",
    "5.76*x1 + 16.55*x2 + 6.2*x3 >= 90",
    "1.18*x0 + 16.55*x2 + 6.2*x3 >= 90",
    "5.76*x1 + 16.55*x2 + 6.2*x3 >= 80",
    "1.18*x0 + 16.55*x2 + 6.2*x3 >= 80",
    "1.18*x0 + 5.76*x1 + 16.55*x2 + 6.2*x3 + 8.96*x4 >= 80",
    "13.75*x2 + 5.4*x4 >= 102",
    "8.54*x0 + 9.5*x3 >= 107",
    "1.77*x1 + 9.5*x3 >= 78",
    "1.77*x1 + 13.75*x2 + 9.5*x3 >= 92",
    "8.54*x0 + 9.5*x3 + 5.4*x4 >= 92",
    "8.54*x0 + 13.75*x2 + 5.4*x4 >= 92",
    "8.54*x0 + 1.77*x1 + 13.75*x2 >= 92",
    "1.77*x1 + 13.75*x2 + 9.5*x3 >= 107",
    "8.54*x0 + 9.5*x3 + 5.4*x4 >= 107",
    "8.54*x0 + 13.75*x2 + 5.4*x4 >= 107",
    "8.54*x0 + 1.77*x1 + 13.75*x2 >= 107",
    "1.77*x1 + 13.75*x2 + 9.5*x3 >= 73",
    "8.54*x0 + 9.5*x3 + 5.4*x4 >= 73",
    "8.54*x0 + 13.75*x2 + 5.4*x4 >= 73",
    "8.54*x0 + 1.77*x1 + 13.75*x2 >= 73",
    "1.77*x1 + 13.75*x2 + 9.5*x3 >= 69",
    "8.54*x0 + 9.5*x3 + 5.4*x4 >= 69",
    "8.54*x0 + 13.75*x2 + 5.4*x4 >= 69",
    "8.54*x0 + 1.77*x1 + 13.75*x2 >= 69",
    "8.54*x0 + 1.77*x1 + 13.75*x2 + 9.5*x3 + 5.4*x4 >= 69",
    "0.46*x1 + 6.99*x3 >= 52",
    "9.68*x0 + 11.4*x2 + 8.95*x4 >= 87",
    "9.68*x0 + 0.46*x1 + 8.95*x4 >= 87",
    "9.68*x0 + 0.46*x1 + 6.99*x3 >= 87",
    "9.68*x0 + 6.99*x3 + 8.95*x4 >= 87",
    "9.68*x0 + 11.4*x2 + 8.95*x4 >= 83",
    "9.68*x0 + 0.46*x1 + 8.95*x4 >= 83",
    "9.68*x0 + 0.46*x1 + 6.99*x3 >= 83",
    "9.68*x0 + 6.99*x3 + 8.95*x4 >= 83",
    "9.68*x0 + 11.4*x2 + 8.95*x4 >= 77",
    "9.68*x0 + 0.46*x1 + 8.95*x4 >= 77",
    "9.68*x0 + 0.46*x1 + 6.99*x3 >= 77",
    "9.68*x0 + 6.99*x3 + 8.95*x4 >= 77",
    "9.68*x0 + 11.4*x2 + 8.95*x4 >= 80",
    "9.68*x0 + 0.46*x1 + 8.95*x4 >= 80",
    "9.68*x0 + 0.46*x1 + 6.99*x3 >= 80",
    "9.68*x0 + 6.99*x3 + 8.95*x4 >= 80",
    "9.68*x0 + 0.46*x1 + 11.4*x2 + 6.99*x3 + 8.95*x4 >= 80",
    "1.27*x1 + 2.88*x3 >= 83",
    "4.25*x2 + 12.72*x4 >= 87",
    "7.38*x0 + 1.27*x1 + 4.25*x2 + 2.88*x3 + 12.72*x4 >= 87",
    "5.95*x0 + 1.46*x4 >= 30",
    "5.95*x0 + 4.13*x3 >= 29",
    "5.95*x0 + 11.42*x2 + 1.46*x4 >= 49",
    "15.74*x1 + 11.42*x2 + 4.13*x3 >= 49",
    "15.74*x1 + 11.42*x2 + 1.46*x4 >= 49",
    "11.42*x2 + 4.13*x3 + 1.46*x4 >= 49",
    "15.74*x1 + 4.13*x3 + 1.46*x4 >= 49",
    "5.95*x0 + 11.42*x2 + 1.46*x4 >= 49",
    "15.74*x1 + 11.42*x2 + 4.13*x3 >= 49",
    "15.74*x1 + 11.42*x2 + 1.46*x4 >= 49",
    "11.42*x2 + 4.13*x3 + 1.46*x4 >= 49",
    "15.74*x1 + 4.13*x3 + 1.46*x4 >= 49",
    "5.95*x0 + 11.42*x2 + 1.46*x4 >= 38",
    "15.74*x1 + 11.42*x2 + 4.13*x3 >= 38",
    "15.74*x1 + 11.42*x2 + 1.46*x4 >= 38",
    "11.42*x2 + 4.13*x3 + 1.46*x4 >= 38",
    "15.74*x1 + 4.13*x3 + 1.46*x4 >= 38",
    "5.95*x0 + 11.42*x2 + 1.46*x4 >= 51",
    "15.74*x1 + 11.42*x2 + 4.13*x3 >= 51",
    "15.74*x1 + 11.42*x2 + 1.46*x4 >= 51",
    "11.42*x2 + 4.13*x3 + 1.46*x4 >= 51",
    "15.74*x1 + 4.13*x3 + 1.46*x4 >= 51",
    "5.95*x0 + 11.42*x2 + 1.46*x4 >= 54",
    "15.74*x1 + 11.42*x2 + 4.13*x3 >= 54",
    "15.74*x1 + 11.42*x2 + 1.46*x4 >= 54",
    "11.42*x2 + 4.13*x3 + 1.46*x4 >= 54",
    "15.74*x1 + 4.13*x3 + 1.46*x4 >= 54",
    "5.95*x0 + 15.74*x1 + 11.42*x2 + 4.13*x3 + 1.46*x4 >= 54",
    "6*x0 - 6*x4 >= 0",
    "6*x0 - 7*x2 >= 0",
    "8.54*x0 + 5.4*x4 <= 364",
    "8.54*x0 + 13.75*x2 <= 458",
    "8.54*x0 + 1.77*x1 <= 517",
    "1.77*x1 + 13.75*x2 <= 305",
    "1.77*x1 + 13.75*x2 + 5.4*x4 <= 445",
    "8.54*x0 + 13.75*x2 + 9.5*x3 <= 338",
    "8.54*x0 + 9.5*x3 + 5.4*x4 <= 581",
    "11.4*x2 + 6.99*x3 <= 344",
    "5.95*x0 + 1.46*x4 <= 195",
    "11.42*x2 + 4.13*x3 <= 186",
    "4.13*x3 + 1.46*x4 <= 141",
    "5.95*x0 + 11.42*x2 <= 247",
    "11.42*x2 + 1.46*x4 <= 138",
    "5.95*x0 + 15.74*x1 <= 125",
    "5.95*x0 + 15.74*x1 + 4.13*x3 <= 268",
    "5.95*x0 + 4.13*x3 + 1.46*x4 <= 119",
    "15.74*x1 + 4.13*x3 + 1.46*x4 <= 152",
    "5.95*x0 + 15.74*x1 + 11.42*x2 <= 121",
    "5.95*x0 + 15.74*x1 + 1.46*x4 <= 128"
  ]
}
```

```python
import gurobipy as gp

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

# Create variables
ringo = m.addVar(vtype=gp.GRB.INTEGER, name="ringo")
dale = m.addVar(vtype=gp.GRB.INTEGER, name="dale")
jean = m.addVar(vtype=gp.GRB.INTEGER, name="jean")
hank = m.addVar(vtype=gp.GRB.CONTINUOUS, name="hank")
laura = m.addVar(vtype=gp.GRB.INTEGER, name="laura")


# Set objective function
m.setObjective(4 * ringo + 3 * dale + 8 * jean + 7 * hank + 9 * laura, gp.GRB.MINIMIZE)

# Add constraints
m.addConstr(1.18 * hank + 8.96 * laura >= 58)
m.addConstr(1.18 * ringo + 8.96 * laura >= 43)
m.addConstr(1.18 * ringo + 6.2 * hank >= 38)
m.addConstr(5.76 * dale + 16.55 * jean + 6.2 * hank >= 90)
m.addConstr(1.18 * ringo + 16.55 * jean + 6.2 * hank >= 90)
m.addConstr(5.76 * dale + 16.55 * jean + 6.2 * hank >= 80)
m.addConstr(1.18 * ringo + 16.55 * jean + 6.2 * hank >= 80)
m.addConstr(1.18 * ringo + 5.76 * dale + 16.55 * jean + 6.2 * hank + 8.96 * laura >= 80)
m.addConstr(13.75 * jean + 5.4 * laura >= 102)
m.addConstr(8.54 * ringo + 9.5 * hank >= 107)
m.addConstr(1.77 * dale + 9.5 * hank >= 78)


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

m.addConstr(5.95 * ringo + 15.74 * dale + 1.46 * laura <= 128)


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

```