Skip to main content
added 230 characters in body
Source Link
Mark L. Stone
  • 13.9k
  • 1
  • 34
  • 70

If a lot of variables are on their bounds at optimality, you may be well-served by an active-set method such as Sequential Quadratic Programming (SQP). Because your constraints are all linear (and all simple bound constraints at that), there is none of the drama SQP methods have to deal with when linearizing constraints.

A nullspace version of SQP, sometimes called Reduced Hessian, could be especially effective if the number of active constraints at optimality is high, i.e., variables on their bound of zero. Nullspace (a.k.a. Reduced Space a.k.a. Reduced Hessian) methods form and update the Hessian of free variables, i.e., variables not on bound (given your problem only has bound constraints). So if your problem has 100,000 variables, of which 99,000 are at zero (on their bound), the Nullspace method works with a 1000 by 1000 Hessian, and solves Quadratic Programming (QP) subproblems of dimension 1000. As the algorithm proceeds, variables might go on or off their bound. At each iteration, only the non-zero variables are "in" the Hessian and corresponding QP subproblem whose "quadratic" matrix is the Hessian in that reduced space of non-zero variables.

SNOPT is a well-known solver implementing a Nullsapce (Reduced Hessian) SQP algorithm, and can be quite effective on very large problems, if the number of free variables (non-zero variables in your case) is (relatively) small. Generally speaking, the better your starting values (initial guess) is of which variables will be non-zero at optimality, the faster the algorithm will converge to the optimum solution.

If a lot of variables are on their bounds at optimality, you may be well-served by an active-set method such as Sequential Quadratic Programming (SQP). Because your constraints are all linear (and all simple bound constraints at that), there is none of the drama SQP methods have to deal with when linearizing constraints.

A nullspace version of SQP, sometimes called Reduced Hessian, could be especially effective if the number of active constraints at optimality is high, i.e., variables on their bound of zero. Nullspace (a.k.a. Reduced Space a.k.a. Reduced Hessian) methods form and update the Hessian of free variables, i.e., variables not on bound (given your problem only has bound constraints). So if your problem has 100,000 variables, of which 99,000 are at zero (on their bound), the Nullspace method works with a 1000 by 1000 Hessian, and solves Quadratic Programming (QP) subproblems of dimension 1000. As the algorithm proceeds, variables might go on or off their bound. At each iteration, only the non-zero variables are "in" the Hessian and corresponding QP subproblem whose "quadratic" matrix is the Hessian in that reduced space of non-zero variables.

If a lot of variables are on their bounds at optimality, you may be well-served by an active-set method such as Sequential Quadratic Programming (SQP). Because your constraints are all linear (and all simple bound constraints at that), there is none of the drama SQP methods have to deal with when linearizing constraints.

A nullspace version of SQP, sometimes called Reduced Hessian, could be especially effective if the number of active constraints at optimality is high, i.e., variables on their bound of zero. Nullspace (a.k.a. Reduced Space a.k.a. Reduced Hessian) methods form and update the Hessian of free variables, i.e., variables not on bound (given your problem only has bound constraints). So if your problem has 100,000 variables, of which 99,000 are at zero (on their bound), the Nullspace method works with a 1000 by 1000 Hessian, and solves Quadratic Programming (QP) subproblems of dimension 1000. As the algorithm proceeds, variables might go on or off their bound. At each iteration, only the non-zero variables are "in" the Hessian and corresponding QP subproblem whose "quadratic" matrix is the Hessian in that reduced space of non-zero variables.

SNOPT is a well-known solver implementing a Nullsapce (Reduced Hessian) SQP algorithm, and can be quite effective on very large problems, if the number of free variables (non-zero variables in your case) is (relatively) small. Generally speaking, the better your starting values (initial guess) is of which variables will be non-zero at optimality, the faster the algorithm will converge to the optimum solution.

added 665 characters in body
Source Link
Mark L. Stone
  • 13.9k
  • 1
  • 34
  • 70

If a lot of variables are on their bounds at optimality, you may be well-served by an active-set method such as Sequential Quadratic Programming (SQP). Because your constraints are all linear (and all simple bound constraints at that), there is none of the drama SQP methods have to deal with when linearizing constraints.

A nullspace version of SQP, sometimes called Reduced Hessian, could be especially effective if the number of active constraints at optimality is high, i.e., variables on their bound of zero. Nullspace (a.k.a. Reduced Space a.k.a. Reduced Hessian) methods form and update the Hessian of free variables, i.e., variables not on bound (given your problem only has bound constraints). So if your problem has 100,000 variables, of which 99,000 are at zero (on their bound), the Nullspace method works with a 1000 by 1000 Hessian, and solves Quadratic Programming (QP) subproblems of dimension 1000. As the algorithm proceeds, variables might go on or off their bound. At each iteration, only the non-zero variables are "in" the Hessian and corresponding QP subproblem whose "quadratic" matrix is the Hessian in that reduced space of non-zero variables.

If a lot of variables are on their bounds at optimality, you may be well-served by an active-set method such as Sequential Quadratic Programming (SQP). Because your constraints are all linear (and all simple bound constraints at that), there is none of the drama SQP methods have to deal with when linearizing constraints.

A nullspace version of SQP, sometimes called Reduced Hessian, could be especially effective if the number of active constraints at optimality is high, i.e., variables on their bound.

If a lot of variables are on their bounds at optimality, you may be well-served by an active-set method such as Sequential Quadratic Programming (SQP). Because your constraints are all linear (and all simple bound constraints at that), there is none of the drama SQP methods have to deal with when linearizing constraints.

A nullspace version of SQP, sometimes called Reduced Hessian, could be especially effective if the number of active constraints at optimality is high, i.e., variables on their bound of zero. Nullspace (a.k.a. Reduced Space a.k.a. Reduced Hessian) methods form and update the Hessian of free variables, i.e., variables not on bound (given your problem only has bound constraints). So if your problem has 100,000 variables, of which 99,000 are at zero (on their bound), the Nullspace method works with a 1000 by 1000 Hessian, and solves Quadratic Programming (QP) subproblems of dimension 1000. As the algorithm proceeds, variables might go on or off their bound. At each iteration, only the non-zero variables are "in" the Hessian and corresponding QP subproblem whose "quadratic" matrix is the Hessian in that reduced space of non-zero variables.

Source Link
Mark L. Stone
  • 13.9k
  • 1
  • 34
  • 70

If a lot of variables are on their bounds at optimality, you may be well-served by an active-set method such as Sequential Quadratic Programming (SQP). Because your constraints are all linear (and all simple bound constraints at that), there is none of the drama SQP methods have to deal with when linearizing constraints.

A nullspace version of SQP, sometimes called Reduced Hessian, could be especially effective if the number of active constraints at optimality is high, i.e., variables on their bound.