Задача о ранце — задача целочисленного программирования. Имеется ранец объема Vmax и неограниченное число каждого из N видов предметов. Для каждого предмета i-го вида известны его объем Vi и ценность Si, i=1,2,...,N. В ранец можно положить целое число предметов разного типа. Требуется упаковать ранец так,, чтобы суммарная стоимость всех находящихся в ранце предметов была максимальна, а их объем не превышал величины Vmax.