Итак.
Решение оказалось банально у нас под носом.
Правда пока непонятно, как же им воспользоваться
В Microsoft Excel есть встроенный инструмент "Поиск Решения" (SOLVER), который решает задачи, в том числе и целочисленные задачи квадратичного программирования, примером которой является приведенная задача.
Прилагаю 2 файла, в которых поиск решения был выполнен с помощью этого средства (вручную). - Первый по примеру, приведенном здесь, второй - по реальному документу из системы. Результаты довольно хорошие

.
Наш алгоримт дал более плохие результаты.
Есть два варианта дальнейшего развития решения:
1. Попробовать повторить этот алгоритм в Аксапте (для этого нужно иметь доступ к исходным кодам надстройки solver.xla(m))
2. Выгружать данные в Эксель, запускать надстройку (которая должна быть установлена у пользователя), получать из Экселя данные и использовать их.
Для этого нужно перенести макрос, запускающий решение, в Аксапту. Что тоже усложняется за счет различных версий Эксель у пользователей (а с этим постоянно проблемы).
Код, который делает это в VBA, такой приблизительно:
X++:
SolverAdd CellRef:="$D$2:$D$5", Relation:=4, FormulaText:="целое"
SolverAdd CellRef:="$D$10:$D$13", Relation:=3, FormulaText:="$F$10:$F$13"
SolverAdd CellRef:="$D$10:$D$13", Relation:=1, FormulaText:="$G$10:$G$13"
SolverOk SetCell:="$D$16", MaxMinVal:=2, ValueOf:="0", ByChange:="$D$2:$D$5"
SolverSolve
Исходный код надстройки недоступен, но "нечестным" путем его удалось получить

Я бы выложил сюда, но не знаю, нарушает ли это какие-то правила.
Кода много, как выдрать из него только требуемую функциональность пока тоже непонятно.
Кто что скажет/посоветует?