https://123dok.com/document/y4eo57kq-reduction-algorithm-using-nonnegative-matrix-factorization-nonlinear-constraints.html