To solve this problem, we first need to define the decision variables and the objective function. Let's denote the number of days spent fishing in the Pacific ocean as $x$ and the number of days spent fishing in the Atlantic ocean as $y$. The objective is to minimize the total cost, which can be calculated as $5000x + 7000y$.

We also have constraints based on the amount of fish, crab, and lobster that need to be caught. For fish, the company needs at least 18 tons, so we have $5x + 4y \geq 18$. For crab, they need at least 10 tons, giving us $2x + 3y \geq 10$. Lastly, for lobster, they require at least 5 tons, leading to $0.5x + y \geq 5$.

Since the company cannot operate a negative number of days in either ocean, we also have non-negativity constraints: $x \geq 0$ and $y \geq 0$.

Here is how we can represent this problem using Gurobi in Python:

```python
from gurobipy import *

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

# Define the decision variables
x = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="Pacific_Days")
y = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="Atlantic_Days")

# Define the objective function
m.setObjective(5000*x + 7000*y, GRB.MINIMIZE)

# Add constraints
m.addConstr(5*x + 4*y >= 18, name="Fish_Requirement")
m.addConstr(2*x + 3*y >= 10, name="Crab_Requirement")
m.addConstr(0.5*x + y >= 5, name="Lobster_Requirement")

# Optimize the model
m.optimize()

# Print the results
if m.status == GRB.OPTIMAL:
    print("Optimal solution found.")
    print(f"Days in Pacific: {x.x}")
    print(f"Days in Atlantic: {y.x}")
    print(f"Total Cost: ${5000*x.x + 7000*y.x}")
else:
    print("No optimal solution found.")
```