2009-07-31 8 views
10

Czy istnieje biblioteka optymalizacji w języku C#?Bezpłatna biblioteka optymalizacji w języku C#

Muszę zoptymalizować skomplikowane równanie w Excelu, dla tego równania istnieje kilka współczynników. I muszę je zoptymalizować zgodnie z funkcją fitness, którą definiuję. Więc zastanawiam się, czy istnieje taka biblioteka, która robi to, czego potrzebuję?

+0

Możecie zajrzeć do programu Excel Solver. –

+0

Excel Solver, czy jest on powiązany tylko z programem Excel? – Graviton

+0

Dlaczego nie konstruktywne pytanie? Czy ktoś może go ponownie otworzyć? –

Odpowiedz

13

Poniżej przedstawiono kilka wolnych i otwarte C# implementrions

  • Nelder Mead Simplex implementation [Alternate Link]
  • Numerical dostarcza różnych algorytmów, w tym:
    • Chromosom Menedżer
    • genetyczne Optimizer
    • Optymalizator wspinaczki górskiej
    • Maksymalizacja Punkt
    • Maksymalizacja PointFactoy
    • Maksymalizacja Wektor
    • Minimalizacja Punkt
    • Minimalizacja Punkt Fabryka
    • Minimalizacja Wektor
    • Wielu Zmienna Ogólne Optimizer
    • Wielu Zmienna Optimizer
    • jednej zmiennej Funkcja Optimizer
    • Optymalizacja Wspornik Finder
    • Optymalizacja punktu
    • Optymalizacja punktu Fabrykę
    • Optymalizacja Vector
    • Simplex Optimizer
    • Wektor Chromosom Menedżer
    • Wektor Genetic Optimizer
    • Wektor Prognozowana Funkcja
  • DNAnalytics
    • Zrobione zarówno jako czyste rozwiązanie zarządzane, jak i cienkie opakowanie kodu niezarządzanego Intela.
    • jest połączone w MathNetNumerics

Więcej można znaleźć na tej list

Zauważ, że optymalizujące często korzystają z bardziej ekstremalnych kodu (lub zespołu) optymalizacje, które nie są naprawdę możliwe w czystej managed C#.JEŚLI poważna szybkość jest problemem, to kierowanie na niezarządzaną implementację, taką jak NAG lub MOSEK, może również przynieść znaczące korzyści, które przeważają nad kłopotami związanymi z udostępnianiem danych dla niezarządzanego API (przypinanie zarządzanego bufora lub używanie plików mapowanych w pamięci) na przykład

+2

Link do implementacji Nelder Mead Simplex wydaje się być uszkodzony ... – RUser4512

+0

@ RUser4512 Dodano podobne łącze Google Code tego samego autora (podobno) – Salmonstrikes

3

Wydaje się, że istnieje wiele różnych bibliotek optymalizacji dla języka C#. This Jeden wydaje się być najbardziej popularny.

Oferują wersję próbną, więc przed zakupem można sprawdzić, czy będzie działać w konkretnej sytuacji.

8

Jedną z opcji jest Microsoft Solver Foundation, ma również express edition

+1

Jednym z aspektów MSF, który odkryłem jest to, że musisz zdefiniować funkcję fitness za pomocą ich konstrukcje ekspresyjne. Jeśli masz już złożoną funkcję fitness, może być trudno ją wyrazić przy użyciu konstrukcji MSF. – Justas