Writing optimization software in APL, J, and MATLAB: a comparison

  • Authors:
  • Richard L. W. Brown

  • Affiliations:
  • York University, N520R, 4700 Keele Street, Toronto, Canada

  • Venue:
  • APL '98 Proceedings of the APL98 conference on Array processing language
  • Year:
  • 1998

Quantified Score

Hi-index 0.00

Visualization

Abstract

Since the appearance of [Karmarkar 1984], interior point methods for linear programming have developed sufficiently to challenge the traditional simplex method, especially on large problems. Moreover, interior point methods generalize to certain types of nonlinear problems that cannot be handled by the simplex method [Ye 1997].A search of the Internet will reveal a number of software packages that implement interior point methods for linear and nonlinear problems (For example, see [Helmberg 1998, Wolkowicz 1998]). The programming languages used include FORTRAN, C, PASCAL, and (most frequently) MATLAB.Examination of these codes shows that they involve extensive manipulation of arrays of numbers. Some MATLAB codes use arrays of dimension greater than two and arrays whose elements are arrays. Higher dimensional and nested arrays are a recent addition to MATLAB (added in Version 5, the current version) but have been available in APL and J for some time.Why is the array processing language MATLAB such a popular choice rather than APL or J? Is this an area where APL and J can make a contribution?To gain insight into these questions, we compare interior point method code written in MATLAB to code written in APL and J.