## Problem Description and Formulation

The chocolate company produces two products: chocolate bars and chocolate wafers. There are two teams, one for each product, with maximum daily productions of 80 chocolate bars and 100 chocolate wafers, respectively. However, both products require time on a shared packaging machine, which has a maximum capacity of 125 items per day. The profit per chocolate bar is $2, and the profit per chocolate wafer is $3. The goal is to determine the optimal production levels for each product to maximize profits.

## Mathematical Formulation

Let's denote the number of chocolate bars produced as \(x\) and the number of chocolate wafers produced as \(y\). The problem can be formulated as a linear programming problem:

- Objective function: Maximize \(2x + 3y\)
- Subject to:
  1. \(x \leq 80\) (chocolate bar team production limit)
  2. \(y \leq 100\) (chocolate wafer team production limit)
  3. \(x + y \leq 125\) (shared packaging machine capacity limit)
  4. \(x \geq 0\) and \(y \geq 0\) (non-negativity constraints, as production levels cannot be negative)

## Gurobi Code

```python
import gurobi

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

    # Define variables
    x = model.addVar(lb=0, ub=80, name="ChocolateBars")
    y = model.addVar(lb=0, ub=100, name="ChocolateWafers")

    # Objective function: Maximize 2x + 3y
    model.setObjective(2 * x + 3 * y, gurobi.GRB.MAXIMIZE)

    # Constraints
    model.addConstr(x <= 80, name="BarProductionLimit")
    model.addConstr(y <= 100, name="WaferProductionLimit")
    model.addConstr(x + y <= 125, name="PackagingLimit")

    # Optimize
    model.optimize()

    # Print solution
    if model.status == gurobi.GRB.OPTIMAL:
        print(f"Optimal production level for chocolate bars: {x.varValue}")
        print(f"Optimal production level for chocolate wafers: {y.varValue}")
        print(f"Maximum profit: {model.objVal}")
    else:
        print("No optimal solution found.")

if __name__ == "__main__":
    solve_chocolate_production()
```