Skip to content
Numerical Method , home
Menu

Forum Numerical Method Optimization

SQP: unable to solve subquadratic programming problem error

  1. harshit1998Participant 2018-07-08 at 2:06 pm

    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 3-vector 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:*

    <code>RealScalarFunction F=new RealScalarFunction(){
    		  public int dimensionOfDomain() {return 3;}
    		  public int dimensionOfRange() { return 1;}
    	        @Override
    		public 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=new
                              SQPActiveSetOnlyInequalityConstraintMinimizer(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 4 months, 1 week ago by harshit1998.
    • This topic was modified 4 months, 1 week ago by harshit1998.
  2. harshit1998Participant 2018-07-09 at 4:15 am

    It 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!!!

  3. webmasterKeymaster 2018-10-02 at 11:31 am

    Hi harshit1998,

    Could you please also provide the values of “Gradmat” and “Hmat” for us to investigate? Thanks.

    • This reply was modified 1 month, 2 weeks ago by webmaster.
  4. Haksun LiModerator 2018-10-02 at 12:29 pm

    Both the objective function and the constraints are missing, please post the values.