## Problem Description and Formulation

The company aims to maximize profit by determining the optimal number of regular and touchscreen laptops to produce. The production is constrained by the available manual labor and calibration time.

### Variables
- Let \(R\) be the number of regular laptops produced.
- Let \(T\) be the number of touchscreen laptops produced.

### Objective Function
The profit per regular laptop is $200, and the profit per touchscreen laptop is $300. The objective is to maximize the total profit \(P\):
\[ P = 200R + 300T \]

### Constraints
1. **Manual Labor Constraint**: The company has 3000 minutes available for manual labor. Each regular laptop takes 20 minutes, and each touchscreen laptop takes 25 minutes.
\[ 20R + 25T \leq 3000 \]

2. **Calibration Constraint**: There are 2000 minutes available for calibration. Each regular laptop requires 10 minutes, and each touchscreen laptop requires 20 minutes.
\[ 10R + 20T \leq 2000 \]

3. **Non-Negativity Constraints**: The number of laptops cannot be negative.
\[ R \geq 0, T \geq 0 \]

## Gurobi Code

To solve this linear programming problem, we can use the Gurobi library in Python. Here's how to formulate and solve the problem:

```python
import gurobi

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

    # Define variables
    R = model.addVar(lb=0, vtype=gurobi.GRB.CONTINUOUS, name="Regular_Laptops")
    T = model.addVar(lb=0, vtype=gurobi.GRB.CONTINUOUS, name="Touchscreen_Laptops")

    # Objective function: Maximize profit
    model.setObjective(200*R + 300*T, gurobi.GRB.MAXIMIZE)

    # Constraints
    model.addConstr(20*R + 25*T <= 3000, name="Manual_Labor_Constraint")
    model.addConstr(10*R + 20*T <= 2000, name="Calibration_Constraint")

    # Optimize
    model.optimize()

    # Print solution
    if model.status == gurobi.GRB.OPTIMAL:
        print(f"Optimal production levels: Regular Laptops = {R.varValue}, Touchscreen Laptops = {T.varValue}")
        print(f"Maximum profit: ${200*R.varValue + 300*T.varValue}")
    else:
        print("No optimal solution found.")

solve_laptop_production()
```

This code sets up the optimization problem as described, solves it using Gurobi, and prints out the optimal production levels for regular and touchscreen laptops, along with the maximum achievable profit.