Open source HiGHS solver & performance boost for energy system models

Hi @alexkies , would be interesting to see how much parameter tuning can speed up things. We use mostly default values and only slightly deviate from the default tolerance. These are the parameters probably interesting for a tuning task:

    "primal_feasibility_tolerance": 1e-04,
    "dual_feasibility_tolerance": 1e-05,
    "ipm_optimality_tolerance": 1e-6,
    "threads": 4,

Further, the above results were tested with crossover = True. We know that the crossover is quite time consuming and can be deactivated for our problem. The HiGHS team just shared a branch that will be soon merged into the main that allows deactivating the crossover.

I guess the bottlenecks causing the slow speed for large problems (1 year, hourly resolution 200nodes+) are not in the parameter choice but more in the used methods and code implementations. Some work to investigate this is required for finding and fixing the bottlenecks.

Regarding scaling, we discussed recently the topic here: https://github.com/PyPSA/PyPSA/issues/309
“HiGHS can perform a range of industry-standard scaling techniques, and scaling is always performed if it is felt to be worthwhile. Alternatives to the default are easily specified. Problem-specific scaling may be worth considering , although aggressive scaling has some disadvantages, so shouldn’t be seen as a panacea.” - Julian Hall

1 Like