Ваша проблема может быть обозначена как
min 0*x1+0*x2 ("zero coefficients")
в зависимости от
x1+x2=10
3x1-x2<=0
x2<=20 (note that this constraint follows from x1,x2>=0 and their sum being 10)
Это может быть легко передано в линейный программный пакет, такой как целлюлоза . Я скорее пользователь R, чем пользователь Python, поэтому не могу предоставить подробности. Вы можете решить это также онлайн без какого-либо программирования.
РЕДАКТИРОВАТЬ: перечитывая ваш вопрос, я вижу, что ваши желаемые решения не являются непрерывными (например, кажется, что вы не ищете [2.5, 7.5] как решение), а ограничены целочисленными значениями. Тогда проблему назвали бы «смешанной целочисленной задачей» вместо «линейной задачи». Однако Pulp должен решить эту проблему, если вы можете объявить переменные x1
, x2
как целые числа.
Еще один момент, если вы после ВСЕХ целочисленных решений с учетом ограничений. были некоторые дискуссии об этом здесь на стеке, но я не уверен, что целлюлоза может сделать это из коробки.