Я ищу библиотеку на C, которая будет оптимизировать целевую функцию (предпочтительнее алгоритм Левенберга-Марквардта) и будет поддерживать ограничения ящиков, ограничения линейного неравенства и ограничения нелинейного неравенства.
Я уже пробовал несколько библиотек, но ни один из них не использует необходимые типы ограничений для моего приложения:
- GNU GSL (не поддерживает ограничений вообще)
- cMPFIT (поддерживается только ограничение по ящикам)
- levmar (вообще не поддерживает нелинейные ограничения)
В настоящее время я изучаю NLopt, но я не уверен, могу ли я достичь подхода наименьших квадратов с любым из поставленных алгоритмы.
Мне трудно поверить, что нет ни одной библиотеки, поддерживающей полный диапазон ограничений в этой проблеме, поэтому я предполагаю, что я ошибся где-то во время поиска.
Недавно я обнаружил, что я могу вызывать функции Matlab из C. Хотя это довольно легко решает проблему, я не хочу, чтобы мне приходилось вызывать функции Matlab из C. Это не быстро в моем опыте.
Любая помощь будет принята с благодарностью.