## Problem Description and Formulation

The problem is a classic example of a linear programming problem. Gabriel needs to meet his daily nutritional requirements for calcium, potassium, and zinc by consuming lemons and pecans, which have different costs and nutritional contents. The goal is to minimize the total cost while satisfying the nutritional requirements.

Let's define the decision variables:
- \(L\): the number of pounds of lemons Gabriel should eat.
- \(P\): the number of pounds of pecans Gabriel should eat.

The cost of lemons is $12 per pound, and the cost of pecans is $10 per pound. Therefore, the total cost \(C\) can be represented as:
\[ C = 12L + 10P \]

The nutritional requirements and contents are as follows:
- Calcium: 3 units per pound of lemons, 5 units per pound of pecans, with a requirement of at least 25 units.
- Potassium: 4 units per pound of lemons, 4 units per pound of pecans, with a requirement of at least 18 units.
- Zinc: 7 units per pound of lemons, 9 units per pound of pecans, with a requirement of at least 19 units.

These constraints can be represented as:
\[ 3L + 5P \geq 25 \] (Calcium requirement)
\[ 4L + 4P \geq 18 \] (Potassium requirement)
\[ 7L + 9P \geq 19 \] (Zinc requirement)

Additionally, \(L \geq 0\) and \(P \geq 0\) because Gabriel cannot eat a negative amount of lemons or pecans.

## Gurobi Code

```python
import gurobi

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

    # Define the decision variables
    L = model.addVar(lb=0, name="Lemons")  # Pounds of lemons
    P = model.addVar(lb=0, name="Pecans")  # Pounds of pecans

    # Objective function: Minimize the total cost
    model.setObjective(12*L + 10*P, gurobi.GRB.MINIMIZE)

    # Add constraints for nutritional requirements
    model.addConstr(3*L + 5*P >= 25, name="CalciumRequirement")
    model.addConstr(4*L + 4*P >= 18, name="PotassiumRequirement")
    model.addConstr(7*L + 9*P >= 19, name="ZincRequirement")

    # Optimize the model
    model.optimize()

    # Print the results
    if model.status == gurobi.GRB.OPTIMAL:
        print(f"Optimal cost: ${model.objVal:.2f}")
        print(f"Pounds of lemons: {L.x:.2f}")
        print(f"Pounds of pecans: {P.x:.2f}")
    else:
        print("The problem is infeasible.")

solve_nutrition_problem()
```

This code defines the optimization problem using Gurobi's Python interface, solves it, and prints out the optimal solution if one exists.