Рассматривая эту проблему с точки зрения исследования операций, вы рассматриваете некоторые из целочисленных программ (MIP).Подход к решению проблемы с рюкзаком может быть достаточным, но без получения более подробных сведений о проблеме я не могу предложить более детальную формулировку.
После того, как вы определились с вашей формулировкой, для решения проблемы имеется пара решений на c #MIP.У Microsoft есть Microsoft Solver Foundation, который вы можете изучить, который способен решать простые MIP, и который имеет приятный C # API
. IBM недавно приобрела пакет оптимизации OPL (считается ведущим в отрасли), который вы можете использовать для разработки своегоMIP формулировка.Как только у вас есть формулировка, OPL предлагает .NET API, которые вы можете вызвать для запуска ваших моделей.
Пройдя сам путь OPL, я бы по возможности избегал использования OPL .NET API, потому что они очень громоздки.Если ваша проблема проста, возможно, вы захотите взглянуть на основу решения, потому что она предлагает современный и чистый API по сравнению с OPL