Package Details: cplex 20.10-2

Git Clone URL: https://aur.archlinux.org/cplex.git (read-only, click to copy)
Package Base: cplex
Description: A commercial solver for mathematical optimization problems.
Upstream URL: https://www.ibm.com/software/products/de/ibmilogcpleoptistud
Licenses: custom
Submitter: Viech
Maintainer: Viech (alberto-santini)
Last Packager: Viech
Votes: 3
Popularity: 0.000000
First Submitted: 2017-10-24 11:46 (UTC)
Last Updated: 2022-01-06 15:33 (UTC)

Dependencies (3)

Sources (2)

Latest Comments

Cbhihe commented on 2022-05-26 13:56 (UTC) (edited on 2022-05-26 13:59 (UTC) by Cbhihe)

@Viech: Thank you for your reply. And yes, gurobi seems like a good fall-back for those used to specifying a problem with ILOG cplex. Pointer much appreciated.
There is something I don't grok quite completely though.

  • I did read the discussion laid out here in previous comments on Python bindings missing for Python 3.9. At the same time I have read somewhere on IBM's ILOG CPLEX pages (sorry, I know it's lame but I could not find the exact page again in order to reference it here) that current CPLEX API is being updated to Python 11 already and all previous Python versions' devts are at a standstill. That SEEMS to clash with the news that the CPLEX team has left.

  • Also official DSR (Detailed System Requirements) for IBM ILOG CPLEX Optimization Studio 22.1.0.0, specifically for its CPLEX Optimizer Python API found here include 3.7, 3.8, 3.9 and 3.10 as well as " future fix packs". Is this different from the binding issue mentioned in comments below ? Or is the issue a packaging one for Archlinux ?

In my case what I want to achieve is calling the solver from my Python 3.9 virtual environment code.

So I'm just trying to understand the exact nature of the hold-up.

Viech commented on 2022-05-26 09:31 (UTC)

To the best of my knowledge, the latest release is still 20.1.0 / 20.10, and rumor has it that CPLEX development has stopped in 2020 due to the development team leaving IBM.

You can look at the PICOS or CVXPY docs for lists of alternative solvers that can be used with Python. If you used the CPLEX Python interface directly, Gurobi's should resemble it rather closely.

Cbhihe commented on 2022-05-24 14:01 (UTC)

It's been more than a year since the last comment. Would Python 3.9 be supported now by any chance ? Tx.

Viech commented on 2021-04-26 09:00 (UTC)

I've updated to 20.10 but I've commented out Python support as Python 3.9 is not supported yet.

Viech commented on 2021-04-21 13:35 (UTC)

I missed the release of CPLEX 20.1 in December (yes they jumped from 12.10 to 20.1) but from the changelog it looks like they still only support Python 3.8… (At least they finally support that!)

pirofti commented on 2021-04-21 13:29 (UTC)

Is this not working with Python 3.9?

carlosal1015 commented on 2020-07-21 20:24 (UTC)

It works :-), thanks @Viech.

fifr commented on 2020-01-28 15:02 (UTC)

@Viech: sure, I meant without messing around with the pkgbuild ;)

Viech commented on 2020-01-28 13:58 (UTC)

That should be easy: Just remove makedepends, optdepends, _pythonver and the "Install Python bindings." section.

fifr commented on 2020-01-28 13:56 (UTC)

@Viech: actually, I'm one of those who prefer to not install any python bindings at all ... is this easily possible with the current package?

Or maybe there should be two packages?

Viech commented on 2020-01-28 13:49 (UTC)

I tried myself to get it to work with Python 3.8 by patching the setup scripts, but CPLEX strongly refuses to run with it. If you urge me to I can implement @fifr's solution but I'm not sure if this is what many users want; some of you might prefer to not install any Python bindings at all instead. And maybe 12.11 shows up soon…

fifr commented on 2020-01-28 09:44 (UTC)

@alberto-santini: thanks. I modified the pkgbuild as follows and it seems to work (at least the package has been installed):

  • replaced dependencies python>=3.7 and python<3.8 by 'python37' (which is currently an aur package)
  • replaced the calls to 'python' and 'python3' by 'python3.7' everywhere

I have no idea if this has side effects, though.

alberto-santini commented on 2020-01-28 09:33 (UTC)

@fifr: As far as I remember, CPLEX 12.10 will refuse to work with python 3.8 and wants python 3.7. If your core's python is 3.8, no matter if you install 3.7, I think this still violates "python<3.8".

Maybe we could change the depends to "python<=3.7" only? But I am afraid there is no way to tell the cplex installer to use 3.7 and not the default on your system (3.8) so installation would still fail.

Could you try to change the pkgbuild to this end, and see if you manage to install and use cplex with a double 3.7/3.8 python install?

fifr commented on 2020-01-28 08:55 (UTC)

This is probably a dump question but ... when installing the package it complains about "python<3.8" required. I assume that means that Python 3.7 or so is needed.

The "python" package shipped from the core is 3.8, so I installed the "python37" aur package, but that seems to be insufficient.

So what is the preferred way to solve this problem?

Thanks in advance.

Viech commented on 2018-09-28 18:10 (UTC)

I can look into adding OPLIDE with the next CPLEX release where I have to make PKGBUILD changes anyway (as I'm expecting Python 3.7 support with that). While your approach does reliably install everyting, I'd rather not use /opt with this package.

gamezelda commented on 2018-09-27 23:12 (UTC) (edited on 2018-09-28 09:15 (UTC) by gamezelda)

After installing this package, I noticed that it does a "reduced" install, e.g. it does not install OPLIDE which is what I am interested in.

I decided to try to go for a more as-is install and changed all the copy commands in package() to:

mkdir -p "$pkgdir/opt/ibm/ILOG/CPLEX"
cp -R "." "$pkgdir/opt/ibm/ILOG/CPLEX/"

Except a few warnings, so far it seems to work, e.g. OPLIDE launches. I haven't had a chance to play too much with it yet, I will update if I have some improvement.

EDIT: If anyone is interested, this is the PKGBUILD I ended up using in the end to to get an unmodified, no warnings, install: https://pastebin.com/LsfDgsSp

EDIT: With /usr/bin shortcuts for some tools to avoid having to type: https://pastebin.com/TTffpjxK

Viech commented on 2018-08-27 16:16 (UTC)

Hello Luiz0tavio, the cplex installer .bin file is not available for download without logging in on the IBM website. As the PKGBUILD says: "You need to manually download the IBM ILOG CPLEX Optimization Studio installer and place it into the same directory as this PKGBUILD, before you proceed."

Luiz0tavio commented on 2018-08-27 15:29 (UTC)

Ran into a problem trying to

$ makepkg -sri

Error: -> Downloading cplex_studio128.linux-x86-64.bin... curl: (3) Invalid file://hostname/, expected localhost or 127.0.0.1 or none ==> ERROR: Failure while downloading file://cplex_studio128.linux-x86-64.bin Aborting...

$ uname -r 4.18.4-arch1-1-ARCH

Viech commented on 2018-08-11 11:31 (UTC)

That patch is now live. Thanks!

alberto-santini commented on 2018-08-10 22:31 (UTC)

Hi! Here is a patch with various proposed improvements. I also sent it to the mantainer via mail. https://pastebin.com/vRMhqDt6