## Problem Description and Formulation

The mayor has a budget of up to $3500 to invest in city infrastructure, specifically in roads and housing. The goal is to maximize the total profit earned from his investment. The profit yields are $0.95 per dollar invested in housing and $0.32 per dollar invested in roads. There are two constraints:
1. No less than $750 must be invested in housing.
2. No less than 24% of all money invested must be in roads.

## Symbolic Representation

Let's denote:
- \(R\) as the amount of money invested in roads,
- \(H\) as the amount of money invested in housing,
- \(P\) as the total profit.

The objective function to maximize the total profit is:
\[ P = 0.95H + 0.32R \]

Subject to:
1. \( H \geq 750 \)
2. \( R \geq 0.24(R + H) \)
3. \( R + H \leq 3500 \)
4. \( R \geq 0 \) and \( H \geq 0 \) (Non-negativity constraints)

## Simplifying Constraints

The second constraint can be simplified as follows:
\[ R \geq 0.24R + 0.24H \]
\[ 0.76R \geq 0.24H \]
\[ R \geq \frac{0.24}{0.76}H \]
\[ R \geq \frac{6}{19}H \]

## Gurobi Code

```python
import gurobi

def solve_investment_problem():
    # Create a new model
    model = gurobi.Model()

    # Define variables
    R = model.addVar(lb=0, name="Roads")  # Investment in roads
    H = model.addVar(lb=750, name="Housing")  # Investment in housing

    # Objective function: Maximize profit
    model.setObjective(0.95 * H + 0.32 * R, gurobi.GRB.MAXIMIZE)

    # Constraints
    model.addConstr(R + H <= 3500, name="Budget")  # Total investment not exceeding $3500
    model.addConstr(R >= (6/19) * H, name="Roads_vs_Housing")  # Minimum roads investment

    # Solve the model
    model.optimize()

    # Print solution
    if model.status == gurobi.GRB.OPTIMAL:
        print(f"Optimal investment in roads: ${R.varValue:.2f}")
        print(f"Optimal investment in housing: ${H.varValue:.2f}")
        print(f"Maximum profit: ${model.objVal:.2f}")
    else:
        print("No optimal solution found.")

solve_investment_problem()
```