I am working with some data for which I am interested in calculating some physical parameters. I have a system of linear equations, which I can write in matrix form as:
$$ \textbf{A} \textbf{x} = \textbf{b} $$
where $\textbf{A}$ is a square matrix containing the coefficients of the linear equations, $\textbf{x}$ is a column vector of length $n$ containing the unknown parameters that I want to calculate, and $\textbf{b}$ is a known vector of length $n$.
Given no other constraints, the solution is to simply calculate $\textbf{x}$ by inverting $\textbf{A}$. However, I have hard inequality constraints on $\textbf{x}$ because of physical reasons of the data in question:
$$ 0 \leq x_i \leq c_i \ \forall \ i=1,2,...n $$
where $x_i$ are the values in $\textbf{x}$ and all $c_i$ are known.
Now, these extra inequality constraints make the problem overdetermined. However, I have the choice to remove data (e.g., remove rows from $\textbf{A}$) because I know a priori that some data are more reliable. Thus, I am hoping that I can make the unconstrained problem underdetermined, but given the hard inequality constraints, make the constrained problem exactly determined and calculate a single unique solution of $\textbf{x}$.
To summarize, my question is: how can I solve a determined system of linear equations subject to inequality constraints on the unknown parameters?
I looked into a few potential techniques like linear programming and bounded variable least squares. However, the goal of those methods is to maximize or minimize some objective function, whereas I want an exact solution to my equations. My gut feeling is that a solution should exist but I don't have the linear algebra background to find it, so I appreciate any help!
These are details on my specific problem that might help with a solution:
- All values in $\textbf{A}$ are between 0 and 1.
- The value of the $c_i$ is at most 1.
- $n=36$