Here's the formulation and Gurobi code for Kappa Medical's cream mixing problem:

**Decision Variables:**

* `alpha`: milligrams (mg) of cream Alpha used in the mixture.
* `beta`: milligrams (mg) of cream Beta used in the mixture.

**Objective Function:**

Minimize the total cost:

```
Minimize: 0.70 * alpha + 0.90 * beta
```

**Constraints:**

* **Compound X requirement:**  The mixture must contain at least 4 units of compound X.
   ```
   2 * alpha + 4.1 * beta >= 4
   ```

* **Compound Y requirement:** The mixture must contain at least 8 units of compound Y.
   ```
   2.7 * alpha + 3.2 * beta >= 8
   ```

* **Non-negativity:**  We cannot use negative amounts of either cream.
   ```
   alpha >= 0
   beta >= 0
   ```

```python
import gurobipy as gp
from gurobipy import GRB

# Create a new model
model = gp.Model("cream_mixing")

# Create decision variables
alpha = model.addVar(lb=0, name="alpha")
beta = model.addVar(lb=0, name="beta")

# Set objective function
model.setObjective(0.70 * alpha + 0.90 * beta, GRB.MINIMIZE)

# Add constraints
model.addConstr(2 * alpha + 4.1 * beta >= 4, "compound_x")
model.addConstr(2.7 * alpha + 3.2 * beta >= 8, "compound_y")

# Optimize the model
model.optimize()

# Print the results
if model.status == GRB.OPTIMAL:
    print(f"Optimal cost: ${model.objVal:.2f}")
    print(f"Cream Alpha: {alpha.x:.2f} mg")
    print(f"Cream Beta: {beta.x:.2f} mg")
elif model.status == GRB.INFEASIBLE:
    print("The model is infeasible.")
else:
    print(f"Optimization terminated with status {model.status}")

```
