To solve this optimization problem, we first need to define the decision variables and the objective function. Let's denote the amount of Seasoning A purchased as \(x_A\) (in kg) and the amount of Seasoning B purchased as \(x_B\) (in kg). The objective is to minimize the total cost, which can be calculated as \(1.50x_A + 3x_B\), given the costs per kg of each seasoning.

The constraints are based on the requirements for pepper and salt content in the final mixture:
1. For pepper: \(2x_A + x_B \geq 5\) (since Seasoning A contains 2 units of pepper per kg and Seasoning B contains 1 unit of pepper per kg, and we need at least 5 units).
2. For salt: \(x_A + 4x_B \geq 6\) (since Seasoning A contains 1 unit of salt per kg and Seasoning B contains 4 units of salt per kg, and we need at least 6 units).

Additionally, the amounts of seasoning purchased cannot be negative:
3. \(x_A \geq 0\)
4. \(x_B \geq 0\)

This problem can be formulated as a linear programming problem and solved using Gurobi.

```python
from gurobipy import *

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

# Define the decision variables
x_A = m.addVar(name="Seasoning_A", lb=0)
x_B = m.addVar(name="Seasoning_B", lb=0)

# Set the objective function: minimize total cost
m.setObjective(1.50*x_A + 3*x_B, GRB.MINIMIZE)

# Add constraints
m.addConstr(2*x_A + x_B >= 5, name="Pepper_Constraint")
m.addConstr(x_A + 4*x_B >= 6, name="Salt_Constraint")

# Optimize the model
m.optimize()

# Print the results
if m.status == GRB.OPTIMAL:
    print(f"Optimal solution: {x_A.varName} = {x_A.x}, {x_B.varName} = {x_B.x}")
    print(f"Total cost: ${1.50*x_A.x + 3*x_B.x:.2f}")
else:
    print("No optimal solution found")

```