0

I am interested in solving a large scale quadratic 0-1 problem with linear constraints. I have found two approaches in the literature and do not understand the relationship between them:

  1. Linearise the quadratic by introducing new constraints and solve as a MILP problem (with CPLEX for example)
  2. Use a metaheuristic - VNS seems to be recommended.

These approaches seem very different to me and I don't fully understand the fundamental differences - the first seems to generate many additional constraints which can be bad for large systems?

What are the differences between the approaches and is there a go-to solution for these large scale problems? Or do they both need to be tested and either one can turn out to be faster depending on the problem?

RobPratt
  • 50,938

1 Answers1

2

Approach 1 is exact, but approach 2 is only a heuristic (no guarantee of optimality). A third (exact) approach is to call an MIQP solver.

RobPratt
  • 50,938
  • Thank you for your reply. Do you know if in general, the heuristic is faster than the exact approach? And is there any way to know in advance how far you could expect to be from the optimum using the heuristic? Or do these need to be tested manually on test cases and are highly problem specific? – testman7 Oct 09 '22 at 09:45
  • 1
    Heuristics are generally faster than exact methods. Some heuristics have approximation guarantees for the solution quality. You can also get a lower bound by solving the QP relaxation. Can you share the formulation for your problem? – RobPratt Oct 09 '22 at 12:28
  • Thanks again for the (very useful!) information. I am trying to solve the Heaviest K-Subgraph Problem (equivalent to this: https://math.stackexchange.com/questions/1343266/binary-quadratic-optimization-problem?rq=1) or more generally a binary quadratic program with linear constraints – testman7 Oct 09 '22 at 13:30
  • 1
    For heaviest $K$-subgraph, if you are using the usual linearization of a product of two binary variables, I recommend instead using the following compact linearization: $$\sum_{(i,j)\in E} y_{ij} + \sum_{(j,i)\in E} y_{ji} \le (K-1)x_j \quad \text{for all $j\in N$},$$ obtained by multiplying the cardinality constraint $\sum_i x_i = K$ by $x_j$. – RobPratt Oct 09 '22 at 15:14
  • Much appreciated! I'll look into this (I'm new to optimisation). Could you link me to a paper/textbook/reference which makes use of this linearisation? I was originally planning on linearising using Glover (1975): https://www.jstor.org/stable/2630109 which I read is a common "trick" which only generates O(n) instead of O(n^2) constraints. If heuristics are faster and give me close to optimal solutions I may also just go with them instead! – testman7 Oct 09 '22 at 16:59
  • 1
    Liberti, Leo. "Compact linearization for binary quadratic problems." 4OR 5.3 (2007): 231-245. – RobPratt Oct 09 '22 at 17:32
  • I'm surprised that the paper you linked doesn't mention Glover's linearisation as I've seen it a lot elsewhere. Perhaps this is a separate question altogether but if you know of the Glover trick do you have an idea of the computational differences between the two? – testman7 Oct 09 '22 at 17:46
  • 1
    This more recent paper from 2017 mentions both: https://arxiv.org/pdf/1712.05872.pdf – RobPratt Oct 09 '22 at 17:55