A Scalable Linear Constraint Solver for User Interface Construction
This paper proposes an algorithm for satisfying systems of linear equality and inequality constraints with hierarchical strengths or preferences. Basically, it is a numerical method that incrementally obtains the LU decompositions of linear constraint systems. To realize this, it introduces a novel technique for analyzing hierarchical systems of linear constraints. In addition, it improves performance by adopting techniques that utilize the sparsity and disjointness of constraint systems. Based on this algorithm, the HiRise constraint solver has been designed and implemented for the use of constructing interactive graphical user interfaces. This paper shows that HiRise is scalable up to thousands of simultaneous constraints in real-time execution.
KeywordsInequality Constraint Basic Algorithm Constraint System Active Constraint Lower Triangular Matrix
Unable to display preview. Download preview PDF.
- Badros, G. J., Borning, A.: The Cassowary linear arithmetic constraint solving algorithm: Interface and implementation. Tech. Rep. 98-06-04, Dept. of Computer Science and Engineering, Univ. of Washington, 1998.Google Scholar
- Borning, A., Anderson, R., Freeman-Benson, B.: Indigo: A local propagation algorithm for inequality constraints. In Proc. ACM UIST, pp. 129–136, 1996.Google Scholar
- Borning, A., Marriott, K., Stuckey, P., Xiao, Y.: Solving linear arithmetic constraints for user interface applications. In Proc. ACM UIST, pp. 87–96, 1997.Google Scholar
- Chvátal, V.: Linear Programming. Freeman, 1983.Google Scholar
- Hosobe, H.: Theoretical Properties and Efficient Satisfaction of Hierarchical Constraint Systems. PhD thesis, Dept. of Information Science, Univ. of Tokyo, 1998.Google Scholar
- Hosobe, H., Miyashita, K., Takahashi, S., Matsuoka, S., Yonezawa, A.: Locally simultaneous constraint satisfaction. In Principles and Practice of Constraint Programming—PPCP’94, vol. 874 of LNCS, pp. 51–62. Springer, 1994.Google Scholar
- Marriott, K., Chok, S. C., Finlay, A.: A tableau based constraint solving toolkit for interactive graphical applications. In Principles and Practice of Constraint Programming—CP98, vol. 1520 of LNCS, pp. 340–354. Springer, 1998.Google Scholar
- Oguni, C., Murata, K., Miyoshi, T., Dongarra, J. J., Hasegawa, H.: Matrix Computing Software. Maruzen, 1991. In Japanese.Google Scholar
- Press, W. H., Flannery, B. P., Teukolsky, S. A., Vetterling, W. T.: NUMERICAL RECIPES in C: The Art of Scientific Computing. Cambridge University Press, 1988.Google Scholar
- Refalo, P., Hentenryck, P.V.: CLP(Rlin) revised. In Proc. JICSLP, pp. 22–36. MIT Press, 1996.Google Scholar
- Sannella, M.: SkyBlue: A multi-way local propagation constraint solver for user interface construction. In Proc. ACM UIST, pp. 137–146, 1994.Google Scholar