You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

特定约束下线性规划三类解的求解方案咨询:目标函数构造与实现思路

特定约束下线性规划三类解的求解方案咨询:目标函数构造与实现思路

我现在在做一个程序,需要解决这类线性不等式问题:
$$Ax\leq b $$
其中$A$是$m\times n$的实矩阵,$x \in \mathbb{R^n} $,$b \in \mathbb{R^m} $,同时还要满足这些约束条件:

  • $\sum_{j=0}^n x_j= 1$
  • $x_j\geq 0, \forall ,j\in J$
  • $b_i\geq 0, \forall , i\in I$

我需要找到三类解:

  • 最小化$x$的解
  • 最大化$x$的解,还要指出是哪个$x_j$让这个解达到了约束上限(就像我下面举的例子那样,我暂时没法精准描述这个需求)
  • 最接近$x_j = \frac{1}{n}, : \forall ,j\in J $的解

示例说明

举个很简单的例子:
给定 $A = (1.5, 0.2)$,$b=1$,我期望得到的三类解是:

  • $S_1={x_1=0\quad \wedge\quad x_2=1} $
  • $S_2 ={x_1=0.615\quad \wedge\quad x_2=0.385},\quad$ $x_1$是让解触达约束上限的变量
  • $S_3={x_1=0.5\quad \wedge\quad x_2=0.5} $

我的困惑与求助

我本来觉得直接实现单纯形算法就行,但后来发现单纯形算法需要目标函数对吧?可我现在好像没有现成的目标函数。能不能针对我这三类需求分别构造合适的目标函数?或者有没有其他好的思路可以推荐?

补充一下:$J$和$I$的元素个数都不超过20,而且我之前从来没接触过线性规划😅

编辑补充:关于最大化/最小化的具体含义,我大概是这个意思:
$$min{c^T x,|, x\in \mathbb{R^n} \wedge Ax \leq b \wedge x,b \geq 0}$$
$$max{c^T x,|, x\in \mathbb{R^n} \wedge Ax \leq b \wedge x,b \geq 0}$$
我不太确定这个$c$向量该怎么选,这应该就是我缺失的部分吧?
我对线性规划的了解大多来自基础的线性规划理论。


备注:内容来源于stack exchange,提问作者Blueman

火山引擎 最新活动