4 ms·
Hmm, this looks like Cassowary solver that was first used in 1940 as stated here: https://cassowary.readthedocs.io/en/latest/topics/theory.html https://cassowar
by c-smile 8y ago
Hmm, this looks like Cassowary solver that was first used in 1940 as stated here: https://cassowary.readthedocs.io/en/latest/topics/theory.html https://cassowary.readthedocs.io/en/latest/topics/theory.htm...
The only difference is that it is using Simplex method instead of gradient descent (as in article). Simplex and GD are slightly different methods of finding local minimums in systems of linear equations.
- mayoff 8y agoSimplex solves only linear systems, and finds a global optimum. Cassowary is an incremental version of simplex—it lets you efficiently add, remove, and modify constraints. Gradient descent works for non-linear systems, but isn't guaranteed to find the global optimum.
- jpfr 8y agoThere is a huge class of non-linear problems where gradient descent (with line search) is guaranteed to find the global optimum: Convex optimization problems. And within convex problems there is a hierarchy of "difficulty": LP ⊂ QP ⊂ SOCP ⊂ SDP The Simplex algorithm solves only LP. And it was shown that the Simplex has an exponential worst-case runtime (in the number of constraints). Whereas interior-point methods (basically variations of Gradient Descent) have a much better worst-case runtime. See here for further reference: http://web.stanford.edu/~boyd/cvxbook/bv_cvxbook.pdf http://web.stanford.edu/~boyd/cvxbook/bv_cvxbook.pdf