Hi all,
I'm using mosek to solve a bog-standard portfolio optimization problem.
Now, I'm facing an issue where mosek takes 4s to solve my problem. Upon looking at the logs presolve takes about 0.01s, optimizer takes 0.03s, and a full 4s seem to be spent in the `__flush_1parameters_` function of fusion.
Further down, it's in `_task_1putafefijlist__3I_3I_3D`, which seems responsible for setting affine expressions. That code in turns has a horrible native python loop:
# TODO: use putafefenrtylist
for i,j,c in zip(idxs,subj,cof):
self.__task.putafefentry(i,j,c)
In my case, the number of coefficients set this way is about 2e6, which is the cause of slow speed.
Two questions:
- Is anybody aware of a fix for that (I presume Mosek has a plan, given the TODO comment).
- Until that's fixed, is it possible for me to rewrite my problem differently to avoid these terms, and use others? Fusion does not give much insight about how expressions are converted, but I presume most of my affine expressions fall within this block?
Best,
Damien