首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >求解基础单纯形解需要花费大量的时间。

求解基础单纯形解需要花费大量的时间。
EN

Stack Overflow用户
提问于 2013-05-20 05:59:03
回答 1查看 1.1K关注 0票数 2

试图使用Solver基金会解决以下问题:

给定:范围:{x _x从双}和点:{(x,y) \ x,y从双}

从double}中找到分段线性函数-{ (a,b) \x,a,b,其中:

  • 直线画在x‘s之间的范围内。
  • 包括所有的要点。
  • 图下的最小面积。

示例:范围:{1,2,3},点{(1,40),(1.5,40),(2.5,70)}

我的解决方案:

使用Simplex尽量减少下列问题:

我范围外加:

代码语言:javascript
运行
复制
var ai = new Decision(Domain.RealRange(0, 100), null);
var bi = new Decision(Domain.RealRange(0, 100), null);
model.AddDecisions(a, b);

从i范围内的点开始添加约束

代码语言:javascript
运行
复制
model.AddConstraints("c{0}".F(pointIdx), a * point.x + b >= point.y);

然后添加目标:

代码语言:javascript
运行
复制
model.AddGoal("area", GoalKind.Minimize, goal);

找到解决办法:

代码语言:javascript
运行
复制
var solution = context.Solve(new SimplexDirective());

这个解决方案给了我一个正确的答案,但对于简单的情况,它需要大量的时间,需要130 ms。你能告诉我我做错了什么吗?我可以在哪里进行优化?这种情况下单纯形方法正确吗?我们有比SolverFoundation更好的软件解决方案进行优化吗?

EN

回答 1

Stack Overflow用户

发布于 2013-12-04 05:32:27

尝试从OML字符串加载模型,强制执行单纯形求解器以检查您的问题是否是LP。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16643411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档