I am trying to optimize a function in JuMP, but got the error message:
ERROR: MathOptInterface.UnsupportedConstraint{MathOptInterface.SingleVariable,MathOptInterface.Integer}:MathOptInterface.SingleVariable-in-MathOptInterface.Integerconstraints is not supported by the model.
The error message is telling you that integer variables are not supported by Ipopt. You will need to use an MINLP solver like Alpine https://github.com/lanl-ansi/Alpine.jl instead. There is also https://github.com/lanl-ansi/juniper.jl, but it hasn’t been ported to the new JuMP yet, it is a work-in-progress.
I tried GLPK but got the error message: ERROR: MathOptInterface.UnsupportedAttribute{MathOptInterface.NLPBlock}: Attribute MathOptInterface.NLPBlock() is not supported by the model.
SCIP can not support user-defined functions, as it uses the expression-graph interface, not AD.
Feel free to open an issue if you encounter problems with the installation. Note that only Linux systems are supported, currently, though in principle also OSX and Windows could be supported.
No. Again, that’s not a JuMP limitation, Gurobi just doesn’t do MINLP. FWIW, SCIP has been working fine for me on Linux. See Use of MINLP in Julia for my installation notes.
I tried to use Juniper and Alpine on Julia 1.1.0 and 1.0.1, but both failed. On Julia 1.1.0, when I load the packages the error message said failed to precompile them while on Julia 1.0.1 I cannot install them because unsatisfiable requirements detected for package ASTInterpreter2.
I have tried both linux and windows, but still not working. Do I need to go back to Julia 0.7?