Comments (5)
@matbesancon You know what this legacy vs non-legacy interfaces is about?
from scip.
there was a change in the nonlinear API of JuMP. But it shouldn't change anything here if the user is just interacting with the CLI version of SCIP
from scip.
I provided the two .nl files in the original post. Have you confirmed the behavior that I observed in your versions of SCIP? I run SCIP by submitting the .nl files to COAP. https://www.coap.online/ When I submit the non-legacy .nl file to NEOS Knitro, Knitro seems to recognize the initial solution, as per the output below: "The initial point provided for the root node relaxation is feasible for the MIP and has obective value 1.020425e+04."
Artelys Knitro 14.0.0
concurrent_evals: 0
datacheck: 0
hessian_no_f: 1
numthreads: 4
Knitro changing mip_method from AUTO to 1.
Knitro changing mip_rootalg from AUTO to 1.
Knitro changing mip_lpalg from AUTO to 3.
Knitro changing mip_branchrule from AUTO to 2.
Knitro changing mip_selectrule from AUTO to 2.
Knitro changing mip_mir from AUTO to 2.
Knitro changing mip_clique from AUTO to 0.
Knitro changing mip_zerohalf from AUTO to 0.
Knitro changing mip_liftproject from AUTO to 0.
Knitro changing mip_knapsack from AUTO to 2.
Knitro changing mip_gomory from AUTO to 0.
Knitro changing mip_cut_flowcover from AUTO to 2.
Knitro changing mip_cut_probing from AUTO to 1.
Knitro changing mip_rounding from AUTO to 3.
Knitro changing mip_heuristic_strategy from AUTO to 1.
Knitro changing mip_heuristic_feaspump from AUTO to 1.
Knitro changing mip_heuristic_misqp from AUTO to 0.
Knitro changing mip_heuristic_mpec from AUTO to 1.
Knitro changing mip_heuristic_diving from AUTO to 0.
Knitro changing mip_heuristic_lns from AUTO to 0.
Knitro changing mip_heuristic_localsearch from AUTO to 1.
Knitro changing mip_pseudoinit from AUTO to 1.
Problem Characteristics ( Presolved)
Objective goal: Minimize
Objective type: general
Number of variables: 50 ( 50)
bounded below only: 0 ( 0)
bounded above only: 0 ( 0)
bounded below and above: 16 ( 16)
fixed: 0 ( 0)
free: 34 ( 34)
Number of binary variables: 16 ( 16)
Number of integer variables: 0 ( 0)
Number of constraints: 34 ( 34)
linear equalities: 34 ( 34)
quadratic equalities: 0 ( 0)
gen. nonlinear equalities: 0 ( 0)
linear one-sided inequalities: 0 ( 0)
quadratic one-sided inequalities: 0 ( 0)
gen. nonlinear one-sided inequalities: 0 ( 0)
linear two-sided inequalities: 0 ( 0)
quadratic two-sided inequalities: 0 ( 0)
gen. nonlinear two-sided inequalities: 0 ( 0)
Number of nonzeros in Jacobian: 578 ( 578)
Number of nonzeros in Hessian: 51 ( 51)
Knitro using Branch and Bound method with 4 threads.
Initial points
The initial point provided for the root node relaxation is feasible for the MIP and has obective value 1.020425e+04.
No primal point provided for the MIP.
from scip.
The .nl reader of SCIP needs to reformulate a nonlinear objective function into a constraint, since SCIP does not support nonlinear objective functions. For that, it introduces a new variable, nlobjvar
. Unfortunately, it does not calculate a value for this variable for the initial solution. I will take a look whether that is possible.
The legacy and non-legacy model seem to be very different - different variables and different constraints. I suppose they only equivalent after aggregating the continuous variables.
In the legacy model, the objective function is already reformulated as constraints, and I suppose a corresponding initial value has been set for the continuous variable that has been introduced for that purpose.
from scip.
Yes, ignore the "legacy" stuff. It has nothing to do with this issue. (See discussion https://discourse.julialang.org/t/legacy-vs-non-legacy-jump-nonlinear-model-nl-files-with-initial-solution/115442)
since SCIP does not support nonlinear objective functions. For that, it introduces a new variable, nlobjvar. Unfortunately, it does not calculate a value for this variable for the initial solution
This sounds right and matches up with the error message:
[nonlinear] <objcons>: ((1*(<x0>*<x0>)+1*(<x17>*<x17>)+(-0.5)))^2+((1*(<x1>*<x1>)+1*(<x18>*<x18>)+(-0.5)))^2+((1*(<x2>*<x2>)+1*(<x19>*<x19>)+(-0.5)))^2+((1*(<x3>*<x3>)+1*(<x20>*<x20>)+(-0.5)))^2+((1*(<x4>*<x4>)+1*(<x21>*<x21>)+(-0.5)))^2+((1*(<x5>*<x5>)+1*(<x22>*<x22>)+(-0.5)))^2+((1*(<x6>*<x6>)+1*(<x23>*<x23>)+(-0.5)))^2+((1*(<x7>*<x7>)+1*(<x24>*<x24>)+(-0.5)))^2+((1*(<x8>*<x8>)+1*(<x25>*<x25>)+(-0.5)))^2+((1*(<x9>*<x9>)+1*(<x26>*<x26>)+(-0.5)))^2+((1*(<x10>*<x10>)+1*(<x27>*<x27>)+(-0.5)))^2+((1*(<x11>*<x11>)+1*(<x28>*<x28>)+(-0.5)))^2+((1*(<x12>*<x12>)+1*(<x29>*<x29>)+(-0.5)))^2+((1*(<x13>*<x13>)+1*(<x30>*<x30>)+(-0.5)))^2+((1*(<x14>*<x14>)+1*(<x31>*<x31>)+(-0.5)))^2+((1*(<x15>*<x15>)+1*(<x32>*<x32>)+(-0.5)))^2+((1*(<x16>*<x16>)+1*(<x33>*<x33>)+(-0.5)))^2-<nlobjvar> <= 0;
violation: right hand side is violated by 10204.25
all 1 solutions given by solution candidate storage are infeasible
from scip.
Related Issues (20)
- 2 tests fail HOT 1
- lot of tests from viprchk and «ctest -R MIPEX» failed on «exact-rational» branch HOT 9
- RFE: dynamic line length HOT 6
- question: how not to use nlpi_ipopt which depend on proprietray libhsl.so? HOT 3
- Interesting paper HOT 1
- `RelWithDebInfo` build is still asserting. HOT 4
- question: compiled with GMP=on, how to ensure GMP is used with CVXPY? HOT 3
- Difference in the objective value of a MIP in version 8.1.0 HOT 3
- What are the uses of nauty in SCIP? HOT 4
- System.AccessViolationException when trying to delete a restriction after LPError HOT 1
- Highs interface, option values function call deprecated HOT 1
- Adding constraint improves objective. HOT 4
- Request: Publish debs for aarch64
- Inconsistent results between SCIP and Gurobi HOT 5
- Can't subscribe to the SCIP mailing list HOT 1
- Changing variable bounds during reoptimization HOT 9
- [Feature request] WebAssembly target
- Variable name with space in solution file
- Documentation update about trigonometric functions (cos, sin) support HOT 3
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.