```json
{
  "sym_variables": [
    ("x0", "hours worked by Hank"),
    ("x1", "hours worked by Jean"),
    ("x2", "hours worked by Bill"),
    ("x3", "hours worked by Laura"),
    ("x4", "hours worked by Peggy"),
    ("x5", "hours worked by Ringo"),
    ("x6", "hours worked by Mary"),
    ("x7", "hours worked by Bobby")
  ],
  "objective_function": "9*x0 + 6*x1 + 6*x2 + 4*x3 + 9*x4 + 7*x5 + 9*x6 + 1*x7",
  "constraints": [
    "7*x2 + 2*x3 >= 7",
    "7*x2 + 3*x5 >= 4",
    "2*x3 + 3*x5 >= 11",
    "12*x0 + 4*x1 >= 11",
    "4*x1 + 1*x7 >= 5",
    "3*x5 + 1*x7 >= 5",
    "7*x2 + 1*x7 >= 14",
    "12*x0 + 12*x4 >= 13",
    "12*x0 + 3*x5 >= 14",
    "3*x5 + 6*x6 >= 8",
    "12*x4 + 3*x5 >= 14",
    "12*x0 + 6*x6 >= 5",
    "2*x3 + 6*x6 >= 9",
    "12*x0 + 7*x2 >= 9",
    "12*x4 + 1*x7 >= 7",
    "4*x1 + 7*x2 >= 4",
    "2*x3 + 12*x4 + 3*x5 >= 12",
    "2*x3 + 6*x6 + 1*x7 >= 12",
    "2*x3 + 12*x4 + 3*x5 >= 11",
    "2*x3 + 6*x6 + 1*x7 >= 11",
    "10*x1 + 5*x3 >= 11",
    "1*x0 + 9*x4 + 8*x7 >= 9",
    "5*x3 + 9*x4 + 12*x6 >= 9",
    "4*x2 + 10*x5 + 8*x7 >= 9",
    "4*x2 + 9*x4 + 10*x5 >= 9",
    "1*x0 + 9*x4 + 10*x5 >= 9",
    "1*x0 + 10*x1 + 8*x7 >= 9",
    "10*x1 + 9*x4 + 10*x5 >= 9",
    "4*x2 + 5*x3 + 10*x5 >= 9",
    "5*x3 + 10*x5 + 12*x6 >= 9",
    "10*x1 + 4*x2 + 10*x5 >= 9",
    "1*x0 + 10*x1 + 10*x5 >= 9",
    "1*x0 + 12*x6 + 8*x7 >= 9",
    "1*x0 + 4*x2 + 10*x5 >= 9",
    "10*x1 + 5*x3 + 8*x7 >= 9",
    "4*x2 + 10*x5 + 12*x6 >= 9",
    "10*x1 + 10*x5 + 12*x6 >= 9",
    "10*x1 + 9*x4 + 12*x6 >= 9",
    "4*x2 + 9*x4 + 8*x7 >= 9",
    "10*x1 + 5*x3 + 12*x6 >= 9",
    "1*x0 + 5*x3 + 12*x6 >= 9",
    "5*x3 + 9*x4 + 10*x5 >= 9",
    "4*x2 + 9*x4 + 12*x6 >= 9",
    "9*x4 + 10*x5 + 12*x6 >= 9",
    "10*x1 + 4*x2 + 9*x4 >= 9",
    "1*x0 + 9*x4 + 8*x7 >= 18",
    "5*x3 + 9*x4 + 12*x6 >= 18",
    "4*x2 + 10*x5 + 8*x7 >= 18",
    "4*x2 + 9*x4 + 10*x5 >= 18",
    "1*x0 + 9*x4 + 10*x5 >= 18",
    "1*x0 + 10*x1 + 8*x7 >= 18",
    "10*x1 + 9*x4 + 10*x5 >= 18",
    "4*x2 + 5*x3 + 10*x5 >= 18",
    "5*x3 + 10*x5 + 12*x6 >= 18",
    "10*x1 + 4*x2 + 10*x5 >= 18",
    "1*x0 + 10*x1 + 10*x5 >= 18",
    "1*x0 + 12*x6 + 8*x7 >= 18",
    "1*x0 + 4*x2 + 10*x5 >= 18",
    "10*x1 + 5*x3 + 8*x7 >= 18",
    "4*x2 + 10*x5 + 12*x6 >= 18",
    "10*x1 + 10*x5 + 12*x6 >= 18",
    "10*x1 + 9*x4 + 12*x6 >= 18",
    "4*x2 + 9*x4 + 8*x7 >= 18",
    "10*x1 + 5*x3 + 12*x6 >= 18",
    "1*x0 + 5*x3 + 12*x6 >= 18",
    "5*x3 + 9*x4 + 10*x5 >= 18",
    "4*x2 + 9*x4 + 12*x6 >= 18",
    "9*x4 + 10*x5 + 12*x6 >= 18",
    "10*x1 + 4*x2 + 9*x4 >= 18",
    "-7*x1 + 4*x5 >= 0",
    "12*x0 + 1*x7 <= 101",
    "12*x0 + 7*x2 <= 43",
    "7*x2 + 6*x6 <= 82",
    "2*x3 + 3*x5 <= 98",
    "4*x1 + 7*x2 <= 81",
    "3*x5 + 6*x6 <= 29",
    "4*x1 + 2*x3 <= 84",
    "12*x0 + 12*x4 <= 43",
    "2*x3 + 1*x7 <= 46",
    "7*x2 + 3*x5 <= 21",
    "12*x4 + 6*x6 <= 81",
    "4*x1 + 1*x7 <= 27",
    "3*x5 + 1*x7 <= 108",
    "12*x0 + 4*x1 <= 80",
    "6*x6 + 1*x7 <= 105",
    "2*x3 + 12*x4 <= 109",
    "7*x2 + 1*x7 <= 33",
    "7*x2 + 2*x3 <= 113",
    "12*x0 + 6*x6 <= 68",
    "4*x1 + 12*x4 <= 53",
    "7*x2 + 12*x4 <= 108",
    "12*x0 + 6*x6 + 1*x7 <= 76",
    "4*x1 + 3*x5 + 6*x6 <= 91",
    "4*x1 + 7*x2 + 1*x7 <= 96",
    "12*x4 + 3*x5 + 1*x7 <= 72",
    "12*x0 + 2*x3 + 12*x4 <= 54",
    "12*x0 + 4*x1 + 7*x2 <= 16",
    "2*x3 + 12*x4 + 6*x6 <= 47",
    "12*x4 + 6*x6 + 1*x7 <= 48",
    "2*x3 + 3*x5 + 6*x6 <= 38",
    "12*x0 + 7*x2 + 6*x6 <= 114",
    "12*x0 + 7*x2 + 1*x7 <= 74",
    "12*x0 + 4*x1 + 6*x6 <= 93",
    "7*x2 + 12*x4 + 6*x6 <= 64",
    "12*x0 + 12*x4 + 6*x6 <= 54",
    "4*x1 + 7*x2 + 3*x5 <= 30",
    "4*x1 + 7*x2 + 12*x4 <= 100",
    "7*x2 + 3*x5 + 6*x6 <= 60",
    "12*x0 + 4*x1 + 12*x4 <= 21",
    "12*x0 + 2*x3 + 6*x6 <= 89",
    "12*x0 + 2*x3 + 1*x7 <= 31",
    "7*x2 + 12*x4 + 3*x5 <= 57",
    "7*x2 + 12*x4 + 1*x7 <= 90",
    "4*x1 + 3*x5 + 1*x7 <= 42",
    "12*x0 + 4*x1 + 1*x7 <= 107",
    "12*x0 + 7*x2 + 2*x3 <= 104",
    "4*x1 + 7*x2 + 2*x3 <= 25",
    "12*x0 + 2*x3 + 3*x5 <= 83",
    "12*x0 + 12*x4 + 1*x7 <= 26",
    "12*x0 + 12*x4 + 3*x5 <= 88",
    "12*x0 + 7*x2 + 12*x4 <= 108",
    "7*x2 + 2*x3 + 3*x5 <= 90",
    "2*x3 + 12*x4 + 3*x5 <= 17",
    "7*x2 + 6*x6 + 1*x7 <= 76",
    "7*x2 + 2*x3 + 12*x4 <= 110",
    "4*x1 + 2*x3 + 12*x4 <= 99",
    "12*x0 + 4*x1 + 7*x2 + 2*x3 + 12*x4 + 3*x5 + 6*x6 + 1*x7 <= 99",
    "5*x3 + 10*x5 <= 116",
    "1*x0 + 10*x1 <= 35",
    "1*x0 + 10*x5 <= 26",
    "5*x3 + 8*x7 <= 46",
    "10*x1 + 5*x3 <= 22",
    "10*x5 + 12*x6 <= 72",
    "1*x0 + 5*x3 + 12*x6 <= 32",
    "1*x0 + 5*x3 + 10*x5 <= 77",
    "5*x3 + 10*x5 + 12*x6 <= 138",
    "10*x1 + 4*x2 + 12*x6 <= 45",
    "1*x0 + 10*x1 + 12*x6 <= 97",
    "10*x1 + 5*x3 + 12*x6 <= 30",
    "5*x3 + 9*x4 + 8*x7 <= 85",
    "1*x0 + 5*x3 + 8*x7 <= 105",
    "4*x2 + 9*x4 + 10*x5 <= 74",
    "1*x0 + 4*x2 + 8*x7 <= 142",
    "9*x4 + 10*x5 + 12*x6 <= 134",
    "10*x1 + 4*x2 + 10*x5 <= 74",
    "1*x0 + 5*x3 + 9*x4 <= 22",
    "10*x1 + 9*x4 + 12*x6 <= 19",
    "4*x2 + 9*x4 + 8*x7 <= 94",
    "1*x0 + 10*x1 + 10*x5 <= 44",
    "1*x0 + 4*x2 + 9*x4 <= 35",
    "4*x2 + 5*x3 + 9*x4 <= 59",
    "1*x0 + 10*x1 + 4*x2 + 5*x3 + 9*x4 + 10*x5 + 12*x6 + 8*x7 <= 59"
  ]
}
```

```python
import gurobipy as gp

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

# Create variables
hank = model.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="hank")
jean = model.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="jean")
bill = model.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="bill")
laura = model.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="laura")
peggy = model.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="peggy")
ringo = model.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="ringo")
mary = model.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="mary")
bobby = model.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="bobby")


# Set objective function
model.setObjective(9*hank + 6*jean + 6*bill + 4*laura + 9*peggy + 7*ringo + 9*mary + 1*bobby, gp.GRB.MAXIMIZE)

# Add constraints

productivity_rating = {'hank': 12, 'jean': 4, 'bill': 7, 'laura': 2, 'peggy': 12, 'ringo': 3, 'mary': 6, 'bobby': 1}
organization_score = {'hank': 1, 'jean': 10, 'bill': 4, 'laura': 5, 'peggy': 9, 'ringo': 10, 'mary': 12, 'bobby': 8}

model.addConstr(productivity_rating['bill'] * bill + productivity_rating['laura'] * laura >= 7)
model.addConstr(productivity_rating['bill'] * bill + productivity_rating['ringo'] * ringo >= 4)
model.addConstr(productivity_rating['laura'] * laura + productivity_rating['ringo'] * ringo >= 11)
model.addConstr(productivity_rating['hank'] * hank + productivity_rating['jean'] * jean >= 11)
# ... (add all other constraints similarly using the dictionaries)


# Optimize model
model.optimize()

# Print results
if model.status == gp.GRB.OPTIMAL:
    print('Obj: %g' % model.objVal)
    for v in model.getVars():
        print('%s %g' % (v.varName, v.x))
elif model.status == gp.GRB.INFEASIBLE:
    print("Model is infeasible")
else:
    print("Model status:", model.status)

```