```json
{
  "sym_variables": [
    ("x0", "milligrams of vitamin B1"),
    ("x1", "milligrams of iron"),
    ("x2", "milligrams of vitamin B4"),
    ("x3", "milligrams of vitamin B6"),
    ("x4", "milligrams of calcium"),
    ("x5", "milligrams of vitamin B12"),
    ("x6", "milligrams of vitamin B7"),
    ("x7", "milligrams of vitamin C"),
    ("x8", "grams of fat")
  ],
  "objective_function": "9*x0 + 6*x1 + 2*x2 + 1*x3 + 1*x4 + 3*x5 + 4*x6 + 6*x7 + 6*x8",
  "constraints": [
    "6.04*x0 + 4.69*x1 + 12.59*x2 + 9.8*x3 + 4.7*x4 + 5.22*x5 + 13.5*x6 + 5.95*x7 + 10.0*x8 <= 181",
    "9.51*x0 + 10.11*x1 + 9.63*x2 + 5.47*x3 + 9.91*x4 + 6.24*x5 + 12.88*x6 + 3.72*x7 + 3.69*x8 <= 230",
    "4.27*x0 + 6.71*x1 + 11.63*x2 + 0.06*x3 + 4.92*x4 + 4.65*x5 + 8.76*x6 + 2.26*x7 + 12.88*x8 <= 178",
    "6.04*x0 + 5.22*x5 >= 15",
    "12.59*x2 + 5.22*x5 >= 7",
    "12.59*x2 + 13.5*x6 >= 14",
    "4.69*x1 + 12.59*x2 + 5.95*x7 >= 15",
    "12.59*x2 + 5.22*x5 + 13.5*x6 >= 15",
    "6.04*x0 + 12.59*x2 + 5.95*x7 >= 15",
    "4.69*x1 + 12.59*x2 + 5.22*x5 >= 15",
    "12.59*x2 + 5.95*x7 + 10.0*x8 >= 15",
    "6.04*x0 + 4.69*x1 + 4.7*x4 >= 15",
    "4.7*x4 + 13.5*x6 + 5.95*x7 >= 15",
    "6.04*x0 + 9.8*x3 + 13.5*x6 >= 15",
    "6.04*x0 + 9.8*x3 + 10.0*x8 >= 15",
    "9.8*x3 + 4.7*x4 + 5.95*x7 >= 15",
    "4.69*x1 + 12.59*x2 + 4.7*x4 >= 15",
    "6.04*x0 + 12.59*x2 + 13.5*x6 >= 15",
    "9.8*x3 + 5.22*x5 + 5.95*x7 >= 15",
    "12.59*x2 + 13.5*x6 + 5.95*x7 >= 15",
    "4.7*x4 + 5.22*x5 + 10.0*x8 >= 15",
    "5.22*x5 + 13.5*x6 + 5.95*x7 >= 15",
    "12.59*x2 + 9.8*x3 + 10.0*x8 >= 15",
    "4.69*x1 + 9.8*x3 + 10.0*x8 >= 15",
    "12.59*x2 + 4.7*x4 + 5.95*x7 >= 15",
    "12.59*x2 + 13.5*x6 + 10.0*x8 >= 15",
    "4.69*x1 + 5.22*x5 + 13.5*x6 >= 15",
    "5.22*x5 + 5.95*x7 + 10.0*x8 >= 15",
    "4.69*x1 + 5.95*x7 + 10.0*x8 >= 15",
    "6.04*x0 + 12.59*x2 + 5.22*x5 >= 15",
    "6.04*x0 + 4.7*x4 + 10.0*x8 >= 15",
    "6.04*x0 + 4.7*x4 + 5.22*x5 >= 15",
    "5.22*x5 + 13.5*x6 + 10.0*x8 >= 15",
    "4.7*x4 + 5.22*x5 + 13.5*x6 >= 15",
    "4.69*x1 + 12.59*x2 + 9.8*x3 >= 15",
    "4.7*x4 + 13.5*x6 + 10.0*x8 >= 15",
    "4.69*x1 + 9.8*x3 + 4.7*x4 >= 15",
    "9.8*x3 + 5.95*x7 + 10.0*x8 >= 15",
    "-1*x0 + 9*x7 >= 0",
    "9*x3 - 9*x5 >= 0",
    "9*x0 - 9*x3 >= 0",
    "4*x1 - 7*x4 >= 0",
    "4.69*x1 + 5.95*x7 <= 167",
    "6.04*x0 + 9.8*x3 + 10.0*x8 <= 178",
    "12.59*x2 + 9.8*x3 + 4.7*x4 <= 98",
    "6.04*x0 + 9.8*x3 + 4.7*x4 <= 94",
    "9.8*x3 + 4.7*x4 + 5.22*x5 <= 20",
    "9.91*x4 + 6.24*x5 <= 50",
    "9.63*x2 + 3.72*x7 <= 225",
    "10.11*x1 + 9.63*x2 <= 165",
    "9.63*x2 + 12.88*x6 <= 42",
    "9.51*x0 + 10.11*x1 <= 66",
    "10.11*x1 + 3.72*x7 <= 217",
    "10.11*x1 + 5.47*x3 <= 101",
    "9.63*x2 + 3.69*x8 <= 144",
    "5.47*x3 + 3.72*x7 <= 83",
    "9.51*x0 + 5.47*x3 <= 214",
    "9.63*x2 + 6.24*x5 <= 182",
    "6.24*x5 + 12.88*x6 <= 34",
    "12.88*x6 + 3.72*x7 <= 79",
    "10.11*x1 + 3.69*x8 <= 173",
    "5.47*x3 + 9.91*x4 <= 146",
    "9.63*x2 + 9.91*x4 <= 74",
    "9.63*x2 + 9.91*x4 + 12.88*x6 <= 102",
    "9.63*x2 + 5.47*x3 + 3.72*x7 <= 37",
    "10.11*x1 + 6.24*x5 + 3.72*x7 <= 165",
    "5.47*x3 + 3.72*x7 + 3.69*x8 <= 154",
    "5.47*x3 + 6.24*x5 + 3.69*x8 <= 175",
    "9.51*x0 + 9.63*x2 + 3.72*x7 <= 153",
    "9.63*x2 + 5.47*x3 + 3.69*x8 <= 210",
    "10.11*x1 + 9.63*x2 + 5.47*x3 <= 192",
    "10.11*x1 + 5.47*x3 + 12.88*x6 <= 224",
    "9.63*x2 + 3.72*x7 + 3.69*x8 <= 98",
    "10.11*x1 + 9.91*x4 + 12.88*x6 <= 184",
    "9.51*x0 + 6.24*x5 + 3.72*x7 <= 207",
    "10.11*x1 + 9.63*x2 + 12.88*x6 <= 36",
    "9.91*x4 + 6.24*x5 + 3.69*x8 <= 37",
    "5.47*x3 + 9.91*x4 + 3.72*x7 <= 226",
    "12.88*x6 + 3.72*x7 + 3.69*x8 <= 26",
    "9.63*x2 + 12.88*x6 + 3.69*x8 <= 57",
    "9.51*x0 + 9.91*x4 + 12.88*x6 <= 64",
    "9.51*x0 + 9.63*x2 + 6.24*x5 <= 166",
    "9.63*x2 + 6.24*x5 + 3.69*x8 <= 65",
    "10.11*x1 + 9.91*x4 + 3.69*x8 <= 34",
    "10.11*x1 + 12.88*x6 + 3.69*x8 <= 220",
    "9.51*x0 + 9.63*x2 + 9.91*x4 <= 224",
    "9.63*x2 + 5.47*x3 + 6.24*x5 <= 113",
    "9.91*x4 + 6.24*x5 + 12.88*x6 <= 52",
    "10.11*x1 + 5.47*x3 + 9.91*x4 <= 31",
    "10.11*x1 + 6.24*x5 + 12.88*x6 <= 161",
    "9.51*x0 + 5.47*x3 + 6.24*x5 <= 210",
    "12.88*x6 + 3.72*x7 + 3.69*x8 <= 219",
    "9.51*x0 + 9.63*x2 + 12.88*x6 <= 59",
    "9.91*x4 + 12.88*x6 + 3.69*x8 <= 177",
    "6.24*x5 + 12.88*x6 + 3.72*x7 <= 45",
    "10.11*x1 + 12.88*x6 + 3.72*x7 <= 79",
    "9.51*x0 + 10.11*x1 + 3.69*x8 <= 214",
    "9.63*x2 + 5.47*x3 + 12.88*x6 <= 164",
    "5.47*x3 + 6.24*x5 + 12.88*x6 <= 215",
    "10.11*x1 + 9.91*x4 + 6.24*x5 <= 207",
    "9.51*x0 + 3.72*x7 + 3.69*x8 <= 116",
    "9.51*x0 + 6.24*x5 + 3.69*x8 <= 58",
    "5.47*x3 + 9.91*x4 + 3.69*x8 <= 160",
    "10.11*x1 + 9.63*x2 + 3.72*x7 <= 40",
    "2.26*x7 + 12.88*x8 <= 76",
    "11.63*x2 + 12.88*x8 <= 113",
    "4.92*x4 + 12.88*x8 <= 145",
    "4.92*x4 + 2.26*x7 <= 56",
    "4.92*x4 + 4.65*x5 <= 38",
    "6.71*x1 + 2.26*x7 <= 75",
    "5.47*x3 + 12.88*x6 <= 150",
    "11.63*x2 + 2.26*x7 <= 125",
    "5.47*x3 + 2.26*x7 <= 156",
    "4.27*x0 + 11.63*x2 <= 46",
    "4.27*x0 + 4.92*x4 <= 55",
    "6.71*x1 + 11.63*x2 <= 22",
    "4.27*x0 + 6.71*x1 <= 92",
    "4.27*x0 + 2.26*x7 <= 151",
    "11.63*x2 + 4.65*x5 <= 105",
    "4.27*x0 + 8.76*x6 <= 124",
    "0.06*x3 + 12.88*x8 <= 75",
    "0.06*x3 + 4.92*x4 <= 47",
    "4.65*x5 + 12.88*x8 <= 44",
    "4.27*x0 + 12.88*x8 <= 97",
    "8.76*x6 + 2.26*x7 <= 93",
    "4.92*x4 + 8.76*x6 <= 38",
    "4.65*x5 + 2.26*x7 <= 88",
    "11.63*x2 + 0.06*x3 <= 90",
    "4.27*x0 + 4.65*x5 <= 45",
    "0.06*x3 + 4.65*x5 + 2.26*x7 <= 51",
    "8.76*x6 + 2.26*x7 + 12.88*x8 <= 109",
    "4.27*x0 + 11.63*x2 + 4.65*x5 <= 150",
    "6.71*x1 + 11.63*x2 + 2.26*x7 <= 85",
    "6.71*x1 + 11.63*x2 + 0.06*x3 <= 21",
    "6.71*x1 + 4.65*x5 + 8.76*x6 <= 50",
    "11.63*x2 + 0.06*x3 + 12.88*x8 <= 149",
    "6.71*x1 + 4.92*x4 + 2.26*x7 <= 105",
    "4.92*x4 + 4.65*x5 + 12.88*x8 <= 95",
    "11.63*x2 + 0.06*x3 + 4.92*x4 <= 29",
    "4.27*x0 + 8.76*x6 + 12.88*x8 <= 113",
    "0.06*x3 + 8.76*x6 + 12.88*x8 <= 71",
    "4.27*x0 + 11.63*x2 + 0.06*x3 <= 86",
    "6.71*x1 + 2.26*x7 + 12.88*x8 <= 52",
    "4.27*x0 + 11.63*x2 + 8.76*x6 <= 163",
    "0.06*x3 + 4.92*x4 + 2.26*x7 <= 74",
    "4.27*x0 + 6.71*x1 + 11.63*x2 <= 49",
    "4.27*x0 + 0.06*x3 + 12.88*x8 <= 49",
    "4.65*x5 + 2.26*x7 + 12.88*x8 <= 31",
    "0.06*x3 + 4.65*x5 + 12.88*x8 <= 92",
    "11.63*x2 + 4.92*x4 + 4.65*x5 <= 160",
    "11.63*x2 + 4.65*x5 + 12.88*x8 <= 172",
    "6.71*x1 + 4.92*x4 + 12.88*x8 <= 161",
    "4.92*x4 + 2.26*x7 + 12.88*x8 <= 113",
    "4.27*x0 + 4.65*x5 + 12.88*x8 <= 36",
    "11.63*x2 + 4.65*x5 + 8.76*x6 <= 121",
    "6.71*x1 + 11.63*x2 + 12.88*x8 <= 124",
    "4.27*x0 + 6.71*x1 + 4.92*x4 <= 44",
    "11.63*x2 + 4.92*x4 + 2.26*x7 <= 49",
    "4.27*x0 + 11.63*x2 + 12.88*x8 <= 46",
    "4.27*x0 + 11.63*x2 + 2.26*x7 <= 43",
    "x0 >= 0",
    "x1 >= 0",
    "x2 >= 0",
    "x3 >= 0",
    "x4 >= 0",
    "x5 >= 0",
    "x6 >= 0",
    "x7 >= 0",
    "x8 >= 0"
  ]
}
```

```python
import gurobipy as gp

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

# Create variables
x = m.addVars(9, lb=0, vtype=gp.GRB.CONTINUOUS, name=["x0", "x1", "x2", "x3", "x4", "x5", "x6", "x7", "x8"])


# Set objective function
m.setObjective(9*x[0] + 6*x[1] + 2*x[2] + 1*x[3] + 1*x[4] + 3*x[5] + 4*x[6] + 6*x[7] + 6*x[8], gp.GRB.MINIMIZE)

# Resource coefficients
resource_coeffs = {
    'r0': [6.04, 4.69, 12.59, 9.8, 4.7, 5.22, 13.5, 5.95, 10.0],
    'r1': [9.51, 10.11, 9.63, 5.47, 9.91, 6.24, 12.88, 3.72, 3.69],
    'r2': [4.27, 6.71, 11.63, 0.06, 4.92, 4.65, 8.76, 2.26, 12.88]
}

# Resource upper bounds
resource_bounds = {
    'r0': 181,
    'r1': 230,
    'r2': 178
}

# Add resource constraints
for r, coeffs in resource_coeffs.items():
    m.addConstr(gp.quicksum(coeffs[i] * x[i] for i in range(9)) <= resource_bounds[r], name=r)


# Add additional constraints from the input
with open('constraints.txt', 'r') as file:  # Assuming constraints are stored in constraints.txt
    for line in file:
        constraint = line.strip()
        if constraint:  # Check for empty lines
            try:
                lhs, op, rhs = constraint.split()
                lhs_expr = eval(lhs, {}, {'x': x})  # Evaluate LHS expression
                rhs_val = float(rhs)
                if op == '>=':
                    m.addConstr(lhs_expr >= rhs_val)
                elif op == '<=':
                    m.addConstr(lhs_expr <= rhs_val)
                elif op == '=':
                    m.addConstr(lhs_expr == rhs_val)
                else:
                    print(f"Invalid operator: {op}")
            except Exception as e:
                print(f"Error processing constraint: {constraint}")
                print(e)


# Optimize model
m.optimize()

# Print results
if m.status == gp.GRB.OPTIMAL:
    print('Obj: %g' % m.objVal)
    for v in m.getVars():
        print('%s %g' % (v.varName, v.x))
elif m.status == gp.GRB.INFEASIBLE:
    print('Optimization was stopped with status %d' % m.status)
    # Compute IIS
    m.computeIIS()
    m.write("model.ilp")
    print('\nThe following constraint(s) cannot be satisfied:')
    for c in m.getConstrs():
        if c.IISConstr:
            print('%s' % c.constrName)
else:
    print('Optimization was stopped with status %d' % m.status)

```