I am solving a large scale MIQP optimisation problem at each step of a model predictive control problem. The problem description is as below. \begin{align} \min_{u} \quad (x_{k}&-x_\text{ref})^{T}Q(x_{k}-x_\text{ref}) + (P_{k}-P_{\text{ref},k})^{T}R(P_{k}-P_{\text{ref},k}) \\ \text{s.t. } x_{k+1}&=Ax_{k}+Bu_{k} \\ P_{k} &= \mathbb{I}^{T}u_{k}\\ u_{k} &\in \{0.25,0.50,0.75,1.0\}\\ \underline{x}&\leq x_{k}\leq \overline{x} \end{align} where $Q$ and $R$ are positive definite, $\underline{x}$ and $\overline{x}$ represent the lower and upper bounds of $x$, $x_{ref}$ and $P_{ref}$ are the reference values at each step $k$. In addition to that, $P_{k} = \sum_{i} u_{k}^{i}$ which is the sum of all decision variables at time step $k$.
The issue that I have is, the decision variable $u$ is in $\mathbb{R}^{1000}$, i.e. the problem involves a large number of integer variables which are not even binary.
I tried solving this optimisation problem at each iteration with Gurobi but was unable to solve at all. Thereafter, I contacted the Gurobi support centre and based on their suggestions, tried tweaking parameters (MIPGap, MIPHeuristics) to find at least a feasible solution. But it also did not improve the performance of the task. On the other hand, I am in need of finding a feasible solution within 60 seconds to match the real-world application.
I would really appreciate if someone could help me in the following problems.
- Is this problem NP-hard? if so is there any way to solve this kind of a large problem based on the formulation shown above.
- I am familiar with McCormick envelopes and big-M relaxations, but since the decision variables are not binary, is there any way I can apply those techniques here, I mean constraint relaxations?
- Is there any powerful solver which I can try other than Gurobi?
Thank you.