## Problem Description and Formulation

The candy store wants to maximize profit by determining the optimal number of packets of fruit gummy bears and sour gummy bears to produce. The production is constrained by the available time and the maximum number of packets that can be made for each type.

## Decision Variables

- Let \(x\) be the number of packets of fruit gummy bears.
- Let \(y\) be the number of packets of sour gummy bears.

## Objective Function

The profit per packet of fruit gummy bears is $1, and the profit per packet of sour gummy bears is $1.25. The objective is to maximize the total profit \(P\), which can be represented as:
\[P = 1x + 1.25y\]

## Constraints

1. **Time Constraint**: Each packet of fruit gummy bears takes 10 minutes, and each packet of sour gummy bears takes 15 minutes. The store has 2000 minutes available.
\[10x + 15y \leq 2000\]

2. **Production Constraints**:
   - The store can make at most 120 fruit gummy bears packets.
     \[x \leq 120\]
   - The store can make at most 70 sour gummy bears packets.
     \[y \leq 70\]

3. **Non-Negativity Constraints**: The number of packets cannot be negative.
\[x \geq 0, y \geq 0\]
\[x \in \mathbb{Z}, y \in \mathbb{Z}\]  # Assuming the number of packets must be an integer.

## Gurobi Code

```python
import gurobi

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

    # Define variables
    x = model.addVar(name="fruit_gummy_bears", lb=0, ub=120, vtype=gurobi.GRB.INTEGER)
    y = model.addVar(name="sour_gummy_bears", lb=0, ub=70, vtype=gurobi.GRB.INTEGER)

    # Objective function: Maximize profit
    model.setObjective(1*x + 1.25*y, gurobi.GRB.MAXIMIZE)

    # Time constraint
    model.addConstr(10*x + 15*y <= 2000, name="time_constraint")

    # Production limits
    model.addConstr(x <= 120, name="fruit_limit")
    model.addConstr(y <= 70, name="sour_limit")

    # Solve the model
    model.optimize()

    # Print the solution
    if model.status == gurobi.GRB.OPTIMAL:
        print(f"Optimal solution: x = {x.varValue}, y = {y.varValue}")
        print(f"Max Profit: {model.objVal}")
    else:
        print("No optimal solution found.")

solve_gummy_bears_problem()
```