Это целочисленная задача линейного программирования.
Выражение этой задачи как задачи линейного программирования означало бы наличие переменных a
, b
, c
, d
с a+b+c+d=100
и a*1+b*1.04+c*0.99+d*1.10=1.035*100
и 0<=a<=60
, 0<=b<=80
, 0<=c<=55
и 0<=d<=130
.
Вы не говорите явно, но, вероятно, хотите получить целочисленные решения (то есть купленные количества должны быть целыми числами), следовательно, это целочисленная задача линейного программирования, а не задача линейного программирования. Несмотря на то, что проблемы ILP, как правило, сложны с точки зрения NP, в Интернете можно найти решатели и алгоритмы, которые легко решат эту небольшую проблему. Например, попробуйте GLPK.
Также обратите внимание, что грубая сила будет хорошо работать здесь; есть только 176851 комбинаций a,b,c,d
, чтобы попробовать.