2010-04-15 4 views
5

У меня есть приложение на C#, мне нужно сделать некоторые расчеты оптимизации, например, надстройка Excel Solver, один вариант - это, конечно, написать мою собственную реализацию решателя, но я вроде как не хватает времени, поэтому я глядя в уже существующие библиотеки, которые могут помочь мне в этом.Как реализовать функцию Excel Solver в C#?

Я пытался создать Microsoft Solver Foundation, который выглядит довольно аккуратно и круто, проблема в том, что он не работает с теми вычислениями, которые мне нужно делать.

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

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

Спасибо.

Дополнительная информация:

Это данные мне нужно рассчитать:

У меня есть 7 переменных, позволяет называть их var1, var2, ..., var7

Ограничением эти переменные:

  • Все они должны быть 0 < = варн < = 0,5 (где п число о е переменная)
  • Сумма всех переменных должна быть равна 1

Цель состоит в том, чтобы максимизировать целевую формулу, которая в Excel выглядит следующим образом:

(MMULT(TRANSPOSE(L26:L32),M14:M20))/(SQRT(MMULT(MMULT(TRANSPOSE(L26:L32),M4:S10),L26:L32)))

диапазона, вы видите в этой формуле L26: L32, на самом деле это диапазон с переменными сверху, var1, var2, ..., varn.

M14: M20 и M4: S10 - это диапазоны с данными, которые я получаю из разных источников, есть более вероятные десятичные значения.

Как я уже говорил, я использовал Microsoft Solver Foundation, я смоделировал почти все с ним, я создал функции, которые обрабатывают операции целевой формулы, но когда я пытался решить модель, она всегда терпит неудачу, я думаю это из-за сложности операций.

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

ответ

2

Вот несколько коммерческих.NET библиотеки, содержащие различные виды функций многих переменных оптимизации, которые могут быть заменой решатель в Excel:

Если вы нашли хорошую некоммерческую/с открытым исходным кодом библиотека для этой цели, дайте мне знать.

Смежные вопросы