C++ 将要素不平等约束(全部xi>;0)添加到现有解算器";最小化{| | Ax-b | |}”;

C++ 将要素不平等约束(全部xi>;0)添加到现有解算器";最小化{| | Ax-b | |}”;,c++,matrix,linear-algebra,C++,Matrix,Linear Algebra,我有一个可以求解最小化{| | Ax-b | |}(线性最小二乘法)的方法 A是一个矩阵,而x和b是一个向量 A可能是不可逆的 A不是方矩阵 现在,我想用附加约束来解决它:all xi>0 问题 如何调整/封装解算器以支持约束all xi>0 我更倾向于认为现有库是一个黑盒函数-solve(a,b,x) 我想把它封装成正的(A,b,x) 对于一个答案,我希望有一个大致的想法,也就是说,它根本不需要包含任何代码 编辑:。。。。或者我应该写一个新的算法吗? 如果是,适用算法的名称是什么? 我想找

我有一个可以求解
最小化{| | Ax-b | |}
(线性最小二乘法)的方法

  • A
    是一个矩阵,而
    x
    b
    是一个向量
  • A
    可能是不可逆的
  • A
    不是方矩阵
现在,我想用附加约束来解决它:
all xi>0

问题 如何调整/封装解算器以支持约束
all xi>0

我更倾向于认为现有库是一个黑盒函数-
solve(a,b,x)

我想把它封装成正的(A,b,x)

对于一个答案,我希望有一个大致的想法,也就是说,它根本不需要包含任何代码

编辑:。。。。或者我应该写一个新的算法吗?
如果是,适用算法的名称是什么?
我想找一位初学者友好的导游

我的搜索
  • 描述周围的事物

  • 描述如何执行此操作,但采用拉格朗日方式。这对我来说是个仙境

  • 中的第三篇文章提供了一个代码,但我没有找到算法工作原理的描述


有很多算法和库可以解决这些问题。查一下“线性规划”。@Peter请你说得更具体一点好吗?算法的名称是什么?线性规划最大化/最小化
矩阵*向量
,而不是最小化
错误
。我的问题可以转化为线性规划吗?线性规划使成本函数最大化(或最小化)。其中一个代价函数可以是
*矩阵*向量的长度
@Peter我刚刚搜索了“线性规划长度(或大小)向量”,什么也没找到。我读书;发现的成本仅与
(c^t)*x类似(不包括尺寸)。我不知道成本可以是
| | | | | |
例如
| | A*x-b |
。请开导我。