Next Article in Journal
Artificial Intelligence for Management Information Systems: Opportunities, Challenges, and Future Directions
Next Article in Special Issue
Lipschitz Continuity Results for a Class of Parametric Variational Inequalities and Applications to Network Games
Previous Article in Journal
Design of Cloud-Based Real-Time Eye-Tracking Monitoring and Storage System
Previous Article in Special Issue
Optimal Maintenance Schedule for a Wind Power Turbine with Aging Components
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Review

A State of the Art Review of Systems of Linear Inequalities and Related Observability Problems

by
Enrique Castillo
1,2,3
1
Department of Applied Mathematics and Computational Sciences, University of Cantabria, Avda. de Los Castros s/n, 39005 Santander, Spain
2
Spanish Royal Academy of Engineering, Don Pedro 10, 28005 Madrid, Spain
3
Spanish Royal Academy of Sciences, Valverde 22, 28004 Madrid, Spain
Algorithms 2023, 16(8), 356; https://doi.org/10.3390/a16080356
Submission received: 12 July 2023 / Revised: 21 July 2023 / Accepted: 22 July 2023 / Published: 25 July 2023
(This article belongs to the Special Issue Recent Advances in Nonsmooth Optimization and Analysis)

Abstract

:
This work is a short review of the state of the art aiming to contribute to the use, disclosure, and propagation of systems of linear inequalities in real life, teaching, and research. It shows that the algebraic structure of their solutions consists of the sum of a linear subspace, an acute cone, and a polytope, and that adequate software exists to obtain, in their simplest forms, these three components. The work describes, based on orthogonality and polarity, homogeneous and complete systems of inequalities, the associated compatibility problems, and their relations with convex polyhedra and polytopes, which are the only possible solution for bounded problems, the most common in real practice. The compatibility and the observability problems, including their symbolic forms, are analyzed and solved, identifying the subsets of unknowns with unique solutions and those unbounded, important items of information with practical relevance in artificial intelligence and automatic learning. Having infinitely many solutions of a given problem allows us to find solutions when some of the assumptions fail and unexpected constraints come into play, a common situation for engineers. The linear programming problem becomes trivial when the set of all solutions is available and all solutions are obtained, contrary to the case of standard programs that provide only one solution. Several examples of applications to several areas of knowledge are presented, illustrating the advantages of solving these systems of inequalities.

1. Introduction and Motivation

Linear systems of inequalities appear very frequently and play a central role in real practice. Cases of special relevance are those of linear programming problems, but there are many more. However, in spite of their importance, the way of dealing with these systems of equations is not well known and has not reached sufficiently the group of people working with these problems and their applications. In addition, the software available to solve them is not easily available and most people ignore where to find it. Consequently, this field has not advanced as expected. It is frustrating to enter the internet and look for methods to solve these systems and, incomprehensibly, find lots of entries in which only the cases of one, two or, at most, three inequalities are dealt with, giving the impression that general methods for large systems do not exist, when this is not the case. Some available software for small problems can be downloaded from: (https://meteo.unican.es/temp/castie/GammaAlgorithm/GammaAlgorithm.zip, accessed on 12 July 2023).
In addition, the problem of the solution of these systems has not been connected sufficiently with their associated problems in other fields, in which important advances were produced a ong time ago. This is the case of identifying the main components of polyhedra, such as edges, vertices, and facets, together with the methods to obtain then numerically (see [1], who finds the convex hull, facet by facet, and [2], who provide a pivoting algorithm to obtain facets and vertices). Since most linear systems of inequalities arising in real practice problems are bounded, that is, their sets of solutions are polytopes generated by their vertices, and methods for finding the vertices of a polytope are well known (e.g., [2,3] or [4]), they should be used very frequently to solve them. Unfortunately, this is not the case. If one looks at the less frequent case of unbounded problems, similar conclusions can be drawn.
Due to its connection with linear programming, some methods to solve systems of linear inequalities have been based on this problem, as, for example, the one described in [5], which solves only some particular cases.
In this paper, concerned with this fact and trying to break with this undesirable situation, we deal with a summary of the state of the art of these systems of inequalities and review some of the existing work, including some illustrative examples to motivate users and researchers to use these relevant tools and to facilitate and make available these important tools to people.
The paper is organized as follows. In Section 2, linear systems of equations are discussed with special consideration to their compatibility conditions and the identification of the subsets of unknowns that are unbounded or have unique solutions. In Section 3, we analyze systems of linear inequalities, homogeneous and complete, together with their corresponding compatibility problems, which become more complex than the case of systems of linear equations, because here dual cones replace orthogonal subspaces. In Section 4, the observability problem is presented and analyzed. We will see that between the two extremes of incompatibility and whole observability there is an interesting range of partial observability cases, which have important applications. In systems of linear inequalities in which there are infinitely many solutions, some set of unknowns could be uniquely identified, and for those with multiple solutions, lower and upper bounds and several other interesting items of information can be easily obtained. In Section 5, we demonstrate that the problem of linear programming becomes trivial if the system of constraints is initially solved or stated directly in its polyhedral form. Next, in Section 6, we present some examples of applications to motivate the use of the tools mentioned in this paper. Finally, we end, in Section 7, with a set of conclusions, as a summary of the paper’s contributions.

2. Systems of Linear Equations

The simplest and degenerated example of a system of linear inequalities is the system of linear equations, in which case the inequalities convert into equalities. The problem of analyzing the compatibility of these systems and solving them, obtaining their general solutions, i.e., all possible solutions, has important applications in practice. Apart from this work, the interested reader can find a free course at: https://www.uclm.es/Conocimiento/Cursos/Algebra-1-En, accessed on 12 July 2023.

2.1. Homogeneous Systems of Linear Equations

Consider first the interesting particular case of the homogeneous case (https://www.uclm.es/Conocimiento/Cursos/Algebra-1-En/Bloque-3/Item-9?id_peticion=DE2DCBDB-4EAD-4030-9E2F-F705FC2CDF76, accessed on 12 July 2023), in which all the b coefficients are null, that is,
a 11 x 1 + a 12 x 2 + + a 1 n x n = 0 a 21 x 1 + a 22 x 2 + + a 2 n x n = 0 a m 1 x 1 + a m 2 x 2 + + a m n x n = 0 ,
which, from the point of view of orthogonality, can be written in the equivalent form as:
( a 11 , a 12 , , a 1 n ) · ( x 1 , x 2 , , x n ) = 0 ( a 21 , a 22 , , a 2 n ) · ( x 1 , x 2 , , x n ) = 0 ( a m 1 , a m 2 , , a m n ) · ( x 1 , x 2 , , x n ) = 0 .
Since the above dot products are null, which implies orthogonality, this view allows us to conclude immediately that the set of solutions of the homogeneous system is the orthogonal subspace of the subspace generated by the vectors of coefficients of the different equations.

2.2. Complete Systems of Linear Equations

Next, consider the complete linear system of equations (https://www.uclm.es/Conocimiento/Cursos/Algebra-1-En/Bloque-3/Item-10?id_peticion=DE2DCBDB-4EAD-4030-9E2F-F705FC2CDF76, accessed on 12 July 2023):
a 11 x 1 + a 12 x 2 + + a 1 n x n = b 1 a 21 x 1 + a 22 x 2 + + a 2 n x n = b 2 a m 1 x 1 + a m 2 x 2 + + a m n x n = b m ,
where not all b coefficients are zeros.
For the orthogonal subspace to appear somewhere, we write this system in an equivalent form. To this end, first, we multiply the right-hand side terms, b 1 , b 2 , , b m , by a virtual unknown x n + 1 , which we make equal to 1 in order not to alter the system. Thus, we add the last constraint x n + 1 = 1 and move all x n + 1 terms to the left-hand sides to obtain:
a 11 x 1 + a 12 x 2 + + a 1 n x n b 1 x n + 1 = 0 a 21 x 1 + a 22 x 2 + + a 2 n x n b 2 x n + 1 = 0 a m 1 x 1 + a m 2 x 2 + + a m n x n b m x n + 1 = 0 x n + 1 = 1 .
Next, we solve the homogeneous system and later impose the constraint x n + 1 = 1 and remove this virtual constraint from the solution.
It is well known that the general solution we obtain, if it exists, is the sum of a linear subspace plus a particular solution, that is, an affine space.
If the system is homogeneous, that is, all the independent terms are null, the solution, if not degenerated, is a linear subspace and then it is unbounded. Thus, the only bounded case requires the non-existence of the linear subspace part in the solution. In addition, the bounded solutions are always unique.
An algorithm to obtain the orthogonal subspace of a given linear subspace can be seen in [6]. Based on the orthogonality concept the algorithm has very interesting applications, such as calculating and updating inverses and determinants, solving linear systems of equations and analyzing their compatibility, etc.
It is interesting to see the case of linear systems of equations from the point of view of orthogonality as above. In fact, it has been shown that the set of solutions of a homogeneous system is the linear subspace orthogonal to the linear subspace generated by the equation coefficients. This will become even more interesting when we analyze the general problem of linear systems of inequalities from the point of view of duality, where we will see that the dual cone of a linear subspace is its orthogonal subspace. Consequently, we will discover that the concept of dual cone is an extension of the concept of orthogonal subspace.
We recommend to the readers the convenience of handling different points of view, which will allow them to solve problems and guess their solutions more directly and in some cases solve them immediately. For example, the problem of determining whether or not a vector belongs to a linear subspace or the problem of obtaining the intersection of two linear subspaces can be solved taking into account the equivalences in Table 1.
In fact, to see if the vector v belongs to the linear subspace L ( a 1 , a 2 , , a n ) , we obtain first the orthogonal subspace L ( a 1 , a 2 , , a n ) and then we check that the dot products of v and its generators are all null.
Similarly, to obtain the intersection S 1 S 2 of two linear subspaces S 1 and S 2 , we first obtain the orthogonal subspace S 1 and later the orthogonal subspace S 1 of S 1 in S 2 . Then, it is evident that the ways of solving these two problems come from our new point of view.

The Plate Scanning Example

In this section, we illustrate the proposed methods by their application to a simple example. The reader can find another example in [7]. Consider the traffic network in Figure 1, which contains six nodes and nine links, and consider the origin–destination nodes (OD) and the nine routes indicated in Table 2, where its third column contains all route links.
In order to obtain information about the circulating traffic, we scan the plate numbers of the vehicles passing by links 1 , 4 , 5 , 6 , 8 , 9 , that is, our set of scanned links is the set SC = { 1 , 4 , 5 , 6 , 8 , 9 } . Table 2, in its fourth column, contains the scanned links of each route, and in its last column the number of scanned vehicles associated with each route. For example, w 1 is the number of scanned vehicles only in the camera of link 1, and w 2 is the number of vehicles scanned in the three links 1, 5, and 6. Note that this can be achieved thanks to the vehicle plate numbers.
We look for the sets of links, OD pairs, and route flows that are observable, that is, whose flows can be calculated in terms of the flows { w 1 , w 2 , , w 11 } .
If, with the help of Table 2, we write the links, OD pairs, and scanned flows in terms of the route flows, we obtain the following system of equations:
v 1 v 2 v 3 v 4 v 5 v 6 v 7 v 8 v 9 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 w 1 w 2 w 3 w 4 w 5 w 6 w 7 w 8 w 9 w 10 w 11 = 1 1 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 r 1 r 2 r 3 r 4 r 5 r 6 r 7 r 8 r 9 r 10 r 11 r 12
where v , t , w , and r are the vectors of route, link, OD pairs, and plate scanned flows, respectively.
Since the data in this case consists of the scanned flows w 1 to w 11 , we can rearrange this system (5) in the form:
1 1 0 0 0 0 0 1 1 0 0 0 | 1 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 | 0 1 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 | 0 0 1 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 | 0 0 0 1 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 1 0 0 0 | 0 0 0 0 1 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 | 0 0 0 0 0 1 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 | 0 0 0 0 0 0 1 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 | 0 0 0 0 0 0 0 1 0 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 | 0 0 0 0 0 0 0 0 1 | 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 | 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 | 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 | 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 | 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 | 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 | 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 | 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 | 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 | 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 | 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 | 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 | 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 r 1 r 2 r 3 r 4 r 5 r 6 r 7 r 8 r 9 r 10 r 11 r 12 v 1 v 2 v 3 v 4 v 5 v 6 v 7 v 8 v 9 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41 59 92 65 53 42 30 25 10 20 40 ,
where the data appear as the independent terms.
Equation (6) is a system of linear equations whose matrix can be used to obtain uniquely determined flows. In fact, the generators of the linear subspace in its general solutions can be found by using the orthogonality algorithm, leading to the set of solutions:
r 1 r 2 r 3 r 4 r 5 r 6 r 7 r 8 r 9 r 10 r 11 r 12 v 1 v 2 v 3 v 4 v 5 v 6 v 7 v 8 v 9 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 = 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 ρ + 41 59 92 92 65 53 42 30 25 10 20 40 155 51 20 45 294 172 60 102 122 41 59 0 65 53 42 30 25 70 .
Identifying the null rows of the above matrix allows us to know the observable flows, which are all of them except route r 3 , link v 2 , and OD t 3 .
Note that even though almost all flows are observable, there are three of them that are not and can take negative values because their values in the last column could be negative and the ρ coefficient can also be negative. This is due to the fact that the non-negativity of the flows has not been imposed.
Since the particular solution can be any one, the solution (7) can also be written as:
r 1 r 2 r 3 r 4 r 5 r 6 r 7 r 8 r 9 r 10 r 11 r 12 v 1 v 2 v 3 v 4 v 5 v 6 v 7 v 8 v 9 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 = 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 ρ + 41 59 0 92 65 53 42 30 25 10 20 40 155 41 20 45 294 172 60 102 122 41 59 92 65 53 42 30 25 70
where now the last matrix is non-negative, but the ρ values can still be negative.
We will see that non-negativity of flows can be imposed when discussing the systems of linear inequalities. We advance that if this is performed, the general solution will be the same as in (8) but replacing the ρ subindex by a π subindex that refers to non-negative linear combinations.

2.3. Compatibility of Systems of Linear Equations

Since systems of linear equalities do not always have a solution, it is very important to check whether or not a given system is compatible, that is, if it has at least one solution.
If we write the system of linear Equation (3) as:
x 1 a 11 a 21 a m 1 + x 2 a 12 a 22 a m 2 + + x n a 1 n a 2 n a m n = b 1 b 2 b m
which expresses the vector column of independent terms as linear combinations of the column vectors of the coefficients, we note that to see if the complete system is compatible, it is sufficient to check whether or not the vector of the independent terms belongs to the linear subspace generated by the column vectors, a , of the equation system, that is, b L ( a ) , which is the same as b L ( a ) , or better b L ( a ) . The last condition can be tested by obtaining the orthogonal subspace of the linear subspace generated by the column vectors of the system and testing orthogonality with the vector b (https://www.uclm.es/Conocimiento/Cursos/Algebra-1-En/Bloque-3/Item-11?id_peticion=DE2DCBDB-4EAD-4030-9E2F-F705FC2CDF76, accessed on 12 July 2023).

A Symbolic Compatibility Example

Consider the following linear system of equations.
x 1 + 2 x 2 x 4 = a 2 x 1 + x 2 + x 3 = b x 1 x 2 + x 3 + x 4 = c x 1 + x 2 + x 3 + x 4 = d .
To analyze the compatibility condition, using the orthogonality algorithm, we obtain the orthogonal subspace of the subspace generated by the column vectors of the system (10), which is the linear subspace:
x 1 x 2 x 3 x 4 = 1 1 1 0 ρ .
For the system to be compatible, the column vector of the independent terms in (10) must be perpendicular to the column vector in (11), that is, we must have
a b c d · 1 1 1 0 = a b + c = 0 a = b c .
With this, all compatible systems of the form (10) can be written as:
x 1 + 2 x 2 x 4 b + c = 0 2 x 1 + x 2 + x 3 b = 0 x 1 x 2 + x 3 + x 4 c = 0 x 1 + x 2 + x 3 + x 4 d = 0
whose solution, obtained using the orthogonalization algorithm, is:
x 1 x 2 x 3 x 4 b c d = 1 1 0 2 0 0 1 1 2 1 1 3 1 0 0 0 0 1 0 0 0 0 2 0 0 0 0 2 ρ ,
from which, obtaining ρ 2 , ρ 3 , and ρ 4 , in terms of b, c, and d, one obtains:
x 1 x 2 x 3 x 4 = ρ 1 1 0 2 1 + b 1 0 1 0 + c 0 1 / 2 1 / 2 0 + d 1 1 / 2 3 / 2 0 ,
which gives the solution of all compatible systems of the form (10). Note that this is a symbolic solution, because it is written in terms of b , c , and d.
As a particular compatible example, we can take a = c = 2 and b = d = 4 . Then, its solution, obtained by replacing these values in (15), is:
x 1 x 2 x 3 x 4 = 1 0 2 1 ρ + 0 1 3 0 ,
which is an affine space, that is, a linear subspace of dimension one plus a particular solution.

2.4. Some Software Available

Due to the large number of operations required for the computations, the only way of understanding in-depth systems of linear equations and working with them is using software packages especially designed for this purpose and solve numerous examples. However, as has been indicated, the software available is not easy to obtain. Some useful software packages in this area can be found in [8].
There are important methods to solve systems of linear equations, such as, the ABS methods, which solve systems of linear equations with a number of constraints smaller or equal to the number of unknowns and full rank matrices; see, for example, [9,10,11], or [12,13], which contain interesting reviews and a bibliography on ABS methods.
An exhaustive comparative analysis of some existing software to solve these linear systems of equations appears in [14].
To deal with the numerical properties and performance of these methods with respect to stability, ill conditioning, and other numerical problems, you can consult [15,16].
To start working and to understand the problem of systems of equations in some depth, one can use the orthogonalization algorithm developed by [17] and available at https://www.uclm.es/Conocimiento/Cursos/Algebra-1-En/Bloque-6/Item-23?id_peticion=D8EE1088-D079-458B-B580-BD4180CCD259, accessed on 12 July 2023. It is an algorithm to obtain the linear subspace orthogonal to a given subspace given by its generators, that provides a list of as many tables as the number of generators; the i-th table provides the orthogonal subspace of the linear subspace spanned by the first i generators. It has the advantage of giving this linear subspace in minimal form, that is, giving a basis of it. In addition to the orthogonal subspace, the complementary subspace is also kept in the tables. The idea of keeping the complementary information allows us to find the orthogonal subspaces of any of the subspaces generated by any subset of the provided generators, and solve simultaneously all subsystems of a given system of linear equations without extra computations, which has obvious advantages.

3. Systems of Linear Inequalities

Though systems of linear inequalities are very common, especially when dealing with linear programming, it is not easy to find publications where simple and general methods for solving this problem are described. The interested reader can find free courses on Youtube (https://www.uclm.es/Conocimiento/Cursos/Algebra-2-En, accessed on 12 July 2023).
As we will see immediately, we will use the concept of a dual cone of a polyhedral cone and use an algorithm to obtain it. This implies seeing the problem from the point of view of polarity, which has important advantages.
For example, taking into account the equivalent expressions in the rows in Table 3, to see if a vector v belongs to a cone C ( a 1 , a 2 , , a n ) , that is, the cone generated by the vectors a 1 , a 2 , , a n , we obtain first the dual or polar cone C ( a 1 , a 2 , , a n ) p and then we check that the dot products of v and the vectors in this dual cone are all less than or equal to zero.
Similarly, to obtain the intersection C 1 C 2 of two cones S 1 and S 2 we first obtain the dual cone C 1 p and later the dual cone C 1 p p of C 1 p in C 2 . Then, it is evident that the ways of solving these two problems come from our new point of view.

3.1. Homogeneous Systems of Linear Inequalities

Consider the following system of linear inequalities (https://www.uclm.es/Conocimiento/Cursos/Algebra-2-En/Bloque-3/Item-8?id_peticion=A827E15C-65EF-4CFA-8671-BB2F12122D25, accessed on 12 July 2023):
a 11 x 1 + a 12 x 2 + + a 1 n x n 0 a 21 x 1 + a 22 x 2 + + a 2 n x n 0 a m 1 x 1 + a m 2 x 2 + + a m n x n 0 ,
which can be written in equivalent form as:
( a 11 , a 12 , , a 1 n ) · ( x 1 , x 2 , , x n ) 0 ( a 21 , a 22 , , a 2 n ) · ( x 1 , x 2 , , x n ) 0 ( a m 1 , a m 2 , , a m n ) · ( x 1 , x 2 , , x n ) 0 .
Since the definition of the dual cone of a cone is the set of vectors such that their dot product by the vectors of the dual cone are non-positive, this new representation of the above system proves that its solution is the dual cone of the cone generated by the vectors whose components are the equation coefficients.
It is great that we identify the structure of the set of solutions of homogeneous systems of linear inequalities just based on the definition of a dual cone and its properties.
Since it is well known (see [18]) that any cone is the sum of a linear subspace and an acute cone, an immediate conclusion is that it is of interest to obtain its linear subspace part, as its basis, and the acute part of the cone, if it exists, as the set of edges of the acute cone. In this way, we can have minimal representations of the corresponding sets of solutions. The reader can see how to deal with these matters with general methods in [19,20].
Thus, if we have an algorithm able to obtain the dual cone of a given cone, we also have an algorithm for solving linear systems of inequalities. Some of these algorithm are described in some detail in [6,18,20,21].

Example of a Homogeneous System of Linear Inequalities

Consider the linear system of inequalities:
x 2 x 3 + 2 x 4 0 x 1 + x 2 + x 3 0 x 1 + 2 x 2 + x 4 0 x 1 + x 2 + x 3 + x 4 0 .
which can be written as:
( 0 , 1 , 1 , 2 ) · ( x 1 , x 2 , x 3 , x 4 ) 0 ( 1 , 1 , 1 , 0 ) · ( x 1 , x 2 , x 3 , x 4 ) 0 ( 1 , 2 , 0 , 1 ) · ( x 1 , x 2 , x 3 , x 4 ) 0 ( 1 , 1 , 1 , 1 ) · ( x 1 , x 2 , x 3 , x 4 ) 0 .
The solution is the dual of the cone generated by the vectors of the equation coefficients, that is, the dual of the cone:
x 1 x 2 x 3 x 4 = 0 1 1 1 1 1 2 1 1 1 0 1 2 0 1 1 π .
Note that we represent linear subspaces and cones as matrices containing as columns their generator vectors and a subindex ρ or π to refer to real and non-negative real coefficients, respectively.
Using the Γ algorithm, we can obtain the dual cone, which, written as a linear subspace plus an acute cone, provides the general solution of the homogeneous system (19) as:
x 1 x 2 x 3 x 4 = 2 1 1 0 ρ + 3 1 1 1 2 1 2 1 0 0 0 0 1 1 1 0 π = 2 ρ 3 π 1 π 2 + π 3 + π 4 ρ + 2 π 1 + π 2 2 π 3 π 4 ρ π 1 π 2 + π 3
where the Greek letter ρ refers to linear combinations using real numbers and the π to non-negative real number combinations, respectively. If the solution (22) is replaced in the system of equations (19), we obtain:
0 1 1 2 1 1 1 0 1 2 0 1 1 1 1 1 2 ρ 3 π 1 π 2 + π 3 + π 4 ρ + 2 π 1 + π 2 2 π 3 π 4 ρ π 1 π 2 + π 3 = π 2 π 4 π 1 π 3 2 π 3 π 4 2 π 1 π 2 0 0 0 0 ,
which proves that they are solutions of (19).

3.2. Complete Systems of Linear Inequalities

Consider now the following complete linear system of inequalities https://www.uclm.es/Conocimiento/Cursos/Algebra-2-En/Bloque-3/Item-9?id_peticion=A827E15C-65EF-4CFA-8671-BB2F12122D25, accessed on 12 July 2023):
a 11 x 1 + a 12 x 2 + + a 1 n x n b 1 a 21 x 1 + a 22 x 2 + + a 2 n x n b 2 a m 1 x 1 + a m 2 x 2 + + a m n x n b m ,
where the b coefficients are not all zeros.
Since we want to use the point of view of duality, we try to identify one dual cone to work with, but unfortunately, it is not easy with the system written in this form.
For the dual cone to appear in some place, we need to write this system in another equivalent form. To this end, first, we multiply the right-hand side terms, b 1 , b 2 , , b m by a virtual unknown x n + 1 , which we make equal to 1 in order not to alter the system. Thus, we add the last constraint x n + 1 = 1 .
a 11 x 1 + a 12 x 2 + + a 1 n x n b 1 x n + 1 a 21 x 1 + a 22 x 2 + + a 2 n x n b 2 x n + 1 a m 1 x 1 + a m 2 x 2 + + a m n x n b m x n + 1 x n + 1 = 1
Next, we move the right-hand side terms to the left-hand sides and we obtain:
a 11 x 1 + a 12 x 2 + + a 1 n x n b 1 x n + 1 0 a 21 x 1 + a 22 x 2 + + a 2 n x n b 2 x n + 1 0 a m 1 x 1 + a m 2 x 2 + + a m n x n b m x n + 1 0 x n + 1 = 1 .
Finally, for convenience, we also incorporate the constraint x n + 1 0 , which is redundant, because since x n + 1 = 1 we have x n + 1 0 , which is equivalent to x n + 1 0 :
x n + 1 0 a 11 x 1 + a 12 x 2 + + a 1 n x n b 1 x n + 1 0 a 21 x 1 + a 22 x 2 + + a 2 n x n b 2 x n + 1 0 a m 1 x 1 + a m 2 x 2 + + a m n x n b m x n + 1 0 x n + 1 = 1 .
Thus, the initial system of Equation (24) and the system (27) are equivalent. This immediately suggests solving first the homogeneous system in (27) and imposing later its last constraint. As shown, in the following example, this shows that the general solution of a system of linear inequalities is a polyhedron, that is, the sum of a linear subspace plus a cone plus a polytope:
x = V ρ + W π + P λ
where the columns of matrices V , W , and P contain the basis of the linear subspace, the set of edges of the cone, and the set of vertices of the polytope, and some of them could not exist.
Thus, it is convenient to have algorithms, such as the Γ algorithm, that directly supply a basis, a set of edges, and a set of vertices, respectively, as their minimal representations.
The most frequent case in practice occurs when the system of inequalities is bounded; then, the final result is a polytope (to learn about polytopes, see [3,22]). The problem of obtaining the set of vertices of a polytope was dealt with in [2,4,20,23,24]. A comparison of several methods can be seen in [23].
A very well-known case is the case of systems of linear equations, that lead to affine spaces, that is, the sum of a linear subspace and a degenerated polytope, generated by a unique vector. An algorithm to solve this special case is given in [6].
The interesting case of solving simultaneous subsystems of given systems and the corresponding duals is dealt with in [20].

Example of a Complete System of Linear Inequalities

To solve the complete system of linear inequalities:
x 1 + x 2 x 4 3 2 x 1 2 x 2 x 3 + x 4 3 2 x 1 x 2 x 3 + x 4 2 x 3 x 4 1 x 1 + x 2 2 x 3 x 4 1
we incorporate the fictitious unknown x 5 , the constraint x 5 = 1 , to avoid altering the system, and the redundant constraint x 5 0 , as the first inequality, and obtain:
x 5 0 x 1 + x 2 x 4 3 x 5 0 2 x 1 2 x 2 x 3 + x 4 + 3 x 5 0 2 x 1 x 2 x 3 + x 4 + 2 x 5 0 x 3 x 4 + x 5 0 x 1 + x 2 2 x 3 x 4 + x 5 0 x 5 = 1 .
We solve first the homogeneous system and impose later the last constraint. The solution of the homogeneous system is the dual cone of the cone generated by the vectors with components given by the inequality coefficients, that is, the dual of the cone:
A π = 0 1 2 2 0 1 0 1 2 1 0 1 0 0 1 1 1 2 0 1 1 1 1 1 1 3 3 2 1 1 π ,
where the coefficients are the columns, which is the cone:
A π p = 1 0 1 1 0 ρ + 1 1 1 0 1 0 1 1 1 2 2 0 1 1 1 0 0 0 0 0 0 0 0 1 1 π ,
which has been created using the Γ algorithm described in [6,18].
If we force now the constraint x 5 = 1 , we obtain π 4 + π 5 = 1 , that is, the coefficients π 4 and π 5 add up to one, and then, they become lambda coefficients λ 1 and λ 2 because of its unit sum.
Then, the solution of the initial system, after removing the fictitious unknown x 5 , is:
x 1 x 2 x 3 x 4 = 1 0 1 1 ρ + 1 1 1 0 1 1 2 0 1 0 0 0 π + 0 1 1 2 1 1 0 0 λ = ρ π 1 + π 2 π 3 + λ 2 π 2 + π 3 + λ 1 + λ 2 ρ + 2 π 2 + π 3 + λ 1 + λ 2 ρ
where the last term refers to the polytope generated by the vertices defined as its column vectors, and λ refers to linear convex combinations, that is, to non-negative real numbers adding to one.
To check, we can replace these values in the initial system of Equation (29) to obtain:
x 1 + x 2 x 4 = π 1 + λ 1 + 3 λ 2 = π 1 + 3 2 λ 1 3 2 x 1 2 x 2 x 3 + x 4 = π 3 3 λ 1 5 λ 2 = π 3 3 2 λ 2 3 2 x 1 x 2 x 3 + x 4 = π 2 2 λ 1 4 λ 2 = π 2 2 2 λ 2 2 x 3 x 4 = 2 π 1 π 3 1 = 2 π 1 π 3 1 1 x 1 + x 2 2 x 3 x 4 = 5 π 1 2 π 3 λ 2 1 = 5 π 1 2 π 3 λ 2 1 1
where it can be seen that the inequalities hold.
In (32), it can be seen that in general, when solving the homogeneous system in (30), one obtains a linear subspace plus a cone in which some of its last components are zeros and some are ones. When forcing the virtual unknown to take the value 1, the ones instead of π coefficients convert to λ coefficients, that is, the vertices of the polytope. In the example (32), three generators of the cone have the last component as zero and two of them have this component equal to one. Thus, the cone generated by five edges transforms to one cone generated by three edges plus one polytope generated by two vertices, as seen in (33), after removing the virtual unknown x 5 .
One interesting conclusion is that (29) and (33) are equivalent constraints. However, as we shall see, the last representation of its solutions is much more convenient when trying to solve a linear programming problem.

3.3. Compatibility of a Complete System of Linear Inequalities

Systems of linear inequalities do not always have solutions. Thus, it is very important to check whether or not a given system is compatible, that is, if it has at least one solution. This is the topic of this section, in which a set of compatibility conditions are derived (https://www.uclm.es/Conocimiento/Cursos/Algebra-2-En/Bloque-3/Item-10?id_peticion=A827E15C-65EF-4CFA-8671-BB2F12122D25, accessed on 12 July 2023). We start with a simple particular case that will lead us to the general case. Our first system is of the form:
a 11 x 1 + a 12 x 2 + + a 1 n x n a 21 x 1 + a 22 x 2 + + a 2 n x n a m 1 x 1 + a m 2 x 2 + + a m n x n = b 1 = b 2 = b m x 1 , x 2 , , x n 0
which is a system in which the restrictions are equalities and all the variables are non-negative.
To make a cone appear, due to our polarity point of view in this paper, the system (35) of m equations with n unknowns can be written in the equivalent form as:
x 1 a 11 a 21 a m 1 + x 2 a 12 a 22 a m 2 + + x n a 1 n a 2 n a m n = b 1 b 2 b m x 1 , x 2 , , x n 0
which expresses the vector column of independent terms as a non-negative linear combination of the column vectors of the coefficients.
Thus, to see if this particular case of a complete system is compatible in this case, it is sufficient to check whether or not the vector of the independent terms belongs to the cone generated by the column vectors of the inequality system, for which it is necessary to calculate the dual cone generated by these column vectors and see if the vector of the independent terms belongs to it.
To study the compatibility of a complete system of any general type, that is, with systems of inequalities “less than or equal to”, “greater than or equal to”, and “equal to”,and with unrestricted variables in sign, it is sufficient to rewrite the initial system as another equivalent one that meets the conditions of the particular case, proceeding as follows:
  • Replace each inequality “greater than or equal” with an “equality” by simply subtracting a new non-negative variable, one per each inequality.
  • Replace each inequality “less than or equal” with an “equality”, a new non-negative variable, one per inequality.
  • Replace all non-positive unknowns with others equal to themselves but with the sign changed.
  • Replace all unknowns x i not restricted in sign with a new x i * x 0 , where x 0 0 is a common non-negative unknown and x i * 0 .
In this way, we obtain a system of equations such that all the unknowns are non-negative, that is, the type described in the previous case.

3.3.1. Example of Compatibility of the Particular Case of Complete System of Linear Inequalities

Consider the complete system of inequalities:
x 1 + x 2 x 4 2 x 5 x 2 x 3 + x 4 x 5 2 x 1 x 2 + x 3 x 5 x 2 + x 3 + x 4 x 5 = a = b = c = d x 1 , x 2 , x 3 , x 4 , x 5 0 .
To see if the system is compatible, it is sufficient to see if the vector of the independent terms belongs to the cone generated by the column vectors of the coefficients of the system, that is, if it belongs to the cone:
A π = 1 1 0 1 2 0 1 1 1 1 2 1 1 0 1 0 1 1 1 1 π
whose dual cone is the cone:
A π p = 0 2 1 2 0 1 1 1 . π
Thus, the vector of the independent terms multiplied scalarly by the generators of the cone A π p must be non-positive, that is to say:
( a , b , c , d ) · 0 2 1 2 0 1 1 1 0 b d 0 2 a 2 b c b 0 .

3.3.2. Example of Compatibility of the General Case of Complete System of Linear Inequalities

Consider the general complete system of inequalities:
x 1 + x 2 x 4 2 x 5 x 2 x 3 + x 4 x 5 2 x 1 x 2 + x 3 x 5 x 2 + x 3 + x 4 x 5 a = b = c d x 1 , x 3 , x 5 0 .
as indicated above, we proceed as follows:
  • The inequalities “greater than or equal” and “less than or equal” are replaced by equalities:
    x 1 + x 2 x 4 2 x 5 x 6 x 2 x 3 + x 4 x 5 2 x 1 x 2 + x 3 x 5 x 2 + x 3 + x 4 x 5 + x 7 = a = b = c = d x 1 , x 3 , x 5 , x 6 , x 7 0 .
  • We replace the unrestricted unknowns x 2 and x 4 by x 2 * x 0 and x 4 * x 0 , respectively:
    x 1 + ( x 2 * x 0 ) ( x 4 * x 0 ) 2 x 5 x 6 ( x 2 * x 0 ) x 3 + ( x 4 * x 0 ) x 5 2 x 1 ( x 2 * x 0 ) + x 3 x 5 ( x 2 * x 0 ) + x 3 + ( x 4 * x 0 ) x 5 + x 7 = a = b = c = d x 0 , x 1 , x 2 * , x 3 , x 4 * , x 5 , x 6 , x 7 0 .
Then, ordering the unknowns in the system (43), we can write it as:
x 1 + x 2 * x 4 * 2 x 5 x 6 2 x 0 + x 2 * x 3 + x 4 * x 5 x 0 + 2 x 1 x 2 * + x 3 x 5 2 x 0 + x 2 * + x 3 + x 4 * x 5 + x 7 = a = b = c = d x 0 , x 1 , x 2 * , x 3 , x 4 * , x 5 , x 6 , x 7 0 ,
which is of the particular form indicated above. To see if this system is compatible, it is sufficient to see if the vector of the independent terms belongs to the cone generated by the column vectors of the coefficients of the system, that is, if it belongs to the cone:
A π = 0 1 1 0 1 2 1 0 2 0 1 1 1 1 0 0 1 2 1 1 0 1 0 0 2 0 1 1 1 1 0 1 π
whose dual cone is the cone:
A π p = 0 1 0 1 π
and, then, we obtain the condition:
( 0 , 1 , 0 , 1 ) · ( a , b , c , d ) = b d 0 b d .

3.4. Working with Compatible Systems of Inequalities

In this section, we deal with the problem of how to limit linear systems of inequalities to compatible systems alone.
The compatibility of the system of linear inequalities:
+ x 2 x 3 x 4 = 1 + 2 x 1 x 2 + x 3 = 1 + 2 x 1 + x 2 x 3 2 x 4 = 3 + x 1 x 2 + 2 x 4 = 0 + x 1 + x 3 2 x 4 < = 1 + x 2 + x 3 + x 4 < = 1 x 1 x 2 + x 4 < = 2 + x 1 x 3 2 x 4 < = 1
can be analyzed by transforming this system into an equivalent one by making x i = x i x 0 ; i = 1 , 2 , , n and using slack variables to convert the inequalities in equalities
+ x 0 + x 2 x 3 x 4 2 x 0 + 2 x 1 x 2 + x 3 + 2 x 1 + x 2 x 3 2 x 4 2 x 0 + x 1 x 2 + 2 x 4 + x 1 + x 3 2 x 4 + x 5 3 x 0 + x 2 + x 3 + x 4 + x 6 + x 0 x 1 x 2 + x 4 + x 7 + 2 x 0 + x 1 x 3 2 x 4 + x 8 = b 1 = b 2 = b 3 = b 4 = b 5 = b 6 = b 7 = b 8 x 0 , x 1 , x 2 , x 3 , x 4 , x 5 , x 6 , x 7 , x 8 0
and obtaining the dual cone of the cone generated by its column vectors, that is, the cone:
1 0 1 1 1 0 0 0 0 2 2 1 1 0 0 0 0 0 0 2 1 1 2 0 0 0 0 2 1 1 0 2 0 0 0 0 0 1 0 1 2 1 0 0 0 3 0 1 1 1 0 1 0 0 1 1 1 0 1 0 0 1 0 2 1 0 1 2 0 0 0 1 π
which is the following cone:
2 1 1 0 0 0 0 0 ρ + 0 5 5 1 3 3 0 0 0 1 1 1 1 0 0 0 3 2 0 0 5 0 5 0 . π
Consequently, the compatibility conditions are:
2 b 1 b 2 + b 3 = 0 + b 2 b 4 b 5 < = 0 + 5 b 1 + 3 b 2 b 4 3 b 6 5 b 8 < = 0 5 b 1 3 b 2 + b 4 2 b 6 5 b 7 < = 0
Replacing the independent right-hand side term vector into the equality compatibility conditions, it can be shown that they are satisfied.
Similarly, replacing the independent right-hand side term vector into the cone inequality compatibility condition, it is shown that they are satisfied.
Thus, the above system of inequalities is compatible.

3.5. Another Approach to Compatible Systems of Inequalities

Here, we deal with another approach to the problem of compatible systems of linear inequalities.
To motivate and to understand the main ideas we will use the following example:
+ x 2 x 3 x 4 = b 1 + 2 x 1 x 2 + x 3 = b 2 + 2 x 1 + x 2 x 3 2 x 4 = b 3 + x 1 x 2 + 2 x 4 = b 4 + x 1 + x 3 2 x 4 < = b 5 + x 2 + x 3 + x 4 < = b 6 x 1 x 2 + x 4 < = b 7 + x 1 x 3 2 x 4 < = b 8 ,
which is a system of inequalities in the standard form, which can be converted into a system of equations using additional slack unknowns.
This way of representing the system could suggest the x unknowns as the input and the b unknowns as the output, that is, given the x values, the b values or some bounds for them can be obtained using (53). Conversely, given the b values, we could think of obtaining the x values or some bounds for them using the inverse or some type of pseudoinverse for backpropagation.
However, this classical partition of the variables into two groups, inputs and outputs, limits the possibilities of the relations implied by (53), and is not always convenient.
So, the main idea here consists of considering the right-hand side independent terms as unknowns, and passing them to the left-hand side of the inequalities, as is shown in the following system:
+ x 2 x 3 x 4 b 1 = 0 + 2 x 1 x 2 + x 3 b 2 = 0 + 2 x 1 + x 2 x 3 2 x 4 b 3 = 0 + x 1 x 2 + 2 x 4 b 4 = 0 + x 1 + x 3 2 x 4 b 5 < = 0 + x 2 + x 3 + x 4 b 6 < = 0 x 1 x 2 + x 4 b 7 < = 0 + x 1 x 3 2 x 4 b 8 < = 0 .
What is behind this idea is to make all unknowns of the same type and not making differences among them.
Once this is achieved, the resulting system is a homogeneous one, and we can solve it using the dual cone approach, obtaining the following general solution:
x 1 x 2 x 3 x 4 b 1 b 2 b 3 b 4 b 5 b 6 b 7 b 8 = 2 1 2 1 1 3 4 3 0 5 0 5 1 2 1 2 2 6 3 4 5 10 0 0 1 2 6 8 5 0 0 0 0 10 0 0 0 0 5 10 0 0 5 0 0 0 0 10 ρ + 0 1 2 1 0 3 4 3 0 5 0 5 0 2 1 2 0 6 3 4 0 10 0 0 0 2 6 8 0 0 0 0 0 0 0 0 1 0 5 10 0 0 0 0 0 0 0 0 π + 0 0 0 0 0 0 0 0 0 0 0 0 λ
where the polytope part reduces to the zero vector, and then, it can be removed from (55).
We note that this process is reversible, that is, given (55), one can immediately obtain the system of linear inequalities (54) or an equivalent one to it. To this end, we can use the dual cone gamma algorithm, to obtain the dual of the cone resulting from (54) after adding one new component to the vectors in (54), which is zero in the first row for the column vectors in the linear space, ρ , and acute cone, π , matrices, and one for the column vectors in the polytope, λ , parts, and considering the polytope resulting part as added to the resulting cone part.
The general solution (55) integrates all the unknowns in the initial system with the unknowns of the independent b terms. This is a very interesting view because it does not differentiate the unknowns x and b apart from the fact that the x appear in several inequalities and the b in only one of them. The fact that the b coefficients are one is in principle unimportant, because we can divide the equations by any positive number, and then, we can normalize other unknowns.
In order to be sure that we are dealing with a compatible system (53), we need to consider only the last eight unknowns in (55) and choose ρ , π R and π 0 coefficients and apply these formulas for selecting b 1 , b 2 , , b 8 . Once these coefficients have been obtained, which guarantees compatibility, the set of all solutions of the system can immediately be obtained by using the first four inequalities. Note that we obtain the set of all solutions if they exist, and not just one solution.
It is interesting to realize that b 4 , b 5 , b 7 , and b 8 depend only on ρ 1 , ρ 2 , ρ 3 , and ρ 4 , respectively, because only one component of the corresponding rows in the ρ matrix is non-null, and all the components of the corresponding rows in the π and λ matrices are null. This means that the ρ 1 , ρ 2 , ρ 3 , and ρ 4 of the linear space part can be immediately written in terms of b 4 , b 5 , b 7 , and b 8 .
In addition, the π matrix has one column vector with all null components but a single one, which is 1 and is associated with the unknown b 6 . This means that π 1 of the cone part of the solution can also be immediately written in terms of b 6 .
In fact, we can select the values of any set of x unknowns or even a combination of x and b unknowns, and obtain the solutions for the remaining set of them.
This can have important applications. For example, in a neural network built with these systems, we could choose as inputs and outputs any sets of neurons, that is, not necessarily those corresponding to the x as inputs and to the b as outputs.
In other words, in neural networks, the input and output data need not be differentiated from the intermediate neuron values, as suggested if this approach is adopted.
This reminds us about the case of Bayesian networks, in which different possible orderings change the intermediate conditional distributions and the order of variables involved, but not the joint probabilities.
It also reminds us about triangular systems of inequalities, in which the n-th inequality relates only unknowns 1 to n.

3.6. Some Software Available

Due to the large number of operations required for the computations, the only way of understanding in-depth systems of linear inequalities and working with them is using software packages especially designed for this purpose and solving numerous examples. However, as has been indicated, the software available is not easy to obtain.
Here, to start, one can use the Γ algorithm developed by [17] and available at: https://www.uclm.es/Conocimiento/Cursos/Algebra-1-En/Bloque-6/Item-23?id_peticion=D8EE1088-D079-458B-B580-BD4180CCD259, accessed on 12 July 2023. It is a double description algorithm type that provides a list of as many tables as the number of cone generators, providing the i-th table the dual cone of the cone generated by the first i generators. It has the advantage of giving this cone in standard minimal form, that is, as the sum of a linear subspace, given by one of its basis, if it exists, plus an acute cone, given by its edges, plus a polytope, given by its vertices. In addition, it provides the facets of the initial cone. Thus, it is a very interesting algorithm to start with the problem we are dealing with.
We indicate that direct methods exist to obtain the solution of a system of linear inequalities, such as the double description method and all its variants; see, for example, [6,17,18,20,25,26], some ABS methods, such as the one in [27], or other methods, such as [10,28] or the SINEQ method in [5].
However, there are also other methods that transform the initial problem into other simpler methods and then recover the initial problem; see, for example, the ABS methods in [9,12,13,27,29], in which they obtain non-negative solutions of linear systems of equations, a particular case of linear inequalities, that permits solving the general case using slackness variables.
Among the existing algorithms, we mention some, such as those described in [11,30,31,32].
There are also some methods based on neural networks; two interesting examples of this type of implementation are described in [33,34].

4. Observability

In this section, the observability problem of the different variables will be discussed. By observability we refer to the information we can obtain from the general solution of a system of linear inequalities. Observability ranges from full observability to no observability at all, passing by partial observability, in which only some unknowns are uniquely determined and bounds for the remaining variables can be obtained.

4.1. Complete and No Observability at All

If the system has a unique solution, that is, the linear subspace and the cone parts of the general solution do not exist and the polytope part degenerates to a unique vector, we have full observability, that is, all the variables are uniquely identified.
On the contrary, if the system is incompatible, there is no solution and we say that the system leads to full unobservability.
These are particular cases and, in fact, the two extremes from the point of view of observability. However, intermediate cases are possible too.

4.2. Partial Observability

If the system of linear inequalities neither has a unique solution, nor is incompatible, we can have partial information about the variables. In other words, the system has multiple solutions, and then, not all unknowns can be determined uniquely. However, it is possible that some subset of variables has a unique solution. In that case, we say that those variables are fully observable. For this to be possible, the corresponding rows of the linear subspace and cone parts must be null and those in the polytope must have identical values or the polytope be non-existent or reduced to the zero vector.
In addition, we can obtain very easily lower and upper bounds for the remaining variables. In fact, the minimum and maximum values of each row provide these lower and upper bounds, respectively. This, though not full information, can be very valuable in practical applications, especially in cases where exact values of the unknowns are not needed.
Another piece of important information that can be derived from the general solution, given in the indicated form is about boundedness or unboundedness. If the row of the linear subspace part of one unknown is not zero, that unknown is unbounded. If the row of the cone part of one unknown contains a positive value, that unknown is unbounded from above, and if it is negative it is unbounded from below.

Example of the Water Supply Problem

This example has two intentions: first, it aims at motivating real applications of systems of linear inequalities and, second, it is used to illustrate the theoretical observability problem using a practical problem.
Consider the water supply network in Figure 2, which consists of 19 pipes and 13 nodes, of which nodes 1, 2, 3, and 4, are water tanks, where water is added, and nodes 5 to 13 are consumption nodes, where water is removed from the network.
The system of equations associated with this network comes from the flow balance at the nodes, that is, from establishing that the input plus the output flows must be zero at each node, which leads to the following system of equations:
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 x 13 x 14 x 15 x 16 x 17 x 18 x 19 = q 1 q 2 q 3 q 4 q 5 q 6 q 7 q 8 q 9 q 10 q 11 q 12 q 13
which can be written as:
A 1 x = q ,
where A 1 is the above rectangular matrix, and x and q are the column vectors of link flows and input–output flows, respectively, of dimensions 19 and 13, respectively.
Since the q vector of the input and output flows cannot be given arbitrarily for the system to be compatible, we need to check compatibility. To this end, according to the previous sections, we first need to obtain the orthogonal subspace to the subspace generated by the columns of the system:
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 ρ
which is the subspace generated by the row vector:
1 1 1 1 1 1 1 1 1 1 1 1 1 .
Consequently, the system will be compatible if the column vector on the right-hand side of (56) is orthogonal to this vector, that is, if the sum of all its components are null:
i = 1 13 q i = 0 .
The physical interpretation of this compatibility condition is that the flows entering and exiting the system must coincide.
As an illustrative example, we have chosen the vector
q t = ( 40 , 40 , 40 , 40 , 20 , 20 , 20 , 20 , 15 , 5 , 20 , 20 , 20 ) ,
where the t refers to transpose, and the flows entering and exiting the nodes, which appear in a red color in Figure 2, are negative and positive, respectively.
The solution of the system (56), obtained using the algorithm, is:
x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 x 13 x 14 x 15 x 16 x 17 x 18 x 19 = 0 0 0 0 1 1 0 0 0 0 0 1 1 0 1 1 0 0 0 0 1 1 1 0 0 0 0 1 0 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 ρ + 20 20 5 35 5 0 20 5 20 20 40 0 20 0 0 40 0 0 0 ,
which gives us all possible, infinitely many, ways to provide the desired flows at the nodes.
If in addition we limit the capacity of the pipes to 20 units, we need to add the corresponding constraints, taking into account that this limitation acts independently of the flow direction. Thus, we need to incorporate into our system (56) of 13 equations, the system of 38 inequalities:
x i 20 ; i = 1 , 2 , , 19 a n d x i 20 ; i = 1 , 2 , , 19 .
In addition, as explained before, we consider an extra virtual unknown, x 20 , we pass the independent terms to the left-hand side of the Equation (56), we add the equality x 20 = 1 and, for convenience, the redundant inequality x 20 0 , as the first inequality.
With this, we obtain the system:
x 20 0 A 1 | q x * = 0 13 0 19 t | 1 x * 0 I 19 | c x * 0 19 I 19 | c x * 0 19 x 20 = 1 ,
where A 1 and q are the matrices in (57), x * is the column matrix including the links x 1 to x 13 and the virtual link x 14 , 0 k is a zero column vector of dimension k, and c is a column vector of dimension 19 with values equal to the link capacities, which are assumed to all be equal to 20 units.
The solution of this system can be obtained by obtaining the dual of the cone generated by the row vectors of the system, where the coefficients of the first 13 equations correspond to the linear subspace generators and the coefficients of the remaining 39 equations are the acute cone generators.
Obtaining the dual of this cone using the gamma algorithm (see [18] or [6]), and following the process indicated above, we obtain the solution:
x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 x 13 x 14 x 15 x 16 x 17 x 18 x 19 = H λ = 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5 5 5 5 0 0 0 0 15 15 15 15 0 20 20 20 15 20 20 20 20 0 0 20 20 15 15 20 20 20 20 0 20 20 20 15 0 20 20 0 15 20 20 15 20 20 20 20 20 20 20 20 5 5 5 5 20 20 20 20 0 0 0 0 0 0 0 0 20 0 0 20 5 0 0 5 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0 20 20 20 15 20 20 20 0 20 20 20 15 20 20 20 20 20 20 20 20 λ ,
in which there are neither linear subspace nor cone parts but only a polytope generated by the eight vertices given by the column vectors of the last matrix.
This means that we have infinitely many solutions to satisfy the indicated demand, that is, to distribute the indicated water amounts from the tanks to the consumption points, and then, not all the flows of the different links can be determined uniquely. Thus, the problem of observability, that is, determining which variables can be observed uniquely, arises.
We note that while the uniqueness property is basic in mathematics, it is not in engineering, where one looks for multiple solutions that permit solving the problem caused for some unexpected failures. In other words, if some pipes in the network fail, making some solutions unfeasible, we want other possibilities to solve our problem.
For example, in the water supply example, taking a look to the solution (61), one finds that there are no linear subspace nor cone parts and that for rows 1, 2, 3, 4, 11, 13, 15, 16, and 19, all columns have the same values. Thus, no matter what values of the λ linear convex combinations we choose, the final result will be the same for the x unknowns with the corresponding indices. On the contrary, the remaining rows contain different values, leading to infinitely many solutions. Consequently, we have full observability for nine unknowns.
The remaining 10 unknowns are not fully observable, but we have very interesting information about them, because we can know immediately their lower and upper bounds, which are the minima and maxima values in their corresponding rows. For example, 5 x 5 20 , 0 x 6 15 or 20 x 14 0 .
Another important conclusion that can be derived from the information in (61) is about what pipes can and what cannot be removed for making the satisfaction of the water demand possible.
A simple look at the rows of the matrix in (61) shows that the link flows x 1 , x 2 , x 3 , x 4 , x 11 , x 15 , x 16 , and x 19 are fixed and reach the maximum capacity of 20 units, where the positive values refer to flows in the direction indicated by the arrows in Figure 2, and the negative values refer to the contrary direction. These links cannot be removed; otherwise the required flows will no longer be warranted. In addition, the link x 13 is null and can be removed.
In addition, the links with a zero in their corresponding rows, or with the zero inside the segment limited by their minima and maxima, can be removed. Since all the columns are particular solutions to the problem, removing the zero links in a column is possible without failing to obtain a solution. For example, we can remove links 6 , 8 , 13 , and 14 because columns 3 and 4 contain zeros in those rows. In addition, any linear convex combination of those two columns provides a solution without those links, that is, we have infinitely many solutions. To find all solutions with these four links removed we can add to the system of inequalities (60) the equations x 6 = x 8 = x 13 = x 14 = 0 , and then, we obtain the new polytope of all solutions:
x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 x 13 x 14 x 15 x 16 x 17 x 18 x 19 = 20 20 20 20 20 20 20 20 20 20 0 0 20 20 0 0 20 20 20 20 20 20 5 5 0 0 0 0 20 20 20 20 20 20 20 20 20 20 · λ
Since links 7 , 9 , 17 , and 18 contain the zero in the interval defined by the minimum and maximum of each row, we can also remove these four links choosing the corresponding λ values equal to 1 / 2 , to obtain the final unique solution:
x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 x 13 x 14 x 15 x 16 x 17 x 18 x 19 = 20 20 20 20 20 0 0 0 0 20 20 5 0 0 20 20 0 0 20 .
An interesting thing is that if the unit cost associated with each link is known, we can obtain the solution minimizing the cost immediately, as will be seen in the next section.
Assume that the costs of the 19 links are:
p = ( 5 , 3 , 2 , 6 , 1 , 3 , 2 , 6 , 4 , 5 , 3 , 3 , 2 , 4 , 1 , 5 , 3 , 2 , 1 ) ,
then, the product of this cost row matrix by the absolute value of the solution matrix, | H | , in (61), gives:
p · | H | = ( 935 , 875 , 875 , 795 , 1055 , 1040 , 1040 , 1020 ) ,
and then, the minimum cost is 795 and the maximum value is 1055 and both are unique. If there are ties in the extremes among the costs in this last row matrix, the number of solutions are infinitely many and can be obtained by linear convex combinations of the columns involved in the ties.

5. Linear Programming

In this section, we show how to solve a linear programming problem when the set of solutions of the constraints are known and written as a polyhedron. We will see that in this case the problem becomes trivial.
Assume that we want to minimize the objective function expression z = c x . Placing the set of solutions (28) into it, one obtains:
z = c x = c V ρ + c W π + c P λ = h V ρ + h W π + h P λ ,
where h V = c V , h W = c W , and h P = c P are column vectors of dimensions r, s, and t.

5.1. Discussion of the Boundedness or Unboundedness and Uniqueness or Multiplicity of Solutions

If one tries to minimize z, we have:
  • If h V is non-null, the problem is unbounded. It is sufficient to choose a non-null component of this vector and associate with the corresponding ρ coefficient a very large (positive) or very small (negative) value, depending on its sign, positive or negative, respectively, to obtain a value as small as desired.
  • If h V is null and h W is non-null and has a negative component, the problem is unbounded. By choosing a negative component of that vector and associating with the corresponding π coefficient a very large value (positive), we obtain a negative value as small as desired.
  • If h V is null and h W is non-negative, the problem is bounded. The term h W is non-negative, that is, bounded from below.
  • If the vectors h V and h W are null, the problem is bounded. The term h P is bounded from below.

5.2. Illustrative Examples

Example 1
(Problem 1). Consider the linear programming problem:
Maximize Z 1 = x 1 + x 2 + x 3 subject to the constraints:
0 x 1 2 0 x 2 2 0 x 3 2 x 1 + x 2 3
which is equivalent to the polytopeAlgorithms 16 00356 i001
Before dealing with the optimization problem it is worthwhile indicating that, using the gamma algorithm, we can obtain the dual of the cone associated with this polytope, that is, the cone generated by the columns of the matrix:
0 2 2 0 0 2 0 2 1 2 0 0 2 2 0 0 2 1 2 2 0 0 0 0 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 ,
and then, we obtain in the final table the set of facets in its lower part, as shown in Table 4.
In this case, the set of feasible values of the objective function is the polytope of real numbers:
Z 1 = 1 1 1 0 2 0 0 2 2 0 2 2 1 0 0 2 0 2 0 2 2 1 2 0 0 0 2 0 2 2 1 2 2 = 0 2 2 2 4 4 4 5 5 5 λ
whose maximum corresponds to the maximum value 5, and then, the set of all possible solutions of Problem 1 is the polytope:Algorithms 16 00356 i002Note that all solutions have been obtained.
Example 2
(Problem 2). Consider the linear programming problem:
Maximize Z 2 = x 1 + x 2
In this case, the set of feasible values of the objective function is the polytope of real numbers:
Z 2 = 1 1 0 0 2 0 0 2 2 0 2 2 1 0 0 2 0 2 0 2 2 1 2 0 0 0 2 0 2 2 1 2 2 = 0 2 2 0 4 2 2 4 3 3 λ
whose maximum corresponds to the maximum value 4, and then, the set of all possible solutions of Problem 2 is the polytope:Algorithms 16 00356 i003Note that all solutions have been obtained.
Example 3
(Problem 3). Consider the linear programming problem:
Maximize Z 3 = x 1
In this case, the set of feasible values of the objective function is the polytope of real numbers:
Z 3 = 1 0 0 0 2 0 0 2 2 0 2 2 1 0 0 2 0 2 0 2 2 1 2 0 0 0 2 0 2 2 1 2 2 = 0 2 0 0 2 2 0 2 2 1 λ
whose maximum corresponds to the maximum value 2, and then, the set of all possible solutions of Problem 3 is the polytope:Algorithms 16 00356 i004Again, note that all solutions have been obtained.
A particular case is the case of the objective function being one of the variables, in which case one can obtain very easily the upper and lower bounds of the variable.
For example, consider the feasible region defined in (33). Then, one can premultiply the vector of the variables x by the identity matrix to obtain:
x 1 x 2 x 3 x 4 = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 x 1 x 2 x 3 x 4 = 1 0 1 0 ρ + 1 1 0 2 1 1 0 0 0 0 1 1 π + 1 1 1 1 0 0 0 0 λ
from which one can conclude that the variables x 1 and x 3 are unbounded from above and from below, because the column vector in the basis of the linear subspace component of the solution, the matrix with the ρ subindex, has non-zero values in its first and third components. x 2 is unbounded from below and from above because, in spite of having a zero in the linear subspace matrix in its second row, the cone matrix has positive and negative components in its second row. Finally, x 4 is bounded from below, because in spite of having a zero in the linear subspace matrix in its fourth row, the fourth row of the cone matrix has positive values.
If we consider only the polytope bounded solutions as feasible, the last matrix, corresponding to the polytope, contains in its rows the lower and upper bounds of the associated variables, which are the minima and maxima values of each row, respectively. This important result will be very useful later when partial observability will be discussed.

5.3. Some Software Available

Apart from the well-known algorithms, such as the simplex or the interior point methods, there are others that exploit the knowledge about the solution of linear systems of constraints. In particular, see the books of [35,36].
It is convenient to clarify that most commercial linear programming programs provide a particular solution of the problem, but normally they fail to provide all solutions when they are infinitely many, and even they do not inform the user about this important fact.
We note that knowledge of the general solution of a linear system of linear constraints permits not only a direct solution of the problem to be obtained, but immediate information about the multiplicity of solutions and representations of them.

6. Examples of Applications

In this section, some applications to different areas of interest are given.

6.1. Application to Artificial Intelligence Problems

It has been shown that the general solution of bounded linear systems of inequalities are polytopes. Thus, these systems can be used to define mixtures of many models which enlarge the sets of solutions in an advantageous way. One example is that described in [37], where Gaussian mixture models are used. Another interesting example can be seen in [38], where a loss function called Gaussian mixture centers is proposed to reduce variances in a convolutional neural network machine learning model.
In addition, since Bayesian methods are methods in which the parameters are random, again the mixtures appear, giving these systems of linear inequalities an important role to model the mixtures. An example where this technique can be used is available in [39].

6.2. Application to Traffic Problems

Some applications to traffic problems are the following:
  • The problem of optimizing the use of scanning resources for the estimation of route flows in traffic networks is dealt with in [40], where the authors analyze three problems: (a) how to minimize the number of cameras required for estimating a given subset of route flows, (b) finding the links to be scanned when n cameras are available, and (c) solving the same problems when errors are present. Finally, the Nguyen Dupuis, a small-sized and well-known network example, and the case of the city of Ciudad Real in Spain, are used to illustrate the methodology.
  • The problem of observability of subsets V 1 of flows in terms of another subset V 2 , when simultaneously different types of flows, links, nodes, routes, origin–destination (OD), plate scanned, etc., are considered, is discussed in [7]. There are two problems considered: (a) which flows in V 1 can be calculated in terms of the observed flows V 2 , and (b) find the subset of flows V 2 that needs to be observed to obtain the flows in V 1 . In addition, important theorems providing necessary and sufficient conditions for solving these two problems are given and they are illustrated by its application to three simple examples.
  • The observability problem in traffic networks and the optimal location of scanning and counting devices, the treatment of plate scanning information, and the associated flow amount of information measured is dealt with. In addition, the problem of the optimal location of counters and plate scanning cameras is analyzed and illustrated with some illustrative and real examples.

6.3. Applications to Algebra Problems

In this subsection, the following algorithms and methods are given:
  • A pivoting transformation or algorithm, to obtain the orthogonal linear subspace to a given linear subspace is presented in [6], by explaining the meaning of the tables resulting after introducing each generator of the initial linear subspace. In addition, this algorithm allows us to solve many problems of linear algebra avoiding some painful classical methods, such as calculating the rank of a matrix, its inverse and determinant, updating inverses and determinants of a matrix after changing rows or columns, identifying linearly dependent vectors, etc.
  • The Γ algorithm, to obtain the dual cone of a given cone, is presented in some detail in [17]. This algorithm obtains, at the i-th step, the dual cone of the cone generated by the first generators of the initial cone. This algorithm is useful to solve a wide collection of algebra problems that can be solved if one uses the point of view of polarity, such as checking if a vector belongs to a cone, obtaining minimal representations of cones as the sum of a linear subspace and an acute cone, obtaining the cone intersection of two given cones, etc.
    Finally, the proposed methods and applications are illustrated with some examples.
  • An interesting method that implies systems of linear equations subject to data with rounding errors is presented in [41], where, due to the errors, the linear system becomes incompatible. Thus, instead of solving the system, a least squares problem is solved, leading to another linear system. The methods mentioned in the present paper suggest alternative solutions to the problem.
  • The problem of systems of linear equations when the less than or equal to, equal to or greater than, or equal to relations can be selected is solved in [20]. The proposed algorithm provides the necessary information to solve this problem, where the operators in each linear relation are chosen as wished. In addition, the algorithm permits obtaining the dual cone of the cone defined by any subset of constraints. Some examples illustrate the methodology.

7. Conclusions

The main conclusions that can be derived from this paper are:
  • There exist a wide collection of methods and algorithms to deal with the problem of solving systems of linear inequalities and related problems, but they appear in some areas of mathematical specialities which are far from other applied areas in which these systems appear in a natural way.
  • This causes a general state of ignorance about the possibilities of using these methods and algorithms to solve real and important problems in which they play an important role.
  • People in general have a great degree of ignorance about the algebraic structures of polyhedra as the sum of a linear subspace plus an acute cone plus a polytope. In particular they ignore that for bounded problems this solution degenerates to a polytope, which is, with difference, the most frequent in real applications.
  • The existing software able to solve systems of linear inequalities is not easily available, so that in practice this software is not commonly used in spite of its close relation with the problems mentioned. In addition, the software should be free to use.
  • There is a need for publications describing the multiple applications of systems of linear inequalities. The actual lack of available examples and their poor diffusion is the cause of the slow rate of important advances in science and engineering.

Funding

This research received no external funding.

Data Availability Statement

All data used is already contained in the text of the paper.

Acknowledgments

The author acknowledges the support of the University of Cantabria.

Conflicts of Interest

The author declares no conflict of interest.

References

  1. Swart, G. Finding the convex hull facet by facet. J. Algorithms 1985, 6, 17–48. [Google Scholar] [CrossRef]
  2. Avis, D.; Fukuda, K. A pivoting algorithm for convex hulls and vertex enumeration of arrangements and polyhedra. Discret. Comput. Geom. 1992, 8, 295–313. [Google Scholar] [CrossRef] [Green Version]
  3. Ziegler, G.M. Lectures on Polytopes; Springer Science & Business Media: Berlin/Heidelberg, Germany, 2012; Volume 152. [Google Scholar]
  4. Dyer, M.E. The Complexity of Vertex Enumeration Methods. Math. Oper. Res. 1983, 8, 381–402. [Google Scholar] [CrossRef]
  5. Pang, L.P.; Spedicato, E.; Xia, Z.Q.; Wang, W. A method for solving the system of linear equations and linear inequalities. Math. Comput. Model. 2007, 46, 823–836. [Google Scholar] [CrossRef]
  6. Castillo, E.; Cobo, A.; Jubete, F.; Pruneda, R.E.; Castillo, C. An Orthogonally Based Pivoting Transformation of Matrices and Some Applications. SIAM J. Matrix Anal. Appl. 2001, 22, 666–681. [Google Scholar] [CrossRef]
  7. Castillo, E.; Gallego, I.; Sánchez-Cambronero, S.; Rivas, A. Matrix Tools for General Observability Analysis in Traffic Networks. IEEE Trans. Intell. Transp. Syst. 2010, 11, 799–813. [Google Scholar] [CrossRef]
  8. Press, W.H.; Teukolsky, S.A.; Vetterling, W.T.; Flannery, B.P. Book Review: Numerical recipes: The art of scientific computing. by W. H. Press, B. P. Flannery, S. A. Teukolsky and W. T. Vetterling, Cambridge University Press, 1986, pp. xx + 818, price £25.00. J. Mol. Struct. 1987, 161, 349. [Google Scholar] [CrossRef]
  9. Spedicato, E.; Bodon, E.; Del Popolo, A.; Xia, Z. ABS Algorithms for Linear Systems and Optimization. arXiv 2001, arXiv:math/0105056. [Google Scholar]
  10. Abaffy, J.; Broyden, C.; Spedicato, E. A class of direct methods for linear systems. Numer. Math. 1984, 45, 361–376. [Google Scholar] [CrossRef]
  11. Abaffy, J.; Spedicato, E. ABS Projection Algorithms: Mathematical Techniques for Linear and Nonlinear Equations; Prentice-Hall, Inc.: Hoboken, NJ, USA, 1989. [Google Scholar]
  12. Nicolai, S.; Spedicato, E. A bibliography of the ABS methods. Optim. Methods Softw. 1997, 8, 171–183. [Google Scholar] [CrossRef]
  13. Spedicato, E.; Bodon, E.; del Popolo, A.; Xia, Z. ABS algorithms for linear systems and optimization: A review and a bibliography. Cent. Eur. J. Oper. Res. 1999. [Google Scholar]
  14. Spedicato, E.; Bodon, E.; Xia, Z.; Mahdavi-Amiri, N. ABS methods for continuous and integer linear equations and optimization. Cent. Eur. J. Oper. Res. 2010, 18, 73–95. [Google Scholar]
  15. Demmel, J.W. Applied Numerical Linear Algebra; Society for Industrial and Applied Mathematics: Philadelphia, PA, USA, 1997. [Google Scholar] [CrossRef]
  16. Higham, N.J. Accuracy and Stability of Numerical Algorithms, 2nd ed.; Society for Industrial and Applied Mathematics: Philadelphia, PA, USA, 2002. [Google Scholar] [CrossRef] [Green Version]
  17. Castillo, E.; Jubete, F. The Γ-algorithm and some applications. Int. J. Math. Educ. Sci. Technol. 2004, 35, 369–389. [Google Scholar] [CrossRef]
  18. Castillo, E.; Cobo, A.; Jubete, F.; Pruneda, R.E. Orthogonal Sets and Polar Methods in Linear Algebra: Applications to Matrix Calculations, Systems of Equations, Inequalities, and Linear Programming; Wiley Interscience. John Wiley and Sons: Hoboken, NJ, USA, 1999. [Google Scholar]
  19. Pillers Dobler, C. A Matrix Approach to Finding a Set of Generators and Finding the Polar (Dual) of a Class of Polyhedral Cones. SIAM J. Matrix Analuysis Appl. 1994, 15, 796–803. [Google Scholar] [CrossRef]
  20. Castillo, E.; Jubete, F.; Pruneda, R.; Solares, C. Obtaining simultaneous solutions of linear subsystems of inequalities and duals. Linear Algebra Its Appl. 2002, 346, 131–154. [Google Scholar] [CrossRef] [Green Version]
  21. Contesse, L. A general algorithm for determining all essential solutions and inequalities for any convex polyhedron. Ann. Oper. Res. 1994, 50, 187–218. [Google Scholar] [CrossRef]
  22. McMullen, P.G.M. Ziegler Lectures on polytopes (Graduate Texts in Mathematics, Vol. 152, Springer-Verlag, Berlin-Heidelberg-New York-London-Paris-Tokyo-Hong Kong 1995), ix 370 pp., softcover: 3 540 94365 X, £21, hardcover: 3 540 94329 3, £47. Proc. Edinb. Math. Soc. 1996, 39, 189–190. [Google Scholar] [CrossRef] [Green Version]
  23. Matheiss, T.H.; Rubin, D.S. A Survey and Comparison of Methods for Finding All Vertices of Convex Polyhedral Sets. Math. Oper. Res. 1980, 5, 167–185. [Google Scholar] [CrossRef]
  24. Dyer, M.; Proll, L. An improved vertex enumeration algorithm. Eur. J. Oper. Res. 1982, 9, 359–368. [Google Scholar] [CrossRef]
  25. Motzkin, T.S.; Raiffa, H.; Thompson, G.L.; Thrall, R.M. The double description method. Contrib. Theory Games 1953, 2, 51–73. [Google Scholar]
  26. Fukuda, K.; Prodon, A. Double description method revisited. In Franco-Japanese and Franco-Chinese Conference on Combinatorics and Computer Science; Deza, M., Euler, R., Manoussakis, I., Eds.; Springer: Berlin/Heidelberg, Germany, 1996; pp. 91–111. [Google Scholar]
  27. Esmaeili, H.; Mahdavi-Amiri, N. Solving some linear inequality systems and LP problems in real and integer spaces via the ABS algorithm. QDMSIA13 2000. [Google Scholar]
  28. Zhao, J. A class of direct methods for solving linear inequalities. J. Numer. Math. Chin. Univ. 1989, 3, 231–238. [Google Scholar]
  29. Shi, G. An ABS algorithm for generating nonnegative solutions of linear systems. In Proceedings of the First International Conference on ABS Algorithms, Luoyang, China, 2–6 September 1991; pp. 54–57. [Google Scholar]
  30. Gill, P.E.; Golub, G.H.; Murray, W.; Saunders, M.A. Methods for modifying matrix factorizations. Math. Comp. 1974, 28, 505–535. [Google Scholar] [CrossRef]
  31. Zhang, L. A method for finding a feasible point of inequalities. In Proceedings of the First International Conference on ABS Algorithms, Luoyang, China, 2–6 September 1991; pp. 131–137. [Google Scholar]
  32. Zhang, L. An algorithm for the least Euclidean norm solution of a linear system of inequalities via the Huang ABS algorithm and the Goldfarb–Idnani strategy. Rep. DMSIA 1995, 95. [Google Scholar]
  33. Xia, Y.; Wang, J.; Hung, D.L. Recurrent neural networks for solving linear inequalities and equations. IEEE Trans. Circuits Syst. I Fundam. Theory Appl. 1999, 46, 452–462. [Google Scholar]
  34. Xu, F.; Li, Z.; Nie, Z.; Shao, H.; Guo, D. Zeroing Neural Network for Solving Time-Varying Linear Equation and Inequality Systems. IEEE Trans. Neural Netw. Learn. Syst. 2019, 30, 2346–2357. [Google Scholar] [CrossRef] [PubMed]
  35. Chvatal, V. Linear Programming; Macmillan: New York, NY, USA, 1983. [Google Scholar]
  36. Padberg, M. Linear Programming and Extensions; Springer: Berlin, Germany, 1995. [Google Scholar]
  37. Scrucca, L. Entropy-Based Anomaly Detection for Gaussian Mixture Modeling. Algorithms 2023, 16, 195. [Google Scholar] [CrossRef]
  38. La Grassa, R.; Gallo, I.; Vetro, C.; Landro, N. Learning to Navigate in the Gaussian Mixture Surface. In International Conference on Computer Analysis of Images and Patterns; Tsapatsoulis, N., Panayides, A., Theocharides, T., Lanitis, A., Pattichis, C., Vento, M., Eds.; Springer International Publishing: Cham, Switzerland, 2021; pp. 414–423. [Google Scholar]
  39. Karras, C.; Karras, A.; Giotopoulos, K.C.; Avlonitis, M.; Sioutas, S. Consensus Big Data Clustering for Bayesian Mixture Models. Algorithms 2023, 16, 245. [Google Scholar] [CrossRef]
  40. Castillo, E.; Gallego, I.; Menéndez, J.M.; Rivas, A. Optimal Use of Plate-Scanning Resources for Route Flow Estimation in Traffic Networks. IEEE Trans. Intell. Transp. Syst. 2010, 11, 380–391. [Google Scholar] [CrossRef]
  41. Lukyanenko, D. Parallel Algorithm for Solving Overdetermined Systems of Linear Equations, Taking into Account Round-Off Errors. Algorithms 2023, 16, 242. [Google Scholar] [CrossRef]
Figure 1. Simple example network.
Figure 1. Simple example network.
Algorithms 16 00356 g001
Figure 2. The water supply network in example 1, showing the water flows x 1 to x 19 , the input flows q 1 to q 4 , and the output flows q 5 to q 13 .
Figure 2. The water supply network in example 1, showing the water flows x 1 to x 19 , the input flows q 1 to q 4 , and the output flows q 5 to q 13 .
Algorithms 16 00356 g002
Table 1. Important equivalences from the point of view of orthogonality.
Table 1. Important equivalences from the point of view of orthogonality.
Three ways of checking if a vector belongs to a linear subspace
v L ( a 1 , a 2 , , a n ) v L ( a 1 , a 2 , , a n ) v L ( a 1 , a 2 , , a n )
Three ways of obtaining the intersection of two subspaces
S 1 S 2 S 1 S 2 S 1 S 2
Table 2. Data for the simple example, including OD pairs, routes, links, scanned information, and observed scanned flows w.
Table 2. Data for the simple example, including OD pairs, routes, links, scanned information, and observed scanned flows w.
ODRoute Number (r)Links r SC w
1-3112 {1} w 1
1-62156 {1,5,6} w 2
2-332 --
2-3358 {5,8} w 3
2-545 {5} w 4
2-6556 {5,6} w 5
3-169 {9} w 6
3-2791 {1,9} w 7
4-58415 {1,4,5} w 8
5-1989 {8,9} w 9
5-196734{4,6} w 10
5-19679 {6,9} w 11
Table 3. Important equivalences from the point of view of polarity.
Table 3. Important equivalences from the point of view of polarity.
Three ways of checking if a vector belongs to a cone
v C ( a 1 , a 2 , , a n ) v C ( a 1 , a 2 , , a n ) p p v · C ( a 1 , a 2 , , a n ) p 0
Three ways of obtaining the intersection of two subspaces
C 1 C 2 C 1 C 2 p p C 1 p p C 2
Table 4. Dual cone edges and facets.
Table 4. Dual cone edges and facets.
w 1 w 2 w 3 w 4 w 5 w 6 w 7
00−11001
−1000011
0−100101
000−2−2−2−5
I 11 1112538
2243649
53567710
10910
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Castillo, E. A State of the Art Review of Systems of Linear Inequalities and Related Observability Problems. Algorithms 2023, 16, 356. https://doi.org/10.3390/a16080356

AMA Style

Castillo E. A State of the Art Review of Systems of Linear Inequalities and Related Observability Problems. Algorithms. 2023; 16(8):356. https://doi.org/10.3390/a16080356

Chicago/Turabian Style

Castillo, Enrique. 2023. "A State of the Art Review of Systems of Linear Inequalities and Related Observability Problems" Algorithms 16, no. 8: 356. https://doi.org/10.3390/a16080356

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop