How do I reduce the running time when I call thousands of 'intlinprog' ?

5 visualizzazioni (ultimi 30 giorni)
  • 'intlinprog' is used in a subfunction that is called many times, and the running time is too long. I want to get a faster running time, so what can i do?
  2 Commenti
Torsten
Torsten il 15 Lug 2022
If the calls don't depend on each other, make a parfor loop.
梦娇 何
梦娇 何 il 16 Lug 2022
Thanks, but I used 'parfor' in the main function, so this subfunction can't use 'parfor' (nesting is not allowed, right? ).

Accedi per commentare.

Risposte (1)

Bruno Luong
Bruno Luong il 15 Lug 2022
Modificato: Bruno Luong il 15 Lug 2022
You can try to call multiple problems at once by
  • Concatenate f, intcon, b, beq, lb, yb, x0,
  • Make matrices A, Aeq block diagonal (possibly sparse format is better).
Not sure if it saves time or the solution is not degraded though.
  2 Commenti
梦娇 何
梦娇 何 il 16 Lug 2022
Thanks, this is really something I didn't think of. I'll give it a try.
梦娇 何
梦娇 何 il 16 Lug 2022
Bruno Luong, i don't know how to concatenate f, intcon, b, beq, lb, yb and x0, and could you mind explaining specifically? thank you very much.

Accedi per commentare.

Prodotti


Release

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by