```json
{
  "sym_variables": [
    ("x0", "hours worked by Dale"),
    ("x1", "hours worked by Paul"),
    ("x2", "hours worked by Jean"),
    ("x3", "hours worked by Mary"),
    ("x4", "hours worked by Hank")
  ],
  "objective_function": "9*x0*x1 + 8*x0*x2 + 3*x0*x3 + 9*x1*x3 + 3*x1*x4 + 2*x2*x4 + 2*x3*x4 + 7*x4**2 + 7*x3 + 8*x4",
  "constraints": [
    "14*x0 + 12*x4 >= 58",
    "3*x3 + 12*x4 >= 93",
    "13*x1 + 8*x2 >= 40",
    "8*x2 + 3*x3 + 12*x4 >= 88",
    "14*x0 + 13*x1 + 8*x2 >= 88",
    "14*x0**2 + 13*x1**2 + 3*x3**2 >= 88",
    "13*x1 + 8*x2 + 3*x3 >= 88",
    "14*x0**2 + 8*x2**2 + 12*x4**2 >= 88",
    "8*x2**2 + 3*x3**2 + 12*x4**2 >= 82",
    "14*x0 + 8*x2 + 12*x4 >= 82",
    "14*x0**2 + 13*x1**2 + 3*x3**2 >= 82",
    "13*x1**2 + 8*x2**2 + 3*x3**2 >= 82",

    "8*x2**2 + 3*x3**2 + 12*x4**2 >= 59",
    "14*x0 + 13*x1 + 8*x2 >= 59",
    "14*x0 + 13*x1 + 3*x3 >= 59",
    "13*x1 + 8*x2 + 3*x3 >= 59",
    "14*x0 + 8*x2 + 12*x4 >= 59",

    "8*x2**2 + 3*x3**2 + 12*x4**2 >= 84",
    "14*x0 + 13*x1 + 8*x2 >= 84",
    "14*x0**2 + 13*x1**2 + 3*x3**2 >= 84",
    "13*x1**2 + 8*x2**2 + 3*x3**2 >= 84",
    "14*x0 + 8*x2 + 12*x4 >= 84",

    "8*x2**2 + 3*x3**2 + 12*x4**2 >= 81",
    "14*x0 + 13*x1 + 8*x2 >= 81",
    "14*x0 + 13*x1 + 3*x3 >= 81",
    "13*x1 + 8*x2 + 3*x3 >= 81",
    "14*x0 + 8*x2 + 12*x4 >= 81",


    "2*x0**2 + 1*x1**2 + 6*x4**2 >= 8",
    "7*x2 + 17*x3 + 6*x4 >= 8",
    "2*x0**2 + 7*x2**2 + 17*x3**2 >= 8",
    "1*x1 + 17*x3 + 6*x4 >= 8",
    "2*x0 + 7*x2 + 6*x4 >= 8",
    "2*x0 + 1*x1 + 7*x2 >= 8",
    "2*x0 + 17*x3 + 6*x4 >= 8",

    "2*x0**2 + 1*x1**2 + 6*x4**2 >= 11",
    "7*x2 + 17*x3 + 6*x4 >= 11",
    "2*x0**2 + 7*x2**2 + 17*x3**2 >= 11",
    "1*x1**2 + 17*x3**2 + 6*x4**2 >= 11",
    "2*x0 + 7*x2 + 6*x4 >= 11",
    "2*x0 + 1*x1 + 7*x2 >= 11",
    "2*x0**2 + 17*x3**2 + 6*x4**2 >= 11",

    "2*x0**2 + 1*x1**2 + 6*x4**2 >= 9",
    "7*x2 + 17*x3 + 6*x4 >= 9",
    "2*x0 + 7*x2 + 17*x3 >= 9",
    "1*x1 + 17*x3 + 6*x4 >= 9",
    "2*x0**2 + 7*x2**2 + 6*x4**2 >= 9",
    "2*x0**2 + 1*x1**2 + 7*x2**2 >= 9",
    "2*x0 + 17*x3 + 6*x4 >= 9",

    "2*x0**2 + 1*x1**2 + 6*x4**2 >= 8",
    "7*x2 + 17*x3 + 6*x4 >= 8",
    "2*x0 + 7*x2 + 17*x3 >= 8",
    "1*x1**2 + 17*x3**2 + 6*x4**2 >= 8",
    "2*x0 + 7*x2 + 6*x4 >= 8",
    "2*x0 + 1*x1 + 7*x2 >= 8",
    "2*x0**2 + 17*x3**2 + 6*x4**2 >= 8",

    "2*x0 + 1*x1 + 6*x4 >= 9",
    "7*x2**2 + 17*x3**2 + 6*x4**2 >= 9",
    "2*x0 + 7*x2 + 17*x3 >= 9",
    "1*x1 + 17*x3 + 6*x4 >= 9",
    "2*x0 + 7*x2 + 6*x4 >= 9",
    "2*x0 + 1*x1 + 7*x2 >= 9",
    "2*x0 + 17*x3 + 6*x4 >= 9",


    "2*x0 + 1*x1 + 6*x4 >= 10",
    "7*x2 + 17*x3 + 6*x4 >= 10",
    "2*x0**2 + 7*x2**2 + 17*x3**2 >= 10",
    "1*x1 + 17*x3 + 6*x4 >= 10",
    "2*x0**2 + 7*x2**2 + 6*x4**2 >= 10",
    "2*x0 + 1*x1 + 7*x2 >= 10",
    "2*x0**2 + 17*x3**2 + 6*x4**2 >= 10",

    "2*x0 + 1*x1 + 6*x4 >= 14",
    "7*x2 + 17*x3 + 6*x4 >= 14",
    "2*x0 + 7*x2 + 17*x3 >= 14",
    "1*x1 + 17*x3 + 6*x4 >= 14",
    "2*x0 + 7*x2 + 6*x4 >= 14",
    "2*x0 + 1*x1 + 7*x2 >= 14",
    "2*x0 + 17*x3 + 6*x4 >= 14",


    "14*x0 + 4*x1 >= 44",
    "14*x0 + 15*x2 >= 41",
    "4*x1 + 15*x2 >= 47",
    "5*x3**2 + 11*x4**2 >= 75",
    "14*x0**2 + 11*x4**2 >= 33",

    "8*x2**2 + 12*x4**2 <= 479",
    "13*x1**2 + 3*x3**2 <= 133",
    "14*x0 + 3*x3 <= 412",
    "14*x0 + 12*x4 <= 488",
    "8*x2 + 3*x3 <= 432",
    "3*x3**2 + 12*x4**2 <= 304",
    "14*x0**2 + 8*x2**2 <= 296",
    "13*x1 + 8*x2 + 3*x3 <= 252",
    "14*x0 + 3*x3 + 12*x4 <= 158",
    "14*x0 + 13*x1 + 8*x2 + 3*x3 + 12*x4 <= 158",

    "1*x1**2 + 6*x4**2 <= 53",
    "2*x0 + 1*x1 <= 19",
    "1*x1 + 7*x2 <= 50",
    "2*x0 + 7*x2 <= 46",
    "2*x0 + 1*x1 + 7*x2 <= 19",
    "7*x2 + 17*x3 + 6*x4 <= 73",
    "2*x0 + 1*x1 + 6*x4 <= 22",
    "2*x0 + 1*x1 + 7*x2 + 17*x3 + 6*x4 <= 22",

    "4*x1**2 + 11*x4**2 <= 364",
    "14*x0 + 5*x3 <= 245",
    "4*x1 + 15*x2 <= 131",
    "5*x3**2 + 11*x4**2 <= 146",
    "14*x0 + 11*x4 <= 163",
    "15*x2 + 11*x4 <= 107",
    "4*x1**2 + 5*x3**2 <= 232",
    "15*x2**2 + 5*x3**2 <= 110",
    "14*x0 + 4*x1 + 11*x4 <= 199",
    "14*x0 + 15*x2 + 11*x4 <= 115",
    "4*x1 + 5*x3 + 11*x4 <= 327",
    "14*x0 + 4*x1 + 15*x2 + 5*x3 + 11*x4 <= 327"
  ]
}
```

```python
import gurobipy as gp

try:
    # Create a new model
    m = gp.Model("optimization_model")

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


    # Set objective function
    obj = 9*dale*paul + 8*dale*jean + 3*dale*mary + 9*paul*mary + 3*paul*hank + 2*jean*hank + 2*mary*hank + 7*hank**2 + 7*mary + 8*hank
    m.setObjective(obj, gp.GRB.MAXIMIZE)

    # Add constraints
    m.addConstr(14*dale + 12*hank >= 58)
    m.addConstr(3*mary + 12*hank >= 93)
    m.addConstr(13*paul + 8*jean >= 40)
    m.addConstr(8*jean + 3*mary + 12*hank >= 88)
    m.addConstr(14*dale + 13*paul + 8*jean >= 88)
    m.addConstr(14*dale**2 + 13*paul**2 + 3*mary**2 >= 88)
    m.addConstr(13*paul + 8*jean + 3*mary >= 88)
    m.addConstr(14*dale**2 + 8*jean**2 + 12*hank**2 >= 88)
    m.addConstr(8*jean**2 + 3*mary**2 + 12*hank**2 >= 82)
    m.addConstr(14*dale + 8*jean + 12*hank >= 82)
    m.addConstr(14 * dale**2 + 13 * paul**2 + 3 * mary**2 >= 82)
    m.addConstr(13 * paul**2 + 8 * jean**2 + 3 * mary**2 >= 82)
    # ... (rest of the constraints - see full code below)

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


except gp.GurobiError as e:
    print('Error code ' + str(e.errno) + ': ' + str(e))

except AttributeError:
    print('Encountered an attribute error')
```