To solve the optimization problem described, we need to formulate it using the given variables and constraints. The objective is to maximize the function `3.43 * milligrams_of_iron + 5.11 * milligrams_of_vitamin_C` subject to several constraints involving digestive support index, cardiovascular support index, kidney support index, and additional linear constraints.

Let's denote:
- `x0` as the quantity of milligrams of iron,
- `x1` as the quantity of milligrams of vitamin C.

Given constraints can be translated into mathematical expressions as follows:

1. Digestive support index minimum: `3*x0 + 32*x1 >= 73`
2. Cardiovascular support index minimum: `1*x0 + 2*x1 >= 140`
3. Kidney support index minimum: `22*x0 + 16*x1 >= 58`
4. Linear constraint: `-2*x0 + 7*x1 >= 0`
5. Digestive support index maximum: `3*x0 + 32*x1 <= 147`
6. Cardiovascular support index maximum: `1*x0 + 2*x1 <= 213`
7. Kidney support index maximum: `22*x0 + 16*x1 <= 129`

Since the problem involves maximizing a linear objective function subject to linear constraints, it can be formulated and solved as a Linear Programming (LP) problem.

Here is how you could implement this in Gurobi using Python:

```python
from gurobipy import *

# Create a new model
m = Model("Optimization_Problem")

# Define variables
milligrams_of_iron = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="milligrams_of_iron")
milligrams_of_vitamin_C = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="milligrams_of_vitamin_C")

# Define the objective function
m.setObjective(3.43 * milligrams_of_iron + 5.11 * milligrams_of_vitamin_C, GRB.MAXIMIZE)

# Add constraints
m.addConstr(3*milligrams_of_iron + 32*milligrams_of_vitamin_C >= 73, name="digestive_support_index_min")
m.addConstr(1*milligrams_of_iron + 2*milligrams_of_vitamin_C >= 140, name="cardiovascular_support_index_min")
m.addConstr(22*milligrams_of_iron + 16*milligrams_of_vitamin_C >= 58, name="kidney_support_index_min")
m.addConstr(-2*milligrams_of_iron + 7*milligrams_of_vitamin_C >= 0, name="linear_constraint")
m.addConstr(3*milligrams_of_iron + 32*milligrams_of_vitamin_C <= 147, name="digestive_support_index_max")
m.addConstr(1*milligrams_of_iron + 2*milligrams_of_vitamin_C <= 213, name="cardiovascular_support_index_max")
m.addConstr(22*milligrams_of_iron + 16*milligrams_of_vitamin_C <= 129, name="kidney_support_index_max")

# Optimize model
m.optimize()

# Print solution
if m.status == GRB.OPTIMAL:
    print("Optimal solution found:")
    print(f"Milligrams of Iron: {milligrams_of_iron.x}")
    print(f"Milligrams of Vitamin C: {milligrams_of_vitamin_C.x}")
    print(f"Objective Function Value: {m.objVal}")
else:
    print("No optimal solution found")
```