首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >最小变量和附加约束线性方程组

最小变量和附加约束线性方程组
EN

Stack Overflow用户
提问于 2017-02-07 21:25:18
回答 1查看 594关注 0票数 3

我有一个线性方程组,我已经用Gauss消去法把它简化成一个列阶矩阵。我的系统有n个变量Xn (其中Xn在N0 (=正整数)中)有多个解,我想找出所有Xn的和是最小的解。

我怎么能这么做programmatically

例如,考虑这个线性方程组:

代码语言:javascript
运行
复制
x1 +              + x5 + x6 = 2
     x2           + x5      = 1       
          x3           + x6 = 1
               x4 + x5 + x6 = 1

我想得到的最小解之一是:

代码语言:javascript
运行
复制
x3 = x4 = x5 = 0
x1 = x2 = x6 = 1 

另一个会是

代码语言:javascript
运行
复制
  x2 = x4 = x6 = 0
  x1 = x3 = x5 = 1

但我不想

代码语言:javascript
运行
复制
 x1 = 2
 x2 = x3 = x4 = 1
 x5 = x6 = 0

这也是该系统的一个解决方案,但根据我的标准,即x1 + x2 + x3 + x4 + x5 + x6 =5,这不是最小的解决方案(而对于最初的两个解决方案,只有3)。

在多个最小解的情况下(如这里,解决方案1和2都是极小的),只要它是最小解之一,我就不关心返回的最小解。

EN

回答 1

Stack Overflow用户

发布于 2017-02-07 21:42:02

由于变量都是非负的,所以这个问题实质上等同于整数规划。使用现成的整数程序求解器,并制定如下

代码语言:javascript
运行
复制
minimize x1 + x2 + x3 + x4 + x5 + x6
subject to
x1                + x5 + x6 = 2
     x2           + x5      = 1
          x3           + x6 = 1
               x4 + x5 + x6 = 1
integers
x1, x2, x3, x4, x5, x6 >= 0

(确切的语法取决于工具)。

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

https://stackoverflow.com/questions/42100282

复制
相关文章

相似问题

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