To solve this optimization problem, we first need to understand and translate the given natural language description into a symbolic representation. This involves defining variables, an objective function, and constraints.

Let's denote:
- `x0` as the milligrams of vitamin K,
- `x1` as the milligrams of vitamin D.

The objective function is to maximize: `3*x0 + 6*x1`.

Constraints are as follows:
1. Kidney support index constraint: `7*x0 + 11*x1 >= 17`.
2. Energy stability index constraint: `1*x0 + 9*x1 >= 27`.
3. Immune support index constraint: `5*x0 + 5*x1 >= 22`.
4. Additional constraint: `-10*x0 + 3*x1 >= 0`.
5. Upper bound for kidney support index: `7*x0 + 11*x1 <= 54`.
6. Upper bound for energy stability index: `1*x0 + 9*x1 <= 83`.
7. Upper bound for immune support index: `5*x0 + 5*x1 <= 28`.

Given that there might be non-integer amounts of milligrams of vitamin K and vitamin D, both `x0` and `x1` are continuous variables.

Here is the symbolic representation in JSON format:
```json
{
    'sym_variables': [('x0', 'milligrams of vitamin K'), ('x1', 'milligrams of vitamin D')],
    'objective_function': '3*x0 + 6*x1',
    'constraints': [
        '7*x0 + 11*x1 >= 17',
        '1*x0 + 9*x1 >= 27',
        '5*x0 + 5*x1 >= 22',
        '-10*x0 + 3*x1 >= 0',
        '7*x0 + 11*x1 <= 54',
        '1*x0 + 9*x1 <= 83',
        '5*x0 + 5*x1 <= 28'
    ]
}
```

Now, let's implement this problem using Gurobi in Python:
```python
from gurobipy import *

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

# Define variables
x0 = m.addVar(lb=0, ub=GRB.INFINITY, vtype=GRB.CONTINUOUS, name="milligrams_of_vitamin_K")
x1 = m.addVar(lb=0, ub=GRB.INFINITY, vtype=GRB.CONTINUOUS, name="milligrams_of_vitamin_D")

# Set the objective function
m.setObjective(3*x0 + 6*x1, GRB.MAXIMIZE)

# Add constraints
m.addConstr(7*x0 + 11*x1 >= 17, "kidney_support_index_lower_bound")
m.addConstr(1*x0 + 9*x1 >= 27, "energy_stability_index_lower_bound")
m.addConstr(5*x0 + 5*x1 >= 22, "immune_support_index_lower_bound")
m.addConstr(-10*x0 + 3*x1 >= 0, "additional_constraint")
m.addConstr(7*x0 + 11*x1 <= 54, "kidney_support_index_upper_bound")
m.addConstr(1*x0 + 9*x1 <= 83, "energy_stability_index_upper_bound")
m.addConstr(5*x0 + 5*x1 <= 28, "immune_support_index_upper_bound")

# Optimize model
m.optimize()

# Print solution
if m.status == GRB.OPTIMAL:
    print("Optimal solution found:")
    print(f"Milligrams of Vitamin K: {x0.x}")
    print(f"Milligrams of Vitamin D: {x1.x}")
else:
    print("No optimal solution found")
```