The Partition Problem

PARTITION_PROBLEM is a FORTRAN90 library which seeks solutions of the partition problem, splitting a set of integers into two subsets with equal sum.


The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.


PARTITION_PROBLEM is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version and a Python version.

Related Data and Programs:

CHANGE_MAKING, a FORTRAN90 library which considers the change making problem, in which a given sum is to be formed using coins of various denominations.

COMBINATION_LOCK, a FORTRAN90 program which simulates the process of determining the secret combination of a lock.

COMBO, a FORTRAN90 library which includes many combinatorial routines.

KNAPSACK_01, a FORTRAN90 library which uses brute force to solve small versions of the 0/1 knapsack problem;

LAMP, a FORTRAN77 library which solves linear assignment and matching problems.

LAU_NP, a FORTRAN90 library which implements heuristic algorithms for various NP-hard combinatorial problems.

PARTITION_PROBLEM, a dataset directory which contains examples of the partition problem, in which a set of numbers is given, and it is desired to break the set into two subsets with equal sum.

SATISFY, a FORTRAN90 program which demonstrates, for a particular circuit, an exhaustive search for solutions of the circuit satisfiability problem.

SUBSET, a FORTRAN90 library which enumerates, generates, ranks and unranks combinatorial objects including combinations, partitions, subsets, index sets, and trees.

SUBSET_SUM, a FORTRAN90 library which seeks solutions of the subset sum problem.

SUBSET_SUM_TASKS, a MATLAB program which runs in parallel, seeking solutions of the subset sum problem. Instructions are available on how to run the job, via MATLAB's BATCH facility, on a remote system such as Virginia Tech's ITHACA cluster.

TSP_BRUTE, a FORTRAN90 program which reads a file of city-to-city distances and solves the traveling salesperson problem, using brute force.


  1. Alexander Dewdney,
    The Turing Omnibus,
    Freeman, 1989,
    ISBN13: 9780716781547,
    LC: QA76.D45.
  2. Brian Hayes,
    The Easiest Hard Problem,
    American Scientist,
    Volume 90, Number 2, March-April 2002, pages 113-117.
  3. Silvano Martello, Paolo Toth,
    Knapsack Problems: Algorithms and Computer Implementations,
    Wiley, 1990,
    ISBN: 0-471-92420-2,
    LC: QA267.7.M37.

Source Code:

Examples and Tests:

List of Routines:

You can go up one level to the FORTRAN90 source codes.

Last revised on 10 May 2012.