subset_sum_brute, a Python code which uses brute force to solve the subset sum problem, to find a subset of a set of integers which has a given sum.
We are given a collection of (21) weights and a target value (24639098). We seek a combination of the weights which adds up to the target value.
The function subset_sum_brute() simply considers every possible subset of the weights, determines its sum, and compares that to the target value. The first case in which the target value is matched is returned as the solution.
The computer code and data files described and made available on this web page are distributed under the MIT license
subset_sum_brute is available in a C version and a C++ version and a Fortran90 version and a MATLAB version and an Octave version and a Python version.
change_diophantine, a Python code which sets up a Diophantine equation to solve the change making problem, which counts the number of ways a given sum can be formed using coins of various denominations.
combo, a Python code which includes many combinatorial routines.
football_dynamic, a Python code which uses dynamic programming to count the ways of achieving a given score in football.
mcnuggets, a Python code which counts M(N), the number of ways a given number N of Chicken McNuggets can be assembled, given that they are only available in packages of 6, 9, and 20.
knapsack_01, a Python code which uses brute force to solve small versions of the 0/1 knapsack problem;
partition_brute, a Python code which uses a brute force method to find solutions of the partition problem, in which a set of integers must be split into two subsets with equal sum.
partition_greedy, a Python code which uses a greedy algorithm to seek a solution of the partition problem, in which a given set of integers is to be split into two groups whose sums are as close as possible.
satisfy, a Python code which demonstrates, for a particular circuit, an exhaustive search for solutions of the circuit satisfiability problem.
subset, a Python code which enumerates, generates, ranks and unranks combinatorial objects including combinations, partitions, subsets, index sets, and trees.
subset_sum, a Python code which seeks solutions of the subset sum problem.
tsp_brute, a Python code which reads a file of city-to-city distances and solves the traveling salesperson problem, using brute force.
tsp_greedy, a Python code which reads a file of city-to-city distances and solves the traveling salesperson problem, using a greedy algorithm.