推荐的.Net中的线性规划库?任何人都可以推荐一个图书馆-免费的,或商业的,但负担得起(这里列出了一些:http://en.wikipedia.org/wiki/Linear_programming#Solvers_and_scripting_.28programming.29_languages....但我才刚刚开始LP,并希望有人能推荐一些东西。我试图基本上将手机订阅服务的定价降到最低。我想第一个问题是:线性规划是否适合解决这个问题?一个简化的例子:基本计划选项计划A:200分钟语音,10条短信,10MB数据=25美元计划B:400分钟语音,25条短信,25MB数据=40美元计划C:1000分钟语音,50条短信,50MB数据=65美元...计划F:2500分钟语音、150条短信、150MB数据=95美元超额计划费用(适用于所有情况):每分钟语音0.10美元每条短信0.20美元每MB数据1.50美元可选附加包(添加到基本计划中))免费周末$15免费晚上和周末(晚上8点后)$20免费晚上和周末(下午6点后)$35文本包#1(50条短信)$5短信包#2(150条短信)$10数据包#1(20MB数据)20美元数据包#2(50MB数据)30美元ChattyUserMixedPack#1(100分钟语音,100条短信)15美元订单PeopleHateUserMixPack#1(50分钟语音,150MB数据)35美元等。我有一套50个用户的详细使用数据,想知道每个用户应该使用哪个基本计划组合(A、B、C...F),以及他们应该拥有哪些附加包。您可以尝试MicrosoftSolverFoundation。它是一个数学规划库,支持解决线性规划、混合整数规划、随机规划以及其他优化和建模问题。它提供快速(免费)、标准和企业(MSDN订阅)版本。首先,我猜您可能需要比简单的LP求解器更复杂的东西。大多数手机服务都有断点,您可能希望根据通话时长、频率、一天中的时间等从一种服务切换到另一种服务。这种切换意味着需要整数变量,这意味着您可能需要MILP(混合整数线性规划)求解器。(如果你所有的成本函数和约束都是凸的,那么你可以使用LP求解器,但这有点领先于我们自己的)。好消息是也有开源和负担得起的MILP解决方案。我从LPSOLVE或SYMPHONY开始。查看COIN-OR网站以获取一些有用的背景信息。针对您增强的问题描述,我认为您可以简单地为每个计划使用50个用户中的每个用户,并单独应用每个选项。对于n个用户和m个可能的计划以及p个可能的选项,您需要查看每个用户的m*p个选项——但这有点无聊。从用户的角度来看,一个更有趣的问题是:计划之间的断点在哪里?您能否定义无差异曲线-两个计划之间用户不关心的使用组合?这个问题可以用数学方法解决,可能使用一些线性代数技术,但没有目标函数,所以它看起来不像MILP。从供应商的角度来看另一个有趣的问题——如何规划利润最大化如果让50个用户代表人口,您可以在这里应用一些优化。您需要限制用户的总成本并增加成本以获利,但我认为可以通过一种方式完成。查看GNU线性规划套件。http://www.gnu.org/software/glpk/以上是C#学习教程:推荐的.Net中的线性规划库?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
