```json
{
  "sym_variables": [
    ("x0", "hours worked by Dale"),
    ("x1", "hours worked by Jean"),
    ("x2", "hours worked by Bill"),
    ("x3", "hours worked by Ringo"),
    ("x4", "hours worked by Hank"),
    ("x5", "hours worked by Bobby"),
    ("x6", "hours worked by Laura")
  ],
  "objective_function": "6.93 * x0 + 5.42 * x1 + 5.15 * x2 + 5.74 * x3 + 1.96 * x4 + 5.68 * x5 + 2.71 * x6",
  "constraints": [
    "2 * x2 + 12 * x3 >= 29",
    "14 * x2 + 1 * x5 >= 27",
    "2 * x0 + 14 * x2 >= 28",
    "14 * x2 + 12 * x4 >= 28",
    "1 * x5 + 3 * x6 >= 15",
    "14 * x1 + 3 * x6 >= 20",
    "12 * x4 + 3 * x6 >= 29",
    "14 * x2 + 3 * x6 >= 31",
    "2 * x0 + 12 * x4 >= 10",
    "12 * x3 + 1 * x5 >= 18",
    "14 * x1 + 1 * x5 >= 15",
    "2 * x0 + 3 * x6 >= 27",
    "12 * x3 + 3 * x6 >= 17",
    "14 * x1 + 14 * x2 >= 25",
    "14 * x1 + 12 * x4 >= 11",
    "2 * x0 + 14 * x2 + 12 * x3 >= 25",
    "14 * x2 + 12 * x3 + 12 * x4 >= 25",
    "2 * x0 + 14 * x1 + 14 * x2 >= 25",
    "14 * x1 + 14 * x2 + 3 * x6 >= 25",
    "2 * x0 + 12 * x4 + 1 * x5 >= 25",
    "14 * x2 + 12 * x4 + 3 * x6 >= 25",
    "2 * x0 + 14 * x2 + 3 * x6 >= 25",
    "14 * x1 + 14 * x2 + 12 * x3 >= 25",
    "2 * x0 + 14 * x1 + 1 * x5 >= 25",
    "14 * x1 + 1 * x5 + 3 * x6 >= 25",
    "2 * x0 + 12 * x4 + 3 * x6 >= 25",
    "12 * x3 + 12 * x4 + 3 * x6 >= 25",
    "14 * x1 + 12 * x4 + 3 * x6 >= 25",
    "14 * x1 + 12 * x3 + 12 * x4 >= 25",
    "14 * x2 + 12 * x4 + 1 * x5 >= 25",
    "2 * x0 + 14 * x1 + 3 * x6 >= 25",
    "14 * x1 + 12 * x4 + 1 * x5 >= 25",
    "2 * x0 + 14 * x1 + 12 * x4 >= 25",
    "14 * x1 + 12 * x3 + 1 * x5 >= 25",
    "14 * x2 + 12 * x3 + 1 * x5 >= 25",
    "14 * x1 + 14 * x2 + 1 * x5 >= 25",
    "12 * x3 + 1 * x5 + 3 * x6 >= 25",
    "2 * x0 + 1 * x5 + 3 * x6 >= 25",
    "2 * x0 + 14 * x1 + 12 * x3 >= 25",
    "2 * x0 + 14 * x2 + 1 * x5 >= 25",
    "x0 + x1 + x2 + x3 + x4 + x5 + x6 >= 31",
    "8 * x3 + 11 * x6 >= 28",
    "5 * x2 + 14 * x5 >= 29",
    "5 * x2 + 8 * x3 >= 47",
    "11 * x0 + 5 * x2 >= 38",
    "7 * x1 + 14 * x5 >= 22",
    "7 * x1 + 8 * x3 >= 35",
    "7 * x1 + 5 * x2 >= 41",
    "5 * x2 + 10 * x4 + 14 * x5 >= 36",
    "11 * x0 + 8 * x3 + 10 * x4 >= 36",
    "8 * x3 + 10 * x4 + 14 * x5 >= 36",
    "7 * x1 + 14 * x5 + 11 * x6 >= 36",
    "11 * x0 + 7 * x1 + 14 * x5 >= 36",
    "11 * x0 + 5 * x2 + 14 * x5 >= 36",
    "11 * x0 + 10 * x4 + 11 * x6 >= 36",
    "5 * x2 + 10 * x4 + 14 * x5 >= 43",  
    "11 * x0 + 8 * x3 + 10 * x4 >= 43",
    "8 * x3 + 10 * x4 + 14 * x5 >= 43",
    "7 * x1 + 14 * x5 + 11 * x6 >= 43",
    "11 * x0 + 7 * x1 + 14 * x5 >= 43",
    "11 * x0 + 5 * x2 + 14 * x5 >= 43",
    "11 * x0 + 10 * x4 + 11 * x6 >= 43",
    "-4 * x2 + 4 * x5 >= 0",
    "-8 * x3 + 3 * x5 >= 0",
    "8 * x0 - 7 * x3 - 4 * x5 >= 0",
    "2 * x0 <= 223",
    "14 * x1 <= 223",
    "14 * x2 <= 223",
    "12 * x3 <= 223",
    "12 * x4 <= 223",
    "x5 <= 223",
    "3 * x6 <= 223",
    "11 * x0 <= 340",
    "7 * x1 <= 340",
    "5 * x2 <= 340",
    "8 * x3 <= 340",
    "10 * x4 <= 340",
    "14 * x5 <= 340",
    "11 * x6 <= 340",
    "x5 + 3 * x6 <= 208",
    "14 * x1 + 14 * x2 <= 111",
    "14 * x2 + 12 * x4 <= 58",
    "2 * x0 + x5 <= 164",
    "2 * x0 + 14 * x1 <= 84",
    "14 * x2 + 12 * x3 <= 112",
    "14 * x1 + 3 * x6 <= 137",
    "2 * x0 + 14 * x1 + 3 * x6 <= 46",
    "2 * x0 + x5 + 3 * x6 <= 94",
    "14 * x2 + 12 * x3 + x5 <= 56",
    "2 * x0 + 14 * x2 + 3 * x6 <= 69",
    "2 * x0 + 14 * x2 + x5 <= 46",
    "2 * x0 + 14 * x1 + x5 <= 192",
    "14 * x1 + 12 * x3 + x5 <= 128",
    "12 * x4 + x5 + 3 * x6 <= 185",
    "2 * x0 + 14 * x2 + 12 * x4 <= 145",
    "2 * x0 + 14 * x2 + 12 * x3 <= 94",
    "12 * x3 + 12 * x4 + x5 <= 173",
    "2 * x0 + 12 * x3 + x5 <= 46",
    "2 * x0 + 14 * x1 + 12 * x3 <= 146",
    "2 * x0 + 12 * x4 + 3 * x6 <= 114",
    "14 * x2 + x5 + 3 * x6 <= 118",
    "14 * x1 + 12 * x4 + x5 <= 195",
    "14 * x1 + 14 * x2 + 3 * x6 <= 88",
    "14 * x2 + 12 * x3 + 12 * x4 <= 155",
    "2 * x0 + 14 * x1 + 14 * x2 <= 127",
    "14 * x1 + x5 + 3 * x6 <= 147",
    "2 * x0 + 12 * x3 + 3 * x6 <= 35",
    "14 * x1 + 14 * x2 + x5 <= 98",
    "2 * x0 + 14 * x1 + 12 * x4 <= 55",
    "14 * x1 + 14 * x2 + 12 * x4 <= 52",
    "11 * x0 + 8 * x3 + 10 * x4 <= 220",
    "14 * x2 + 10 * x4 + 11 * x6 <= 162",
    "8 * x3 + 10 * x4 <= 268",
    "7 * x1 + 14 * x5 <= 136",
    "11 * x0 + 10 * x4 <= 176",
    "8 * x3 + 14 * x5 <= 192",
    "10 * x4 + 11 * x6 <= 231",
    "5 * x2 + 14 * x5 <= 215",
    "11 * x0 + 11 * x6 <= 315",
    "10 * x4 + 14 * x5 <= 251",
    "5 * x2 + 11 * x6 <= 159",
    "7 * x1 + 5 * x2 + 14 * x5 <= 154"
  ]
}
```

```python
from gurobipy import Model, GRB

# Create a new model
m = Model("minimize_labor_cost")

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


# Set objective function
m.setObjective(6.93 * dale + 5.42 * jean + 5.15 * bill + 5.74 * ringo + 1.96 * hank + 5.68 * bobby + 2.71 * laura, GRB.MINIMIZE)

# Add constraints from resources/attributes
r0_ub = 223
r1_ub = 340
r0_coeffs = [2, 14, 14, 12, 12, 1, 3]
r1_coeffs = [11, 7, 5, 8, 10, 14, 11]

for i, coeff in enumerate(r0_coeffs):
    m.addConstr(coeff * m.getVars()[i] <= r0_ub)

for i, coeff in enumerate(r1_coeffs):
    m.addConstr(coeff * m.getVars()[i] <= r1_ub)


# Add other constraints from the input
constraints = [
    (bill, ringo, 29, ">="), (bill, bobby, 27, ">="), (dale, bill, 28, ">="), (bill, hank, 28, ">="), (bobby, laura, 15, ">="), (jean, laura, 20, ">="), (hank, laura, 29, ">="), (bill, laura, 31, ">="), (dale, hank, 10, ">="), (ringo, bobby, 18, ">="), (jean, bobby, 15, ">="), (dale, laura, 27, ">="), (ringo, laura, 17, ">="), (jean, bill, 25, ">="), (jean, hank, 11, ">="), (dale, bill, ringo, 25, ">="), (bill, ringo, hank, 25, ">="), (dale, jean, bill, 25, ">="), (jean, bill, laura, 25, ">="), (dale, hank, bobby, 25, ">="), (bill, hank, laura, 25, ">="), (dale, bill, laura, 25, ">="), (jean, bill, ringo, 25, ">="), (dale, jean, bobby, 25, ">="), (jean, bobby, laura, 25, ">="), (dale, hank, laura, 25, ">="), (ringo, hank, laura, 25, ">="), (jean, hank, laura, 25, ">="), (jean, ringo, hank, 25, ">="), (bill, hank, bobby, 25, ">="), (dale, jean, laura, 25, ">="), (jean, hank, bobby, 25, ">="), (dale, jean, hank, 25, ">="), (jean, ringo, bobby, 25, ">="), (bill, ringo, bobby, 25, ">="), (jean, bill, bobby, 25, ">="), (ringo, bobby, laura, 25, ">="), (dale, bobby, laura, 25, ">="), (dale, jean, ringo, 25, ">="), (dale, bill, bobby, 25, ">="), (dale, bill, ringo, 17, ">="), (bill, ringo, hank, 17, ">="), (dale, jean, bill, 17, ">="), (jean, bill, laura, 17, ">="), (dale, hank, bobby, 17, ">="), (bill, hank, laura, 17, ">="), (dale, bill, laura, 17, ">="), (jean, bill, ringo, 17, ">="), (dale, jean, bobby, 17, ">="), (jean, bobby, laura, 17, ">="), (dale, hank, laura, 17, ">="), (ringo, hank, laura, 17, ">="), (jean, hank, laura, 17, ">="), (jean, ringo, hank, 17, ">="), (bill, hank, bobby, 17, ">="), (dale, jean, laura, 17, ">="), (jean, hank, bobby, 17, ">="), (dale, jean, hank, 17, ">="), (jean, ringo, bobby, 17, ">="), (bill, ringo, bobby, 17, ">="), (jean, bill, bobby, 17, ">="), (ringo, bobby, laura, 17, ">="), (dale, bobby, laura, 17, ">="), (dale, jean, ringo, 17, ">="), (dale, bill, bobby, 17, ">=")
]

org_score = [2, 14, 14, 12, 12, 1, 3]
likelihood_to_quit = [11, 7, 5, 8, 10, 14, 11]
vars = [dale, jean, bill, ringo, hank, bobby, laura]

for constraint in constraints:
    lhs = 0
    rhs = constraint[-2]
    op = constraint[-1]

    if len(constraint) == 4:
        var1, var2, rhs, op = constraint
        lhs = org_score[vars.index(var1)] * var1 + org_score[vars.index(var2)] * var2
    elif len(constraint) == 5:
        var1, var2, var3, rhs, op = constraint
        lhs = org_score[vars.index(var1)] * var1 + org_score[vars.index(var2)] * var2 + org_score[vars.index(var3)] * var3
    elif len(constraint) == 8:
        dale, jean, bill, ringo, hank, bobby, laura, rhs, op = constraint
        lhs = sum(org_score[i] * vars[i] for i in range(7))
    elif len(constraint) == 4 and isinstance(constraint[0], int):
        c1, var1, var2, op = constraint
        lhs = c1 * var1 + constraint[2] * var2
    
    if op == ">=":
        m.addConstr(lhs >= rhs)
    elif op == "<=":
        m.addConstr(lhs <= rhs)
    elif op == "=":
        m.addConstr(lhs == rhs)

# Optimize model
m.optimize()

# Print results
if m.status == GRB.OPTIMAL:
    print('Obj: %g' % m.objVal)
    for v in m.getVars():
        print('%s %g' % (v.varName, v.x))
else:
    print("Infeasible")
```