## Problem Description and Formulation

The problem is an optimization problem with two variables: 'hours worked by Ringo' and 'hours worked by Laura'. The objective function to be maximized is:

\[ 9.58 \times (\text{hours worked by Ringo})^2 + 1.36 \times (\text{hours worked by Ringo}) \times (\text{hours worked by Laura}) \]

The problem has several constraints based on computer competence rating and organization score.

## Constraints

1. Ringo's computer competence rating is 2.
2. Ringo's organization score is 6.
3. Laura's computer competence rating is 12.
4. Laura's organization score is 12.
5. The total combined computer competence rating from hours worked by Ringo and Laura squared should be 21 at minimum.
6. The total combined organization score from hours worked by Ringo and Laura must be 61 or more.
7. \(8 \times (\text{hours worked by Ringo}) - 4 \times (\text{hours worked by Laura}) \geq 0\).
8. The total combined computer competence rating from hours worked by Ringo and Laura squared must be no more than 46.
9. The total combined computer competence rating from hours worked by Ringo and Laura must be 46 or less.
10. The total combined organization score from hours worked by Ringo and Laura squared should be 139 at a maximum.
11. The total combined organization score from hours worked by Ringo and Laura has to be as much or less than 139.
12. There cannot be a non-integer amount of hours worked by Ringo.
13. You may use a non-whole number of hours worked by Laura.

## Gurobi Code Formulation

```python
import gurobi

# Create a new model
model = gurobi.Model()

# Define variables
ringo_hours = model.addVar(name="Ringo_hours", vtype=gurobi.GRB.INTEGER, lb=0)
laura_hours = model.addVar(name="Laura_hours", vtype=gurobi.GRB.CONTINUOUS, lb=0)

# Objective function
model.setObjective(9.58 * ringo_hours ** 2 + 1.36 * ringo_hours * laura_hours, gurobi.GRB.MAXIMIZE)

# Constraints
# 5. Computer competence rating squared minimum
model.addConstraint(2 ** 2 * ringo_hours ** 2 + 12 ** 2 * laura_hours ** 2 >= 21, "Computer competence rating squared minimum")

# 6. Organization score minimum
model.addConstraint(6 * ringo_hours + 12 * laura_hours >= 61, "Organization score minimum")

# 7. Linear constraint
model.addConstraint(8 * ringo_hours - 4 * laura_hours >= 0, "Linear constraint")

# 8. Computer competence rating squared maximum
model.addConstraint(2 ** 2 * ringo_hours ** 2 + 12 ** 2 * laura_hours ** 2 <= 46, "Computer competence rating squared maximum")

# 9. Computer competence rating linear maximum
model.addConstraint(2 * ringo_hours + 12 * laura_hours <= 46, "Computer competence rating linear maximum")

# 10. Organization score squared maximum
model.addConstraint(6 ** 2 * ringo_hours ** 2 + 12 ** 2 * laura_hours ** 2 <= 139 ** 2, "Organization score squared maximum")

# 11. Organization score linear maximum
model.addConstraint(6 * ringo_hours + 12 * laura_hours <= 139, "Organization score linear maximum")

# Solve the model
model.optimize()

# Print the solution
if model.status == gurobi.GRB.OPTIMAL:
    print("Ringo hours:", ringo_hours.varValue)
    print("Laura hours:", laura_hours.varValue)
    print("Objective:", model.objVal)
else:
    print("The model is infeasible")
```