To solve this optimization problem, we first need to define our decision variables and constraints based on the given information. Let's denote:

- $B$ as the number of black shoes made daily.
- $L$ as the number of blue shoes made daily.

The objective is to maximize net profits, considering that each black shoe results in a $3 loss and each blue shoe results in a $6 profit. The total profit $P$ can be represented as:

\[ P = -3B + 6L \]

Now, let's outline the constraints based on the problem description:

1. **Production Limits**:
   - At most 150 black shoes can be made: $B \leq 150$
   - At most 100 blue shoes can be made: $L \leq 100$

2. **Demand Requirements**:
   - At least 75 black shoes must be demanded: $B \geq 75$
   - At least 60 blue shoes must be demanded: $L \geq 60$

3. **Minimum Shipment Requirement**:
   - A minimum of 125 shoes (combined) must be shipped each day: $B + L \geq 125$

Given these constraints and the objective function, we can now formulate this problem in Gurobi using Python.

```python
from gurobipy import *

# Create a new model
m = Model("Shoe Production")

# Define variables
B = m.addVar(lb=75, ub=150, name="Black_Shoes")  # Number of black shoes made daily
L = m.addVar(lb=60, ub=100, name="Blue_Shoes")   # Number of blue shoes made daily

# Objective function: Maximize net profits
m.setObjective(-3*B + 6*L, GRB.MAXIMIZE)

# Constraint: Minimum shipment requirement
m.addConstr(B + L >= 125, name="Minimum_Shipment")

# Solve the model
m.optimize()

# Print results
if m.status == GRB.OPTIMAL:
    print(f"Optimal solution found:")
    print(f"Black Shoes: {B.x}")
    print(f"Blue Shoes: {L.x}")
    print(f"Total Profit: {-3*B.x + 6*L.x}")
else:
    print("No optimal solution found")
```