Argonne National Laboratory

PCx: Optimization Problem Solver

PCx: Optimization Problem Solver

PCx is a highly efficient code for solving linear programming optimization problems. In addition to being a useful tool for mathematical computation, the PCx package lends itself readily to a wide array of optimization problems in business and industry, helping decision-makers to find optimal solutions to problems with numerous constraints and variants.

PCx is based on the Mehrotra predictor-corrector interior-point algorithm. PCx can be called as a subroutine or used in stand-alone mode with input from MPS files. The code incorporates reusable modules that can be used separately from the linear programming solver, including a presolve routine and data structure definitions. The problem size (number of rows and columns) is limited only by the resources of the host computer.


  • Resource allocation
  • Inventory planning and management
  • Transportation planning and scheduling
  • Minimizing waste when materials must be cut to various sizes from a single source
  • Any scientific, engineering, or financial application that requires a linear programming solver


  • Easy to use
  • Fast
  • Uses an interior-point predictor-corrector algorithm to solve linear programming problems.
  • Windows 95 version includes a user-friendly graphical interface
  • Java graphical interface is available for all environments
  • Source code is available and allows users to integrate the code into their applications. The code, written in C, is highly modular and easy to modify. The user manual outlines the algorithm and gives complete information on setting parameters and supplying input.

Technical Details/Requirements

  • Minimum recommended hardware requirements: 486 PC with 8 Mbytes of RAM
  • Executables for PCx are available for Windows 95/NT and for a variety of Unix environments including PC Linux, Sun SPARCstations, IBM RS6000, and Silicon Graphics workstations
  • PCx is exportable to any environment with a C compiler

Licensing Information