To solve this optimization problem, we first need to define the objective function and the constraints based on the given information.

- The objective is to maximize profit. Given that each regular pie brings a profit of $8 and each premium pie brings a profit of $10, the objective function can be written as: Maximize \(8x_1 + 10x_2\).
- The constraints are:
  - Demand for regular pies: \(x_1 \leq 50\)
  - Demand for premium pies: \(x_2 \leq 30\)
  - Total number of pies that can be made: \(x_1 + x_2 \leq 60\)
  - Non-negativity constraints (since the number of pies cannot be negative): \(x_1 \geq 0\) and \(x_2 \geq 0\)

We will use Gurobi, a linear programming solver, to find the values of \(x_1\) and \(x_2\) that maximize profit under these constraints.

```python
from gurobipy import *

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

# Define variables
x1 = m.addVar(lb=0, name="regular_pies")
x2 = m.addVar(lb=0, name="premium_pies")

# Set objective function: Maximize profit
m.setObjective(8*x1 + 10*x2, GRB.MAXIMIZE)

# Add constraints
m.addConstr(x1 <= 50, "demand_regular")
m.addConstr(x2 <= 30, "demand_premium")
m.addConstr(x1 + x2 <= 60, "total_pies")

# Optimize model
m.optimize()

# Print solution
if m.status == GRB.OPTIMAL:
    print("Optimal solution found:")
    print(f"Regular Pies: {x1.x}")
    print(f"Premium Pies: {x2.x}")
    print(f"Max Profit: ${8*x1.x + 10*x2.x:.2f}")
else:
    print("No optimal solution found")
```