What is the difference between Docplex and CPLEX Python API? Is any of them faster than the other?
问题:
回答1:
The CPLEX Python API is a lightweight wrapper around the C API (aka, the C Callable Library). As such, it provides access to nearly all of the functionality CPLEX has to offer. Variables and constraints are identified by their indices in the matrix.
docplex is an object oriented modeling API that is numpy/pandas friendly, which may be more natural to work with. The model can be solved locally (using the CPLEX Python API under the hood), or on the cloud. In addition to providing access to CPLEX for mathematical programming, it can also be used to access the CP Optimizer constraint programming engine.
It is usually faster to build the model directly with the CPLEX Python API as it is a lower-level API. However, docplex can take care of some of the intricacies of getting the best performance when building a model while only incurring a relatively low overhead. The actual solve time should be more or less identical.