```json
{
  "sym_variables": [
    ("x0", "milligrams of vitamin B4"),
    ("x1", "milligrams of vitamin B3"),
    ("x2", "milligrams of vitamin B1"),
    ("x3", "milligrams of vitamin B5"),
    ("x4", "milligrams of vitamin B12")
  ],
  "objective_function": "8*x0**2 + 7*x0*x1 + 4*x0*x2 + x1*x4 + 8*x2*x3 + x3*x4 + 6*x4**2 + 8*x2",
  "constraints": [
    "17*x1 + 7*x4 >= 19",
    "17*x1 + x2 >= 29",
    "x2 + 7*x4 >= 37",
    "13*x0 + 7*x4 >= 31",
    "13*x0 + 17*x1 >= 24",
    "x2**2 + 6*x3**2 >= 17",
    "13*x0 + 6*x3 >= 14",
    "17*x1 + 6*x3 >= 39",
    "13*x0**2 + 6*x3**2 + 7*x4**2 >= 28",
    "13*x0 + x2 + 7*x4 >= 28",
    "13*x0 + 17*x1 + 6*x3 >= 28",
    "x2 + 6*x3 + 7*x4 >= 28",
    "13*x0 + 17*x1 + x2 >= 28",
    "13*x0**2 + x2**2 + 6*x3**2 >= 28",
    "17*x1 + x2 + 7*x4 >= 28",
    "17*x1**2 + x2**2 + 6*x3**2 >= 28",
    "13*x0 + 6*x3 + 7*x4 >= 26",
    "13*x0 + x2 + 7*x4 >= 26",
    "13*x0 + 17*x1 + 6*x3 >= 26",
    "x2**2 + 6*x3**2 + 7*x4**2 >= 26",
    "13*x0 + 17*x1 + x2 >= 26",
    "13*x0 + x2 + 6*x3 >= 26",
    "17*x1 + x2 + 7*x4 >= 26",
    "17*x1 + x2 + 6*x3 >= 26",
    "13*x0 + 6*x3 + 7*x4 >= 25",
    "13*x0 + x2 + 7*x4 >= 25",
    "13*x0 + 17*x1 + 6*x3 >= 25",
    "x2 + 6*x3 + 7*x4 >= 25",
    "13*x0 + 17*x1 + x2 >= 25",
    "13*x0 + x2 + 6*x3 >= 25",
    "17*x1 + x2 + 7*x4 >= 25",
    "17*x1 + x2 + 6*x3 >= 25",
    "13*x0 + 6*x3 + 7*x4 >= 22",
    "13*x0 + x2 + 7*x4 >= 22",
    "13*x0 + 17*x1 + 6*x3 >= 22",
    "x2 + 6*x3 + 7*x4 >= 22",
    "13*x0**2 + 17*x1**2 + x2**2 >= 22",
    "13*x0 + x2 + 6*x3 >= 22",
    "17*x1 + x2 + 7*x4 >= 22",
    "17*x1 + x2 + 6*x3 >= 22",
    "13*x0**2 + 6*x3**2 + 7*x4**2 >= 23",
    "13*x0 + x2 + 7*x4 >= 23",
    "13*x0 + 17*x1 + 6*x3 >= 23",
    "x2**2 + 6*x3**2 + 7*x4**2 >= 23",
    "13*x0**2 + 17*x1**2 + x2**2 >= 23",
    "13*x0 + x2 + 6*x3 >= 23",
    "17*x1**2 + x2**2 + 7*x4**2 >= 23",
    "17*x1 + x2 + 6*x3 >= 23",
    "13*x0 + 6*x3 + 7*x4 >= 35",
    "13*x0**2 + x2**2 + 7*x4**2 >= 35",
    "13*x0 + 17*x1 + 6*x3 >= 35",
    "x2**2 + 6*x3**2 + 7*x4**2 >= 35",
    "13*x0 + 17*x1 + x2 >= 35",
    "13*x0 + x2 + 6*x3 >= 35",
    "17*x1**2 + x2**2 + 7*x4**2 >= 35",
    "17*x1 + x2 + 6*x3 >= 35",
    "13*x0 + 6*x3 + 7*x4 >= 20",
    "13*x0 + x2 + 7*x4 >= 20",
    "13*x0**2 + 17*x1**2 + 6*x3**2 >= 20",
    "x2 + 6*x3 + 7*x4 >= 20",
    "13*x0 + 17*x1 + x2 >= 20",
    "13*x0 + x2 + 6*x3 >= 20",
    "17*x1 + x2 + 7*x4 >= 20",
    "17*x1 + x2 + 6*x3 >= 20",
    "13*x0**2 + 6*x3**2 + 7*x4**2 >= 20",
    "13*x0 + x2 + 7*x4 >= 20",
    "13*x0**2 + 17*x1**2 + 6*x3**2 >= 20",
    "x2**2 + 6*x3**2 + 7*x4**2 >= 20",
    "13*x0**2 + 17*x1**2 + x2**2 >= 20",
    "13*x0**2 + x2**2 + 6*x3**2 >= 20",
    "17*x1 + x2 + 7*x4 >= 20",
    "17*x1 + x2 + 6*x3 >= 20",
    "13*x0 + 17*x1 + x2 + 6*x3 + 7*x4 >= 20",
    "8*x1 + 13*x2 >= 32",
    "8*x0 + 8*x1 >= 36",
    "8*x1**2 + 8*x3**2 + 15*x4**2 >= 33",
    "8*x0 + 8*x1 + 13*x2 + 8*x3 + 15*x4 >= 33",
    "9*x0 + 11*x1 >= 20",
    "9*x0 + 10*x3 >= 42",
    "19*x2 + 17*x4 >= 38",
    "9*x0 + 11*x1 + 19*x2 + 10*x3 + 17*x4 >= 38",
    "23*x1**2 + 7*x3**2 >= 19",
    "21*x0 + 12*x4 >= 19",
    "3*x2 + 12*x4 >= 41",
    "3*x2**2 + 7*x3**2 >= 29",
    "21*x0**2 + 23*x1**2 >= 42",
    "21*x0**2 + 7*x3**2 >= 39",
    "21*x0 + 3*x2 + 7*x3 >= 48",
    "21*x0**2 + 7*x3**2 + 12*x4**2 >= 48",
    "21*x0 + 3*x2 + 7*x3 >= 41",
    "21*x0 + 7*x3 + 12*x4 >= 41",
    "21*x0 + 23*x1 + 3*x2 + 7*x3 + 12*x4 >= 41",
    "2*x1 - 8*x4 >= 0",
    "-4*x0 + 5*x3 >= 0",
    "13*x0 + x2 <= 59",
    "6*x3**2 + 7*x4**2 <= 193",
    "x2**2 + 7*x4**2 <= 201",
    "x2 + 6*x3 <= 48",
    "17*x1 + 7*x4 <= 140",
    "8*x0 + 8*x1 <= 64",
    "8*x0 + 8*x3 <= 41",
    "13*x2**2 + 8*x3**2 <= 121",
    "13*x2 + 15*x4 <= 163",
    "8*x0 + 15*x4 <= 124",
    "11*x1 + 17*x4 <= 153",
    "9*x0**2 + 19*x2**2 <= 53",
    "9*x0 + 17*x4 <= 91",
    "9*x0**2 + 10*x3**2 <= 132",
    "19*x2 + 17*x4 <= 93",
    "21*x0**2 + 3*x2**2 <= 187",
    "21*x0 + 23*x1 <= 62",
    "23*x1 + 7*x3 <= 137",
    "23*x1 + 3*x2 <= 177",
    "3*x2**2 + 7*x3**2 <= 119",
    "21*x0 + 7*x3 <= 215",
    "21*x0 + 23*x1 + 7*x3 <= 142",
    "21*x0**2 + 23*x1**2 + 3*x2**2 <= 74",
    "21*x0 + 3*x2 + 12*x4 <= 210",
    "13*x0 <= 204",
    "8*x0 <= 199",
    "9*x0 <= 268",
    "21*x0 <= 241",
    "17*x1 <= 204",
    "8*x1 <= 199",
    "11*x1 <= 268",
    "23*x1 <= 241",
    "x2 <= 204",
    "13*x2 <= 199",
    "19*x2 <= 268",
    "3*x2 <= 241",
    "6*x3 <= 204",
    "8*x3 <= 199",
    "10*x3 <= 268",
    "7*x3 <= 241",
    "7*x4 <= 204",
    "15*x4 <= 199",
    "17*x4 <= 268",
    "12*x4 <= 241"
  ]
}
```

```python
import gurobipy as gp

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

# Create variables
x0 = m.addVar(type=gp.GRB.CONTINUOUS, name="x0")  # milligrams of vitamin B4
x1 = m.addVar(type=gp.GRB.INTEGER, name="x1")  # milligrams of vitamin B3
x2 = m.addVar(type=gp.GRB.INTEGER, name="x2")  # milligrams of vitamin B1
x3 = m.addVar(type=gp.GRB.CONTINUOUS, name="x3")  # milligrams of vitamin B5
x4 = m.addVar(type=gp.GRB.CONTINUOUS, name="x4")  # milligrams of vitamin B12


# Set objective function
m.setObjective(8*x0**2 + 7*x0*x1 + 4*x0*x2 + x1*x4 + 8*x2*x3 + x3*x4 + 6*x4**2 + 8*x2, gp.GRB.MINIMIZE)

# Add constraints
constraints_data = {
    'r0': {'upper_bound': 204, 'x0': 13, 'x1': 17, 'x2': 1, 'x3': 6, 'x4': 7},
    'r1': {'upper_bound': 199, 'x0': 8, 'x1': 8, 'x2': 13, 'x3': 8, 'x4': 15},
    'r2': {'upper_bound': 268, 'x0': 9, 'x1': 11, 'x2': 19, 'x3': 10, 'x4': 17},
    'r3': {'upper_bound': 241, 'x0': 21, 'x1': 23, 'x2': 3, 'x3': 7, 'x4': 12}
}

for var, resource_data in constraints_data.items():
    m.addConstr(resource_data['x0'] * x0 + resource_data['x1'] * x1 + resource_data['x2'] * x2 + resource_data['x3'] * x3 + resource_data['x4'] * x4 <= resource_data['upper_bound'], name=f"{var}_upper_bound")


with open('constraints.txt', 'r') as f:
    for line in f:
        m.addConstr(eval(line))


# Optimize model
m.optimize()

# Print results
if m.status == gp.GRB.OPTIMAL:
    print('Objective Value:', m.objVal)
    for v in m.getVars():
        print(f'{v.varName}: {v.x}')
elif m.status == gp.GRB.INFEASIBLE:
    print("The model is infeasible.")
else:
    print(f"Optimization ended with status {m.status}")

```
