## Problem Description and Formulation

The problem is a linear programming optimization problem. The goal is to maximize profit by determining the number of zero gravity seats and standard seats to sell in a movie theatre.

### Decision Variables

- $x$: Number of zero gravity seats to sell.
- $y$: Number of standard seats to sell.

### Objective Function

The profit made on each zero gravity seat is $55, and on each standard seat is $25. The objective is to maximize the total profit:

Maximize: $55x + 25y$

### Constraints

1. The movie theatre can hold at most 250 people:
   - $x + y \leq 250$

2. The arena reserves a minimum of 40 seats to be zero gravity seats:
   - $x \geq 40$

3. At least 4 times as many people prefer to sit in standard seats than zero gravity seats:
   - $y \geq 4x$

4. Non-negativity constraints:
   - $x \geq 0$
   - $y \geq 0$

However, since $x \geq 40$ is given, the $x \geq 0$ constraint is implicitly satisfied.

## Gurobi Code

```python
import gurobipy as gp

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

# Decision variables
x = model.addVar(lb=40, name="zero_gravity_seats")  # Minimum 40 zero gravity seats
y = model.addVar(name="standard_seats")

# Objective function: Maximize profit
model.setObjective(55 * x + 25 * y, gp.GRB.MAXIMIZE)

# Constraints
model.addConstr(x + y <= 250, name="total_seats")  # Total seats not exceeding 250
model.addConstr(y >= 4 * x, name="standard_to_zero_gravity_ratio")  # Standard seats to zero gravity ratio

# Solve the model
model.solve()

# Output solution
if model.status == gp.GRB.OPTIMAL:
    print(f"Optimal solution found: Zero gravity seats = {x.varValue}, Standard seats = {y.varValue}")
    print(f"Maximum profit: ${55 * x.varValue + 25 * y.varValue}")
else:
    print("No optimal solution found")
```