## Problem Description and Formulation

The problem is a classic example of a linear programming problem. The sports company wants to maximize its profit by producing the optimal number of shuttlecocks and volleyballs given the constraints on sewing and quality checking time.

Let's define the decision variables:

- $x_1$: Number of shuttlecocks produced
- $x_2$: Number of volleyballs produced

The objective function to maximize profit is:
\[ \text{Maximize:} \quad 3.5x_1 + 10x_2 \]

The constraints based on the given resources are:

1. Sewing time: $15x_1 + 20x_2 \leq 4000$
2. Quality checking time: $5x_1 + 10x_2 \leq 3000$
3. Non-negativity: $x_1 \geq 0, x_2 \geq 0$

## Gurobi Code

To solve this problem using Gurobi in Python, we will use the Gurobi Python interface. First, ensure you have Gurobi installed and a valid license.

```python
import gurobi

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

# Define the decision variables
x1 = model.addVar(lb=0, name="shuttlecocks")
x2 = model.addVar(lb=0, name="volleyballs")

# Define the objective function
model.setObjective(3.5 * x1 + 10 * x2, gurobi.GRB.MAXIMIZE)

# Add constraints
model.addConstr(15 * x1 + 20 * x2 <= 4000, name="sewing_time")
model.addConstr(5 * x1 + 10 * x2 <= 3000, name="quality_checking_time")

# Optimize the model
model.optimize()

# Print the results
if model.status == gurobi.GRB.OPTIMAL:
    print("Optimal Solution:")
    print(f"Shuttlecocks: {x1.varValue}")
    print(f"Volleyballs: {x2.varValue}")
    print(f"Max Profit: {model.objVal}")
else:
    print("The model is infeasible or unbounded.")
```

This code defines the optimization problem as described, solves it using Gurobi, and prints out the optimal production levels for shuttlecocks and volleyballs, along with the maximum achievable profit. If the problem is infeasible or unbounded, it will indicate that instead.