AMPLS-API changelog#
Here [Breaking] means the change that may break valid user code, [Fix] - a bug fix.
20260526#
0.2.4#
[New] Python: added support for pyinstaller
[New] Python: updated packages and solver libs for all distributed solvers.
[New] Python: support for Python versions > 3.12
20260408#
0.2.3#
[Breaking] Python: the injected class method
amplpy.AMPL.import_solutionis now calledamplpy.AMPL.import_ampls_solution
20241115#
0.2.2#
[New] Updated Gurobi to 12.0
20240731#
0.2.1#
[New] CPLEXCallback: addLazy and addCut now support an optional parameter local, specifying if the added constraint is locally valid (value = 1) or globally valid (value = 0 - default)
[Fix] Python: fixed an issue arising when inheriting from solver-specific callback classes
20240327#
0.2.0#
[New] Python: Added
Constraint.to_stringandAMPLModel.add_constraint
20240319#
0.1.9#
[New] Python: added parameter
import_entitiesto the methodamplpy.AMPL.import_solutionto import entities added via AMPLS back to the amplpy model
20240316#
0.1.8#
[New] Python: added parameter
keep_filesto the methodamplpy.AMPL.import_solutionthat if set to true, keeps the exported row, col and NL files
20240113#
0.1.7#
[[Fix]] Row and column files written to the temporary directory when exporting from AMPLAPI or amplpy are now removed
20231219#
0.1.6#
[New] Added Python examples in python/examples
[Fix] Python:
get_solution_dictandgetSolutionDict
20231120#
0.1.5#
[Fix] Gurobi: getting solution vector and objective bounds in callbacks at MIPSOL and MIPNODE
20230809#
0.1.4#
[New] Added SolverAttributes::INT_NumIntegerVars
[Fix] Various bug fixes
20230627#
0.1.3#
[Breaking] ampls::CPLEXCallback is now using the generic callbacks. Note that multithreading is not disabled by default but implementation needs extra care.
[Breaking] Solver and solver driver related errors in Python are now thrown as ampls.AMPLSolverException
[Fix] Fixed python wrappers for AMPLModel.*etAMPLParameter and AMPLModel.getStatus
[New] Added AMPLModel::infinity() and AMPLModel::negInfinity() to use when creating new entities with no bounds
[Fix] A problem arising when replaying in AMPL new entities recorded with AMPLModel::record()
[Fix] Mapping of callback information in BaseCallback::getValue()
20230602#
0.1.2#
[New] Added parameter to
AMPLModel::load()andAMPLAPIInterface::exportModel<T>()to specify options when loading the model. Necessary for options that involve the solver driver[Breaking] Renamed
BaseCallback::checkCanDotocanDoOptions handling:
[Breaking] Renamed the function
AMPLModel::getIntOptionValuetoAMPLModel::getIntOption[New] Implemented
AMPLModel::getDoubleOptionandAMPLModel::getStringOption