```python
import gurobipy as gp
from gurobipy import GRB

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

# Create variables
protein = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="protein")
vitamin_b3 = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="vitamin_b3")
fiber = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="fiber")
vitamin_b6 = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="vitamin_b6")
vitamin_c = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="vitamin_c")

# Set objective function
m.setObjective(3.55*protein**2 + 5.95*protein*vitamin_b3 + 5.45*vitamin_b3**2 + 3.11*fiber*vitamin_c + 8.58*vitamin_b6*vitamin_c, GRB.MINIMIZE)

# Add resource constraints
kidney_support = 2*protein + 19*vitamin_b3 + 15*fiber + 5*vitamin_b6 + 11*vitamin_c
energy_stability = 8*protein + 18*vitamin_b3 + 10*fiber + 17*vitamin_b6 + 4*vitamin_c
cognitive_performance = 13*protein + 3*vitamin_b3 + 10*fiber + 18*vitamin_b6 + 3*vitamin_c

m.addConstr(kidney_support <= 167, "r0")
m.addConstr(energy_stability <= 134, "r1")
m.addConstr(cognitive_performance <= 315, "r2")


# Add other constraints as provided in the prompt, replacing placeholders with actual values
m.addConstr(15*fiber**2 + 5*vitamin_b6**2 >= 14)
m.addConstr(15*fiber + 11*vitamin_c >= 12)
m.addConstr(19*vitamin_b3**2 + 15*fiber**2 >= 30)
m.addConstr(2*protein**2 + 15*fiber**2 >= 13)
m.addConstr(19*vitamin_b3 + 5*vitamin_b6 + 11*vitamin_c >= 30)
m.addConstr(2*protein**2 + 5*vitamin_b6**2 + 11*vitamin_c**2 >= 30)
# ... (add all remaining constraints similarly)

# Optimize model
m.optimize()

# Print results
if m.status == GRB.OPTIMAL:
    print('Obj: %g' % m.objVal)
    for v in m.getVars():
        print('%s %g' % (v.varName, v.x))
elif m.status == GRB.INFEASIBLE:
    print('Optimization problem is infeasible.')
else:
    print('Optimization ended with status %d' % m.status)

```