## Problem Description and Formulation

The problem is a linear programming (LP) optimization problem. Rho Burrito sells two types of burritos: Mexican and Korean. The goal is to maximize profit given the constraints on available ingredients.

### Decision Variables

- \(x\): Number of Mexican burritos
- \(y\): Number of Korean burritos

### Objective Function

The profit per Mexican burrito is $7, and the profit per Korean burrito is $4.5. The objective is to maximize the total profit \(P\):

\[P = 7x + 4.5y\]

### Constraints

1. **Cheese Constraint**: A Mexican burrito requires 7 units of cheese, and a Korean burrito requires 5 units of cheese. There are 70 units of cheese available.

\[7x + 5y \leq 70\]

2. **Beans Constraint**: A Mexican burrito requires 8 units of beans. There are 60 units of beans available.

\[8x \leq 60\]

3. **Onions Constraint**: A Korean burrito requires 5 units of onions. There are 45 units of onions available.

\[5y \leq 45\]

4. **Non-Negativity Constraints**: The number of burritos cannot be negative.

\[x \geq 0, y \geq 0\]

## Gurobi Code

```python
import gurobi

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

    # Define variables
    x = model.addVar(name="Mexican_burritos", lb=0, vtype=gurobi.GRB.CONTINUOUS)
    y = model.addVar(name="Korean_burritos", lb=0, vtype=gurobi.GRB.CONTINUOUS)

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

    # Constraints
    model.addConstr(7 * x + 5 * y <= 70, name="Cheese_Constraint")
    model.addConstr(8 * x <= 60, name="Beans_Constraint")
    model.addConstr(5 * y <= 45, name="Onions_Constraint")

    # Optimize model
    model.optimize()

    # Print solution
    if model.status == gurobi.GRB.OPTIMAL:
        print(f"Optimal profit: ${model.objVal:.2f}")
        print(f"Number of Mexican burritos: {x.varValue:.2f}")
        print(f"Number of Korean burritos: {y.varValue:.2f}")
    else:
        print("The model is infeasible.")

solve_burrito_problem()
```