To solve George's problem, we need to maximize his profit by determining the optimal number of acres for each type of tree (coconut and banana) given the constraints on budget and labor. Let's denote the number of acres for coconut trees as \(x\) and for banana trees as \(y\).

The objective function to maximize is the total profit, which can be calculated as follows:
- Profit from coconut trees per acre: $400
- Profit from banana trees per acre: $350

So, the total profit \(P\) can be represented by the equation:
\[P = 400x + 350y\]

The constraints are based on the cost and labor requirements:
1. Budget constraint: The total maintenance cost for both types of trees must not exceed $15,000.
   - Maintenance cost for coconut trees per acre: $200
   - Maintenance cost for banana trees per acre: $150
   
   Therefore, the budget constraint can be represented as:
   \[200x + 150y \leq 15000\]

2. Labor constraint: The total labor required must not exceed 750 days.
   - Labor required for coconut trees per acre: 5 days
   - Labor required for banana trees per acre: 4 days
   
   Thus, the labor constraint can be represented as:
   \[5x + 4y \leq 750\]

Additionally, we have non-negativity constraints since George cannot plant a negative number of acres:
\[x \geq 0, y \geq 0\]

Given these equations and constraints, the problem can be formulated in Gurobi as follows:

```python
from gurobipy import *

# Create a new model
m = Model("George's Tree Planting")

# Define variables
x = m.addVar(vtype=GRB.CONTINUOUS, name="coconut_acres", lb=0)
y = m.addVar(vtype=GRB.CONTINUOUS, name="banana_acres", lb=0)

# Objective function: Maximize profit
m.setObjective(400*x + 350*y, GRB.MAXIMIZE)

# Constraint 1: Budget constraint
m.addConstr(200*x + 150*y <= 15000, "budget")

# Constraint 2: Labor constraint
m.addConstr(5*x + 4*y <= 750, "labor")

# Optimize model
m.optimize()

# Print results
if m.status == GRB.OPTIMAL:
    print(f"Optimal acres of coconut trees: {x.x}")
    print(f"Optimal acres of banana trees: {y.x}")
    print(f"Maximum profit: ${400*x.x + 350*y.x:.2f}")
else:
    print("No optimal solution found")
```