Maths stuff not directly related  to Particle Swarm Optimization
 

Description Download Last Update
Hypersphere How to put random points inside a D-dimension hypersphere (not so easy). How to compute the volume of a hypersphere, and, more generally, how to compute the volume of the intersection of two hyperspheres  spherical_distribution


2003-07



LCP to TSP How to explicitely transform a List Coloring problem into a Traveling Salesman Problem (method initially designed for Frequency Assignment Problem). A paper explaining the method

and a C program.

2001-02-19
MasterMind 4 positions, 6 colors. An exhaustive  Excel analysis and an unbeatable small C program. spreadsheet and C source code (.zip) 2001-11-07
Constraint free binary coding of permutations
To transform any permutation problem into a binary one, without adding any constraints. Useful for optimisation.
C source code
2005-03-27
Random permutation generation
An uniform pseudo-random generator of permutations. Most of the others are in fact biased.
C source code
2005-03-28
Collective decision, or When minority wins
At the beginning, very few people do have an opinion.
At each time step, each guy who has an opinion says it to a few number of others, at random.
Each guy who receives an opinion adopts it, with a probability pr.
Even for pr<0.5, after a while, everybody has the same opinion ...
C source code
2005-03-27
Comparing algorithms
How to compare two stochastic algorithms, knowing their results on a benchmark set of problems? Here is an user point of view
PDF file
Zipped XLS file
2007-04-01
2006-07-04
Permutations generator
Classical but useful: generates either the N! permutations of {1,2,..,N}, or just the (N-1)! "cycles"
SciLab recursive source code
2007-10-07
Permutation coding/decoding
Code a permutation into an integer. Decode an integer into a permutation. Methods coming from Mersenne (~1630) and Laisant (1888). The last version can cope with big integers, by "splitting" them
C code
C code
2008-08-23
2008-08-13
Hammersley Generation of N points in a D-parallelepid. Classical Hammersley method, and an improved variant. See also below Quasi-random number generation.
C code 2008-11-22
Variograms and kriging For any defined function, compute a variogram and the corresponding kriging coefficients C code 2009-03-05
Universal Random Number Generator
A tool  to generate random numbers according to any probability distribution
Explanation + C code (PDF file)
2009-12-22
LinearSolve
A tool to solve dense linear systems.  For square systems, but may be easily adapted. Four methods, including my own substitution method, better than the Gauss-Seidel one
C Code
2010-07-27
Random rotation
Generate the matrix of a random rotation in dimension D. May also generate the matrix of the inverse rotation. As it is a recursive program, it may not work with some compilers
C code
2010-08-14
All_different
Given an integer position, find the nearest one with all components different. May be useful for combinatorial optimisation
C code, simplified version of the one that is used in Tribes C
2011-03-03
Exclusive Rand
Given N elements, choose at random n of them, so that they are all different. Maybe useful for instance for Differential Evolution
C code (zipped)
2011-06-08
Quasi-random numbers generation
Generate Sobol or Halton sequences in [0,1]^D
C code + two graphs (zipped)
2012-01-06
Intersection sphere-cube or sphere-sphere
Relative volume of the intersection of a sphere S and a cube (or a sphere) centered on the surface of S.
C code + two graphs (zipped)
2012-04-04