1

I'm working on a large CQP problem, with 1.5M integer variables (actually with continous relaxation), and ~200 binary constrains (used to select variables so that their sum is [= | <] b) plus the non-negative constrains for all vars. My obj function is to minimize de KL div between the var array and another array with same shape (corresponding to the previous timestep) - the sum of all variables (so to assign the maximum possible).

I've tried using cvxpy with SCS solver (and Ecos, ecos_bb), also cvxopt, pulp, scipy... but I haven't found a plausible and efficient solution. Is there any solver, hopefully open source, or approach that would relatively easily solve this optimization?

Cerebrock
  • 122
  • 11
  • 1
    This is very large. Commercial solvers like Cplex and Gurobi are more likely to succeed for a MIQCP problem. However you mention an entropy objective being used. This makes it no longer quadratic and you end up with a convex MINLP. This will be challenging. I have worked on models where we approximated this by using a quadratic objective. This can make life easier for large, difficult models. – Erwin Kalvelagen Aug 08 '18 at 01:02
  • Could you recommend another objective?? – Cerebrock Aug 17 '18 at 05:28
  • Obvious candidates are minimization of the sum of quadratic deviations `min sum(i, sqr(x(i)-a(i)))`, the sum of absolute deviations `min sum(i, abs(x(i)-a(i)))` (this can be linearized), and the maximum: `min max(i, abs(x(i)-a(i)))` (this is also linear after reformulation). – Erwin Kalvelagen Aug 17 '18 at 08:36
  • I've tried those! They give much evenly larger errors than the KL. I've been validating the results but I think I was able to run it. When you said you approximated it with a quadratic objective did you mean MSE? – Cerebrock Aug 18 '18 at 05:23
  • I used a standard Taylor approximation resulting in QP. Just repeat this until convergence. Afterwards we optionally solved the entropy model as an NLP to verify we were close. – Erwin Kalvelagen Aug 18 '18 at 10:06
  • Would you share that approximation? :) – Cerebrock Sep 30 '18 at 20:24
  • Just use a Taylor expansion and ignore any terms beyond the quadratic ones. – Erwin Kalvelagen Oct 01 '18 at 09:49

0 Answers0