## Problem Description and Formulation

The problem is a linear programming optimization problem. The goal is to maximize the profit of a kitchen appliance store that sells fridges and stoves, given certain constraints.

### Decision Variables

Let $x$ be the number of fridges and $y$ be the number of stoves.

### Objective Function

The profit per fridge is $400, and the profit per stove is $500. The objective function to maximize the total profit is:

Maximize: $400x + 500y$

### Constraints

1. **Floor Space Constraint**: The store has 1000 sq ft of floor space available. A fridge requires 10 sq ft, and a stove requires 15 sq ft.

$10x + 15y \leq 1000$

2. **Fridge Percentage Constraint**: At least 40% of all appliances must be fridges.

$x \geq 0.4(x + y)$

Simplifying:

$0.6x - 0.4y \geq 0$

3. **Capital Constraint**: The store wants to have a maximum of $40,000 worth of capital tied up. A fridge ties up $1000, and a stove ties up $1200.

$1000x + 1200y \leq 40000$

4. **Non-Negativity Constraints**: The number of fridges and stoves cannot be negative.

$x \geq 0, y \geq 0$

## Gurobi Code

```python
import gurobipy as gp

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

# Decision variables
x = m.addVar(name="fridges", lb=0, vtype=gp.GRB.INTEGER)
y = m.addVar(name="stoves", lb=0, vtype=gp.GRB.INTEGER)

# Objective function: Maximize profit
m.setObjective(400*x + 500*y, gp.GRB.MAXIMIZE)

# Constraints
m.addConstr(10*x + 15*y <= 1000, name="floor_space")
m.addConstr(0.6*x - 0.4*y >= 0, name="fridge_percentage")
m.addConstr(1000*x + 1200*y <= 40000, name="capital")

# Solve the model
m.solve()

# Print the solution
if m.status == gp.GRB.OPTIMAL:
    print(f"Optimal solution: x = {x.varValue}, y = {y.varValue}")
    print(f"Maximum profit: ${400*x.varValue + 500*y.varValue}")
else:
    print("No optimal solution found")
```