Функция оптимизации границы наименьшего квадрата в C ++?

Я довольно новичок в использовании Visual C ++ 2010 Express, но я не новичок в основах, и я пытаюсь выяснить, как использовать внешнюю библиотеку для выполнения оптимизации наименьших квадратов с ограничением границ.

Проще говоря, я хочу использовать линейные наименьшие квадраты, чтобы найти матрицу W из:

X * W = T

где

X is a matrix with 50 columns and 3 rows (50 x 3),

W is a column matrix with 50 elements (1 x 50) and

T is a column matrix with 3 element (1 x 50)

Ограничения на значения элементов W — давайте назовем элементы ‘w’.

0 <= w <= 1

Сделать это в MATLAB довольно просто, но мне нужно реализовать это на C ++. Я реализовал начальный бит моего кода для формулировки матриц X и T.

Есть ли какая-нибудь библиотека / функция, которую я могу использовать в Visual C ++ 2010 Express для оптимизации наименьших квадратов с ограничением границ? Я пытался использовать ALGLIB, LEVMAR и NLOPT.

ALGLIB требует, чтобы массивы определялись в собственном типе данных.

У LEVMAR очень мало информации об установке и какой функции мне нужно использовать.

NLOPT, похоже, не имеет функции для этого. Кроме того, я не могу заставить его работать, даже после того, как я сгенерировал файл lib, используя инструкции Вот и связал lib и исходные файлы в VC ++.

Может кто-нибудь помочь мне с любыми предложениями? Это действительно легко реализовать в MATLAB, но я боюсь, что мне нужно использовать C ++.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …