## Problem Description and Formulation

The problem is an optimization problem with the goal to maximize an objective function subject to several constraints. The variables are 'milligrams of vitamin A', 'grams of fat', and 'grams of fiber'. The objective function to maximize is:

\[ 1.97 \times (\text{milligrams of vitamin A})^2 + 1.23 \times (\text{grams of fiber})^2 + 5.84 \times (\text{grams of fiber}) \]

## Constraints

1. The muscle growth index of milligrams of vitamin A is 14.
2. The cardiovascular support index for milligrams of vitamin A is 20.
3. Grams of fat have a muscle growth index of 17.
4. The cardiovascular support index for grams of fat is 8.
5. The muscle growth index for grams of fiber is 15.
6. Grams of fiber have a cardiovascular support index of 19.
7. The total combined muscle growth index from milligrams of vitamin A plus grams of fat should be at least 54.
8. The total combined muscle growth index from milligrams of vitamin A and grams of fiber has to be 26 at minimum.
9. The total combined muscle growth index from milligrams of vitamin A plus grams of fat plus grams of fiber should be 44 or more.
10. The total combined muscle growth index from milligrams of vitamin A plus grams of fiber has to be 178 or less.
11. The total combined muscle growth index from grams of fat plus grams of fiber should be 132 at maximum.
12. The total combined muscle growth index from milligrams of vitamin A, grams of fat, and grams of fiber must be at most 152.
13. The total combined cardiovascular support index from milligrams of vitamin A plus grams of fat must be at most 78.
14. The total combined cardiovascular support index from grams of fat squared plus grams of fiber squared should be equal to or less than 56.
15. The total combined cardiovascular support index from milligrams of vitamin A, grams of fat, and grams of fiber should be no more than 56.
16. Milligrams of vitamin A must be a whole number.
17. Grams of fat must be a whole number.
18. Grams of fiber can be a non-integer.

## Gurobi Code Formulation

```python
import gurobi as gp

# Create a new model
m = gp.Model("optimization_problem")

# Define variables
milligrams_vitamin_A = m.addVar(name="milligrams_vitamin_A", vtype=gp.GRB.INTEGER)
grams_fat = m.addVar(name="grams_fat", vtype=gp.GRB.INTEGER)
grams_fiber = m.addVar(name="grams_fiber")

# Objective function
m.setObjective(1.97 * milligrams_vitamin_A**2 + 1.23 * grams_fiber**2 + 5.84 * grams_fiber, gp.GRB.MAXIMIZE)

# Constraints
m.addConstr(milligrams_vitamin_A == 14, name="muscle_growth_index_vitamin_A")
m.addConstr(20 * milligrams_vitamin_A <= 88, name="cardiovascular_support_index_vitamin_A")
m.addConstr(17 * grams_fat <= 218, name="muscle_growth_index_fat")
m.addConstr(8 * grams_fat <= 88, name="cardiovascular_support_index_fat")
m.addConstr(15 * grams_fiber <= 218, name="muscle_growth_index_fiber")
m.addConstr(19 * grams_fiber <= 88, name="cardiovascular_support_index_fiber")

m.addConstr(14 * milligrams_vitamin_A + 17 * grams_fat >= 54, name="combined_muscle_growth_index_vitamin_A_fat")
m.addConstr(14 * milligrams_vitamin_A + 15 * grams_fiber >= 26, name="combined_muscle_growth_index_vitamin_A_fiber")
m.addConstr(14 * milligrams_vitamin_A + 17 * grams_fat + 15 * grams_fiber >= 44, name="combined_muscle_growth_index_all")
m.addConstr(14 * milligrams_vitamin_A + 15 * grams_fiber <= 178, name="combined_muscle_growth_index_vitamin_A_fiber_upper")
m.addConstr(17 * grams_fat + 15 * grams_fiber <= 132, name="combined_muscle_growth_index_fat_fiber")
m.addConstr(14 * milligrams_vitamin_A + 17 * grams_fat + 15 * grams_fiber <= 152, name="combined_muscle_growth_index_all_upper")

m.addConstr(20 * milligrams_vitamin_A + 8 * grams_fat <= 78, name="combined_cardiovascular_support_index_vitamin_A_fat")
m.addConstr(8 * grams_fat**2 + 19 * grams_fiber**2 <= 56, name="combined_cardiovascular_support_index_fat_fiber")
m.addConstr(20 * milligrams_vitamin_A + 8 * grams_fat + 19 * grams_fiber <= 56, name="combined_cardiovascular_support_index_all")

# Optimize the model
m.optimize()

# Print the results
if m.status == gp.GRB.OPTIMAL:
    print("Optimal solution found.")
    print(f"Milligrams of Vitamin A: {milligrams_vitamin_A.varValue}")
    print(f"Grams of Fat: {grams_fat.varValue}")
    print(f"Grams of Fiber: {grams_fiber.varValue}")
    print(f"Objective: {m.objVal}")
else:
    print("No optimal solution found.")
```