To solve the given optimization problem using Gurobi, we first need to translate the natural language description into a mathematical formulation. The objective is to maximize the function:

3.58 * (milligrams of vitamin E) + 5.69 * (grams of fat) + 3.28 * (grams of protein) + 2.48 * (milligrams of vitamin B4)

Subject to several constraints involving the muscle growth index of each component.

Let's denote:
- \(x_0\) as milligrams of vitamin E,
- \(x_1\) as grams of fat,
- \(x_2\) as grams of protein,
- \(x_3\) as milligrams of vitamin B4.

The muscle growth indices are given as:
- Vitamin E: 11
- Grams of fat: 14
- Grams of protein: 11
- Milligrams of vitamin B4: 13

Constraints:
1. \(11x_0 + 14x_1 + 13x_3 \geq 40\)
2. \(11x_0 + 11x_2 + 13x_3 \geq 40\)
3. \(11x_0 + 14x_1 + 13x_3 \geq 36\)
4. \(11x_0 + 11x_2 + 13x_3 \geq 36\)
5. \(11x_0 + 11x_2 \leq 124\)
6. \(11x_2 + 13x_3 \leq 146\)
7. \(11x_0 + 14x_1 \leq 152\)
8. \(14x_1 + 13x_3 \leq 81\)
9. \(11x_0 + 14x_1 + 11x_2 + 13x_3 \leq 171\)

Given the problem's requirements, all variables can be non-integer.

Here is the Gurobi code that captures this optimization problem:

```python
from gurobipy import *

# Create a new model
m = Model("Optimization_Problem")

# Define variables
x0 = m.addVar(lb=0, name="milligrams_of_vitamin_E")
x1 = m.addVar(lb=0, name="grams_of_fat")
x2 = m.addVar(lb=0, name="grams_of_protein")
x3 = m.addVar(lb=0, name="milligrams_of_vitamin_B4")

# Define the objective function
m.setObjective(3.58*x0 + 5.69*x1 + 3.28*x2 + 2.48*x3, GRB.MAXIMIZE)

# Add constraints
m.addConstr(11*x0 + 14*x1 + 13*x3 >= 40, name="constraint_1")
m.addConstr(11*x0 + 11*x2 + 13*x3 >= 40, name="constraint_2")
m.addConstr(11*x0 + 14*x1 + 13*x3 >= 36, name="constraint_3")
m.addConstr(11*x0 + 11*x2 + 13*x3 >= 36, name="constraint_4")
m.addConstr(11*x0 + 11*x2 <= 124, name="constraint_5")
m.addConstr(11*x2 + 13*x3 <= 146, name="constraint_6")
m.addConstr(11*x0 + 14*x1 <= 152, name="constraint_7")
m.addConstr(14*x1 + 13*x3 <= 81, name="constraint_8")
m.addConstr(11*x0 + 14*x1 + 11*x2 + 13*x3 <= 171, name="constraint_9")

# Optimize the model
m.optimize()

# Print solution
if m.status == GRB.OPTIMAL:
    print("Optimal solution found.")
    print(f"milligrams_of_vitamin_E: {x0.x}")
    print(f"grams_of_fat: {x1.x}")
    print(f"grams_of_protein: {x2.x}")
    print(f"milligrams_of_vitamin_B4: {x3.x}")
    print(f"Objective function value: {m.objVal}")
else:
    print("No optimal solution found.")
```