C# Net中线性规划的推荐库?

C# Net中线性规划的推荐库?,c#,.net,linear-programming,C#,.net,Linear Programming,有人能推荐一个免费的图书馆吗?或者是一个商业的但价格合理的图书馆吗( 这里列出了一些: ……但我只是从LP开始,希望有人能推荐一些东西 我正试图从根本上降低手机订阅服务的定价。 我想第一个问题是:线性规划是否适用于解决这个问题 一个简化的例子: 基本计划选项 方案A:200分钟语音,10条短信,10 MB数据=25美元 方案B:400分钟语音,25条短信,25 MB数据=40美元 方案C:1000分钟语音,50条短信,50MB数据=65美元 … 方案F:2500分钟语音,150条短信,150

有人能推荐一个免费的图书馆吗?或者是一个商业的但价格合理的图书馆吗( 这里列出了一些:

……但我只是从LP开始,希望有人能推荐一些东西

我正试图从根本上降低手机订阅服务的定价。
我想第一个问题是:线性规划是否适用于解决这个问题

一个简化的例子:

基本计划选项
方案A:200分钟语音,10条短信,10 MB数据=25美元
方案B:400分钟语音,25条短信,25 MB数据=40美元
方案C:1000分钟语音,50条短信,50MB数据=65美元

方案F:2500分钟语音,150条短信,150 MB数据=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
聊天用户混合套餐#1(100分钟语音,100条短信)$15
极客用户混合包#1(50分钟语音,150 MB数据)$35
等等等等等等


我有一组50个用户的详细使用数据,我想知道每个人应该使用哪种基本计划组合(a、B、C…F),以及哪些附加包他们应该有。

首先,我猜你可能需要比简单的LP解算器更复杂的东西。大多数手机服务都有断点,你可能需要根据通话长度、频率、时间等从一种服务切换到另一种服务。这种切换意味着需要整数变量,这意味着你可能需要我们设计了一个MILP(混合整数线性规划)解算器。(如果你所有的成本函数和约束都是凸的,你可以使用LP解算器,但这有点超前了)。好消息是,也有开源和价格合理的MILP解算器

我会从LP SOLVE或SYMPHONY开始。请查看投币网站以获取一些有用的背景信息

作为对您增强的问题描述的回应,我认为您可以简单地将50个用户中的每一个都计算出来,然后分别应用每个选项。对于n个用户、m个可能的计划和p个可能的选项,您需要查看每个用户的m*p选项,但这有点无聊

从用户的角度来看,一个更有趣的问题是:计划之间的断点在哪里?你能定义无差异曲线吗?用户在两个计划之间无差异的使用组合?这个问题可以用一些线性代数技术从数学上解决,但实际上没有一个目标f所以它看起来不像牛奶

从提供商的角度来看,另一个有趣的问题是如何制定计划以实现利润最大化?在这里,如果你将50个用户作为总体的代表,你可以应用一些优化。你需要对一个用户的总成本设定上限,并加上成本以获得利润,但我认为一个公式是可行的。

你可以它是一个数学规划库,支持解决线性规划、混合整数规划、随机规划以及其他优化和建模问题


它有Express(免费)、Standard(标准)和Enterprise(MSDN订阅)版本。

查看GNU线性编程工具包


既然我已经更彻底地描述了这个问题,你有没有机会再发表评论?谢谢:)谢谢更新…值得思考…随时向我们通报-这是一个有趣的问题LP无法解决手机计划这一事实让我感觉好多了,我永远无法解决这些问题似乎从这个库中消失了