# Open source Solver to replace CPLEX in example?

**URL:** <https://discourse.julialang.org/t/open-source-solver-to-replace-cplex-in-example/137097>\
**Category:** Optimization (Mathematical)\
**Tags:** optimization, cplex\
**Created:** [May 13, 2026, 1:27am UTC](https://discourse.julialang.org/t/open-source-solver-to-replace-cplex-in-example/137097 "2026-05-13T01:27:53Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![rt9f](https://avatars.discourse-cdn.com/v4/letter/r/a698b9/32.png) [@rt9f](https://discourse.julialang.org/u/rt9f)\
**Post date:** [May 13, 2026, 1:27am UTC](https://discourse.julialang.org/t/open-source-solver-to-replace-cplex-in-example/137097/1 "2026-05-13T01:27:53Z")

</div>

Ten years ago this week, I read an article entitled [Optimization in Julia](https://publicsectororcourse.wordpress.com/2016/05/09/optimization-in-julia/). It was my first introduction to Julia and a great example of how easy one can define a constrained optimization problem in JuMP. The example used IBM’s commercial solver CPLEX (free for .edu), IIRC the only solver at the time that could find a solution.

I’m wondering if today there are any open source solvers that could replace CPLEX in this example. Suggestions?

---

<div class="post-metadata">

**Author:** ![mtanneau](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mtanneau/32/17787_2.png) [@mtanneau](https://discourse.julialang.org/u/mtanneau)\
**Post date:** [May 13, 2026, 2:16am UTC](https://discourse.julialang.org/t/open-source-solver-to-replace-cplex-in-example/137097/2 "2026-05-13T02:16:25Z")

</div>

I would 100% recommend HiGHS via [HiGHS.jl](https://github.com/jump-dev/HiGHS.jl)

HiGHS is pretty the best open-source LP solver at the moment, and it also supports MILP and QP problems.

---

<div class="post-metadata">

**Author:** ![odow](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/odow/32/28685_2.png) [@odow](https://discourse.julialang.org/u/odow)\
**Post date:** [May 13, 2026, 2:34am UTC](https://discourse.julialang.org/t/open-source-solver-to-replace-cplex-in-example/137097/3 "2026-05-13T02:34:40Z")

</div>

Hi @rt9f, welcome to the forum 😄

Yes, definitely use HiGHS. The example you linked is a nice example I hadn’t seen before. I’ll write it up as a tutorial for the JuMP documentation (with a few syntax changes that have happened since 2016).

---

<div class="post-metadata">

**Author:** ![odow](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/odow/32/28685_2.png) [@odow](https://discourse.julialang.org/u/odow)\
**Post date:** [May 13, 2026, 4:07am UTC](https://discourse.julialang.org/t/open-source-solver-to-replace-cplex-in-example/137097/4 "2026-05-13T04:07:29Z")

</div>

So I wrote this up [[docs] add sports scheduling tutorial · Pull Request #4160 · jump-dev/JuMP.jl](https://github.com/jump-dev/JuMP.jl/pull/4160)

It’s actually a really tricky problem (as formulated) to solve to optimality.

---

<div class="post-metadata">

**Author:** ![rt9f](https://avatars.discourse-cdn.com/v4/letter/r/a698b9/32.png) [@rt9f](https://discourse.julialang.org/u/rt9f)\
**Post date:** [May 16, 2026, 1:55am UTC](https://discourse.julialang.org/t/open-source-solver-to-replace-cplex-in-example/137097/5 "2026-05-16T01:55:03Z")

</div>

Hi @odow,  
Nice done!  
Thank you for quick reply.

---

<div class="post-metadata">

**Author:** ![odow](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/odow/32/28685_2.png) [@odow](https://discourse.julialang.org/u/odow)\
**Post date:** [May 16, 2026, 2:05am UTC](https://discourse.julialang.org/t/open-source-solver-to-replace-cplex-in-example/137097/6 "2026-05-16T02:05:21Z")

</div>

Here’s the link for posterity

> **[Sport scheduling · JuMP](https://jump.dev/JuMP.jl/dev/tutorials/linear/sports_scheduling/)**
>
> Documentation for JuMP.

---

<div class="post-metadata">

**Author:** ![sylvaticus](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sylvaticus/32/203883_2.png) [@sylvaticus](https://discourse.julialang.org/u/sylvaticus)\
**Post date:** [May 17, 2026, 8:03am UTC](https://discourse.julialang.org/t/open-source-solver-to-replace-cplex-in-example/137097/7 "2026-05-17T08:03:35Z")

</div>

Thanks. Few minor points:

- there is a couple `#!format:off,` / on left
- for international public a rewrite/ explanation of the Big10 /Conference/ “back-to back away games” would make the post more accessible…
- perhaps a note that this is a linear problem with binary variables so we can use Highs that is a linear solver capable of representing discrete variables (or something on the line)
