Home 2015 › Forums › Numerical Method › Optimization › SQP: unable to solve subquadratic programming problem error
This topic contains 1 reply, has 1 voice, and was last updated by harshit1998 2 months, 2 weeks ago.

AuthorPosts

20180708 at 2:06 pm #5958
Looks the SQPActiveSetMinimizer fails to solve optimization even for simple linear constraints. The content inside the RealScalarFunction() must not matter given it just abstracts the mapping from some 3vector to a double.Yet i have provided the full code. The greater than constraints have been printed and can be seen on the console.There is definitely a solution space carved by the inequalities for which F must have a minimum value.
The whole signature of the error is given in O/P.
Code:1234567891011121314<code>RealScalarFunction F=new RealScalarFunction(){public int dimensionOfDomain() {return 3;}public int dimensionOfRange() { return 1;}@Overridepublic Double evaluate(com.numericalmethod.suanshu.algebra.linear.vector.doubles.Vector x) {DenseVector xx=new DenseVector(x);return xx.innerProduct(Gradmat)+xx.innerProduct(Hmat.multiply(xx));}};SQPActiveSetOnlyInequalityConstraintMinimizer SQP=newSQPActiveSetOnlyInequalityConstraintMinimizer(0.001, 1000);System.out.println(greater.toString());IterativeSolution<Vector> minimizer=SQP.solve(F,greater);Vector x=minimizer.search(new DenseVector(100.,10.,10.),new DenseVector(5,5));System.out.println("x=" +x);</code>O/P:
3×3
[,1] [,2] [,3]
[1,] 0.539247, 0.526988, 0.012283,
[2,] 0.539247, 0.526988, 0.012283,
[3,] 0.539247, 0.526988, 0.012283, >=
[87.788746, 86.671254, 12.210156]
java.lang.RuntimeException: unable to solve a sub quadratic programming problem:
java.lang.RuntimeException: unable to solve a sub quadratic programming problem:
at com.numericalmethod.suanshu.optimization.multivariate.constrained.general.sqp.activeset.SQPActiveSetMinimizer$Solution.step(uj:108)
at com.numericalmethod.suanshu.optimization.multivariate.constrained.general.sqp.activeset.SQPActiveSetMinimizer$Solution.search(uj:500)
at com.numericalmethod.suanshu.optimization.multivariate.constrained.general.sqp.activeset.SQPActiveSetOnlyInequalityConstraintMinimizer$Solution.search(xjb:195)
at com.numericalmethod.suanshu.optimization.multivariate.constrained.general.sqp.activeset.SQPActiveSetOnlyInequalityConstraintMinimizer$Solution.search(xjb:230) This topic was modified 2 months, 2 weeks ago by harshit1998.
 This topic was modified 2 months, 2 weeks ago by harshit1998.
20180709 at 4:15 am #5961It is also noticed that for the same 3 constraints and with different initial point, the algorithm says “No Solution: the system of linear equations is inconsistent” as well sometimes. upon first hand observation of the constraints one can easily say that it is not so. There definitely exists so many points which satisfy all constraints. The optimization procedure just needs to find which of these solutions give the minimum value for the same RealScalarFunction ,which it fails to do and gives weird comments as output!!!

AuthorPosts
You must be logged in to reply to this topic.