## Problem Description and Formulation

The toy company aims to maximize profit by producing stuffed beavers and bears under certain constraints. Let's denote the number of beavers to be produced as \(B\) and the number of bears as \(R\).

1. **Production Time Constraint**: Each beaver takes 10 minutes, and each bear takes 15 minutes. The company has 2000 minutes available. This can be represented as:
\[ 10B + 15R \leq 2000 \]

2. **Beaver vs. Bear Production Constraint**: The company must make at least three times as many beavers as bears. This can be represented as:
\[ B \geq 3R \]

3. **Non-Negativity Constraint**: The number of beavers and bears cannot be negative:
\[ B \geq 0, R \geq 0 \]

4. **Objective Function**: The profit per beaver is $5, and per bear is $7. The company wants to maximize profit \(P\):
\[ P = 5B + 7R \]

## Gurobi Code

To solve this linear programming problem using Gurobi in Python, we can use the following code:

```python
import gurobi

def solve_toy_production():
    # Create a new model
    model = gurobi.Model()

    # Define variables
    B = model.addVar(name="beavers", lb=0, vtype=gurobi.GRB.INTEGER)
    R = model.addVar(name="bears", lb=0, vtype=gurobi.GRB.INTEGER)

    # Objective function: Maximize profit
    model.setObjective(5 * B + 7 * R, gurobi.GRB.MAXIMIZE)

    # Production time constraint
    model.addConstr(10 * B + 15 * R <= 2000, name="production_time")

    # Beaver vs. bear production constraint
    model.addConstr(B >= 3 * R, name="beaver_bear_ratio")

    # Solve the model
    model.optimize()

    # Print solution
    if model.status == gurobi.GRB.OPTIMAL:
        print(f"Optimal solution: Beavers = {B.varValue}, Bears = {R.varValue}")
        print(f"Max Profit: ${5 * B.varValue + 7 * R.varValue}")
    else:
        print("No optimal solution found")

solve_toy_production()
```

This code sets up the optimization problem as described, using Gurobi's Python interface to define the variables, objective function, and constraints. It then solves the problem and prints out the optimal production levels for beavers and bears, along with the maximum achievable profit. If no optimal solution is found, it indicates that the problem is infeasible or unbounded.