Feature request: Add HiGHS solver support (or external solver configuration) to MUIO

Open
#64 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
42/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active

Research direction

Start by tracing the existing CBC/GLPK solver configuration and GMPL export/solve flow; no files or tests are named. Compare the requested built-in HiGHS and external-solver alternatives, then define completion as a testable way to select a solver and run a large model.

Written by the indexing model from the issue text.

Description

Thank you for building and maintaining MUIO. I am using it for national energy and NDC scenario modeling, and it has been very helpful for setting up OSeMOSYS models without writing GMPL by hand.

Problem

When working with larger country-level models (e.g., 150+ technologies, multiple commodities, several years and time slices, and multiple scenarios), the current default solver (CBC / GLPK) becomes very slow:

  • Solving a single scenario can take a long time, though probably not several hours on a typical laptop
  • Running multiple scenarios for policy analysis becomes impractical.
  • MUIO currently does not offer any option to switch to faster solvers like HiGHS or CPLEX, even though these are widely used in the OSeMOSYS ecosystem (e.g., otoole, tz-osemosys, mosox).

As a result, advanced users end up exporting GMPL from MUIO and solving externally with HiGHS/CPLEX, then post-processing results separately. This works, but it defeats the purpose of an integrated GUI and makes it harder for less technical users (e.g., ministry staff, consultants, trainees) to benefit from faster solvers.

Request

Could the MUIO team please consider one of the following:

  1. Add HiGHS as a built-in solver option in MUIO (alongside CBC/GLPK), or
  2. Allow users to configure an external solver (HiGHS/CPLEX/Gurobi) via:
    • A settings field for solver path/command, and
    • A “Solve with external solver” button that exports LP/MPS and calls the configured solver.

HiGHS is:

  • Open-source and MIT-licensed.
  • Already supported by other OSeMOSYS tools (otoole, tz-osemosys, mosox).
  • Significantly faster than CBC/GLPK on large energy models, as shown in benchmarks for mosox and other tools.

Given that CCG is already investing in mosox + HiGHS as part of MOSAIC-Modelling.ai, it would be very valuable to bring that performance benefit into MUIO as well, especially for users working on NDCs and national energy plans.

Impact

Adding HiGHS (or external solver support) would:

  • Make MUIO usable for larger, more realistic country models.
  • Reduce solve times from hours to minutes in many cases.
  • Align MUIO with the broader OSeMOSYS toolchain and CCG’s strategic direction.

I am happy to:

  • Test any beta versions that add HiGHS or external solver support.
  • Provide example large models/data for benchmarking.
  • Help document the new workflow for other users.

Thank you for your work on MUIO, and I look forward to your thoughts.

Dominant language
CSS
Stars
22
Forks
28
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from OSeMOSYS/MUIO

All issues in OSeMOSYS/MUIO

Similar issues

More Performance issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.