To solve the optimization problem described, we first need to identify the decision variables, the objective function, and the constraints.

1. **Decision Variables**: Let's denote the hours of operation for plant Gamma as \(G\) and for plant Delta as \(D\).

2. **Objective Function**: The goal is to minimize the total cost of production. Given that running plant Gamma costs $35 per hour and plant Delta costs $95 per hour, the objective function can be represented as: Minimize \(35G + 95D\).

3. **Constraints**:
   - **Asphalt Production Constraint**: At least 90 units of asphalt must be produced. Since plant Gamma produces 4 units of asphalt per hour and plant Delta produces 6 units per hour, we have: \(4G + 6D \geq 90\).
   - **Bricks Production Constraint**: At least 85 units of bricks must be produced. With plant Gamma producing 3 units of bricks per hour and plant Delta producing 5 units per hour, the constraint is: \(3G + 5D \geq 85\).
   - **Non-Negativity Constraints**: The hours of operation for both plants cannot be negative, so we have: \(G \geq 0\) and \(D \geq 0\).

With these elements defined, we can now formulate the problem in Gurobi code using Python:

```python
from gurobipy import *

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

# Decision Variables
G = m.addVar(name='Gamma', vtype=GRB.CONTINUOUS, lb=0)  # Hours of operation for plant Gamma
D = m.addVar(name='Delta', vtype=GRB.CONTINUOUS, lb=0)   # Hours of operation for plant Delta

# Objective Function: Minimize the total cost of production
m.setObjective(35*G + 95*D, GRB.MINIMIZE)

# Constraints
m.addConstr(4*G + 6*D >= 90, name='Asphalt_Production')  # At least 90 units of asphalt must be produced
m.addConstr(3*G + 5*D >= 85, name='Bricks_Production')    # At least 85 units of bricks must be produced

# Optimize the model
m.optimize()

# Print the results
if m.status == GRB.OPTIMAL:
    print(f"Optimal solution found. Hours for Gamma: {G.x}, Hours for Delta: {D.x}")
    print(f"Total Cost: ${35*G.x + 95*D.x:.2f}")
else:
    print("No optimal solution found")
```