Barriers to the CPLEX
Why moving to the cloud is not painless
So you think you need CPLEX?
To find out more, you review the marketing material. After you wade past that you get to the technical documentation. The links lead you in loops. Where should you start? Is it the decision optimization, pip package, or is it this pip package, or the product documentation?
After a while, you realize CPLEX has not just one Python API, but two. There is the the legacy stuff and then the API that also allows for modeling called DOcplex.
A pip install cplex
seems to get you a solver - but only the Community Edition that allows very small problems. If you need to solve larger problems or need more compute, you could use the
Watson Studio to run experiments on the cloud. Watson doesn’t call CPLEX CPLEX of course, but Decision Optimization. To get the full version locally, you need the
CPLEX Optimization Studio. The docs also point to a dedicated cloud service, but this appears to have been
sunset.
Taps and streams
CPLEX has been around since 1988. I first used CPLEX through the academic initiative that IBM runs - granting unrestricted licenses for users at academic institutions. All you needed was a .edu
email address and you were good to go. It seems to have go through a winding road since.
Software is only worth it if the problem they solve is repeatable. CPLEX certainly is in that bucket. Over time, mature software products devolve into a complex mesh of functionality, versions, and modes. You know a product has been around a while if you see a matrix! This is partly driven by the business which is fond of putting taps on a stream. Clients may have new uses that need new functions. And product teams have competition that drives some of this.
In all this, the cloud increasingly seems like a barrier. Devs (and plebs) are spending considerable amounts of time to get at the technical realities, and once there, playing whack-a-mole for a reality that shifts over time.