To solve this optimization problem, we first need to identify the decision variables, objective function, and constraints.

- Decision Variables:
  - Let \(S\) be the number of sofas produced.
  - Let \(K\) be the number of kitchen cabinets produced.

- Objective Function:
  - The company wants to maximize profit. Given that each sofa nets $400 and each kitchen cabinet nets $1200, the objective function can be written as: Maximize \(400S + 1200K\).

- Constraints:
  - Lacquer Constraint: Each sofa requires 3 gallons of lacquer, and each kitchen cabinet requires 10 gallons. With 100 gallons available, we have: \(3S + 10K \leq 100\).
  - Oak Constraint: Each sofa requires 10 lengths of oak, and each kitchen cabinet requires 24 lengths. With 300 lengths available, we have: \(10S + 24K \leq 300\).
  - Non-Negativity Constraints: Since production cannot be negative, we also have \(S \geq 0\) and \(K \geq 0\).

Given these elements, the problem can be formulated as a linear programming problem. We will use Gurobi in Python to solve this problem.

```python
from gurobipy import *

# Create a model
m = Model("East_Oak_Designs")

# Decision Variables
S = m.addVar(name="sofas", vtype=GRB.CONTINUOUS, lb=0)
K = m.addVar(name="kitchen_cabinets", vtype=GRB.CONTINUOUS, lb=0)

# Objective Function
m.setObjective(400*S + 1200*K, GRB.MAXIMIZE)

# Constraints
m.addConstr(3*S + 10*K <= 100, name="lacquer_constraint")
m.addConstr(10*S + 24*K <= 300, name="oak_constraint")

# Solve the model
m.optimize()

# Print results
if m.status == GRB.OPTIMAL:
    print(f"Optimal solution found. Produce {S.x} sofas and {K.x} kitchen cabinets.")
else:
    print("No optimal solution found")
```