## Cassowary

swMATH ID: | 36189 |

Software Authors: | Greg J. Badros, Alan Borning, Peter J. Stuckey |

Description: | The Cassowary linear arithmetic constraint solving algorithm. Linear equality and inequality constraints arise naturally in specifying many aspects of user interfaces, such as requiring that one window be to the left of another, requiring that a pane occupy the leftmost third of a window, or preferring that an object be contained within a rectangle if possible. Previous constraint solvers designed for user interface applications cannot handle simultaneous linear equations and inequalities efficiently. This is a major limitation, as such systems of constraints arise often in natural declarative specifications. We describe Cassowary—an incremental algorithm based on the dual simplex method, which can solve such systems of constraints efficiently. We have implemented the algorithm as part of a constraint-solving toolkit. We discuss the implementation of the toolkit, its application programming interface, and its performance. |

Homepage: | https://dl.acm.org/doi/10.1145/504704.504705 |

Related Software: | QOCA; HiRise; Skyblue; Matlab; linprog; MathSAT; MiniSat; CVC Lite; Chaff; Python; SUPPLE; Gild; Ibuild; Rockit; Druid; Bramble; FormsVBT; Peridot; Amulet; Lapidary |

Cited in: | 9 Documents |

all
top 5

### Cited by 27 Authors

all
top 5

### Cited in 6 Serials

3 | Journal of Computational and Applied Mathematics |

1 | Artificial Intelligence |

1 | Journal of Symbolic Computation |

1 | Journal of Automated Reasoning |

1 | Cybernetics and Systems Analysis |

1 | Constraints |

### Cited in 4 Fields

7 | Computer science (68-XX) |

3 | Numerical analysis (65-XX) |

2 | Operations research, mathematical programming (90-XX) |

1 | Mathematical logic and foundations (03-XX) |