11 A NQCP model (bilinear)

Run LPL Code  ,  PDF Document

Problem

All models with quadratic constraints seen so far are convex: QP, QPC, SOCP.

Models with only linear and quadratic terms which are non-convex are called NQCP models in LPL. They are much harder to solve, but Gurobi has a way to solve them (the parameter “nonconvex” must be set to 2).

A small example is this model from the Gurobi model library


Listing 9: The Complete Model implemented in LPL [10]
model bilinear "A NQCP model"; 
  variable x; y; z; 
  maximize obj: x; 
  constraint 
    A: x + y + z <= 10; 
    B: x * y <= 2;         --(bilinear inequality) 
    C: x * z + y * z = 1;  --(bilinear equality) 
    // x, y, z non-negative (x integral in second version) 
  Writep(obj,x,y,z); 
end