GRIDS presents a complete formulation of the grid layout problem for GUIs, encapsulating key objectives such as alignment between elements, rectangularity of the overall composition, and preferential placement of certain elements. A mixed integer linear programming (MILP) model can efficiently generate several solutions that guarantee layout qualities and are systematically diverse from each other. In addition to supporting exploration, it can auto-complete partial designs, and search within constrained design spaces. The mixed-initiative GRIDS design tool implements these features, and assists designers by generating real-time interface design suggestions.
The open-source GRIDS layout engine is available at: https://github.com/aalto-ui/grids