DIRECTORY ; QPSolve: CEDAR DEFINITIONS ~ BEGIN IVector: TYPE ~ REF IVectorRep; IVectorRep: TYPE ~ RECORD[n: NAT, s: SEQUENCE len: NAT OF INT]; RVector: TYPE ~ REF RVectorRep; RVectorRep: TYPE ~ RECORD [n: NAT, s: SEQUENCE len: NAT OF REAL]; Matrix: TYPE ~ REF MatrixRep; MatrixRep: TYPE ~ RECORD [m: NAT, s: SEQUENCE len: NAT OF RVector]; NewMatrix: PROC [m, n: NAT] RETURNS [M: Matrix]; QPSolve: PROC [c: RVector, A: Matrix, lobd: RVector, x: RVector, iVar: IVector, nFR: NAT] RETURNS [minFR: NAT] END.. ¢ QPSolve.mesa Copyright Ó 1990 by Xerox Corporation. All rights reserved. Ken Shoemake, March 30, 1990 5:49 pm PST Data Structures Procedures Solve simple Quadratic Program: minimize | xTx + cTx, subject to Ax = 0 and x > lobd. Iterations start with initial feasible vector x, with x[i B iFX] fixed on their bounds and the rest, x[i B iFR], free. Elements [0..nFR) of iVar store iFR, and [nFR..n) store iFX. ʆ•NewlineDelimiter ™™ J™