В настоящее время я использую QuadProg ++ для решения двойной проблемы. Эта проблема также имеет некоторые ограничения блока, то есть ограничения, которые ограничивают переменную между двумя значениями. Однако в QuadProg ++ нет положения, позволяющего включать такие ограничения. Он принимает только ограничения равенства и неравенства. Эквивалентный инструмент квадратичного программирования в MATLAB, с другой стороны, содержит условие включения рамочных ограничений.
Вы можете взглянуть на следующую ссылку, чтобы понять, о чем я говорю:
http://www.mathworks.in/help/optim/ug/quadprog.html
В принципе, у меня есть ограничение, эквивалентное фунту < Икс < UB.
Я попытался добавить это как ограничение неравенства, но это не работает. Это приводит к ошибке, говоря, что ограничения линейно зависимы. Тем не менее, я уверен, что вводимые мной ограничения никоим образом не зависят друг от друга.
Пожалуйста, предложите обходной путь или какой-либо другой инструмент квадратичного программирования на C ++, который может быть мне полезен. Спасибо!
Задача ещё не решена.