Бесплатная библиотека оптимизации на C#

Есть ли какая-нибудь библиотека оптимизации на С#?

Мне нужно оптимизировать сложное уравнение в excel, для этого уравнения есть несколько коэффициентов. И я должен оптимизировать их в соответствии с фитнес-функцией, которую определяю. Вот мне интересно, есть ли такая библиотека, которая делает то, что мне нужно?


person Graviton    schedule 31.07.2009    source источник
comment
Вы можете посмотреть в Excel Solver.   -  person Lance Roberts    schedule 31.07.2009
comment
Excel Solver, он привязан только к Excel?   -  person Graviton    schedule 31.07.2009
comment
Почему не конструктивный вопрос? Может ли кто-нибудь снова открыть его, пожалуйста?   -  person Erwin Mayer    schedule 09.09.2013


Ответы (4)


Вот несколько бесплатных реализаций С# с открытым исходным кодом.

  • реализация Nelder Mead Simplex [Альтернативная ссылка]
  • Numerical provides a variety of algorithms including:
    • Chromosome Manager
    • Генетический оптимизатор
    • Оптимизатор подъема в гору
    • Максимальная точка
    • Максимизация PointFactoy
    • Максимизирующий вектор
    • Минимизация точки
    • Минимизация фабрики точек
    • Минимизация вектора
    • Многовариантный общий оптимизатор
    • Многовариантный оптимизатор
    • Оптимизатор функций с одной переменной
    • Оптимизация поиска брекетов
    • Оптимизация точки
    • Оптимизация фабрики точек
    • Оптимизация вектора
    • Симплекс оптимизатор
    • Менеджер векторных хромосом
    • Векторный генетический оптимизатор
    • Функция векторной проекции
  • DNAnalytics
    • Done as both a pure managed solution and as a thin wrapper over the Intel unmanaged code.
    • объединяется с MathNetNumerics

Дополнительную информацию можно найти в этом списке.

Обратите внимание, что оптимизаторы часто выигрывают от более экстремальной оптимизации кода (или сборки), которая на самом деле невозможна в чистом управляемом C#. ЕСЛИ серьезной проблемой является скорость, то таргетинг на неуправляемую реализацию, такую ​​как NAG или MOSEK, вполне может обеспечить значительные преимущества, которые перевешивают трудности с предоставлением доступа к данным для неуправляемого API (например, закрепление управляемого буфера или использование файлов с отображением памяти).

person ShuggyCoUk    schedule 01.08.2009
comment
Ссылка на реализацию Nelder Mead Simplex кажется неработающей... - person RUser4512; 12.08.2015
comment
@ RUser4512 Добавлена ​​аналогичная ссылка на Google Code от того же автора (очевидно) - person Salmonstrikes; 04.07.2017

Одним из вариантов является Microsoft Solver Foundation, который также имеет экспресс-выпуск

person jeroenh    schedule 01.08.2009
comment
Один аспект MSF, который я обнаружил, заключается в том, что вы должны определить фитнес-функцию, используя их конструкции выражения. Если у вас есть сложная фитнес-функция, ее может быть сложно выразить с помощью конструкций MSF. - person Justas; 18.02.2016
comment
Есть ссылка на более старую версию, чем 3.1? Он поддерживает только .NET Framework 4.0, а мне нужна 3.5. - person KSdev; 18.07.2018

Кажется, существует много разных библиотек оптимизации для C#. Однако этот вариант оказался наиболее популярным.

Они предлагают пробную версию, поэтому перед покупкой вы можете убедиться, что она будет работать в вашей конкретной ситуации.

person Dustin Hoffman    schedule 31.07.2009

Microsoft Solver Foundation поддерживает любой язык .NET, включая C#, а экспресс-версия бесплатна (с некоторыми ограничениями).

http://code.msdn.microsoft.com/solverfoundation

person Nigel    schedule 03.06.2010
comment
У вас случайно нет ссылки на старую версию? Единственная доступная версия, 3.1, предназначена для .NET Framework 4.0, а мне нужна версия .NET Framework 3.5. - person KSdev; 18.07.2018