```json
{
  "sym_variables": [
    ("x0", "milligrams of vitamin B6"),
    ("x1", "grams of carbohydrates"),
    ("x2", "grams of fat"),
    ("x3", "milligrams of iron")
  ],
  "objective_function": "9.5 * x0 + 6.83 * x1 + 8.19 * x2 + 3.52 * x3",
  "constraints": [
    "35 * x1 + 15 * x2 >= 14",
    "35 * x0 + 27 * x1 >= 36",
    "15 * x2 + 4 * x3 >= 36",
    "27 * x1 + 4 * x3 >= 39",
    "35 * x0 + 4 * x3 >= 29",
    "35 * x0 + 15 * x2 >= 14",
    "35 * x0 + 27 * x1 + 4 * x3 >= 28",
    "27 * x1 + 15 * x2 + 4 * x3 >= 28",
    "35 * x0 + 15 * x2 + 4 * x3 >= 28",
    "35 * x0 + 27 * x1 + 4 * x3 >= 37",
    "27 * x1 + 15 * x2 + 4 * x3 >= 37",
    "35 * x0 + 15 * x2 + 4 * x3 >= 37",
    "35 * x0 + 27 * x1 + 4 * x3 >= 41",
    "27 * x1 + 15 * x2 + 4 * x3 >= 41",
    "35 * x0 + 15 * x2 + 4 * x3 >= 41",
    "35 * x0 + 27 * x1 + 15 * x2 + 4 * x3 >= 41",
    "26 * x0 + 15 * x3 >= 27",
    "29 * x1 + 15 * x3 >= 57",
    "26 * x0 + 29 * x1 >= 46",
    "26 * x0 + 35 * x2 >= 62",
    "29 * x1 + 35 * x2 + 15 * x3 >= 48",
    "26 * x0 + 29 * x1 + 15 * x3 >= 48",
    "29 * x1 + 35 * x2 + 15 * x3 >= 45",
    "26 * x0 + 29 * x1 + 15 * x3 >= 45",
    "26 * x0 + 29 * x1 + 35 * x2 + 15 * x3 >= 45",
    "35 * x0 + 27 * x1 <= 63",
    "27 * x1 + 15 * x2 + 4 * x3 <= 139",
    "35 * x0 + 27 * x1 + 4 * x3 <= 63",
    "26 * x0 + 15 * x3 <= 152",
    "26 * x0 + 35 * x2 <= 281",
    "29 * x1 + 35 * x2 <= 161",
    "29 * x1 + 15 * x3 <= 276",
    "26 * x0 + 29 * x1 <= 182",
    "x1 == int"  
  ]
}
```

```python
import gurobipy as gp

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

# Create variables
vitamin_b6 = m.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="vitamin_b6")
carbohydrates = m.addVar(lb=0, vtype=gp.GRB.INTEGER, name="carbohydrates")
fat = m.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="fat")
iron = m.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="iron")


# Set objective function
m.setObjective(9.5 * vitamin_b6 + 6.83 * carbohydrates + 8.19 * fat + 3.52 * iron, gp.GRB.MINIMIZE)

# Add constraints

m.addConstr(35 * carbohydrates + 15 * fat >= 14, "c0")
m.addConstr(35 * vitamin_b6 + 27 * carbohydrates >= 36, "c1")
m.addConstr(15 * fat + 4 * iron >= 36, "c2")
m.addConstr(27 * carbohydrates + 4 * iron >= 39, "c3")
m.addConstr(35 * vitamin_b6 + 4 * iron >= 29, "c4")
m.addConstr(35 * vitamin_b6 + 15 * fat >= 14, "c5")
m.addConstr(35 * vitamin_b6 + 27 * carbohydrates + 4 * iron >= 28, "c6")
m.addConstr(27 * carbohydrates + 15 * fat + 4 * iron >= 28, "c7")
m.addConstr(35 * vitamin_b6 + 15 * fat + 4 * iron >= 28, "c8")
m.addConstr(35 * vitamin_b6 + 27 * carbohydrates + 4 * iron >= 37, "c9")
m.addConstr(27 * carbohydrates + 15 * fat + 4 * iron >= 37, "c10")
m.addConstr(35 * vitamin_b6 + 15 * fat + 4 * iron >= 37, "c11")
m.addConstr(35 * vitamin_b6 + 27 * carbohydrates + 4 * iron >= 41, "c12")
m.addConstr(27 * carbohydrates + 15 * fat + 4 * iron >= 41, "c13")
m.addConstr(35 * vitamin_b6 + 15 * fat + 4 * iron >= 41, "c14")
m.addConstr(35 * vitamin_b6 + 27 * carbohydrates + 15 * fat + 4 * iron >= 41, "c15")
m.addConstr(26 * vitamin_b6 + 15 * iron >= 27, "c16")
m.addConstr(29 * carbohydrates + 15 * iron >= 57, "c17")
m.addConstr(26 * vitamin_b6 + 29 * carbohydrates >= 46, "c18")
m.addConstr(26 * vitamin_b6 + 35 * fat >= 62, "c19")
m.addConstr(29 * carbohydrates + 35 * fat + 15 * iron >= 48, "c20")
m.addConstr(26 * vitamin_b6 + 29 * carbohydrates + 15 * iron >= 48, "c21")
m.addConstr(29 * carbohydrates + 35 * fat + 15 * iron >= 45, "c22")
m.addConstr(26 * vitamin_b6 + 29 * carbohydrates + 15 * iron >= 45, "c23")
m.addConstr(26 * vitamin_b6 + 29 * carbohydrates + 35 * fat + 15 * iron >= 45, "c24")
m.addConstr(35 * vitamin_b6 + 27 * carbohydrates <= 63, "c25")
m.addConstr(27 * carbohydrates + 15 * fat + 4 * iron <= 139, "c26")
m.addConstr(35 * vitamin_b6 + 27 * carbohydrates + 4 * iron <= 63, "c27")
m.addConstr(26 * vitamin_b6 + 15 * iron <= 152, "c28")
m.addConstr(26 * vitamin_b6 + 35 * fat <= 281, "c29")
m.addConstr(29 * carbohydrates + 35 * fat <= 161, "c30")
m.addConstr(29 * carbohydrates + 15 * iron <= 276, "c31")
m.addConstr(26 * vitamin_b6 + 29 * carbohydrates <= 182, "c32")



# Optimize model
m.optimize()

# Print solution
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("Model is infeasible")
else:
    print("Model status:", m.status)

```
