Задача линейного программирования. Как добавить ограничение в модель?
Решением системы C·X = B является вектор X = C-1·B.
В вашем случае B = 0, значит при ΔC ≠ 0 получаем X = 0 (правило Крамера), а при ΔC = 0 система имеет бесконечное множество решений и надо сначала преобразовать её методом Гаусса, выделив зависимые переменные.Покажу на примере:2·x + 3·y - z = 0
4·x + 6·y -2·z = 0
3·x - y + 2·z = 0
Определитель равен нулю. Приводим методом Гаусса.x + 3/2·y - 1/2·z = 0
0 = 0
- 11/2·y + 7/2·z = 0
Упрощаем                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       y = 7/11·z
x = -5/11·z
Преобразуем ваши условияx + y + z = -5/11·z + 7/11·z + z  = 13/11·z <= 1
x + y + z = 13/11·z -> max
Очевидно, что максимум будет при z = 11/13. При этом x = -5/13, y = 7/13.
Надо у либы просто из примера выписать получающиеся ограничения, чтобы понять.
А ограничения там такие:brit * brit.plane    + yank * yank.plane  <= constraints.plane
brit * brit.person   + yank * yank.person <= constraints.person
brit * brit.cost     + yank * yank.cost   <= constraints.cost
brit * brit.capacity + yank * yank.capacity -> максимизировать
Затем смотрим на вашу систему:x1 * x1.r1 + x2 * x2.r1 + ... + xn * xn.r1 = constraints.r1
x1 * x1.r2 + x2 * x2.r2 + ... + xn * xn.r2 = constraints.r2
...
x1 * x1.rn + x2 * x2.rn + ... + xn * xn.rn = constraints.rn
// и наконец!
x1 * x1.one + x2 * x2.one + ... + xn * xn.one <= 1
x1 * x1.one + x2 * x2.one + ... + xn * xn.one -> максимизировать
Вот и всё, надо написать для вас итоговый конфиг или сами уже поняли?