Optimization Library C Application Programming Interface

The material presented here documents (or more precisely points to the documentation of) the native C API functions. It does not contain discussions of strategies for solving optimization problems, or suggestions on how to develop an application using Library functions.

Table of contents:

Introduction

Version 1 of the Optimization Library was written in FORTRAN. Version 2 of the Library was written entirely in C, but it still retained many characteristics of a FORTRAN subroutine library. OSL Version 3 has been significantly rewritten, entirely in C, to provide enhanced functionality accessible through a native C Application Programming Interface (API). The OSL V3 Solutions were written using this C API, and thus they include its "new and improved" characteristics cited elsewhere.

The Optimization Library native C API, as its name implies, provides a native C user interface to the latest version (V3) of the Library. This is accomplished by providing a full complement of support functions, described here, and an additional include file. A struct, or class, called EKKModel contains all the elements of a mathematical programming model. An instantiation of EKKModel can be populated by an I/O function, named ekk_importModel, that reads data from a file, or from stdin, in standard MPS format, or by using the matrix manipulation functions. As many models as needed may be defined after the OSL context struct, called EKKContext, has been instantiated. The new include file is called ekk_c_api.h (in most cases ekkc.h will not be needed). This file contains function prototypes for all the C API functions, and some useful comments from the principal developers.

Pointers to Descriptions of the Functions


[ Top of Page | Optimization Library | Get and Set Functions | All other Functions | Sample Code ]