## Problem Description and Formulation

The problem is a linear programming optimization problem. The goal is to minimize the cost of operating in two different oceans, the Pacific and Atlantic, while meeting the weekly demand for fish, crab, and lobster.

### Decision Variables

Let $x$ be the number of days to operate in the Pacific ocean and $y$ be the number of days to operate in the Atlantic ocean.

### Objective Function

The objective is to minimize the total cost of operation, which is $5000x + 7000y$.

### Constraints

1. **Demand Constraints:**
   - Fish: $5x + 4y \geq 18$
   - Crab: $2x + 3y \geq 10$
   - Lobster: $0.5x + y \geq 5$

2. **Non-Negativity Constraints:**
   - $x \geq 0$
   - $y \geq 0$

3. **Since the problem involves days of operation in a week:**
   - $x \leq 7$
   - $y \leq 7$

However, for the purpose of linear programming and to accurately reflect the problem statement which implies a weekly requirement without explicitly stating an upper bound for $x$ and $y$ other than being non-negative, we focus on the demand and non-negativity constraints.

## Gurobi Code

```python
import gurobi

def fishing_problem():
    # Create a new model
    model = gurobi.Model()

    # Define the decision variables
    x = model.addVar(name="Pacific_days", lb=0)  # Days in Pacific ocean
    y = model.addVar(name="Atlantic_days", lb=0)  # Days in Atlantic ocean

    # Objective function: Minimize cost
    model.setObjective(5000*x + 7000*y, gurobi.GRB.MINIMIZE)

    # Constraints
    model.addConstr(5*x + 4*y >= 18, name="Fish_demand")  # Fish demand
    model.addConstr(2*x + 3*y >= 10, name="Crab_demand")  # Crab demand
    model.addConstr(0.5*x + y >= 5, name="Lobster_demand")  # Lobster demand

    # Solve the model
    model.optimize()

    # Print the solution
    if model.status == gurobi.GRB.OPTIMAL:
        print("Optimal Solution:")
        print(f"Days in Pacific ocean: {x.varValue}")
        print(f"Days in Atlantic ocean: {y.varValue}")
        print(f"Total Cost: ${model.objVal:.2f}")
    else:
        print("No optimal solution found.")

if __name__ == "__main__":
    fishing_problem()
```