## Problem Description and Formulation

The beverage company wants to maximize exposure for their new product with a budget of at most $200,000. They have two media channels: newspaper and television. 

- Each newspaper advertisement costs $2,500 and provides exposure to 30,000 readers.
- Each television advertisement costs $5,000 and provides exposure to 50,000 viewers.
- The company must use both media channels.
- The number of newspaper advertisements should be at least 12 but at most 24.
- The number of television advertisements should be at least 10.

## Decision Variables

- Let \(x\) be the number of newspaper advertisements.
- Let \(y\) be the number of television advertisements.

## Objective Function

The objective is to maximize exposure. The total exposure \(E\) can be calculated as:
\[ E = 30000x + 50000y \]

## Constraints

1. **Budget Constraint**: The total cost must not exceed $200,000.
\[ 2500x + 5000y \leq 200000 \]

2. **Newspaper Advertisements Constraint**: \(x\) must be at least 12 but at most 24.
\[ 12 \leq x \leq 24 \]

3. **Television Advertisements Constraint**: \(y\) must be at least 10.
\[ y \geq 10 \]

4. **Non-Negativity and Integer Constraints**: \(x\) and \(y\) must be integers and non-negative.
\[ x \geq 0, y \geq 0 \]
Given \(x\) and \(y\) are counts of advertisements, they are implicitly non-negative.

## Gurobi Code

```python
import gurobi

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

    # Define decision variables
    x = model.addVar(lb=12, ub=24, vtype=gurobi.GRB.INTEGER, name="newspaper_advertisements")
    y = model.addVar(lb=10, vtype=gurobi.GRB.INTEGER, name="television_advertisements")

    # Objective function: Maximize exposure
    model.setObjective(30000*x + 50000*y, gurobi.GRB.MAXIMIZE)

    # Budget constraint
    model.addConstr(2500*x + 5000*y <= 200000, name="budget_constraint")

    # Solve the model
    model.optimize()

    # Check if the model is optimized
    if model.status == gurobi.GRB.OPTIMAL:
        print(f"Optimal Solution:")
        print(f"Newspaper Advertisements: {x.varValue}")
        print(f"Television Advertisements: {y.varValue}")
        print(f"Maximum Exposure: {30000*x.varValue + 50000*y.varValue}")
    else:
        print("The model is infeasible or unbounded.")

solve_media_planning_problem()
```