## Problem Description and Formulation

The problem is a classic example of a linear programming (LP) problem. The goal is to maximize the profit of an electronics factory that manufactures two types of calculators: solar calculators and finance calculators. The factory has limited resources: silicon, plastic, and steel.

Let's define the decision variables:

* `x`: the number of solar calculators produced
* `y`: the number of finance calculators produced

The objective function is to maximize the total profit:

* Profit per solar calculator: $12
* Profit per finance calculator: $9
* Total profit: `12x + 9y`

The constraints are:

* Limited resources:
	+ Silicon: `5x + 3y <= 150`
	+ Plastic: `4x + 5y <= 150`
	+ Steel: `2x + 3y <= 70`
* Non-negativity constraints:
	+ `x >= 0`
	+ `y >= 0`

## Gurobi Code

```python
import gurobi

# Create a new Gurobi model
model = gurobi.Model()

# Define the decision variables
x = model.addVar(lb=0, name="solar_calculators")
y = model.addVar(lb=0, name="finance_calculators")

# Define the objective function
model.setObjective(12 * x + 9 * y, gurobi.GRB.MAXIMIZE)

# Define the constraints
model.addConstr(5 * x + 3 * y <= 150, name="silicon_constraint")
model.addConstr(4 * x + 5 * y <= 150, name="plastic_constraint")
model.addConstr(2 * x + 3 * y <= 70, name="steel_constraint")

# Optimize the model
model.optimize()

# Print the solution
if model.status == gurobi.GRB.OPTIMAL:
    print("Optimal solution found.")
    print(f"Solar calculators: {x.varValue}")
    print(f"Finance calculators: {y.varValue}")
    print(f"Max profit: {model.objVal}")
else:
    print("No optimal solution found.")
```