To solve Bob's problem, we need to formulate a linear programming model. Let's denote:

- $x$ as the number of acres planted with daisies,
- $y$ as the number of acres planted with peonies.

The objective is to maximize profit. The profit per acre from daisies is $55, and from peonies is $80. So, the total profit can be represented as $55x + 80y$.

Bob has a budget constraint: the cost for seeds must not exceed $3000. The seeds for daisies cost $20 per acre, and for peonies, they cost $35 per acre. This gives us the inequality $20x + 35y \leq 3000$.

Additionally, Bob cannot plant more than he has land for, so $x + y \leq 100$. Also, he cannot plant a negative number of acres, so $x \geq 0$ and $y \geq 0$.

Now, let's write the Gurobi code to solve this problem:

```python
from gurobipy import *

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

# Create variables
x = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="daisies")
y = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="peonies")

# Set the objective function
m.setObjective(55*x + 80*y, GRB.MAXIMIZE)

# Add constraints
m.addConstr(x + y <= 100, "land_limit")
m.addConstr(20*x + 35*y <= 3000, "budget_limit")

# Optimize model
m.optimize()

# Print solution
if m.status == GRB.OPTIMAL:
    print("Optimal solution found:")
    print(f"Plant {x.x} acres of daisies")
    print(f"Plant {y.x} acres of peonies")
    print(f"Maximum profit: ${m.objVal}")
else:
    print("No optimal solution found")
```