The linear least squares problem arises in the context of determining a solution to an overdetermined set of linear equations. In practice, these equations could arise in data fitting and estimation problems. An overdetermined system of linear equations can be defined as
| 
                  
                   | 
               
               
            
 where 
, 
, 
, and 
. Since this system usually does not have a solution, you need to be satisfied with some sort of approximate solution. The
            most widely used approximation is the least squares solution, which minimizes 
. 
         
This problem is called a least squares problem for the following reason. Let 
, 
, and 
 be defined as previously. Let 
 be the kth component of the vector 
: 
         
| 
                  
                   | 
               
               
            
By definition of the Euclidean norm, the objective function can be expressed as follows:
| 
                  
                   | 
               
               
            
 Therefore, the function you minimize is the sum of squares of m terms 
; hence the term least squares. The following example is an illustration of the linear least squares problem; that is, each of the terms 
 is a linear function of x . 
         
Consider the following least squares problem defined by
                  
                  ![]()  | 
               
               
            
This translates to the following set of linear equations:
| 
                  
                   | 
               
               
            
The corresponding least squares problem is:
| 
                  
                   | 
               
               
            
The preceding objective function can be expanded to:
| 
                  
                   | 
               
               
            
 In addition, you impose the following constraint so that the equation 
 is satisfied within a tolerance of 
: 
         
| 
                  
                   | 
               
               
            
You can use the following SAS statements to solve the least squares problem:
/* example 1: linear least-squares problem */
proc optmodel;
   var x1; /* declare free (no explicit bounds) variable x1 */
   var x2; /* declare free (no explicit bounds) variable x2 */
   /* declare slack variable for ranged constraint */
   var w >= 0 <= 0.2;
   
   /* objective function: minimize is the sum of squares */
   minimize f = 26 * x1 * x1 + 5 * x2 * x2 + 10 * x1 * x2
       - 14 * x1 - 4 * x2 + 2;
   
   /* subject to the following constraint */
   con L: 3 * x1 + 2 * x2 - w = 0.9;
   
   solve with qp;
   
   /* print the optimal solution */
   print x1 x2;
quit;
The output is shown in Output 9.1.1.
Output 9.1.1: Summaries and Optimal Solution
| Problem Summary | |
|---|---|
| Objective Sense | Minimization | 
| Objective Function | f | 
| Objective Type | Quadratic | 
| Number of Variables | 3 | 
| Bounded Above | 0 | 
| Bounded Below | 0 | 
| Bounded Below and Above | 1 | 
| Free | 2 | 
| Fixed | 0 | 
| Number of Constraints | 1 | 
| Linear LE (<=) | 0 | 
| Linear EQ (=) | 1 | 
| Linear GE (>=) | 0 | 
| Linear Range | 0 | 
| Constraint Coefficients | 3 | 
| Performance Information | |
|---|---|
| Execution Mode | On Client | 
| Number of Threads | 4 | 
| Solution Summary | |
|---|---|
| Solver | QP | 
| Algorithm | Interior Point | 
| Objective Function | f | 
| Solution Status | Optimal | 
| Objective Value | 0.0095238095 | 
| Iterations | 4 | 
| Primal Infeasibility | 0 | 
| Dual Infeasibility | 3.940437E-17 | 
| Bound Infeasibility | 0 | 
| Duality Gap | 7.425058E-17 | 
| Complementarity | 0 | 
| x1 | x2 | 
|---|---|
| 0.2381 | 0.1619 |