To solve the given optimization problem, we first need to convert the natural language description into a symbolic representation. Let's denote:

- $x_1$ as the number of premium consoles made,
- $x_2$ as the number of regular consoles made.

The objective function aims to maximize profit. Given that the profit per premium console is $100 and per regular console is $75, the objective function can be represented algebraically as:

Maximize: $100x_1 + 75x_2$

The constraints are based on the available testing time and IC chips. Since a premium console takes 20 minutes of testing and requires 3 IC chips, and a regular console takes 10 minutes of testing and requires 2 IC chips, with the company having at most 10000 minutes of testing time and 1500 IC chips available, the constraints can be represented as:

1. Testing time constraint: $20x_1 + 10x_2 \leq 10000$
2. IC chips constraint: $3x_1 + 2x_2 \leq 1500$

Additionally, since we cannot produce a negative number of consoles, we have non-negativity constraints:

3. $x_1 \geq 0$
4. $x_2 \geq 0$

Thus, the symbolic representation of the problem is:

```json
{
    'sym_variables': [('x1', 'number of premium consoles'), ('x2', 'number of regular consoles')],
    'objective_function': '100*x1 + 75*x2',
    'constraints': ['20*x1 + 10*x2 <= 10000', '3*x1 + 2*x2 <= 1500', 'x1 >= 0', 'x2 >= 0']
}
```

To solve this problem using Gurobi in Python, we can use the following code:

```python
from gurobipy import *

# Create a new model
model = Model("Console_Production")

# Add variables
x1 = model.addVar(name="premium_consoles", vtype=GRB.INTEGER, lb=0)
x2 = model.addVar(name="regular_consoles", vtype=GRB.INTEGER, lb=0)

# Set the objective function
model.setObjective(100*x1 + 75*x2, GRB.MAXIMIZE)

# Add constraints
model.addConstr(20*x1 + 10*x2 <= 10000, name="testing_time")
model.addConstr(3*x1 + 2*x2 <= 1500, name="ic_chips")

# Optimize the model
model.optimize()

# Print the results
if model.status == GRB.OPTIMAL:
    print("Optimal solution found:")
    print(f"Premium consoles: {x1.x}")
    print(f"Regular consoles: {x2.x}")
    print(f"Maximum profit: {model.objVal}")
else:
    print("No optimal solution found")
```