To solve this optimization problem, we first need to define the decision variables and the constraints based on the given information. Let's denote:

- \(x_1\) as the number of guided tour packages sold.
- \(x_2\) as the number of regular tickets sold.

The objective is to maximize profit. The profit per guided tour package is $500, and the profit per regular ticket is $200. Therefore, the objective function can be written as:

\[ \text{Maximize:} \quad 500x_1 + 200x_2 \]

Now, let's consider the constraints:

1. **Total Tickets Constraint**: The company can sell at most 300 tickets to LA.
   - \( x_1 + x_2 \leq 300 \)

2. **Guided Tour Packages Reservation Constraint**: The travel company reserves at least 50 guided tour packages.
   - \( x_1 \geq 50 \)

3. **Regular Tickets Preference Constraint**: At least 2 times as many people prefer to buy regular tickets than guided tour packages.
   - \( x_2 \geq 2x_1 \)

4. **Non-Negativity Constraints**: Both \(x_1\) and \(x_2\) must be non-negative since they represent the number of tickets sold.
   - \( x_1, x_2 \geq 0 \)

Given these constraints and the objective function, we can now formulate this problem in Gurobi using Python.

```python
from gurobipy import *

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

# Define decision variables
x1 = m.addVar(vtype=GRB.CONTINUOUS, name="guided_tour_packages")
x2 = m.addVar(vtype=GRB.CONTINUOUS, name="regular_tickets")

# Set the objective function to maximize profit
m.setObjective(500*x1 + 200*x2, GRB.MAXIMIZE)

# Add constraints
m.addConstr(x1 + x2 <= 300, "total_tickets_constraint")
m.addConstr(x1 >= 50, "guided_tour_reservation_constraint")
m.addConstr(x2 >= 2*x1, "regular_tickets_preference_constraint")

# Optimize the model
m.optimize()

# Print the results
if m.status == GRB.OPTIMAL:
    print("Optimal solution found.")
    print(f"Guided tour packages to sell: {x1.x}")
    print(f"Regular tickets to sell: {x2.x}")
    print(f"Maximum profit: ${500*x1.x + 200*x2.x:.2f}")
else:
    print("No optimal solution found. The problem might be infeasible.")
```