# CVX with Gurobi and Mosek taking indefinite time to solve this?

I have the following multiobjective optimization problem
I am using both Gurobi and Mosek to solve this. The program runs for ever.

The objectives are non-conflicting.

\textbf{The Optimization problem:}

\begin{array}{*{35}{l}} \underset{a^{(l)}_{c,u},f^{(l)}_{c,u},z_{l,t},l\in\mathcal{L}}{\max}\hspace{6mm}t^{(1)}_{\rm U},\underset{a^{(l)}_{c,u},f^{(l)}_{c,u},z_{l,t},l\in\mathcal{L}}{\max}\hspace{6mm}t^{(2)}_{\rm U},\cdots,\underset{a^{(l)}_{c,u},f^{(l)}_{c,u},z_{l,t},l\in\mathcal{L}}{\max}\hspace{6mm}t^{(N_{\rm L})}_{\rm U},\underset{a^{(l)}_{c,u},f^{(l)}_{c,u},z_{l,t},l\in\mathcal{L}}{\max}\hspace{6mm}t_{\rm L}\\ \end{array}

Since there is no preference (all the objectives have the same priority), I tried with the following objective.

\underset{a^{(l)}_{c,u},f^{(l)}_{c,u},z_{l,t},l\in\mathcal{L}}{\max}\hspace{6mm}\sum_{l=1}^{N_L}t^{(l)}_{\rm U}+t_{\rm L}

I am not sure if I am doing it right.

So, how can I resolve this issue. Is the single objective that I am using correct?

What happens if you try to solve it as a feasibility problem, i.e., eliminate the objective? Is a feasible solution found? Do you know a feasible solution?

If you’re unlucky, or perhaps just not lucky, binary or integer programs can take forever to run.

yes, feasible solution is found.

## Optimal solution found (tolerance 1.00e-01) Best objective 0.000000000000e+00, best bound 0.000000000000e+00, gap 0.0000%

Status: Solved
Optimal value (cvx_optval): +0

Now, what could be the reason that its running for ever.

As I mentined earlier, if I interrupt the running, it seems that constraint C5 is being maintained, but constraint C4 is not giving expected results.

How do you know C4 is not giving expected results? Is a feasible solution being found when the objective function is included? Is a gap being reported by the solver?

Anyhow, although you’ve already posted related stuff at https://or.stackexchange.com/ , I suggest you’re more likely to get useful advice on this there than here.

Earlier I kept the program with objective running for 10 hours! When I interrupted, I saw that the constraint C5 is fulfilled. But, when I evaluated the results for each l, only 2 or 3 users are getting all the supply while the supplies to remaining users are zero.

How did you interrupt the program? How were you able to access a “solution” in order to evaluate it?

As I wrote before, I think you should pursue this at https://or.stackexchange.com](https://or.stackexchange.com/

No, I interrupted the MATLAB (Ctrl+C). Then CVX says the solution is suboptimal. Then I use the expressions to calculate s_l or s_{u,l}.

When you do that, I have no idea what those expressions, whatever you did, correspond to.

Here is the link I couldn’t find before. “Why is my MILP not finishing” https://yalmip.github.io/slowmilp

Anyhow, I’ll leave things at that. If someone else wants to chime in, they can.