Docplex

Latest version: v2.28.240

Safety actively analyzes 688178 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 6

2019.07

* In ``docplex.mp``:
* fixed a bug in ModelReader when reading SAV files with no names
* fixed a bug in mip starts, which prevented mip starts with piecewise
functions to work properly.
* fixed bug on Model.add_indicators() using comprehensions (len() was called).
* Added support for the '!=' (not equals) operator in expressions.
* Clarified four types of checker: on, off, numeric and full.
Pass checker=<name> at model creation to specify which checker is used.
* fixed a bug in solution JSON encoder for nonconvex QP problems.
* Add direct support for lazy constraints, see Model.add_lazy_constraints()
* Add direct support for user cuts, see Model.add_user_cut_constraints()
* Get basis status of variables in LP problems, see `Var.basis_status`
* Read MIP start files (MST format)
* Allow to set the effort level for a MIP solution.
* Read basis status files (in BAS format)
* Read variable priority orders (in ORD format)
* fixed bug in functional KPIs, solution argument was not passed on.
* Enable constraint name dictionary at Model creation time: Model(cts_by_name=True)
* Multi-objective is now pickled correctly
* Multi-objective is now copied in Model.copy()
* Wrote full documentation on progress listeners
* Added `Model.set_lp_start_basis()` to provide an initial basis for LP problems.

* In ``docplex.cp``:
* When trying to access a solution member that does not exists, an exception is thrown instead of returning None.
* Add a new map_solution function that replace in a Python object all model expressions by their value in a solve result.
* In CPO parser, fix a problem reading line statements in startingPoint section.
* In CPO parser, skip experimental section 'expressions' in 'startingPoint' section.
* Simplify writing of interval variable domains reduced to a single value.
* Adding a second objective function now raises an exception
* Add new experimental local solve with a shared library.
* Enable iterators to specify the domain of an integer variable
* Add global methods get_version_info() and get_solver_verion() in docplex.cp.solver.
* By default, generate CPO model without explicit format version.
* Add a method reset() on CpoParameters object.
* Modeling method allowed_assignments() and forbidden_assignments() can now accept an empty list of tuples.
* On CpoModelSolution object, add a function map_solution() thar replace variables by their value in a python object.
* Add parser for LP models
* Add possibility to import CPO, MZN and LP models in gzip and zip format.
* Enhance management of unexpected errors thrown by cpoptimizer.exe

2019.03

* In ``docplex.mp``:
* Removed links to rawgit.com as this service is going end of life.
* Model.solve_lexicographic() is deprecated. This method should be used
to perform lexicographic solve with COS 12.8, but with COS 12.9,
Model.set_multi_objective() should be used for solving problems
with multiple objectives.

* In ``docplex.cp``:
* Add KPIs supported by CPO Solver 12.9
* Update CPO parser to read KPIs section for format 12.9
* Add new examples with KPIs.

2018.10

* Solving with solver agent 'docloud' is deprecated.
Models are now preferably solved with local solver, or the python source can be submitted to DOcplexcloud solve service.
See https://ibm.biz/BdYhhK.

* In ``docplex.mp``:
* solve_lexicographic is being deprecated. In a future version, a new api will be available to support multi-objectives.

* In ``docplex.cp``:
* Fix problem with boolean indicators in no_overlap(), always_constant() and always_equal().
* Allow model solution to be used directly as a starting point (ignores what is not integer or interval var).
* Add methods domain_min(), domain_max(), domain_iterator() and domain_contains() on both CpoIntVar and CpoIntVarSolution.
* Default solver agent is now 'local' instead of 'docloud'. All examples modified consequently.

2018.07

* In ``docplex.mp``:
* Multiplying a constant expression by a quadratic expression raised an exception. Now returns the
product of the quadratic expression and the constant value.
* Model.solve_lexicographic() on cloud now send the previous pass solution as a MIP start (for MIP problems)
* The slack of quadratic constraints always returned zero. Now returns the correct value.
* Accessing the dual (or slack) of a constraint that is not added to the model returned zero; now it raises an exception. A constraint must belong to a model to return a valid dual (or slack) value
* Range constraints with infeasible domain (i.e. lb > ub) did not fail to solve. Now they raise a modeling exception.
* Multiplying two absolute value expressions raised an exception. Now fixed.
* When using tuples in variable dictionaries, the default name generation used to generate non-LP-compliant names,
because of ( and ). Now the name generator formats the tuples with a "_" separator without parentheses.

* In ``docplex.cp``:
* Split fzn stuff in a separate package docplex.cp.fzn
* Optimize construction of arrays in FZN parser
* Enhance FZN parser and save 30% time

2018.04

* In ``docplex.cp``:
* Allow CpoModel.add() to accept list of constraints.
* Fix a bug in the conversion of an array of boolean constants into CPO expression.
* Extend CpoModel method set_parameters() to accept a dictionary and/or optional list of updates using named arguments.
* Method CpoModel.set_parameters() now clone the CpoParameters object given in arguments.
* Add a new method CpoModel.add_parameters() that updates parameters associated to the model.
* Fix wrong source location (not in real model source) when CpoModel.add() is called from another docplex.cp method.
* When constraint auto-naming is on (in particular for refine_conflict(), searchPhases are no more included in the process.
* Parameters mean_UB and mean_LB are now optional in standard_deviation()
* CpoModel.add() checks that the added expression is limited to constraint, boolean, objective or search phase.
* Add documented functions slope_piecewise_linear() and coordinate__piecewise_linear() in modeler.py.
* Remove default configuration settings for parameters TimeLimit and Workers.

2018.03

* ``docplex.cli`` gains new features:
* option ``--details`` will display solve details as they are published on
DOcplexcloud.
* options ``--url`` and ``-key`` allow specification of credentials without
using a config file.

* In ``docplex.cp``:
* Fix problem with min() and max() that did not support optional key.
* Add a Flatzinc parser capable of reading Minizinc Challenge problems.
* Move expression dependencies analysis from model to compiler side.
* No more constraint to have a unique name for model expressions. Compiler reallocate private names when needed.
* Multiple variables or expressions with the same public name is now allowed.
* Replace method CpoModel.get_expression() by CpoModel.get_named_expressions_dict().
* Make SolverProgressPanelListener work properly with Python 2
* Solve is automatically set to start/next loop when SolverProgressPanelListener is used.
* In CpoModel, add a method that allows to substitute a function by another in the whole model.
* Overwrite method __bool__ to avoid accidental use of CPO expressions as Python booleans.
* Add special cases to search for the local CP Optimizer Interactive executable.
* Allow methods min(), max(), min_of() and max_of() to support variable number of arguments.
* Allow method all_diff() to support variable number of arguments.
* Context parameter 'length_for_rename' is deprecated. Only length_for_alias is used.
* Add a method add_var() in CpoModelSolution as a shortcut to add_integer_var_solution() and add_interval_var_solution()
* Overwrite method __contains__() in CpoModelSolution to easily verify that a solution to a given variable is in the solution.
* When called on a model, export_model() and get_cpo_string() disable all model optimization options.

Page 4 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.