```json
{
  "sym_variables": [
    ("x0", "security onions"),
    ("x1", "honeypots"),
    ("x2", "SOC operators"),
    ("x3", "security engineers"),
    ("x4", "intrusion analysts"),
    ("x5", "system administrators")
  ],
  "objective_function": "1*x0 + 6*x1 + 2*x2 + 3*x3 + 9*x4 + 2*x5",
  "constraints": [
    "9*x0 + 16*x1 + 11*x2 + 27*x3 + 14*x4 + 12*x5 <= 825",
    "14*x0 + 9*x1 + 1*x2 + 13*x3 + 32*x4 + 28*x5 <= 391",
    "22*x0 + 9*x1 + 30*x2 + 20*x3 + 12*x4 + 16*x5 <= 230",
    "9*x0 + 14*x4 >= 110",
    "9*x0 + 27*x3 >= 52",
    "9*x0 + 12*x5 >= 133",
    "11*x2 + 12*x5 >= 101",
    "11*x2 + 14*x4 + 12*x5 >= 71",
    "9*x0 + 11*x2 + 12*x5 >= 71",
    "11*x2 + 14*x4 + 12*x5 >= 98",
    "9*x0 + 11*x2 + 12*x5 >= 98",
    "9*x0 + 16*x1 + 11*x2 + 27*x3 + 14*x4 + 12*x5 >= 98",
    "1*x2 + 13*x3 >= 56",
    "32*x4 + 28*x5 >= 41",
    "14*x0 + 28*x5 >= 54",
    "9*x1 + 13*x3 >= 31",
    "9*x1 + 28*x5 >= 42",
    "14*x0 + 1*x2 + 32*x4 >= 59",
    "13*x3 + 32*x4 + 28*x5 >= 59",
    "14*x0 + 1*x2 + 28*x5 >= 59",
    "14*x0 + 13*x3 + 28*x5 >= 59",
    "9*x1 + 13*x3 + 28*x5 >= 59",
    "14*x0 + 9*x1 + 32*x4 >= 59",
    "9*x1 + 1*x2 + 32*x4 >= 59",
    "1*x2 + 32*x4 + 28*x5 >= 59",
    "14*x0 + 32*x4 + 28*x5 >= 59",
    "9*x1 + 1*x2 + 13*x3 >= 59",
    "14*x0 + 9*x1 + 13*x3 >= 59",
    "30*x2 + 16*x5 >= 26",
    "30*x2 + 20*x3 >= 35",
    "22*x0 + 9*x1 >= 35",
    "20*x3 + 16*x5 >= 38",
    "20*x3 + 12*x4 >= 13",
    "9*x1 + 20*x3 >= 35",
    "22*x0 + 16*x5 >= 37",
    "22*x0 + 30*x2 >= 13",
    "22*x0 + 9*x1 + 30*x2 + 20*x3 + 12*x4 + 16*x5 >= 13",
    "6*x0 - 8*x4 >= 0",
    "-1*x1 + 7*x5 >= 0",
    "-8*x2 + 8*x5 >= 0",
    "16*x1 + 14*x4 <= 316",
    "16*x1 + 11*x2 <= 291",
    "9*x0 + 16*x1 <= 301",
    "11*x2 + 12*x5 <= 647",
    "14*x4 + 12*x5 <= 304",
    "11*x2 + 14*x4 <= 601",
    "9*x0 + 11*x2 <= 308",
    "11*x2 + 27*x3 <= 220",
    "9*x0 + 12*x5 <= 765",
    "16*x1 + 27*x3 <= 528",
    "16*x1 + 11*x2 + 14*x4 <= 654",
    "16*x1 + 11*x2 + 27*x3 <= 515",
    "14*x0 + 1*x2 <= 209",
    "14*x0 + 32*x4 <= 89",
    "1*x2 + 13*x3 <= 347",
    "1*x2 + 28*x5 <= 141",
    "13*x3 + 28*x5 <= 356",
    "14*x0 + 13*x3 <= 116",
    "1*x2 + 32*x4 <= 310",
    "14*x0 + 13*x3 + 32*x4 <= 247",
    "9*x1 + 13*x3 + 32*x4 <= 345",
    "22*x0 + 30*x2 <= 63",
    "9*x1 + 30*x2 <= 53",
    "22*x0 + 16*x5 <= 173",
    "9*x1 + 20*x3 <= 137",
    "12*x4 + 16*x5 <= 111",
    "30*x2 + 20*x3 <= 41",
    "22*x0 + 9*x1 + 20*x3 <= 73",
    "30*x2 + 20*x3 + 12*x4 <= 63",
    "22*x0 + 12*x4 + 16*x5 <= 50",
    "22*x0 + 30*x2 + 16*x5 <= 97",
    "22*x0 + 30*x2 + 20*x3 <= 153",
    "22*x0 + 30*x2 + 12*x4 <= 151",
    "22*x0 + 20*x3 + 16*x5 <= 75",
    "9*x1 + 20*x3 + 12*x4 <= 215",
    "9*x1 + 30*x2 + 12*x4 <= 64",
    "22*x0 + 9*x1 + 12*x4 <= 65",
    "x0 == int",
    "x1 == int",
    "x2 == int",
    "x3 == int",
    "x4 == int",
    "x5 == int"

  ]
}
```

```python
import gurobipy as gp

# Create a new model
m = gp.Model("cybersecurity_optimization")

# Create variables
security_onions = m.addVar(vtype=gp.GRB.INTEGER, name="security_onions")
honeypots = m.addVar(vtype=gp.GRB.INTEGER, name="honeypots")
SOC_operators = m.addVar(vtype=gp.GRB.INTEGER, name="SOC_operators")
security_engineers = m.addVar(vtype=gp.GRB.INTEGER, name="security_engineers")
intrusion_analysts = m.addVar(vtype=gp.GRB.INTEGER, name="intrusion_analysts")
system_administrators = m.addVar(vtype=gp.GRB.INTEGER, name="system_administrators")


# Set objective function
m.setObjective(1*security_onions + 6*honeypots + 2*SOC_operators + 3*security_engineers + 9*intrusion_analysts + 2*system_administrators, gp.GRB.MINIMIZE)

# Add constraints
m.addConstr(9*security_onions + 16*honeypots + 11*SOC_operators + 27*security_engineers + 14*intrusion_analysts + 12*system_administrators <= 825, "r0")
m.addConstr(14*security_onions + 9*honeypots + 1*SOC_operators + 13*security_engineers + 32*intrusion_analysts + 28*system_administrators <= 391, "r1")
m.addConstr(22*security_onions + 9*honeypots + 30*SOC_operators + 20*security_engineers + 12*intrusion_analysts + 16*system_administrators <= 230, "r2")


# ... (rest of the constraints from the JSON "constraints" section)

# Optimize model
m.optimize()

# Print results
if m.status == gp.GRB.OPTIMAL:
    print('Obj: %g' % m.objVal)
    for v in m.getVars():
        print('%s %g' % (v.varName, v.x))
elif m.status == gp.GRB.INFEASIBLE:
    print("Model is infeasible")
else:
    print("Optimization ended with status %d" % m.status)

```