To tackle this optimization problem, we first need to define the symbolic representation of the variables and the problem itself. The variables in question are:

- Rotisserie chickens: $x_1$
- Kale salads: $x_2$
- Bowls of instant ramen: $x_3$

The objective function to minimize is given as:
\[6x_1 + x_2 + 9x_3\]

Given the constraints, we have:
1. Healthiness rating of rotisserie chickens: $7x_1$
2. Healthiness rating of kale salads: $20x_2$
3. Healthiness rating of bowls of instant ramen: $5x_3$
4. The total combined healthiness rating from rotisserie chickens plus kale salads should be no less than 23: $7x_1 + 20x_2 \geq 23$
5. The total combined healthiness rating from all three items should be equal to or greater than 23: $7x_1 + 20x_2 + 5x_3 \geq 23$
6. Constraint involving kale salads and bowls of instant ramen: $5x_2 - 8x_3 \geq 0$

The symbolic representation of the problem is thus:
```json
{
    'sym_variables': [('x1', 'rotisserie chickens'), ('x2', 'kale salads'), ('x3', 'bowls of instant ramen')],
    'objective_function': '6*x1 + x2 + 9*x3',
    'constraints': [
        '7*x1 + 20*x2 >= 23',
        '7*x1 + 20*x2 + 5*x3 >= 23',
        '5*x2 - 8*x3 >= 0'
    ]
}
```

Now, let's proceed to formulate the Gurobi code for solving this optimization problem. We'll use Python as our programming language.

```python
from gurobipy import *

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

# Define variables
x1 = m.addVar(lb=-GRB.INFINITY, ub=GRB.INFINITY, vtype=GRB.CONTINUOUS, name="rotisserie_chickens")
x2 = m.addVar(lb=-GRB.INFINITY, ub=GRB.INFINITY, vtype=GRB.CONTINUOUS, name="kale_salads")
x3 = m.addVar(lb=-GRB.INFINITY, ub=GRB.INFINITY, vtype=GRB.CONTINUOUS, name="bowls_of_instant_ramen")

# Set the objective function
m.setObjective(6*x1 + x2 + 9*x3, GRB.MINIMIZE)

# Add constraints
m.addConstr(7*x1 + 20*x2 >= 23, "healthiness_rating_12")
m.addConstr(7*x1 + 20*x2 + 5*x3 >= 23, "total_healthiness_rating")
m.addConstr(5*x2 - 8*x3 >= 0, "kale_salads_vs_ramen")

# Optimize the model
m.optimize()

# Print solution
if m.status == GRB.OPTIMAL:
    print("Optimal solution found:")
    print(f"Rotisserie chickens: {x1.x}")
    print(f"Kale salads: {x2.x}")
    print(f"Bowls of instant ramen: {x3.x}")
    print(f"Objective function value: {m.objVal}")
else:
    print("No optimal solution found.")
```
```python
```