2.2. Changelog¶
2.2.1. MindOpt 0.25.0¶
Release date: 2023/08/08
Improved the performance and the numerical stability of the interior point solver.
Improved the performance of Python API.
Improved the stability of the IIS algorithm.
Intorudced new IIS algorithm for MILP.
API changes
New error codes:
MDO_INVALID_ARGUMENT (-3)
,MDO_IIS_NUMERIC (-30000)
,MDO_IIS_NO_SOLN (-3004)
,MDO_IIS_FEASIBLE (-3005)
.New attributes:
C API:
MDO_INT_ATTR_ROW_IIS
,MDO_INT_ATTR_COL_IIS
.C++ API:
MDO_INT_ATTR::ROW_IIS
,MDO_INT_ATTR::COL_IIS
.Python API:
MDO_INT_PARAM.ROW_IIS
,MDO_INT_ATTR.COL_IIS
.JAVA API:
INT_ATTR::ROW_IIS
,INT_ATTR::COL_IIS
.Updated APIs:
C API:
Mdo_computeIIS
.C++ API:
MdoModel::computeIIS
.Python API:
MdoModel.compute_iis
.JAVA API:
MdoModel::computeIIS
.New integer parameters:
C API:
MDO_INT_PARAM_MIP_MAX_STALLING_NODES
,MDO_INT_PARAM_MIP_MAX_SOLS
,MDO_INT_PARAM_MIP_DETECT_DISCONNECTED_COMPONENTS
,MDO_INT_PARAM_MIP_SOLUTION_POOL_SIZE
,MDO_INT_PARAM_MIP_ALLOW_DUAL_PRESOLVE
.C++ API:
MDO_INT_PARAM::MIP_MAX_STALLING_NODES
,MDO_INT_PARAM_MIP_MAX_SOLS
,MDO_INT_PARAM::MIP_DETECT_DISCONNECTED_COMPONENTS
,MDO_INT_PARAM::MIP_SOLUTION_POOL_SIZE
,MDO_INT_PARAM::MIP_ALLOW_DUAL_PRESOLVE
.Python API:
MDO_INT_PARAM.MIP_MAX_STALLING_NODES
,MDO_INT_PARAM.MIP_MAX_SOLS
,MDO_INT_PARAM.MIP_DETECT_DISCONNECTED_COMPONENTS
,MDO_INT_PARAM.MIP_SOLUTION_POOL_SIZE
,MDO_INT_PARAM.MIP_ALLOW_DUAL_PRESOLVE
.JAVA API:
INT_PARAM::MIP_MAX_STALLING_NODES
,INT_PARAM_MIP_MAX_SOLS
,INT_PARAM::MIP_DETECT_DISCONNECTED_COMPONENTS
,INT_PARAM::MIP_SOLUTION_POOL_SIZE
,INT_PARAM::MIP_ALLOW_DUAL_PRESOLVE
.New real parameters:
C API:
MDO_REAL_PARAM_MIP_LINEARIZATION_BIG_M
,MDO_REAL_PARAM_MIP_CUTOFF
.C++ API:
MDO_REAL_PARAM::MIP_LINEARIZATION_BIG_M
,MDO_REAL_PARAM::MIP_CUTOFF
.Python API:
MDO_REAL_PARAM.MIP_LINEARIZATION_BIG_M
,MDO_REAL_PARAM.MIP_CUTOFF
.JAVA API:
REAL_PARAM::MIP_LINEARIZATION_BIG_M
,REAL_PARAM::MIP_CUTOFF
.Bug fixes
Fixed an API bug related to SDP.
Fixed a performance issue related to row deletion.
Fixed a few bugs in MPS reader and LPF reader.
2.2.2. MindOpt 0.24.1¶
Release date: 2023/04/23
Release notes
New installation package for Linux ARM and Apple Silicon. Download MindOpt
Add pip install MindOpt Python package for Python only users.
Improved the performance of MILP solver.
Change name of comand-line function:
--sanitize
and--undo_sanitize
. Refer to Sanitize Model Files for usage.
2.2.3. MindOpt 0.24.0¶
Release date: 2023/03/30
Release notes
Improved the performance of MILP solver. A formal release version. Open to use.
Improved the performance of the concurrent optimization method.
Redesigned the Cholesky factorization code in IPM.
API changes
New comand-line function, see Sanitize Model Files for details:
--desensitize
to desensitize optimize problem model files, by removing the names of variables and constraints so that only leave the numerical values of the model.
--sensitize
to recover the model which has been desensitized.New integer parameters:
C API:
MDO_INT_PARAM_MIP_AUTO_CONFIGURATION
.C++ API:
MDO_INT_PARAM::MIP_AUTO_CONFIGURATION
.Python API:
MDO_INT_PARAM.MIP_AUTO_CONFIGURATION
.JAVA API:
MDO_INT_PARAM::MIP_AUTO_CONFIGURATION
.New error codes:
MDO_MODEL_INVALID_CHAR_ATTR (-2014)
,MDO_MODEL_INVALID_ATTR_NAME (-2019)
.Bug fixes
Fixed a bug in API
Mdo_loadProb
.Fixed a minor bug in MPS writer when GZ/BZ2 compression format is required.
Fixed a bug in LPF writer and MPS writer.
Fixed a bug related to
Mdo_copyMdl
.Fixed a minor bug in the AMPL application (
mindoptampl
).
2.2.4. MindOpt 0.23.1¶
Release date: 2022/12/21
- Release notes
Add the Installation package for Apple M1.
2.2.5. MindOpt 0.23.0¶
Release date: 2022/11/25
- Release notes
Introduced new APIs for semidefinite optimization modeling.
Add introduction of .nl files, there are .nl file examples in ampl folder, you can use
mindoptampl filename.nl
to solve it.Bug fixes
Fixed a minor bug in LPF reader.
Fixed bugs for MILP solver.
API changes
Updated APIs:
C API:
Mdo_loadModel
,Mdo_addRows
,Mdo_addCols
,Mdo_setColNames
,Mdo_setRowNames
,Mdo_readProb
.C++ API:
MdoModel::readProb
.Python API:
MdoModel.read_prob
.JAVA API:
MdoModel::readProb
.
New APIs:
C API:
Mdo_addSymMat
,Mdo_addSymMats
,Mdo_replaceSymMatObjs
,Mdo_replaceSymMatElements
,Mdo_getRealAttrSymMat
,Mdo_copyMdl
.C++ API:
MdoModel::addSymMat
,MdoModel::addSymMats
,MdoModel::replaceSymMatObjs
,MdoModel::replaceSymMatElements
,MdoModel::getRealAttrSymMat
,MdoModel::MdoModel
.Python API:
MdoModel.add_sym_mat
,MdoModel::add_sym_mats
,MdoModel::replace_sym_mat_objs
,MdoModel::replace_sym_mat_elements
,MdoModel::get_real_attr_sym_mat
,MdoModel::copy_model
.JAVA API:
MdoModel::addSymMat
,MdoModel::addSymMats
,MdoModel::replaceSymMatObjs
,MdoModel::replaceSymMatElements
,MdoModel::getRealAttrSymMat
,MdoModel::copyModel
.
New error codes:
MDO_MODEL_INVALID_SYM_MAT_IDX (-2006)
,MDO_MODEL_INVALID_SYM_MAT_ROW_IDX (-2007)
,MDO_MODEL_INVALID_SYM_MAT_COL_IDX (-2008)
,MDO_MODEL_INVALID_REAL_ATTR_SYM_MAT (-2013)
.
Change error codes:
MDO_LIB_FOLDER_NOT_FOUND (-12)
is replaced byMDO_DLL_ERROR (-12)
New attribute:
C API:
MDO_REAL_ATTR_SYM_MAT_PRIMAL_SOLN
,MDO_REAL_ATTR_MIP_GAP_ABS
,MDO_REAL_ATTR_MIP_GAP_REL
.C++ API:
MDO_REAL_ATTR::SYM_MAT_PRIMAL_SOLN
,MDO_REAL_ATTR::MIP_GAP_ABS
,MDO_REAL_ATTR::MIP_GAP_REL
.Python API:
MDO_REAL_ATTR.SYM_MAT_PRIMAL_SOLN
,MDO_REAL_ATTR.MIP_GAP_ABS
,MDO_REAL_ATTR.MIP_GAP_REL
.JAVA API:
REAL_ATTR_SYM_MAT_PRIMAL_SOLN
,REAL_ATTR_MIP_GAP_ABS
,REAL_ATTR_MIP_GAP_REL
.
2.2.6. Previous versions¶
2.2.6.2. MindOpt 0.20.1¶
Release date: 2022/09/21
- Release notes
Improved the performance of MILP.
Bug fixes.
2.2.6.3. MindOpt 0.20.0¶
Release date: 2022/08/31
Release notes
Introduced an experimental branch-and-cut solver for mixed-integer linear optimization.
Upgraded AMPL interface to support mixed-integer linear optimization.
Redesigned license manager.A new authentication logic modification:
Optimization problems with variables and constraints less than 300 can be solved without License authorization files (mindopt.lic or fl_client.ini);
Only LP and QP problems with variables and constraints greater than 300 need the License file. Please refer to License settings to get the License automatically.
Note: For the License of solving MILP problems, you need send us an email application, and then we will manually operate to grant permissions. The email is in Contact us .
Installation package optimization:
Optimize the
.sh
script for installing on Linux and macOS. No additional parameters need to be added. The script will interactively confirm the installation path and support custom paths. Environment variables will be automatically configured after installation, and reminders will be given when checked a repeated installation on Windows.
Bug fixes
Fixed a minor issue related to
MdoEnv
.Fixed a bug related to QPS reader when the objective sense is of maximization.
Fixed a bug related to objective scaling method.
Fixed a minor bug in interior point method.
Fixed a bug related to the dual solution output.
API changes
New APIs:
C API:
Mdo_relaxIntegrality
.C++ API:
MdoModel::relaxIntegrality
.Python API:
MdoModel.relax_integrality
.JAVA API:
MdoModel.relaxIntegrality
.
New optimization result codes:
MDO_ABORT_NODE_LIMIT (-9003)
,MDO_ABORT_STALLING_NODE_LIMIT (-9004)
,MDO_ABORT_SOLVER_NOT_AVAILABLE (-9012)
.
Revised optimization result code:
MDO_ABORT_INVALID_METHOD
: Error code number was changed from-9003
to-9011
.
New integer parameters:
String:
MIP/MaxNodes
,MIP/RootParallelism
C API: MDO_INT_PARAM_MIP_MAX_NODES, MDO_INT_PARAM_MIP_ROOT_PARALLELISM.
C++ API: MDO_INT_PARAM::MIP_MAX_NODES, MDO_INT_PARAM::MIP_ROOT_PARALLELISM.
Python API: MDO_INT_PARAM.MIP_MAX_NODES, MDO_INT_PARAM.MIP_ROOT_PARALLELISM.
JAVA API: MDO.INT_PARAM_MIP_MAX_NODES, MDO.INT_PARAM_MIP_ROOT_PARALLELISM.
New real parameters:
String:
MIP/IntegerTolerance
,MIP/ObjectiveTolerance
,MIP/GapAbs
,MIP/GapRel
C API: MDO_REAL_PARAM_MIP_INTEGER_TOLERANCE, MDO_REAL_PARAM_MIP_OBJECTIVE_TOLERANCE, MDO_REAL_PARAM_MIP_GAP_ABS, MDO_REAL_PARAM_MIP_GAP_REL
C++ API: MDO_REAL_PARAM::MIP_INTEGER_TOLERANCE, MDO_REAL_PARAM::MIP_OBJECTIVE_TOLERANCE, MDO_REAL_PARAM::MIP_GAP_ABS, MDO_REAL_PARAM::MIP_GAP_REL.
Python API: MDO_REAL_PARAM.MIP_INTEGER_TOLERANCE, MDO_REAL_PARAM.MIP_OBJECTIVE_TOLERANCE, MDO_REAL_PARAM.MIP_GAP_ABS, MDO_REAL_PARAM.MIP_GAP_REL.
JAVA API: MDO.REAL_PARAM_MIP_INTEGER_TOLERANCE, MDO.REAL_PARAM_MIP_OBJECTIVE_TOLERANCE, MDO.REAL_PARAM_MIP_GAP_ABS, MDO.REAL_PARAM_MIP_GAP_REL
New parameters in AMPL interface:
Integer parameters: mip_max_nodes, mip_root_parallelism.
Real parameters: mip_gap_abs, mip_gap_rel, mip_integer_tolerance, mip_objective_tolerance.
Commandline tool changes:
Updated option:
--disable_file_output
(or-d
) : disable solution (.bas and .sol files) output.
New option:
--relax
(or-r
) : relax all integrality requirements in the problem.
2.2.6.4. MindOpt 0.19.0¶
Release date: 2022/04/10
Release notes
Improved the performance of the Simplex method.
Redesigned license manager.
Upgraded AMPL interface to support convex QP problems.
Bug fixes
Fixed a minor issue related to the Simplex method.
Fixed a bug related to concurrent optimization method.
API changes
New APIs:
C API:
Mdo_createEnv
,Mdo_freeEnv
,Mdo_createMdlWithEnv
,Mdo_deleteAllElements
,Mdo_deleteAllQuadraticElements
.C++ API:
MdoModel::deleteAllElements
,MdoModel::deleteAllQuadraticElements
.Python API:
MdoModel.delete_all_elements
,MdoModel.delete_all_quadratic_elements
.JAVA API:
MdoModel.deleteAllElements
,MdoModel.deleteAllQuadraticElements
.A new C++/Python/JAVA class
MdoEnv
to hold the MindOpt global environment is now added. This environment is not required. However, if this global environment is created, then it must be passed toMdoModel
as part of the constructor arguments.
2.2.6.5. MindOpt 0.16.0¶
Release date: 2022/01/30
Release notes
Improved the performance and stability of both Simplex method and interior point method.
Introduced interior point method for convex QP.
Bug fixes
Fixed a few bugs related to API and AMPL interface.
Fixed a bug thread safety IIS computation.
Fixed a bug related to thread safety.
Improved the design of Python API.
API changes
New APIs:
C API:
Mdo_setQuadraticElements
,Mdo_getQuadraticElements
,Mdo_deleteQuadraticElements
.C++ API:
MdoModel::setQuadraticElements
,MdoModel::getQuadraticElements
,MdoModel::deleteQuadraticElements
.Python API:
MdoModel.set_quadratic_elements
,MdoModel.get_quadratic_elements
,MdoModel.delete_quadratic_elements
.JAVA API:
MdoModel.setQuadraticElements
,MdoModel.getQuadraticElements
,MdoModel.deleteQuadraticElements
.
New alias for parameters and attributes, for example:
C API:
MDO_INT_PARAM_METHOD
,MDO_INT_ATTR_MIN_SENSE
, etc.C++ API:
MDO_INT_PARAM::METHOD
,MDO_INT_ATTR::MIN_SENSE
, etc.Python API:
MDO_STR_PARAM.METHOD
,MDO_INT_ATTR.MIN_SENSE
, etc.JAVA API:
MDO.INT_PARAM_METHOD
,MDO.INT_ATTR_MIN_SENSE
, etc.
2.2.6.6. MindOpt 0.15.1¶
Release date: 2021/10/30
Release notes
Fixed minor bugs in Simplex method and interior point method.
Supported Python 3.10.
2.2.6.7. MindOpt 0.15.0¶
Release date: 2021/09/30
Release notes
Introduced network Simplex method and multi-threading Simplex method.
Improved the performance and stability of both Simplex method and interior point method.
Improved the reader.
API changes
New parameters.
EnableNetworkFlow
SPX/PrimalPricing
SPX/DualPricing
Updated parameters.
Presolve
Method
New error codes:
MDO_HOME_ENV_NOT_FOUND
MDO_LIB_FOLDER_NOT_FOUND
New string attribute:
ProbName
New APIs:
C API:
Mdo_setStrAttr
,Mdo_getStrAttr
C++ API:
MdoModel::setStrAttr
,MdoModel::getStrAttr
Python API:
MdoModel.set_str_attr
,MdoModel.get_str_attr
2.2.6.8. MindOpt 0.14.0¶
Release date: 2021/08/30
Release notes
Introduced AMPL interface.
Introduced PYOMO interface.
Intrudiced JAVA API.
Introduced floating license manager (experimental).
Introduced a new API for IIS computation (experimental).
Improved the performance of both Simplex method and interior point method.
Redesigned Python API.
Fixed an API bug related to row deletions and column deletions.
Fixed an API bug while inputting rows (resp. columns) without row names (resp. column names).
Fixed an API bug while retrieving the LHS value of the constraint matrix.
2.2.6.9. MindOpt 0.13.0¶
Release date: 2021/03/15
Release notes
Improved the overall design of API.
Fixed a few bugs.
Improved the performance of the interior point solver related to dense column handling.
Introduced the following attribute:
IPM/NumIters
: return the number of interior point iterations.
2.2.6.10. MindOpt 0.12.1¶
Release date: 2021/01/11
Release notes
Improved the performance of the interior point solver.
Simplified the installation process for Python.
Supported Python 3.9.
Fixed a few bugs.
2.2.6.11. MindOpt 0.12.0¶
Release date: 2020/12/15
Release notes
Introduced remote computing service
2.2.6.12. MindOpt 0.11.1¶
Release date: 2020/12/08
Release notes
Fixed a few bugs about the solution output.
2.2.6.13. MindOpt 0.11.0¶
Release date: 2020/11/30
Release notes
Introduced C++ API and Python API.
Introduced an interior point method and a concurrent optimization method.
Redesigned the simplex method to improve the performance and the numerical stability.
Bug fixes
Fixed a bug related to the solution output.
Fixed a bug in LP reader.
API changes - The following integer attribute was added: “IPM/MaxIterations”. - The following real attributes were added: “SolutionTime”, “IPM/PrimalTolerance”, “IPM/DualTolerance”, “IPM/GapTolerance”.
2.2.6.14. MindOpt 0.10.0¶
Release date: 2020/09/02
Release notes
Improved the simplex method.
Add APIs and Commandline options for the writing the solution and basis to files.
2.2.6.15. MindOpt 0.9.1¶
Release date: 2020/08/26
Release notes
Fixed errors related to debugging messages.
Fixed the symbol problem.
Improved license manager.