Comments (6)
Yes, I think it is overly conservative (or just simplified), although I also remember using more detailed assert_stage
in other places.
Ideally, we could even extract the accepted stages from the C documentation in the comments, but I guess doing it manually is good enough for the dozen methods that are currently called.
Also, your example points to a nice test case that we could add!
In addition to checking the stage, it might also be wise to check whether a solution was found at all. I guess that C_NULL
would be returned in that case, but the MOI.get
should error
, rather than return -1e20
or similar.
from scip.jl.
any progress/plans on this?
from scip.jl.
Yes, I actually relaxed the assertion already on two commits that are part of #109 which I hope to merge soon.
But both of these changes were done by the explicit need to call specific functions in specific stages, so there is no claim and full generality.
An alternative approach would be not check the stage at the SCIP.jl level, and instead try to handle SCIP's error better, as alluded in #78. Actually, this would be great, because it would always be up-to-date, automatically, without any code duplication.
from scip.jl.
This issue closed? Or can further guidance be given?
from scip.jl.
Well, the original use case (getting a solution when SCIP was interrupted by a user limit) is now handled by assert_solved
, so yes.
But there are more stages where this could be valid, which are not covered. I'm not aware of all potential possibilities, though, so I would add either handle them when the need arises, or in some automatic fashion.
@bhalonen, do you have a use case example where an error is thrown because of overly strict assertions?
from scip.jl.
I will close this, until we find another case that is not handled by the current list of accpeted stages.
from scip.jl.
Related Issues (20)
- SCIP EXCEPTION_ACCESS_VIOLATION In JuMP 1.1.0 and SCIP V0.11.3 on Windows 11 HOT 26
- How to trigger SCIPsolveConcurrent? HOT 3
- Multiple threads HOT 10
- SCIP not working on Windows HOT 4
- Crash When Optimizing HOT 15
- Get original variables from constraint
- Collect all feasible solutions HOT 4
- Cannot install globally in Windows HOT 1
- [EXCEPTION_ACCESS_VIOLATION] Julia 1.8.5 incompatibility with SCIP v0.11.12 HOT 1
- MultipleObjectiveAlgorithms usage HOT 1
- Implement LazyConstraint from ConstraintHandler HOT 4
- SCIP solver -- issue in "quadratic_constraints.jl". HOT 2
- Not solving the optimization model with the SCIP solver HOT 12
- `MathOptInterface.ScalarNonlinearFunction` not supported by the solver HOT 9
- A new release is probably warranted - `is_valid()` is broken in `v0.11.14`
- How to get ConstraintDual? HOT 2
- SCIP optimizer status likely ser incorrectly. HOT 4
- Update to allow SCIP version 9?
- SCIP crashes on simple problem HOT 2
- SCIP.jl with exact-rational branch HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from scip.jl.