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

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

# Create variables
fat = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="fat")
b3 = m.addVar(lb=0, vtype=GRB.INTEGER, name="b3")
b1 = m.addVar(lb=0, vtype=GRB.INTEGER, name="b1")
b6 = m.addVar(lb=0, vtype=GRB.INTEGER, name="b6")
calcium = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="calcium")
e = m.addVar(lb=0, vtype=GRB.INTEGER, name="e")
b12 = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="b12")
b9 = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="b9")

# Set objective function
m.setObjective(1*fat + 1*b3 + 8*b1 + 7*b6 + 1*calcium + 2*e + 3*b12 + 5*b9, GRB.MAXIMIZE)

# Add resource constraints
m.addConstr(10*fat + 5*b3 + 6*b1 + 4*b6 + 1*calcium + 10*e + 7*b12 + 6*b9 <= 238, "r0")
m.addConstr(3*fat + 5*b3 + 6*b1 + 3*b6 + 9*calcium + 1*e + 5*b12 + 9*b9 <= 165, "r1")
m.addConstr(7*fat + 3*b3 + 2*b1 + 3*b6 + 2*calcium + 9*e + 9*b12 + 8*b9 <= 247, "r2")


# Add additional constraints based on the combined energy stability index
m.addConstr(5*b3 + 6*b1 >= 9)
m.addConstr(1*calcium + 6*b9 >= 27)
m.addConstr(10*e + 6*b9 >= 14)
m.addConstr(10*fat + 1*calcium >= 19)
m.addConstr(5*b3 + 6*b9 >= 9)
m.addConstr(4*b6 + 10*e >= 15)
m.addConstr(5*b3 + 10*e >= 12)
m.addConstr(5*b3 + 1*calcium >= 16)
m.addConstr(6*b1 + 4*b6 >= 22)
m.addConstr(6*b1 + 6*b9 >= 9)
m.addConstr(10*fat + 5*b3 >= 9)
m.addConstr(4*b6 + 1*calcium >= 26)
m.addConstr(6*b1 + 4*b6 + 7*b12 >= 14)
m.addConstr(10*fat + 5*b3 + 10*e >= 14)
m.addConstr(5*b3 + 6*b1 + 10*e >= 14)
m.addConstr(5*b3 + 6*b1 + 6*b9 >= 14)
m.addConstr(1*calcium + 10*e + 6*b9 >= 14)
m.addConstr(5*b3 + 7*b12 + 6*b9 >= 14)
m.addConstr(10*fat + 5*b3 + 1*calcium >= 14)
m.addConstr(10*fat + 5*b3 + 7*b12 >= 14)
# ... (rest of the combined energy stability index constraints)

# ... (rest of the combined cognitive performance index constraints)

# ... (rest of the combined kidney support index constraints)


# 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 was stopped with status %d' % m.status)
    # Compute IIS
    m.computeIIS()
    for c in m.getConstrs():
        if c.IISConstr:
            print('%s' % c.constrName)
```