## Problem Description and Formulation

The problem is a linear programming optimization problem. The goal is to maximize profit by determining the number of burritos and sandwiches to produce given certain constraints.

### Variables:
- \(B\): Number of burritos to make
- \(S\): Number of sandwiches to make

### Objective Function:
Maximize profit \(P = 2.5B + 7S\)

### Constraints:
1. **Pork Meat Constraint**: \(25B + 15S \leq 5000\) (total pork meat used does not exceed 5000 grams)
2. **Burrito to Sandwich Ratio Constraint**: \(S \geq 4B\) (at least four times the number of sandwiches as burritos)
3. **Minimum Burritos Constraint**: \(B \geq 6\) (at least 6 burritos must be made)
4. **Non-Negativity Constraints**: \(B \geq 0, S \geq 0\) (number of burritos and sandwiches cannot be negative)

## Gurobi Code

```python
import gurobi

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

    # Define variables
    B = model.addVar(lb=0, name="Burritos")
    S = model.addVar(lb=0, name="Sandwiches")

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

    # Constraints
    model.addConstr(25 * B + 15 * S <= 5000, name="Pork_Meat_Constraint")
    model.addConstr(S >= 4 * B, name="Burrito_to_Sandwich_Ratio_Constraint")
    model.addConstr(B >= 6, name="Minimum_Burritos_Constraint")

    # Optimize model
    model.optimize()

    # Print solution
    if model.status == gurobi.GRB.OPTIMAL:
        print(f"Optimal solution found.")
        print(f"Burritos: {B.varValue}")
        print(f"Sandwiches: {S.varValue}")
        print(f"Max Profit: {model.objVal}")
    else:
        print("No optimal solution found.")

solve_optimization_problem()
```