To solve this optimization problem, we need to define the decision variables, objective function, and constraints. Let's denote:

- $x_p$ as the number of premium sandwiches produced.
- $x_r$ as the number of regular sandwiches produced.

The objective is to maximize profit. Given that a premium sandwich yields $5 in profit and a regular sandwich yields $1 in profit, our objective function can be written as:

Maximize: $5x_p + x_r$

We have two main constraints based on the given information:
1. **Preparation Time Constraint**: The total preparation time used by both types of sandwiches cannot exceed 400 minutes. Given that a premium sandwich takes 6 minutes to prepare and a regular sandwich takes 4 minutes, this constraint can be expressed as:

$6x_p + 4x_r \leq 400$

2. **Meat Constraint**: The total amount of meat used cannot exceed 100 slices. Since a premium sandwich requires 5 slices of meat and a regular sandwich requires 1 slice, this constraint is represented by:

$5x_p + x_r \leq 100$

Additionally, we have non-negativity constraints since the number of sandwiches produced cannot be negative:
- $x_p \geq 0$
- $x_r \geq 0$

This problem can be solved using linear programming techniques. Below is how you could implement this in Gurobi using Python:

```python
from gurobipy import *

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

# Define the decision variables
x_p = m.addVar(vtype=GRB.CONTINUOUS, name="premium_sandwiches", lb=0)
x_r = m.addVar(vtype=GRB.CONTINUOUS, name="regular_sandwiches", lb=0)

# Set the objective function: Maximize profit
m.setObjective(5*x_p + x_r, GRB.MAXIMIZE)

# Add constraints
m.addConstr(6*x_p + 4*x_r <= 400, "preparation_time")
m.addConstr(5*x_p + x_r <= 100, "meat_availability")

# Optimize the model
m.optimize()

# Print the results
if m.status == GRB.OPTIMAL:
    print("Optimal solution found:")
    print(f"Premium Sandwiches: {x_p.x}")
    print(f"Regular Sandwiches: {x_r.x}")
    print(f"Max Profit: ${5*x_p.x + x_r.x:.2f}")
else:
    print("No optimal solution found")

```