Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix #112 #126

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

fix #112 #126

wants to merge 1 commit into from

Conversation

ulfworsoe
Copy link
Contributor

Fixes issue #112 but introduces another failing test. I think it is unrelated to 112.

@blegat
Copy link
Member

blegat commented Apr 24, 2023

I looked into the failure and I think it is related to the deletion of ACC.
The tests sets a quadratic objective, then sets a different one and check that it gets the different one with MOI.get.
This quadratic bridge is transformed into a rotated second order cone constraint by MOI.
The first objective adds a SOC constraint for rows 1 to 5.
Then, when setting the new objective, the MOI bridges first delete the constraint and then add a new one.
Since getnumafe is still 5 after the deletion, it uses the rows 6 to 10.
So we get 6:10 here:

r = rows(m, ci)

If I change this line to a hardcoded line: r = 1:5, the test pass.
This is weird since the rows used in rsubi here:
putafefentrylist(m.task, rsubi, rsubj, rcof)

are

rsubi = [7, 8, 8, 9, 9, 10]
rsubj = Int32[4, 2, 3, 1, 2, 2]
rcof = [-1.0, 1.0, 2.0, 2.0, 1.0, 1.4142135623730951]

So putafefentrylist is called with the rows between 6 and 10 after the deletion, and then when getting the rows in getaccftrip, we get the rows shifted by five even if there were no deleting in between the two calls as the deletion precedes both call.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants