Skip to content

Register v47.1.5 #17

Description

@AdamFDC

@JuliaRegistrator register
Release notes:

  • JuMP / MOI in-place modification: set(::Optimizer, ::MOI.ConstraintSet, ...) now supported for variable bounds (GreaterThan, LessThan, EqualTo,
    Interval) and affine RHS, so warm-start / re-solve loops can change values without rebuilding the model.
  • Added MOI.DualObjectiveValue (dual-solution objective after an LP solve; matches ObjectiveValue at optimality).
  • Fixed free-variable default bound (correctness): new JuMP / MOI variables were silently given a lower bound of 0.0 instead of being free (-Inf,
    +Inf), causing wrong results or spurious infeasibilities; variables are now created free.
  • Fixed MOI.ConstraintDual sign conventions: duals now follow MOI (relative to minimization, negated for maximization); variable-bound duals return the
    reduced cost instead of NaN, split Interval duals come from the binding child, and the vector getter returns a flat Vector.
  • Fixed intermittent Windows callback crash: heap corruption / access violation during GC when a callback was active during a MIP solve (the problem
    wrapper is now reused, not reallocated per call). Callbacks remain unsafe during SLP / nonlinear / multistart solves.
  • Fixed an opaque MethodError (now a proper XPRSexception) when a pre-allocated output array is too short.
  • Ship MOI_FEATURES.md in the package (fixes a dead README link); corrected bridge-usage examples to Model(XpressAPI.Optimizer).
  • Low-level wrapper cleanup: concrete String argument/result types, explicit return in wrappers, and docstring signatures now show the return type.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions