To solve this problem, we first need to define the decision variables, the objective function, and the constraints. Let's denote:

- $B$ as the number of burgers eaten,
- $F$ as the number of orders of fries eaten.

The objective is to minimize the total cost, which can be represented by the equation $7B + 3F$, since each burger costs $7 and each order of fries costs $3.

There are two main constraints based on the requirements:

1. The calorie requirement: $500B + 300F \geq 3000$
2. The protein requirement: $30B + 5F \geq 150$

Additionally, we have non-negativity constraints since you cannot eat a negative number of burgers or fries:
- $B \geq 0$
- $F \geq 0$

Given these conditions, the problem can be formulated as a linear programming problem. Here's how it translates into Gurobi code in Python:

```python
from gurobipy import *

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

# Define decision variables
B = m.addVar(name='burgers', vtype=GRB.CONTINUOUS, lb=0)
F = m.addVar(name='fries', vtype=GRB.CONTINUOUS, lb=0)

# Set the objective function (minimize cost)
m.setObjective(7*B + 3*F, GRB.MINIMIZE)

# Add constraints
m.addConstr(500*B + 300*F >= 3000, name='calories')
m.addConstr(30*B + 5*F >= 150, name='protein')

# Optimize model
m.optimize()

# Print solution
if m.status == GRB.OPTIMAL:
    print('Optimal solution found:')
    print(f'Burgers: {B.x}')
    print(f'Fries: {F.x}')
    print(f'Total Cost: ${7*B.x + 3*F.x:.2f}')
else:
    print('No optimal solution found')
```