Gurobi Optimizer can solve models with linear constraints, convex quadratic constraints, and second order cone constraints. This can involve any combination of continuous or integer variables. The canonical form is:

$$\min c^t x + x^t Q x + \alpha$$ | Objective |

$$Ax = b$$ | Linear constraints |

$$l \le x \le u$$ | Bound constraints |

$$x_h \in Z \quad \forall h \in H$$ | Integrality constraints |

$$x_i \in \textrm{second order cones} \quad \forall i \in I \qquad$$ | Cone constraints |

$$x^t Q_j x + q_j^t x \le \beta_j \quad \forall j \in J$$ | Quadratic constraints |

$$x_k \in SOS \quad \forall k \in K$$ | Special ordered set constraints |

Not all elements are required. For instance, if \( Q = 0 \) and \( I = J = K = \emptyset \), this is a mixed-integer linear program (MILP). Note that Gurobi requires the quadratic matrices \( Q \) and \( Q_j \) to be positive semi-definite, so that the model is convex. For full details, see the Quadratic Constraints section in the Reference Manual.

There is also a feature for piecewise linear objectives, which can represent many separable non-convex functions. However, there is no feature for general non-convex constraints.

## Comments

0 comments

Article is closed for comments.