## Step 1: Define the optimization problem and the objective function
The objective function to minimize is: $2 \times \text{security engineers} + 1 \times \text{system administrators} + 7 \times \text{network administrators} + 6 \times \text{pen testers}$.

## Step 2: List all the constraints
1. $\text{security engineers} \times 1 \leq 113$
2. $\text{security engineers} \times 9 \leq 99$
3. $\text{security engineers} \times 14 \leq 88$
4. $\text{system administrators} \times 11 \leq 113$
5. $\text{system administrators} \times 4 \leq 99$
6. $\text{system administrators} \times 12 \leq 88$
7. $\text{network administrators} \times 5 \leq 113$
8. $\text{network administrators} \times 1 \leq 99$
9. $\text{network administrators} \times 4 \leq 88$
10. $\text{pen testers} \times 7 \leq 113$
11. $\text{pen testers} \times 7 \leq 99$
12. $\text{pen testers} \times 4 \leq 88$
13. $\text{security engineers} \times 1 + \text{system administrators} \times 11 \geq 13$
14. $\text{security engineers} \times 1 + \text{pen testers} \times 7 \geq 15$
15. $\text{network administrators} \times 5 + \text{pen testers} \times 7 \geq 15$
16. $\text{security engineers} \times 1 + \text{system administrators} \times 11 + \text{network administrators} \times 5 + \text{pen testers} \times 7 \geq 15$
17. $\text{network administrators} \times 1 + \text{pen testers} \times 7 \geq 15$
18. $\text{system administrators} \times 4 + \text{network administrators} \times 1 \geq 20$
19. $\text{security engineers} \times 9 + \text{network administrators} \times 1 \geq 16$
20. $\text{security engineers} \times 9 + \text{network administrators} \times 1 + \text{pen testers} \times 7 \geq 22$
21. $\text{security engineers} \times 9 + \text{system administrators} \times 4 + \text{network administrators} \times 1 + \text{pen testers} \times 7 \geq 22$
22. $\text{security engineers} \times 14 + \text{system administrators} \times 12 \geq 13$
23. $\text{security engineers} \times 14 + \text{network administrators} \times 4 \geq 11$
24. $\text{system administrators} \times 12 + \text{pen testers} \times 4 \geq 11$
25. $\text{security engineers} \times 14 + \text{pen testers} \times 4 \geq 21$
26. $\text{security engineers} \times 14 + \text{system administrators} \times 12 + \text{pen testers} \times 4 \geq 18$
27. $\text{system administrators} \times 12 + \text{network administrators} \times 4 + \text{pen testers} \times 4 \geq 18$
28. $\text{security engineers} \times 14 + \text{system administrators} \times 12 + \text{pen testers} \times 4 \geq 18$
29. $\text{system administrators} \times 12 + \text{network administrators} \times 4 + \text{pen testers} \times 4 \geq 18$
30. $\text{security engineers} \times 14 + \text{system administrators} \times 12 + \text{network administrators} \times 4 + \text{pen testers} \times 4 \geq 18$
31. $10 \times \text{system administrators} - 7 \times \text{pen testers} \geq 0$
32. $5 \times \text{network administrators} - 6 \times \text{pen testers} \geq 0$
33. $\text{network administrators} \times 5 + \text{pen testers} \times 7 \leq 104$
34. $\text{security engineers} \times 1 + \text{pen testers} \times 7 \leq 54$
35. $\text{security engineers} \times 1 + \text{system administrators} \times 11 + \text{network administrators} \times 5 \leq 49$
36. $\text{system administrators} \times 11 + \text{network administrators} \times 5 + \text{pen testers} \times 7 \leq 75$
37. $\text{security engineers} \times 9 + \text{pen testers} \times 7 \leq 34$
38. $\text{security engineers} \times 9 + \text{system administrators} \times 4 + \text{pen testers} \times 7 \leq 36$
39. $\text{system administrators} \times 12 + \text{pen testers} \times 4 \leq 74$
40. $\text{system administrators} \times 12 + \text{network administrators} \times 4 \leq 70$

## Step 3: Convert the problem into Gurobi code
```python
import gurobi

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

# Define the variables
security_engineers = m.addVar(name="security_engineers", vtype=gurobi.GRB.INTEGER)
system_administrators = m.addVar(name="system_administrators", vtype=gurobi.GRB.INTEGER)
network_administrators = m.addVar(name="network_administrators", vtype=gurobi.GRB.INTEGER)
pen_testers = m.addVar(name="pen_testers", vtype=gurobi.GRB.INTEGER)

# Define the objective function
m.setObjective(2 * security_engineers + system_administrators + 7 * network_administrators + 6 * pen_testers, gurobi.GRB.MINIMIZE)

# Add constraints
m.addConstr(security_engineers <= 113, name="r0_security_engineers")
m.addConstr(9 * security_engineers <= 99, name="r1_security_engineers")
m.addConstr(14 * security_engineers <= 88, name="r2_security_engineers")

m.addConstr(11 * system_administrators <= 113, name="r0_system_administrators")
m.addConstr(4 * system_administrators <= 99, name="r1_system_administrators")
m.addConstr(12 * system_administrators <= 88, name="r2_system_administrators")

m.addConstr(5 * network_administrators <= 113, name="r0_network_administrators")
m.addConstr(network_administrators <= 99, name="r1_network_administrators")
m.addConstr(4 * network_administrators <= 88, name="r2_network_administrators")

m.addConstr(7 * pen_testers <= 113, name="r0_pen_testers")
m.addConstr(7 * pen_testers <= 99, name="r1_pen_testers")
m.addConstr(4 * pen_testers <= 88, name="r2_pen_testers")

m.addConstr(security_engineers + 11 * system_administrators >= 13, name="combined_r0_1")
m.addConstr(security_engineers + 7 * pen_testers >= 15, name="combined_r0_2")
m.addConstr(5 * network_administrators + 7 * pen_testers >= 15, name="combined_r0_3")
m.addConstr(security_engineers + 11 * system_administrators + 5 * network_administrators + 7 * pen_testers >= 15, name="combined_r0_4")

m.addConstr(network_administrators + 7 * pen_testers >= 15, name="combined_r1")
m.addConstr(4 * system_administrators + network_administrators >= 20, name="combined_r2")
m.addConstr(9 * security_engineers + network_administrators >= 16, name="combined_r3")
m.addConstr(9 * security_engineers + network_administrators + 7 * pen_testers >= 22, name="combined_r4")
m.addConstr(9 * security_engineers + 4 * system_administrators + network_administrators + 7 * pen_testers >= 22, name="combined_r5")

m.addConstr(14 * security_engineers + 12 * system_administrators >= 13, name="combined_r6")
m.addConstr(14 * security_engineers + 4 * network_administrators >= 11, name="combined_r7")
m.addConstr(12 * system_administrators + 4 * pen_testers >= 11, name="combined_r8")
m.addConstr(14 * security_engineers + 4 * pen_testers >= 21, name="combined_r9")
m.addConstr(14 * security_engineers + 12 * system_administrators + 4 * pen_testers >= 18, name="combined_r10")
m.addConstr(12 * system_administrators + 4 * network_administrators + 4 * pen_testers >= 18, name="combined_r11")

m.addConstr(10 * system_administrators - 7 * pen_testers >= 0, name="combined_r12")
m.addConstr(5 * network_administrators - 6 * pen_testers >= 0, name="combined_r13")

m.addConstr(5 * network_administrators + 7 * pen_testers <= 104, name="combined_r14")
m.addConstr(security_engineers + 7 * pen_testers <= 54, name="combined_r15")
m.addConstr(security_engineers + 11 * system_administrators + 5 * network_administrators <= 49, name="combined_r16")
m.addConstr(11 * system_administrators + 5 * network_administrators + 7 * pen_testers <= 75, name="combined_r17")

m.addConstr(9 * security_engineers + 7 * pen_testers <= 34, name="combined_r18")
m.addConstr(9 * security_engineers + 4 * system_administrators + 7 * pen_testers <= 36, name="combined_r19")

m.addConstr(12 * system_administrators + 4 * pen_testers <= 74, name="combined_r20")
m.addConstr(12 * system_administrators + 4 * network_administrators <= 70, name="combined_r21")

# Solve the model
m.optimize()

# Print the solution
if m.status == gurobi.GRB.OPTIMAL:
    print("Objective: ", m.objval)
    print("Security Engineers: ", security_engineers.varValue)
    print("System Administrators: ", system_administrators.varValue)
    print("Network Administrators: ", network_administrators.varValue)
    print("Pen Testers: ", pen_testers.varValue)
else:
    print("The model is infeasible")
```