Sparse matrix constrained optimization
Show older comments
Hi,
I would like to solve a sparse system Ax = b with a large (3M by 3M) ill-conditioned matrix (cond number > 100).
I have bounds and linear constraints. How can I set up an optimization scheme that will accept the sparse structure of A and accepts linear constraints?
lsqlin trust-region-reflective doesn’t take in sparse matrix (or at least converts to dense, but the dense form of A is too large for the memory) and lsqlin interior point doesn't converge.
The other problem I have with lsqlin, is that it doesn’t take in pre-conditioners whereas lsqr does. The latter however doesn’t accepts constraints....
I will be curious to have some advice on least square methods, Biconjugate gradients stabilized method, Generalized minimum residual method and Preconditioned conjugate gradients method that:
- Accepts sparse structure
- Use pre-conditioners
- Accepts lower and upper bounds
- Accepts linear constraints
5 Comments
If lsqlin interior point is not converging, then it is anomalous behavior specific to your problem data. Until the anomaly is understood, there aren't many recommendations that can be made. If you attach relevant code and .mat file data, maybe the community can try to duplicate the failure.
As for preconditioners, they should not be as essential with the algorithms used by lsqlin, but you can always just multiply the C matrix, by a scaling matrix inv(M), to get an equivalent effect.
Nicolas
on 12 Dec 2018
Matt J
on 12 Dec 2018
If they are equality constraints, you could use variable elimination to get rid of them. For example, a constraint like
x+y=1
can be eliminated by making a variable subsitution y=1-x.
Nicolas
on 12 Dec 2018
Matt J
on 12 Dec 2018
Well, then ... lsqlin.
Answers (0)
Categories
Find more on Linear Least Squares in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!