-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
[bazel] Highs 1.7.0 math_opt tests failed #4203
Comments
Few more tests:
So it seems the move from |
this is based on github "historic" view: https://github.com/ERGO-Code/HiGHS/commits/v1.5.1/?after=93f1876e453eeec2d16e2a0c95874d0ef12c5b23+305 inside the git_repository(
name = "highs",
#branch = "master",
#tag = "v1.7.0", # FAILED
#tag = "v1.5.3", # FAILED
#tag = "v1.5.1", # FAILED
#commit = "387fcf926f459ea480053f5b0f4f2aef59a9586c", # 2023-01-03 FAILED
#commit = "488059f92f0df752f8a411be6bd30b2141d0552b", # 2022-12-24 FAILED
#commit = "4a22da667e90a38373baf04bb259f8a2332a9d3f", # 2022-12-22 FAILED
#commit = "6f28a305366f5f53438f9a9e72c025fdf2c550f3", # 2022-12-21 FAILED
commit = "e0ed5b019109dc76fc6ffaf7962843cbf6de0961", # 2022-12-21 FAILED
#commit = "61b7dccf1ae8b9f46edf54ad1ca2cb416a273e9c", # 2022-12-17 OK
#commit = "fd49112140bf8c2ff79312e91423b798be6d6276", # 2022-12-17 OK
#commit = "4ebb25d4b1e21addaf48fb0e4c8dd0bca04efff6", # 2022-12-15 OK
#tag = "v1.4.2", # PASSED
#tag = "v1.4.1", # PASSED
remote = "https://github.com/ERGO-Code/HiGHS.git",
) so the commit seems to be |
Digging the gitk of HiGHs repo and following parent(s)... flowchart TD;
T_7[1.7.0 FAILED] -.-> T_5[1.5.1 FAILED];
T_5 -.-> A[e0ed5 FAILED];
A --> B[33cc544 FAILED];
B --> C[cae9617 FAILED];
C --> D1[05dfb85 PASSED];
C --> D2[7a94304 FAILED];
D2--> E1[316c825 FAILED];
D2 --> E2[2629907 PASSED];
E1 --> F1[daed8b7 FAILED];
E1 --> F2[5acb9c6 FAILED];
F2 --> G1[62763d7 PASSED];
F2 --> F1;
F1 --> H1[bc7f2a2 PASSED];
F1 --> H2[**e9f424f FAILED**];
H2 --> I[e5ea838 PASSED];
I --> J[abff61b PASSED];
J --> K[3549dda PASSED];
K --> H1;
H1 -.-> D[1.4.2 PASSED];
note: we can already see that the github history and gitk graph didn't display the same story... |
git diff HEAD~1
diff --git a/WORKSPACE b/WORKSPACE
index 0fd7395d25..ee02668f49 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -156,7 +156,43 @@ cc_library(
git_repository(
name = "highs",
- branch = "v1.7.0",
+ #branch = "master",
+ #tag = "v1.7.0", # FAILED
+ #tag = "v1.5.3", # FAILED
+ #tag = "v1.5.1", # FAILED
+ #commit = "387fcf926f459ea480053f5b0f4f2aef59a9586c", # 2023-01-03 FAILED
+ #commit = "488059f92f0df752f8a411be6bd30b2141d0552b", # 2022-12-24 FAILED
+ #commit = "4a22da667e90a38373baf04bb259f8a2332a9d3f", # 2022-12-22 FAILED
+ #commit = "6f28a305366f5f53438f9a9e72c025fdf2c550f3", # 2022-12-21 FAILED
+ #commit = "e0ed5b019109dc76fc6ffaf7962843cbf6de0961", # 2022-12-21 FAILED
+ #commit = "61b7dccf1ae8b9f46edf54ad1ca2cb416a273e9c", # 2022-12-17 OK
+ #commit = "fd49112140bf8c2ff79312e91423b798be6d6276", # 2022-12-17 OK
+ #commit = "4ebb25d4b1e21addaf48fb0e4c8dd0bca04efff6", # 2022-12-15 OK
+ #tag = "v1.4.2", # PASSED
+ #tag = "v1.4.1", # PASSED
+
+ # try to follow parent historic from "e0ed5b019109dc76fc6ffaf7962843cbf6de0961"
+ #commit = "cae9617de4635aeb3546bc9791831c5e6103132e", # FAILED
+ #commit = "7a943048b9d0e65cad80de5159eb43b6ff446b1e", # FAILED prt cae
+ #commit = "05dfb8553d2a98a6db04f6686e56c8958185989b", # PASSED prt cae
+
+ #commit = "316c825f9433de9bf8c73e1baa2a7734d77bd4af", # FAILED prt 7a94
+ #commit = "262990724218f025edd5b106db78276e8bef90aa", # PASSED prt 7a94
+
+ #commit = "daed8b7ac47364f74c17cdd8eb11bfa94b4575ac", # FAILED prt 316
+ #commit = "5acb9c64e79d4c7c14c9db008bc1dc923d537ee5", # FAILED prt 316
+
+ #commit = "62763d711e98c6f065d79e22885ef9c9da475a78", # PASSED
+
+ #commit = "bc7f2a2ce8089153f0daddb5559eb1e19fbf73d9", # PASSED
+ commit = "e9f424f640de18fba71931a009a8423a0d9b9b54", # FAILED
+
+ #commit = "e5ea838483861867905fc8964442fe1fd176e85d", # PASSED
+ #commit = "abff61b5a33746c4c9b6b59b08bb1a0455b8b23c", # PASSED
+ #commit = "3549dda16a38dd0570e40c3872607c9cd733383c", # PASSED
+
+ #patches = ["highs.patch"],
+ #patch_args = ["-p1"],
remote = "https://github.com/ERGO-Code/HiGHS.git",
)
|
I am not optimistic that we will get HiGHs 1.7 working well if we are stuck on HiGHs 1.4 internally (we cannot move until SciPy moves) The failing test is here: https://github.com/google/or-tools/blob/main/ortools/math_opt/solver_tests/status_tests.cc#L112 In this test, we solve an LP that is both primal or dual infeasible. The SolveResultProto returned fails at validation time because we correctly claim the primal problem is not feasible, but then incorrectly return a primal solution that we claim is feasible (the problem has no primal feasible solutions). I would guess that the issue is probably here: https://github.com/google/or-tools/blob/main/ortools/math_opt/solvers/highs_solver.cc#L725 in that the value of highs_solution.is_valid has changed between 1.4 and 1.7 for this test, but I would need to debug/run the code to really see what is going on. There is no documentation on this type: https://github.com/ERGO-Code/HiGHS/blob/master/src/lp_data/HStruct.h#L30 so it is not easy to predict how it will work beyond running the code. Even if the primal problem is infeasible, you can still return a feasible solution and have it be valid. Big picture, I would recommend using the same version of HiGHs we use internally. MathOpt has contracts that are programatically enforced, but the underlying solvers generally do not (have contracts or enforce them). When you upgrade the solvers, some of the tests break always end up breaking and it is very time consuming to deal with this issues. If you want to discuss further, we should move this to an internal list a very few people will see this discussion out here. |
This is a following of HiGhs integration
What version of OR-Tools and what language are you using?
Version:
main
(andv99bugfix
aka incoming v9.10)Language: C++
Which solver are you using (e.g. CP-SAT, Routing Solver, GLOP, BOP, Gurobi)
HiGHs test from math_opt/solvers
What operating system (Linux, Windows, ...) and version?
Linux/MacOS
What did you do?
git checkout main bazel test -c opt ortools/math_opt/solvers:highs_solver_test
note: same with
v99bugfix
branchWhat did you expect to see
all tests pass
What did you see instead?
DevNote:
HiGHs 1.4.1 seems to pass...
aka this patch
The text was updated successfully, but these errors were encountered: