The NLP Procedure

MINQUAD and MAXQUAD Statements

MINQUAD H_name [ , g_name [ , c_number ] ] ;
MAXQUAD H_name [ , g_name [ , c_number ] ] ;

The MINQUAD and MAXQUAD statements specify the matrix  h, vector  g, and scalar  c that define a quadratic objective function. The MINQUAD statement is for minimizing the objective function and the MAXQUAD statement is for maximizing the objective function.

The rows and columns in  h and  g correspond to the order of decision variables given in the DECVAR statement. Specifying the objective function with a MINQUAD or MAXQUAD statement indirectly defines the analytic derivatives for the objective function. Therefore, statements specifying derivatives are not valid in these cases. Also, only use these statements when TECH=LICOMP or TECH=QUADAS and no nonlinear constraints are imposed.

There are three ways of using the MINQUAD or MAXQUAD statement:

  
    proc nlp pall; 
       minquad h, -100; 
       decvar x1 x2; 
       bounds  2 <= x1 <= 50, 
             -50 <= x2 <= 50; 
       lincon 10 <= 10 * x1 - x2; 
       h1 = .4; h4 = 4; 
    run;
 

  • Using MATRIX Statements:
    The names H_name and g_name specified in the MINQUAD or MAXQUAD statement can be used in MATRIX statements. There are different ways to specify the nonzero elements of the matrix  h and vector  g by MATRIX statements. The following example illustrates one way to use the MATRIX statement.

      
        proc nlp all; 
           matrix h[1,1] = .4 4; 
           minquad h, -100; 
           decvar x1 x2 = -1; 
           bounds 2 <= x1 <= 50; 
                -50 <= x2 <= 50; 
           lincon 10 <= 10 * x1 - x2; 
        run;
     

  • Previous Page | Next Page | Top of Page