jump-dev / Xpress.jl

A Julia interface to the FICO Xpress Optimization suite
https://www.fico.com/en/products/fico-xpress-optimization
65 stars 30 forks source link

add method for MOI.EqualTo{Float64} set #185

Closed jd-lara closed 1 year ago

jd-lara commented 1 year ago

The previous implementation called Lib.XPRSchgbounds(), Ref(value)) twice once for L and once for B. This implied that when calling JuMP.fix() Xpress would throw warnings if a previous UB or LB was above or below the new value. In large model it would generate a lot of noise in the logging.

This PR employs Lib.XPRSchgbounds(model.inner, Cint(1), Ref(Cint(info.column-1)), Ref(UInt8('B')), Ref(value)) in a new method for attempts to fix the variable and remove the warning calls.

joaquimg commented 1 year ago

I have been talking about similar things with @guilhermebodin , lets us take a look.

jd-lara commented 1 year ago

FYI the tests are failing due to: ERROR: LoadError: InitError: Xpress licensing error 10: Your license expired on 31-oct-2022. Please contact support@fico.com to renew it.

joaquimg commented 1 year ago

The main issue is that _set_variable_lower_bound doe more than just calling XPRSchgbounds. So we need to protect against those cases because the equality change end up changing the LB. Needs something more carefully written. Also if tests passed locally, the are not capturing this corner case that might require a model with a SOC.

joaquimg commented 1 year ago

FYI the tests are failing due to: ERROR: LoadError: InitError: Xpress licensing error 10: Your license expired on 31-oct-2022. Please contact support@fico.com to renew it.

Thank we will update.

jd-lara commented 1 year ago

The main issue is that _set_variable_lower_bound doe more than just calling XPRSchgbounds. So we need to protect against those cases because the equality change end up changing the LB. Needs something more carefully written. Also if tests passed locally, the are not capturing this corner case that might require a model with a SOC.

We can add the check let me try something.

jd-lara commented 1 year ago

@joaquimg check this commit 7ca6e4b

jd-lara commented 1 year ago

local tests outcomes

image

jd-lara commented 1 year ago

bump to @odow and @joaquimg.

joaquimg commented 1 year ago

on it!

joaquimg commented 1 year ago

replaced by #187