An abstraction layer for mathematical optimization solvers.

Overview

MathOptInterface

Documentation Build Status Social
Build Status Codecov branch Gitter

An abstraction layer for mathematical optimization solvers. Replaces MathProgBase.

Citing MathOptInterface

If you find MathOptInterface useful in your work, we kindly request that you cite the following paper:

@article{MathOptInterface-2021,
   title={MathOptInterface: a data structure for mathematical optimization problems},
   author={Legat, Benoit and Dowson, Oscar and Garcia, Joaquim and Lubin, Miles},
   journal={INFORMS Journal on Computing},
   year={in press},
   publisher={INFORMS}
 }

A preprint of this paper is freely available.

Comments
  • [WIP] Evaluation distance to set

    [WIP] Evaluation distance to set

    Fairly straightforward, just like eval_variables evaluates the value of a function with a given value mapping of the variables, this PR adds the evaluation of values belonging to a set.

    I reused the Base.in function, which seemed appropriate here since it's not used elsewhere with this signature.

    One thing to work out as pointed by @mtanneau is the propagation of absolute and relative tolerance

    opened by matbesancon 51
  • Solver wrappers tracker

    Solver wrappers tracker

    List of LP and conic solver wrappers to be implemented. We can mark whoever is currently working on it and which ones are basically done.

    • [x] CDD (@blegat)
    • [x] Clp (@IssamT)
    • [x] Cbc
    • [x] GLPK (@joaquimg)
    • [x] CSDP (@blegat)
    • [x] ECOS (@blegat)
    • [x] SCS (@blegat)
    • [x] SDPA (@blegat)
    • [x] CPLEX (@odow)
    • [x] Gurobi (@joaquimg)
    • [x] FICO Xpress (@joaquimg)
    • [x] Mosek (@ulfworsoe)
    • [ ] SCIP (@joaquimg)
    opened by joaquimg 46
  • Indicator constraint support

    Indicator constraint support

    First draft for the addition of indicator constraints to MOI. There is evidence for multiple solvers handling them: Gurobi CPLEX SCIP

    One thing we would want to add (suggestion from @leethargo) is a bridge for solvers supporting SOS1 but not indicator constraints natively. From SCIP documentation:

    This constraint is equivalent to a linear constraint ax−s≤b and an SOS1 constraint on z and s (at most one should be nonzero). In the indicator context we can, however, separate more inequalities.

    opened by matbesancon 45
  • indicator to SOS bridge

    indicator to SOS bridge

    Based on the comment on indicator constraints in the SCIP documentation:

    This constraint is equivalent to a linear constraint ax−s ≤ b and an SOS1 constraint on z and s (at most one should be nonzero). In the indicator context we can, however, separate more inequalities.

    opened by matbesancon 40
  • TagBot trigger issue

    TagBot trigger issue

    This issue is used to trigger TagBot; feel free to unsubscribe.

    If you haven't already, you should update your TagBot.yml to include issue comment triggers. Please see this post on Discourse for instructions and more details.

    opened by JuliaTagBot 37
  • ScalarLinearFunction and redundancy with scalar constraints

    ScalarLinearFunction and redundancy with scalar constraints

    We have the following table in the manual:

    Linear constraints

    | Mathematical Constraint | MOI Function | MOI Set | |-------------------------------|------------------------------|---------------| | a^Tx \le u | ScalarAffineFunction | LessThan | | a^Tx \ge l | ScalarAffineFunction | GreaterThan | | a^Tx = b | ScalarAffineFunction | EqualTo | | l \le a^Tx \le u | ScalarAffineFunction | Interval | |... |... | ... |

    In the first four lines we use a^Tx in the first column and we say ScalarAffineFunction, should we say/use ScalarLinearFunction? This could avoid multiple representations of the same constraint. Since a^Tx - b = 0 is equivalent to a^Tx = b

    opened by joaquimg 37
  • separate packages for MOI wrappers?

    separate packages for MOI wrappers?

    Since we're about to write a bunch of MOI wrappers, now would be a good time to reconsider the current structure of the solver wrappers. I propose that we move all of the MOI wrappers into separate packages, like ~GurobiMOI~ MathOptInterfaceGurobi, ~CPLEXMOI~ MathOptInterfaceCPLEX, ~CbcMOI~ MathOptInterfaceCbc, etc. The reasons are:

    • We would like solver companies and developers to become more engaged with the Julia interfaces, and it will be easier to do so if we don't require them to maintain MOI wrappers as well.
    • There is potential for contention when non-JuliaOpt developers want to include something in a solver wrapper (e.g., https://github.com/JuliaOpt/CPLEX.jl/pull/125). With MOI wrappers in a separate package, the logical separation of what should go where will be more clear.
    • It will be easier to write the new wrappers starting from fresh empty packages.
    • We'll finally have consistency with GLPK.

    It's a bit uglier to say using MathOptInterfaceGurobi versus using Gurobi. JuMP can get around this by providing a @usingsolver macro that translates @usingsolver Gurobi, Mosek into using MathOptInterfaceGurobi, MathOptInterfaceMosek.

    CC's for those not watching this repo: @ulfworsoe @tkelman @odow

    opened by mlubin 37
  • [Bridges] fix Constraint.ZeroOne bridge with existing bounds

    [Bridges] fix Constraint.ZeroOne bridge with existing bounds

    Alternative to #1787. I think this is preferable as it's more correct in allowing other bounds to be set, even if it's a little slower by adding scalar affine inequalities (although these should get presolved out).

    It also fits with the ethos of allowing users to move closer to the solver: if they use Mosek they can remove the bridges by declaring @variable(model, 0 <= x <= 1, Int) instead of @variable(model, x, Bin).

    Closes #1787 Closes #1431

    Submodule: Bridges Status: Needs review 
    opened by odow 33
  • ListOfConstraints -> ListOfConstraintTypes

    ListOfConstraints -> ListOfConstraintTypes

    Closes #214

    I also propose changing

     A list of tuples of the form `(F,S)`, where `F` is a function type
     and `S` is a set type indicating that the attribute `NumberOfConstraints{F,S}()`
     has value greater than zero.
    

    to

     A list of tuples of the form `(F,S)`, where `F` is a function type
     and `S` is a set type indicating that `supportsconstraint(model, F, S)` is `true`.
    

    Updated: changed cansupport to supportsconstraint.

    opened by odow 32
  • add L_1-norm and L_infinity-norm cones and tests

    add L_1-norm and L_infinity-norm cones and tests

    The names can be bikeshed. I plan to add bridges from these sets to LP constraints (edit: in a PR after this is merged) (edit 2: may as well add bridges here). Hypatia supports these cones, and has significantly better performance with these cones than with the LP extended formulations.

    opened by chriscoey 30
  • Rename everything for style guide compliance

    Rename everything for style guide compliance

    http://www.juliaopt.org/JuMP.jl/latest/style.html#Naming-1

    The two important points are that underscores should always be used to separate words, and ! is omitted when the name implies modification.

    I went through everything in the API reference and came up with the following renaming plan. Please take a look. I'm aware this is painful and disruptive, so let's try to make it happen as quick as we can. After this big change we can tag MOI 0.6 and let things stabilize for a while.

    • [x] get unchanged
    • [x] get! unchanged (! is used for disambiguation)
    • [x] set! -> set
    • [x] optimize! unchanged (see discussion below)
    • [x] addvariable! -> add_variable
    • [x] addvariables! -> add_variables
    • [x] isvalid -> is_valid
    • [x] addconstraint! -> add_constraint
    • [x] addconstraints! -> add_constraints
    • [x] empty! unchanged (this is tricky, but empty could read like is_empty, so renaming would not be a clear win)
    • [x] write -> write_to_file
    • [x] read! -> read_from_file
    • [x] copy! -> copy_to (Base.copy! became Base.copyto!. Our version of copyto! is copy_to.)
    • [x] Base.delete! -> delete
    • [x] transform! -> transform_constraint or transform (?)
    • [x] supportsconstraint -> supports_constraint
    • [x] modify! -> modify
    • [x] initialize! -> initialize

    I haven't looked at MOIU. That should happen before we tag also.

    @blegat @odow @joaquimg @IainNZ @rdeits @IssamT @tkoolen @joehuchette @juan-pablo-vielma

    opened by mlubin 30
  • Add checks for test_nonlinear_invalid

    Add checks for test_nonlinear_invalid

    When the model is invalid, it might be a common mistake from the user to not check the termination status and directly look at the solution. It might also be a common mistake of the solver to not clear the solution. When both sides make the mistake, it leads to confusion. This test makes sure that the solver clears the solution to avoid that situation. This is the case for instance for https://github.com/jump-dev/PolyJuMP.jl/pull/80 where an MOI layer convert NL constraints to polynomial. I needed to add a few methods to make sure that the layer also catches the result getters in case there was an invalid model.

    opened by blegat 2
  • [Utilities] add distance_to_set for SecondOrderCone and ExponentialCone

    [Utilities] add distance_to_set for SecondOrderCone and ExponentialCone

    Part of https://github.com/jump-dev/MathOptInterface.jl/issues/2033.

    We'll need to decide what sets we use exact methods for, and what we make up.

    Boyd's book is: https://web.stanford.edu/~boyd/papers/pdf/prox_algs.pdf

    opened by odow 4
  • WIP: explore ScalarNonlinearFunction support

    WIP: explore ScalarNonlinearFunction support

    Implementation of the idea in https://github.com/jump-dev/MathOptInterface.jl/issues/846 This works at the JuMP-level: https://github.com/jump-dev/JuMP.jl/pull/3106

    Goes with https://github.com/jump-dev/Ipopt.jl/pull/346

    This PR is going to be messy until I get things plumbed end-to-end and working.

    Project: next-gen nonlinear support 
    opened by odow 8
  • Implement Feasibility checker for set type MathOptInterface.PowerCone

    Implement Feasibility checker for set type MathOptInterface.PowerCone

    Is your feature request related to a problem? Please describe. I have a model which contains a MathOptInterface.PowerCone and want to verify a the primal feasibility of a point.

    Describe the solution you'd like Support feasibility checking of all standard sets maintained by jump-dev. Short term i need a workaround.

    Describe alternatives you've considered I considered monkey-patching _distance_to_set(var::Vector{Float64},cone::MathOptInterface.PowerCone) = distance_to_set(var::Vector{Float64},cone::MathOptInterface.PowerCone) from MathOptSetDistances by @matbesancon however that did not work.

    opened by freemin7 12
  • Reconsider supports of constraint attributes in bridges

    Reconsider supports of constraint attributes in bridges

    See discussion in #1992, and these tests: https://github.com/jump-dev/MathOptInterface.jl/blob/d9c998ac49a80ed8f740d5009133320e982af977/test/Bridges/bridge_optimizer.jl#L898-L933

    The issue is that the bridge/model may support an attribute for a variable-in-set constraint if it was added via add_constrained_variable(s) but not via add_constraint (or vice versa). However, we have no way of telling which way the constraint was added based on the type alone.

    We can either default to &&, in which case we may return a false negative (the model supports the attribute but supports returns false) or ||, in which case we may return a false positive (the model supports the attribute for one of the ways, but we added it the other way). It's not obvious which is better, but our tests are passing with the current implementation, so we should wait for a solver to complain before reconsidering.

    Type: Bug Submodule: Bridges 
    opened by odow 0
  • Adding a bridge that needs final_touch bridges in the final_touch of another bridge

    Adding a bridge that needs final_touch bridges in the final_touch of another bridge

    If a bridge adds a constraint that needs a bridge that need_final_touch then it will modify the needs_final_touch being iterated over https://github.com/jump-dev/MathOptInterface.jl/blob/95a73a074c08a2e46820cae4a6522b34de6bb460/src/Bridges/Constraint/map.jl#L321-L334 In that case, we might not call final_touch on that bridge.

    opened by blegat 1
Releases(v1.11.2)
  • v1.11.2(Jan 1, 2023)

    MathOptInterface v1.11.2

    Diff since v1.11.1

    Closed issues:

    • [FileFormats.MOF] read errors when variable index constraints have names (#2065)
    • ScalarNonlinearFunction ignored when reading MOF file (#2067)

    Merged pull requests:

    • [FileFormats] fix reading ConstraintName of VariableIndex constraints (#2066) (@odow)
    • [FileFormats.MOF] fix reading nonlinear objectives only (#2068) (@odow)
    • Prep for v1.11.2 (#2069) (@odow)
    Source code(tar.gz)
    Source code(zip)
  • v1.11.1(Dec 21, 2022)

    MathOptInterface v1.11.1

    Diff since v1.11.0

    Closed issues:

    • FileFormats.MOF: type asserts are used instead of converts (#2062)

    Merged pull requests:

    • [FileFormats.MOF] fix parsing of functions with Int coefficients (#2063) (@odow)
    • Prep for v1.11.1 (#2064) (@odow)
    Source code(tar.gz)
    Source code(zip)
  • v1.11.0(Dec 1, 2022)

    MathOptInterface v1.11.0

    Diff since v1.10.0

    Merged pull requests:

    • [Utilities] add PenaltyRelaxation (#1995) (@odow)
    • [Utilities] add distance_to_set (#2048) (@odow)
    • [docs] tidy release notes (#2055) (@odow)
    • [FileFormats.MOF] add Constraint{Primal,Dual}Start attributes (#2056) (@LukasBarner)
    • Prep for v1.11.0 (#2057) (@odow)
    Source code(tar.gz)
    Source code(zip)
  • v1.10.0(Nov 22, 2022)

    MathOptInterface v1.10.0

    Diff since v1.9.0

    Closed issues:

    • [Nonlinear] Add support for more functions (#1996)
    • Test problems on nightly (#2017)
    • Test with unsupported constraints (#2026)
    • Misleading error message with user defined functions? (#2031)
    • Method error in bridges when objective is Complex-valued (#2035)
    • [Fileformats.LP] Problem reading QPLib problem QPLIB_1703.lp (#2040)
    • [FileFormats.LP] incorrect name setting from QPLib instance (#2041)
    • [FileFormats.LP] QPLIB failures (#2043)
    • [Fileformats.LP] Few more errors: (#2045)

    Merged pull requests:

    • [Nonlinear] add Vector argument as possible cause to FORWARD_DIFF_METHOD_ERROR (#2032) (@odow)
    • [Utilities] Re-enable allocation test from #2018 (#2034) (@odow)
    • [Bridges] fix slack bridge with complex-valued objective (#2036) (@odow)
    • [Test] update docstring of runtests (#2037) (@odow)
    • [Bridges] Use is_coefficient_type (#2038) (@blegat)
    • [FileFormats.LP] Fix edge case handling of quadratic open/close brackets (#2042) (@odow)
    • [FileFormats.LP] fix reading of free variables (#2044) (@odow)
    • [FileFormats.LP] more fixes from QPLIB (#2046) (@odow)
    • [Utilities] revert to QuickSort (#2047) (@odow)
    • Support get/set of attributes in OptimizerWithAttributes (#2049) (@odow)
    • [Nonlinear] fix situations in which the result of ^ is Complex (#2050) (@odow)
    • Remove special iterators from CleverDict (#2051) (@joaquimg)
    • [Utilities] add DoubleDicts.outer_keys (#2052) (@joaquimg)
    • Fix comment typo (#2053) (@joaquimg)
    • Prep for v1.10.0 (#2054) (@odow)
    Source code(tar.gz)
    Source code(zip)
  • v1.9.0(Oct 29, 2022)

    MathOptInterface v1.9.0

    Diff since v1.8.2

    Closed issues:

    • Bridges fail test_model_LowerBoundAlreadySet test (#1431)
    • [Nonlinear] consider passing Nonlinear.Model to solvers (#1998)
    • MOIU._single_variable_flag (#2005)
    • MOI.FileFormats.MPS fails to read "dsbmip" from MIPLIB (#2006)
    • FileFormats.MPS: Read/Write conic constraints from MPS files (#2013)
    • FileFormats.MPS: indicator constraint support (#2014)
    • FileFormats.MPS OBJSENSE (#2015)
    • copy_to ignoring name because of too strict supports requirements (#2027)
    • write_to_file and read_from_file fallbacks (#2028)

    Merged pull requests:

    • [Bridges] fix Constraint.ZeroOne bridge with existing bounds (#1879) (@odow)
    • Add <:SUPPORTED_VARIABLE_SCALAR_SETS upper bound (#2007) (@pedromxavier)
    • [Utilities] fix unsupported get in model.jl (#2008) (@odow)
    • [FileFormats.MPS] fix reading of free rows (#2009) (@odow)
    • [FileFormats.MPS] fix parsing of OBJSENSE (#2016) (@odow)
    • Omit allocation test due to changes in sort on nightly (#2018) (@odow)
    • [FileFormats.MPS] write OBJSENSE on new line, and loosen parsing rules (#2019) (@odow)
    • [Nonlinear] remove recursion when parsing expressions (#2020) (@odow)
    • Add fallback for ListOfConstraintIndices and NumberOfConstraints (#2021) (@odow)
    • [FileFormats.MPS] add support for Indicator with EqualTo constraints (#2022) (@odow)
    • [Nonlinear] add support for multivariate min and max operators (#2023) (@odow)
    • [Test] add requires for test_constraint_get_ConstraintIndex (#2024) (@matbesancon)
    • [FileFormats] add default fallback for read_from_file and write_to_file (#2029) (@odow)
    • Prep for v1.9.0 (#2030) (@odow)
    Source code(tar.gz)
    Source code(zip)
  • v1.8.2(Sep 20, 2022)

    MathOptInterface v1.8.2

    Diff since v1.8.1

    Closed issues:

    • [Nonlinear] solving dense(ish) multilinear problems is slow (#1997)

    Merged pull requests:

    • [docs] try overriding LaTeX styling (#1999) (@odow)
    • [docs] fix formatting of docstring (#2000) (@odow)
    • Tidy docstrings in attributes.jl (#2001) (@odow)
    • [docs] add Vale as a documentation linter (#2002) (@odow)
    • [docs] fix typos in docs (#2003) (@odow)
    • Prep for v1.8.2 (#2004) (@odow)
    Source code(tar.gz)
    Source code(zip)
  • v1.8.1(Sep 11, 2022)

    MathOptInterface v1.8.1

    Diff since v1.8.0

    Merged pull requests:

    • [Bridges] fix supports for VariableIndex attributes (#1991) (@odow)
    • [Bridges] fix supports for VariableIndex: Take II (#1992) (@odow)
    • Prep for v1.8.1 (#1994) (@odow)
    Source code(tar.gz)
    Source code(zip)
  • v1.8.0(Sep 1, 2022)

    MathOptInterface v1.8.0

    Diff since v1.7.0

    Closed issues:

    • Set request: WeightedPowerMeanCone (#977)
    • Set request: Box or HyperRectangle (#1233)
    • Constraint programming support (#1805)
    • Investigate using ChainRules for registered functions (#1914)
    • binary atan function is not supported natively (#1986)

    Merged pull requests:

    • Add Reified set and MILP bridges (#1955) (@odow)
    • Add HyperRectangle set (#1961) (@odow)
    • [Nonlinear] lazily build ::Expr representaton of subexpressions (#1984) (@odow)
    • [Nonlinear] add support for atan2 (#1987) (@odow)
    • Prep for v1.8.0 (#1989) (@odow)
    • [Test] allow NORM_LIMIT in unbounded tests (#1990) (@odow)
    Source code(tar.gz)
    Source code(zip)
  • v1.7.0(Aug 16, 2022)

    MathOptInterface v1.7.0

    Diff since v1.6.1

    Closed issues:

    • Bridge request: GeometricMeanCone to PowerCone (#406)
    • Lighter bridges for a brighter life (#523)
    • Add support for names in solver wrappers (#674)
    • Add tests cases with infinite bounds (#881)
    • Bridge request: inner constraint of Indicator (#1223)
    • FileFormats.MPS: support INDICATOR (#1266)
    • FileFormats.MPS: support QUADRATIC (#1390)
    • Simplify creation of MOI Layers (#1399)
    • Tuple function for epigraph formulations (#1624)
    • Optimize eval_constraint_jacobian_product (#1903)
    • Unnecessary copy in MOI.modify? (#1921)
    • Create attributes for absolute and relative gap tolerances (#1936)
    • Support generic number types in loadfromstring! (#1945)
    • Utilities.Model does not support complex number types (#1947)
    • nlp tests failing with MOI master (#1965)
    • Support format from QPLib (#1972)
    • FileFormats.LP: support quadratic functions (#1973)
    • [Bridges] add objective bridge from affine to quadratic (#1978)

    Merged pull requests:

    • [Utilities] remove copy in modify_function (#1922) (@odow)
    • [Nonlinear] improve performance of Jacobian products (#1935) (@odow)
    • [Bridges] remove reduce_bridged in favor of explicit methods (#1937) (@odow)
    • [Bridges] remove unused ObjectiveAttribute (#1938) (@odow)
    • Add bridge from complex in Zeros to real/imag in Zeros (#1943) (@blegat)
    • Create RelativeGapTolerance and AbsoluteGapTolerance optimizer attributes (#1944) (@mtanneau)
    • [Utilities] add support for non-Float64 number types in loadfromstring (#1946) (@odow)
    • Add missing promotion rules (#1948) (@matbesancon)
    • [Bridges] add SplitComplexEqualToBridge (#1949) (@blegat)
    • [Bridges] rename SplitZeros to SplitComplexZeros (#1950) (@odow)
    • [Bridges] fix tests for SplitComplexZerosBridge (#1951) (@odow)
    • Clarify how to implement the ConstraintFunction getter (#1952) (@blegat)
    • [Bridges] fix ConstraintFunction getter of SplitComplexZerosBridge (#1953) (@blegat)
    • [FileFormats.MOF] update to [email protected] (#1954) (@odow)
    • [FileFormats.MPS] add writers for quadratic models (#1956) (@odow)
    • [FileFormats.MPS] add Indicator support (#1957) (@odow)
    • [Bridges] add IndicatorSetMapBridge (#1958) (@odow)
    • [docs] tidy standard form page and add global constraints (#1960) (@odow)
    • Add HermitianPositiveSemidefiniteConeTriangle with bridges (#1962) (@blegat)
    • Fix complex tests for local solver (#1964) (@blegat)
    • [Nonlinear] Fix JacVec products (#1966) (@odow)
    • [docs] add release notes for v1.6.1 (#1967) (@odow)
    • [Bridges] add GeoMeanToPowerBridge (#1968) (@odow)
    • [Test] add test for open Interval sets (#1969) (@odow)
    • [Test] Tidy Complex Zeros tests (#1970) (@odow)
    • [FileFormats.LP] add support for quadratic problems (#1974) (@odow)
    • [docs] Update v1.7.0 release notes (#1975) (@odow)
    • Clarify assumption for SOC bridge (#1976) (@blegat)
    • [Bridges] Add hermitian bridge for constraints (#1977) (@blegat)
    • [Bridges] add Objective.Quadratize bridge (#1979) (@odow)
    • Prep for v1.7.0 (#1981) (@odow)
    • [Test] remove dual test in Hermitian_2 (#1982) (@odow)
    • [Test] fix numerics of test_cpsat_CountGreaterThan (#1983) (@odow)
    Source code(tar.gz)
    Source code(zip)
  • v1.6.1(Jul 24, 2022)

    MathOptInterface v1.6.1

    Diff since v1.6.0

    Closed issues:

    • set_with_dimension with ExponentialCone (#1939)

    Merged pull requests:

    • [Utilities] add ExponentialCone to set_with_dimension (#1941) (@odow)
    • Update PSDSquare_3 test after bridge change (#1942) (@blegat)
    Source code(tar.gz)
    Source code(zip)
  • v1.6.0(Jul 2, 2022)

    MathOptInterface v1.6.0

    Diff since v1.5.0

    Closed issues:

    • Bridges don't update when other constraints updated (#1665)
    • Consider changing Vector{T} to AbstractVector{T} in _extract_reverse_pass (#1933)

    Merged pull requests:

    • [Bridges] add final_touch (#1901) (@blegat)
    • [Bridges] add CountBelongsToMILPBridge (#1919) (@odow)
    • [Bridges] add CountAtLeastToCountBelongsBridge (#1920) (@odow)
    • [Bridges] add AllDifferentToCountDistinctBridge (#1923) (@odow)
    • [Bridges] update SemiToBinaryBridge using final_touch (#1924) (@odow)
    • [Bridges] update BinPackingToMILPBridge to final_touch (#1925) (@odow)
    • [Bridges] fix CountAtLeastToCountBelongsBridge (#1926) (@odow)
    • [Bridges] add CountGreaterThanToMILPBridge (#1927) (@odow)
    • [Bridges] revert changes included in #1919 by mistake (#1928) (@odow)
    • [Bridges] add CircuitToMILPBridge (#1929) (@odow)
    • [Bridges] improve code coverage (#1930) (@odow)
    • [Bridges] fix various docstrings for CSP (#1931) (@odow)
    • Prep for v1.6.0 (#1932) (@odow)
    • Change Vector{T} to AbstractVector{T} in _extract_reverse_pass and add test (#1934) (@abelsiqueira)
    Source code(tar.gz)
    Source code(zip)
  • v1.5.0(Jun 27, 2022)

    MathOptInterface v1.5.0

    Diff since v1.4.0

    Closed issues:

    • Set request: ScaledPSDCone (#531)
    • Bridge request: {Log,Root}DetConeSquare to ConeTriangle (#541)
    • Bridge debugging (#680)
    • Add tests for REDUCTION_CERTIFICATE (#749)
    • Use Bridges.runtests in bridges tests (#820)
    • Fast deletion of vector of constraints for Utilities.AbstractModel (#1102)
    • CachingOptimizer for ObjectiveValue and DualObjectiveValue (#1759)
    • Throw NotAllowedError in get_fallback (#1777)
    • Bug in dual of PositiveSemidefiniteConeSquare (#1830)
    • Consider adding warning back to SquareBridge (#1899)
    • FileFormats.MOF: support nonlinear reading (#1906)
    • Document constraint_expr and objective_expr (#1908)
    • FileFormats.LP: throw nicer error on corrupt files (#1910)

    Merged pull requests:

    • [Bridges] Fix bug in dual of PSDConeSquare bridge (#1839) (@odow)
    • [Bridges] add print_active_bridges to print optimal hyper-path (#1866) (@odow)
    • [Bridges] add constraint programming bridges (#1884) (@odow)
    • [Bridges] tidy SquareBridge (#1891) (@odow)
    • Add GetAttributeNotAllowed error (#1892) (@odow)
    • [Utilities] add get_fallback support in CachingOptimizer (#1893) (@odow)
    • [Bridges] fix typos in bridge docstrings (#1894) (@odow)
    • [Bridges] add more runtests (#1895) (@odow)
    • [Bridges] add tests for Variable bridges (#1896) (@odow)
    • [Bridges] add tests and functionality for IndicatorActiveOnFalseBridge (#1897) (@odow)
    • typo in doc (#1898) (@matbesancon)
    • [Bridges] add {Root,Log}Det to SquareBridge (#1900) (@odow)
    • Fix minor typos in Nonlinear's documentation (#1902) (@frapac)
    • [docs] Document square PSD duality convention (#1904) (@odow)
    • Remove BinPackingToMILPBridge from add_all_bridges (#1905) (@odow)
    • [FileFormats.MOF] Fix reading of NLPs (#1907) (@odow)
    • [docs] improve documentation of nonlinear API (#1909) (@odow)
    • [FileFormats.LP] fix error on malformed line (#1911) (@odow)
    • [Bridges] remove last acronyms (#1912) (@odow)
    • [Bridges] begin commenting bridge_optimizer.jl (#1913) (@odow)
    • [Test] fix ZeroOne tests with lower and upper bounds (#1915) (@odow)
    • [docs] clarify QuadtoSOCBridge assumptions (#1916) (@odow)
    • [Bridges] bring back square warning (#1917) (@odow)
    • Prep for v1.5.0 (#1918) (@odow)
    Source code(tar.gz)
    Source code(zip)
  • v1.4.0(Jun 9, 2022)

    MathOptInterface v1.4.0

    Diff since v1.3.0

    Closed issues:

    • Run basic_constraint_tests for all bridges (#750)
    • Objective.SlackBridge gets ConstraintSet in ObjectiveValue getter (#1778)
    • FileFormats.NL does not support univariate OPMULT (#1886)

    Merged pull requests:

    • [ReverseAD] Add support for user-defined hessians (#1819) (@odow)
    • Add support for Constraint Programming (#1825) (@odow)
    • [Bridges] more improvements to docstrings (#1865) (@odow)
    • [Bridges] tidy RSOCtoPSD bridge (#1867) (@odow)
    • [Bridges] tidy Variable.RSOCtoSOC and SOCtoRSOC (#1868) (@odow)
    • [Bridges] style fixes for Constraint bridges (#1869) (@odow)
    • [Bridges] tidy SOCtoRSOC constraint bridges (#1870) (@odow)
    • [Bridges] refactor print_num_bridges (#1871) (@odow)
    • [Bridges] more cleaning of Constraint bridges (#1872) (@odow)
    • [Bridges] fix use of ConstraintSet in Objective.SlackBridge (#1873) (@odow)
    • [Bridges] document and tidy Graph implementation (#1874) (@odow)
    • [Bridges] remove implementation.md in favor of docstrings (#1875) (@odow)
    • [Bridges] tidy function_conversion bridges (#1876) (@odow)
    • [Bridges] tidy various Constraint bridges (#1877) (@odow)
    • [Bridges] more updates to docstrings (#1878) (@odow)
    • [Bridges] more docstrings for bridges (#1880) (@odow)
    • [Bridges] remove acronyms from .Variable (#1881) (@odow)
    • Fix typos in docstrings (#1882) (@odow)
    • [Bridges] add unified testing infrastructure (#1883) (@odow)
    • [Bridges] add more tests for uncovered methods (#1885) (@odow)
    • [FileFormats.NL] fix univariate OPMULT (#1887) (@odow)
    • Prep for v1.4.0 (#1888) (@odow)
    • [Bridges] more docstrings and tests (#1889) (@odow)
    Source code(tar.gz)
    Source code(zip)
  • v1.3.0(May 26, 2022)

    MathOptInterface v1.3.0

    Diff since v1.2.0

    Closed issues:

    • JET check of MathOptInterface (#1700)
    • FileFormats.NL: add reader (#1811)
    • Nonlinear: change how constraints are parsed (#1817)
    • Nonlinear clarify role of Nonlinear.Model vs MOI.NLPBlockData (#1823)
    • Missing attribute ConstraintDual for ZerosBridge (#1831)
    • Document the expected behavior with feasibility sense (#1832)
    • Computing Constraints with Polyhedra (#1833)
    • fails to write to a .nl file (#1845)
    • FileFormats: handle infinite bounds and coefficients (#1857)

    Merged pull requests:

    • MOI.modify version for multiple changes at once (#1800) (@guilhermebodin)
    • Add [Nonlinear.ReverseAD] submodule (#1803) (@odow)
    • [Nonlinear] change Nonlinear.add_constraint to accept function and set (#1818) (@odow)
    • [docs] clarify quadratic constraints have 0.5 factor (#1820) (@odow)
    • Fix various performance issues (#1821) (@odow)
    • The other get! in DoubleDict (#1822) (@joaquimg)
    • [docs] clarify usage of NLPBlockData (#1824) (@odow)
    • Add CountDistinct set (#1826) (@odow)
    • Add CountBelongs set (#1827) (@odow)
    • Add CountAtLeast set (#1828) (@odow)
    • Add CountGreaterThan set (#1829) (@odow)
    • Update CleverDicts.jl (#1834) (@joaquimg)
    • [FileFormats] add beginning of NL reader (#1835) (@odow)
    • [docs] Fix typos in Nonlinear docs (#1836) (@odow)
    • Add constraint programming sets (#1837) (@odow)
    • [Bridges] improve error message for ZerosBridge and ConstraintDual (#1838) (@odow)
    • Doc feasibility sense behavior (#1840) (@matbesancon)
    • Improve docstring of ObjectiveSense (#1841) (@matbesancon)
    • [FileFormats.NL] make read a private function (#1842) (@odow)
    • [FileFormats.NL] add .sol file reader (#1843) (@odow)
    • Test.jl check files ending with .jl (#1844) (@sshin23)
    • [FileFormats.NL] add read!(::IO, ::Model) (#1846) (@odow)
    • Docs for quadratic representation (#1847) (@joaquimg)
    • [FileFormats.NL] fix ordering of integer variables (#1848) (@odow)
    • Prep for v1.3.0 (#1849) (@odow)
    • [Bridges] improve formatting and content of docstrings (#1850) (@odow)
    • [Bridges] re-organize the Objective bridges folder (#1851) (@odow)
    • [Bridges] re-organize the Variable bridges folder (#1852) (@odow)
    • [Bridges] re-organize the Constraint bridges folder (#1853) (@odow)
    • [Bridges] remove CI acronym (#1854) (@odow)
    • [Bridges] remove old hack for Julia 1.2 (#1855) (@odow)
    • [Bridges] tidy package import and using (#1856) (@odow)
    • [FileFormats] fix support of infinite constraint bounds (#1858) (@odow)
    • [Bridges] remove unused methods (#1859) (@odow)
    • [Bridges] style and doc fixes for Bridges.Objective (#1860) (@odow)
    • [Bridges] simplify flip_sign bridges (#1861) (@odow)
    • JuliaFormatter: bump to v1.0.0 (#1862) (@odow)
    • [Bridges] improvements to bridge docstrings (#1863) (@odow)
    • [Bridges] improvements to Variable bridge docstrings (#1864) (@odow)
    Source code(tar.gz)
    Source code(zip)
  • v1.2.0(Apr 25, 2022)

    MathOptInterface v1.2.0

    Diff since v1.1.2

    Closed issues:

    • FileFormats.MPS: add option to use generic names (#1617)
    • Support standard conic form in FileFormats.SDPA (#1796)
    • Problems with Convex.jl , MathOptInterface.jl and COSMO.jl (#1801)
    • Dependency Issues :(( (#1802)
    • FileFormats.MPS: add option to not write OBJSENSE (#1806)
    • FileFormats.LP: default lower bounds not added (#1809)
    • Add license headers (#1812)
    • MOI.AbstractNLPEvaluator as a function or constraint container (#1814)

    Merged pull requests:

    • Improve FileFormats.SDPA.Model docstring and include it in doc (#1797) (@blegat)
    • [docs] Add docstrings for FileFormats models (#1798) (@odow)
    • [FileFormats.MPS] Fix to stop writing OBJSENSE by default (#1807) (@odow)
    • [FileFormats] add option for generic names (#1808) (@odow)
    • [FileFormats] fix default lower bound in LP reader (#1810) (@odow)
    • Add license header to all files (#1813) (@odow)
    • Add volume info to MOI citation (#1815) (@mlubin)
    • Prep for v1.2.0 release (#1816) (@odow)
    Source code(tar.gz)
    Source code(zip)
  • v1.1.2(Mar 31, 2022)

    MathOptInterface v1.1.2

    Diff since v1.1.1

    Closed issues:

    • SDPA reader errors on valid file (#1541)
    • Discover fixed excluded tests (#1770)
    • FileFormats.LP reader is broken (#1786)
    • FileFormats.LP does not support writing SOS constraints (#1791)

    Merged pull requests:

    • Fix typo in docstring (#1788) (@blegat)
    • [FileFormats] robust reading of dimensions in SDPA file (#1789) (@blegat)
    • [FileFormats] large fix and refactor of the LP reader (#1790) (@odow)
    • [FileFormats] various style fixes to the LP writer (#1792) (@odow)
    • [FileFormats] fix read and write of SOS constraints in FileFormats.LP (#1793) (@odow)
    • Prep for v1.1.2 (#1794) (@odow)
    • [docs] clarify how to re-run excluded tests in a solver (#1795) (@odow)
    Source code(tar.gz)
    Source code(zip)
  • v1.1.1(Mar 23, 2022)

    MathOptInterface v1.1.1

    Diff since v1.1.0

    Closed issues:

    • Add test for conic problem with constraints but no variables (#1741)
    • Why is Bridges.Variable.ZerosBridge needed? (#1767)
    • Test get DualObjectiveValue even if excluded (#1773)

    Merged pull requests:

    • Use tolerance to compare value of blank objective in test (#1769) (@blegat)
    • Fix name on .bib (#1771) (@joaquimg)
    • [Test] add check for DualObjectiveValue and ConstraintPrimal in certificate tests (#1774) (@odow)
    • Fix to test_model_UpperBoundAlreadySet (#1775) (@goulart-paul)
    • Relax AbstractOptimizer requirement in instantiate (#1781) (@odow)
    • [Test] add a test for empty conic problem (#1782) (@odow)
    • Prep for v1.1.1 (#1783) (@odow)
    • Fix spelling mistake (#1784) (@mkyl)
    Source code(tar.gz)
    Source code(zip)
  • v1.1.0(Mar 1, 2022)

  • v1.0.2(Mar 1, 2022)

    MathOptInterface v1.0.2

    Diff since v1.0.1

    Closed issues:

    • Catching _supports error in tests (#1757)
    • Unsupported attribute fails with function conversion bridge (#1758)
    • Constraint.RSOCtoPSDBridge fails for dimension 2 (#1761)
    • Using empty! with OptimizerWithAttributes (#1765)

    Merged pull requests:

    • Fix bug in test_model_ScalarFunctionConstantNotZero (#1762) (@odow)
    • [Bridges] error in RSOCtoPSD when dimension is 2 (#1763) (@odow)
    • [Bridges] fix UnsupportedAttribute in function_conversion.jl (#1764) (@odow)
    • Prep for v1.0.2 (#1766) (@odow)
    Source code(tar.gz)
    Source code(zip)
  • v1.0.1(Feb 25, 2022)

    MathOptInterface v1.0.1

    Diff since v1.0.0

    Closed issues:

    • Using MOI to Warm Start Duals Values on Nonlinear Constraints (#1746)
    • set_optimizer does not copy optimizer attributes (#1750)

    Merged pull requests:

    • Fix bug in which OptimizerAttributes were not copied to a CachingOptimizer (#1749) (@odow)
    • Automatic promotion with shift_constant (#1751) (@blegat)
    • Fix modify scalar constants with bridged variables (#1752) (@blegat)
    • Throw DeleteNotAllowed when deleted constraint index of bridged varaiables (#1753) (@blegat)
    • Call final_touch in optimize in CachingOptimizer (#1754) (@blegat)
    • Canonicalize function in add_constraint for MatrixOfConstraints (#1755) (@blegat)
    • [docs] add release notes for v1.0.1 (#1756) (@odow)
    Source code(tar.gz)
    Source code(zip)
  • v1.0.0(Feb 17, 2022)

    MathOptInterface v1.0.0

    Diff since v0.10.9

    Closed issues:

    • Update to MutableArithmetics 1.0 (#1727)

    Merged pull requests:

    • Initial prep for v1.0 release (#1742) (@odow)
    • [breaking] remove deprecations (#1743) (@odow)
    • Add release notes for v1.0.0 (#1744) (@odow)
    • Release v1.0.0 (#1745) (@odow)
    Source code(tar.gz)
    Source code(zip)
  • v0.10.9(Feb 15, 2022)

    MathOptInterface v0.10.9

    Diff since v0.10.8

    Closed issues:

    • Error in LaTeX Output for Intervals (#1728)
    • pass start values in the bridge between a square PSD cone and a triangular PSD cone (#1730)

    Merged pull requests:

    • Allow changing default cache for instantiate (#1381) (@blegat)
    • Add FreeVariables (#1716) (@blegat)
    • Fix printing of intervals (jump-dev#1728) (#1729) (@pedromxavier)
    • Fix performance of MutableArithmetics (#1731) (@odow)
    • Add Aqua.jl as a CI job and fix remaining errors (#1732) (@odow)
    • [Utilities] move CachingOptimizer to internal constructors (#1733) (@odow)
    • [Utilities] remove extra type parameters (#1734) (@odow)
    • [Utilities] move StructOfConstraints to inner constructor (#1735) (@odow)
    • [Utilities] clean dispatch in MA.promote_operation (#1736) (@odow)
    • [Bridges] convert GeoMeanBridge to inner constructor (#1737) (@odow)
    • [Utilities] implement Aqua.jl recommendation for functions.jl (#1738) (@odow)
    • [docs] Bump JSONSchema.jl (#1739) (@odow)
    • Prep for v0.10.9 (#1740) (@odow)
    Source code(tar.gz)
    Source code(zip)
  • v0.10.8(Feb 3, 2022)

    MathOptInterface v0.10.8

    Diff since v0.10.7

    Closed issues:

    • Define supports for is_set_by_optimize attributes (#1628)
    • Implement read! for LP file format (#1675)
    • Sparse conversion broken on julia 1.7.1 for empty MatrixOfConstraints (#1711)
    • Bug in PowerCones with MatrixOfConstraints (#1721)
    • Deprecated symbols are exported (#1723)

    Merged pull requests:

    • [Utilities] simplify MutableSparseMatrix to remove final_touch (#1712) (@odow)
    • Add LP Base.read! and tests (#1713) (@guilhermebodin)
    • Add docs for subfields of AbstractModel (#1715) (@blegat)
    • Improve quadratic duality in doc (#1717) (@blegat)
    • Fix operate vcat with numbers (#1718) (@blegat)
    • Fix PowerCone in MatrixOfConstraints (#1722) (@odow)
    • Stop exporting deprecated symbols (#1724) (@odow)
    • Prep for v0.10.8 (#1725) (@odow)
    • [docs] Add try-catch section on querying attributes (#1726) (@odow)
    Source code(tar.gz)
    Source code(zip)
  • v0.10.7(Jan 5, 2022)

    MathOptInterface v0.10.7

    Diff since v0.10.6

    Closed issues:

    • Printing fails with complex numbers (#1693)
    • Add fallback for compute_conflict! (#1697)
    • Bug in bridges with variables-constrained-on-creation (#1698)
    • test modification of equality/zeros type constraints (#1705)

    Merged pull requests:

    • [Utilities] Fix method invalidation (#1692) (@odow)
    • Fix printing of non-real number types (#1695) (@odow)
    • [Test] fix missing config (#1696) (@odow)
    • Fix logic in cost_of_bridging (#1699) (@odow)
    • Fix UndefVar error in FileFormats.CBF (#1701) (@odow)
    • [Utilities] Fix location of check_result_index_bounds (#1702) (@odow)
    • Add fallback error for compute_conflict (#1703) (@odow)
    • [Utilities] improve performance of canonical (#1704) (@odow)
    • [Test] add modification for Zeros constraint (#1706) (@odow)
    • [perf] add time-to-first-solve benchmark (#1707) (@odow)
    • [perf] Precompile for instantiate (#1708) (@odow)
    • [perf] more latency improvements (#1709) (@odow)
    • Prep for v0.10.7 (#1710) (@odow)
    Source code(tar.gz)
    Source code(zip)
  • v0.10.6(Nov 30, 2021)

    MathOptInterface v0.10.6

    Diff since v0.10.5

    Closed issues:

    • What to do with constants for results of InfeasibilityCertificate (#433)
    • Update MOI.Test to support any coefficient that is a subtype of Real (#841)
    • Matrix bounds (#942)
    • Add tests for DualObjectiveValue when infeasible (#1201)
    • Add solver READMEs to documentation (#1633)
    • Automatic fallback in CachingOptimizer (#1310)
    • Bridges fail test_model_LowerBoundAlreadySet test (#1431)
    • InexactError: trunc(Int64, x) where x is large (#1658)
    • NL.copy_to does not check for attributes (#1514)
    • Common test failures to investigate (#1571)
    • Unsupported attributes (#1614)
    • Exclude nonconvex quadratic test (#1621)
    • StackOverflow with copy_to (#1636)
    • Add a way to add tests without breaking solvers (#1661)
    • Make MockOptimizer generic (#1669)
    • CachingOptimizer shouldn't map Model and Optimizer attributes (#1670)
    • Tests should allow LOCALLY_INFEASIBLE (#1671)
    • Integrating MOI into an industry-scale project (e.g. constraint management) (#1679)

    Merged pull requests:

    • Export num_rows (#1644) (@blegat)
    • Fix tests names (#1649) (@joaquimg)
    • Fix citation in readme (#1651) (@joaquimg)
    • General edit of the docs (#1652) (@odow)
    • Fix StackOverflow with copy_to (#1653) (@odow)
    • [docs] Remove release_notes.md from pdf build (#1654) (@odow)
    • [Bridges] throw better error for nonconvex quadratic constraints (#1655) (@odow)
    • [Utilties] don't throw UnsupportedAttribute in pass_attributes (#1656) (@odow)
    • [FileFormats] fix copy_to for FileFormats.NL (#1657) (@odow)
    • [FileFormats.NL] Fix printing of large integers (#1659) (@odow)
    • Add docs and tests for infeasibility certificates (#1660) (@odow)
    • [Test] add version_added to better control MOI.Test.runtests (#1662) (@odow)
    • [doc] clarify documentation of solvers (#1663) (@odow)
    • Remove source of common test failure in LowerBoundAlreadySet (#1664) (@odow)
    • [Test] update for generic coefficient types (#1667) (@odow)
    • [Test] add generic number types in test_linear (#1668) (@odow)
    • [Utilities] fix fallback of map_indices (#1672) (@odow)
    • [Test] add config.infeasible_status (#1673) (@odow)
    • [Utilities] use ConstraintPrimal fallback in CachingOptimizer (#1674) (@odow)
    • [Test] add generic number types in test_constraint (#1676) (@odow)
    • [Utilities] Support generic number type in MockOptimizer (#1677) (@odow)
    • [Test] add generic number types in test_solve (#1678) (@odow)
    • [Test] simplify type check in test_nonlinear (#1680) (@odow)
    • [Test] add more generic number type support (#1681) (@odow)
    • Fix bug in CachingOptimizer ConstraintPrimal (#1682) (@odow)
    • [Test] add generic number types in test_conic (#1683) (@odow)
    • [Test] fix test_model_copy_to_ tests (#1686) (@odow)
    • Update release_notes.md (#1687) (@odow)
    • Fix version_added for infeasibility tests (#1688) (@odow)
    • [Test] fix missing config in _test_det_cone_helper (#1689) (@odow)
    • Prep for v0.10.6 (#1691) (@odow)
    Source code(tar.gz)
    Source code(zip)
  • v0.10.5(Nov 8, 2021)

    MathOptInterface v0.10.5

    Diff since v0.10.4

    Merged pull requests:

    • For normalize_and_add_constraint for Integer and ZeroOne (#1643) (@blegat)
    • [Utilities] Fix getter in UniversalFallback (#1645) (@odow)
    • Update BibTeX entry (#1646) (@blegat)
    • Fix space issue in BibTeX entry (#1647) (@blegat)
    • Fix ZeroOne 2 infeasibility test (#1648) (@joaquimg)
    • Prep for v0.10.5 (#1650) (@joaquimg)
    Source code(tar.gz)
    Source code(zip)
  • v0.10.4(Oct 26, 2021)

    MathOptInterface v0.10.4

    Diff since v0.10.3

    Closed issues:

    • feasibility_sense_with_objective_and_hessian_test missing in Test (#1627)
    • MOIU.@model allowed without const (#1631)

    Merged pull requests:

    • Allow skipping NLPBlockDual (#1625) (@blegat)
    • Fix typo in docs (#1626) (@odow)
    • Comments in nlp.jl (#1629) (@joaquimg)
    • Zero one conflict test actually testing integrality and not UB = 1 (#1630) (@joaquimg)
    • Add nlp test (#1634) (@blegat)
    • Implement ConstraintFunction/ConstraintSet for VariablesContainer (#1635) (@blegat)
    • Add solver version attribute (#1637) (@guilhermebodin)
    • Build docs as a PDF (#1638) (@odow)
    • Add doc_cleanup.yml (#1639) (@odow)
    • Update to MutableArithmetics v0.3 (#1640) (@blegat)
    • [docs] Update documenter version (#1641) (@odow)
    • Prep for v0.10.4 (#1642) (@odow)
    Source code(tar.gz)
    Source code(zip)
  • v0.10.3(Sep 19, 2021)

    MathOptInterface v0.10.3

    Diff since v0.10.2

    Merged pull requests:

    • [Utilities] allow callbacks through CachingOptimizer (#1618) (@odow)
    • [Test] fix ListOfConstraintAttributesSet for BadModel (#1619) (@odow)
    • Update release notes for v0.10.3 (#1620) (@odow)
    Source code(tar.gz)
    Source code(zip)
  • v0.10.2(Sep 16, 2021)

    MathOptInterface v0.10.2

    Diff since v0.10.1

    Closed issues:

    • Release MOF 1.0 and update (#1589)
    • [docs/convention] VariablePrimal: what should solvers return when there is no solution? (#1600)
    • Bridges throw wrong errors during modification (#1603)
    • copy_to_and_optimize! doesn't support multiple solves (#1604)
    • XXXDetTriangle bridge does not support ConstraintFunction (#1605)
    • GenericModel doesn't copy sets correctly (#1606)
    • Unsupported attributes (#1614)

    Merged pull requests:

    • Replace copy_to_and_optimize! with optimize_model! (#1592) (@blegat)
    • [FileFormats] Update to MathOptFormat v1.0 (#1597) (@odow)
    • [FileFormats] Bump version of JSONSchema.jl (#1598) (@odow)
    • [Test] Minor fixes in nonlinear tests (#1599) (@frapac)
    • VariablePrimal: document undefined behaviour (#1601) (@dourouc05)
    • [Test] minor updates to tests from SCS.jl (#1602) (@odow)
    • Fix modifications in bridge_optimizer (#1608) (@odow)
    • Implement function and set getters for det bridges (#1609) (@blegat)
    • Add set_with_dimension (#1610) (@blegat)
    • [Test] more misc fixes from SCS (#1611) (@odow)
    • [Bridges] Fix ListOfConstraintAttributesSet (#1612) (@odow)
    • [Utilities] throw UnsupportedAttribute in pass_attributes (#1613) (@odow)
    • [Utilities] fix emptying of CachingOptimizer (#1615) (@odow)
    • Update release notes for v0.10.2 (#1616) (@odow)
    Source code(tar.gz)
    Source code(zip)
  • v0.10.1(Sep 8, 2021)

    MathOptInterface v0.10.1

    Diff since v0.10.0

    Merged pull requests:

    • Add missing write in updating script (#1590) (@blegat)
    • Fix DeprecatedTest in modellike that were using copy_names (#1591) (@blegat)
    • [Test] change exact comparison to approx (#1593) (@odow)
    • [Test] relax inferred in attribute_value_type (#1594) (@odow)
    • [Test] fix bug in test_solve_SOS2_add_and_delete (#1595) (@odow)
    • [docs] update release notes (#1596) (@odow)
    Source code(tar.gz)
    Source code(zip)
Owner
JuMP-dev
An organization for the JuMP modeling language and related repositories.
JuMP-dev
This repo is a PyTorch implementation for Paper "Unsupervised Learning for Cuboid Shape Abstraction via Joint Segmentation from Point Clouds"

Unsupervised Learning for Cuboid Shape Abstraction via Joint Segmentation from Point Clouds This repository is a PyTorch implementation for paper: Uns

Kaizhi Yang 42 Dec 9, 2022
This library provides an abstraction to perform Model Versioning using Weight & Biases.

Description This library provides an abstraction to perform Model Versioning using Weight & Biases. Features Version a new trained model Promote a mod

Hector Lopez Almazan 2 Jan 28, 2022
OptNet: Differentiable Optimization as a Layer in Neural Networks

OptNet: Differentiable Optimization as a Layer in Neural Networks This repository is by Brandon Amos and J. Zico Kolter and contains the PyTorch sourc

CMU Locus Lab 428 Dec 24, 2022
Genetic Algorithm, Particle Swarm Optimization, Simulated Annealing, Ant Colony Optimization Algorithm,Immune Algorithm, Artificial Fish Swarm Algorithm, Differential Evolution and TSP(Traveling salesman)

scikit-opt Swarm Intelligence in Python (Genetic Algorithm, Particle Swarm Optimization, Simulated Annealing, Ant Colony Algorithm, Immune Algorithm,A

郭飞 3.7k Jan 3, 2023
library for nonlinear optimization, wrapping many algorithms for global and local, constrained or unconstrained, optimization

NLopt is a library for nonlinear local and global optimization, for functions with and without gradient information. It is designed as a simple, unifi

Steven G. Johnson 1.4k Dec 25, 2022
Racing line optimization algorithm in python that uses Particle Swarm Optimization.

Racing Line Optimization with PSO This repository contains a racing line optimization algorithm in python that uses Particle Swarm Optimization. Requi

Parsa Dahesh 6 Dec 14, 2022
Theano is a Python library that allows you to define, optimize, and evaluate mathematical expressions involving multi-dimensional arrays efficiently. It can use GPUs and perform efficient symbolic differentiation.

============================================================================================================ `MILA will stop developing Theano <https:

null 9.6k Dec 31, 2022
Theano is a Python library that allows you to define, optimize, and evaluate mathematical expressions involving multi-dimensional arrays efficiently. It can use GPUs and perform efficient symbolic differentiation.

============================================================================================================ `MILA will stop developing Theano <https:

null 9.6k Jan 6, 2023
Theano is a Python library that allows you to define, optimize, and evaluate mathematical expressions involving multi-dimensional arrays efficiently. It can use GPUs and perform efficient symbolic differentiation.

============================================================================================================ `MILA will stop developing Theano <https:

null 9.3k Feb 12, 2021
Source code, datasets and trained models for the paper Learning Advanced Mathematical Computations from Examples (ICLR 2021), by François Charton, Amaury Hayat (ENPC-Rutgers) and Guillaume Lample

Maths from examples - Learning advanced mathematical computations from examples This is the source code and data sets relevant to the paper Learning a

Facebook Research 171 Nov 23, 2022
NaturalProofs: Mathematical Theorem Proving in Natural Language

NaturalProofs: Mathematical Theorem Proving in Natural Language NaturalProofs: Mathematical Theorem Proving in Natural Language Sean Welleck, Jiacheng

Sean Welleck 83 Jan 5, 2023
A Python library created to assist programmers with complex mathematical functions

libmaths libmaths was created not only as a learning experience for me, but as a way to make mathematical models in seconds for Python users using mat

Simple 73 Oct 2, 2022
Framework that uses artificial intelligence applied to mathematical models to make predictions

LiconIA Framework that uses artificial intelligence applied to mathematical models to make predictions Interface Overview Table of contents [TOC] 1 Ar

null 4 Jun 20, 2021
1st Solution For ICDAR 2021 Competition on Mathematical Formula Detection

This project releases our 1st place solution on ICDAR 2021 Competition on Mathematical Formula Detection. We implement our solution based on MMDetection, which is an open source object detection toolbox based on PyTorch.

yuxzho 94 Dec 25, 2022
Official implementation for ICDAR 2021 paper "Handwritten Mathematical Expression Recognition with Bidirectionally Trained Transformer"

Handwritten Mathematical Expression Recognition with Bidirectionally Trained Transformer Description Convert offline handwritten mathematical expressi

Wenqi Zhao 87 Dec 27, 2022
Prototypical python implementation of the trust-region algorithm presented in Sequential Linearization Method for Bound-Constrained Mathematical Programs with Complementarity Constraints by Larson, Leyffer, Kirches, and Manns.

Prototypical python implementation of the trust-region algorithm presented in Sequential Linearization Method for Bound-Constrained Mathematical Programs with Complementarity Constraints by Larson, Leyffer, Kirches, and Manns.

null 3 Dec 2, 2022
Predictive AI layer for existing databases.

MindsDB is an open-source AI layer for existing databases that allows you to effortlessly develop, train and deploy state-of-the-art machine learning

MindsDB Inc 12.2k Jan 3, 2023
Implementation of the Point Transformer layer, in Pytorch

Point Transformer - Pytorch Implementation of the Point Transformer self-attention layer, in Pytorch. The simple circuit above seemed to have allowed

Phil Wang 501 Jan 3, 2023
Predictive AI layer for existing databases.

MindsDB is an open-source AI layer for existing databases that allows you to effortlessly develop, train and deploy state-of-the-art machine learning

MindsDB Inc 3.2k Feb 12, 2021