如何解决不平等制度?

问题描述 投票:0回答:5

我已将我的问题(表格布局算法)简化为以下问题:

想象我有 N 个变量 X1,X2,...,XN。我也有一些(未确定的)数量的不平等,例如:

X1 >= 2
x2 + X3 >= 13
等等

每个不等式都是一个或多个变量的总和,并且始终使用 >= 运算符将其与常量进行比较。我无法提前说出每次会有多少个不等式,但所有变量都必须是非负的,因此每个变量已经是一个。

如何以变量值尽可能小的方式求解该系统?

添加:阅读维基百科文章并意识到我忘记提及变量必须是整数。我猜这会导致 NP 困难,是吧?

algorithm system solver linear-programming inequality
5个回答
7
投票

最小化 x1 + x2 + ...,其中 xi 满足线性约束称为线性规划。 Wikipedia

中对此进行了详细介绍

6
投票

你遇到的是一个非常基本的线性规划问题。您想要最大化方程

X_1 + ... + X_n
并遵守

X_1 >= 2
X_2 + X_3 >= 13
etc.

有许多算法可以解决此类问题。最著名的是 Simplex 算法,尽管存在 LP 问题,Simplex 算法需要指数级的许多步骤来解决(在问题大小方面),但它在一般情况下可以非常有效地求解方程(有某些注意事项) .

LP 求解器有多种实现。例如LP_Solve应该满足您的大部分要求


2
投票

您也可以直接将您的线性模型发布到NEOS平台(http://neos.mcs.anl.gov/neos/solvers/index.html)。您首先要做的就是用代数语言(例如 AMPL)编写模型。然后NEOS将求解模型并通过电子邮件返回结果。


1
投票

0
投票

参见“用于求解线性不等式系统和线性规划问题的单纯形法的一个版本 贾安·乌比、埃瓦尔德·乌比”

© www.soinside.com 2019 - 2024. All rights reserved.