Project_23
Monte Carlo Minimization and Counting:
One, Two, Too Many
Project 23 returns to the Monte Carlo method, which we used earlier to
approximate integrals. It now considers problems for which direct
methods aren't available, or are not practical, and for which the Monte
Carlo method can provide an approximate answer in a reasonable time.
The problems include
-
minimization, seeking a global minimum x for a nonconvex
function f(x); regular methods easily get trapped at local minimums;
-
discrete optimization, exemplified by the traveling salesperson problem.
We need to make a round trip, visiting N cities, and we want to
choose the order of our visits so that total distance traveled is minimized.
-
counting, in cases where we need to estimate the energy
probabilities by counting all the configurations of a system that
have a given energy. In interesting cases, the number of configurations
is far too huge to count. Using Monte Carlo, we can generate sample
configurations and estimate the probabilities.
Reference:
-
Isabel Beichl, Dianne O'Leary, Francis Sullivan,
Monte Carlo Minimization and Counting: One, Two, Too Many,
Computing in Science and Engineering,
Volume 9, Number 1, January/February 2007.
-
Dianne O'Leary,
Scientific Computing with Case Studies,
SIAM, 2008,
ISBN13: 978-0-898716-66-5,
LC: QA401.O44.
-
krs.m,
implements the Kenyon, Randall, Sinclair counting algorithm.
-
latticecount.m,
counts arrangments of dimers on a lattice.
-
latticecounthelper.m,
used by LATTICECOUNT.
-
lau15_dist.txt,
the original city-to-city distance table, from which the XY positions
were estimated.
-
lau15_tsp.txt,
an itinerary for the traveling salesperson based on the
cities in lau15_xy.txt.
-
lau15_xy.png,
a PNG image of the 15 cities.
-
lau15_xy.txt,
the (X,Y) coordinates of 15 cities.
-
myf.m,
a function whose minimum in [0,7] is to be found.
-
myfmin.m,
seeks a minimum using Monte Carlo methods.
-
myfminl.m,
seeks a minimum using Monte Carlo methods, and the Lipshitz information.
-
newton_min.m,
here's a code that tries to find a minimum of f(x) by seeking zeros
of f'(x). Such an approach is limited to twice differentiable functions,
and can't actually tell a minimum from a maximum or an inflection point.
-
paramin.m,
finds the minimizer of a parabolic interpolant to three data points.
-
paraval.m,
evaluates the parabolic interpolant to three data points.
-
problem1_and_2.m,
uses MYFMIN and MYFMINL to minimize the function.
-
sgb128_xy.txt,
the (X,Y) coordinates of 128 cities in the US.
-
sim_anneal.m,
uses simulated annealing to minimize a function.
-
travel.m,
MATLAB's demonstration program for the traveling salesperson problem.
-
travel15.png,
a PNG image of MATLAB's estimated TSP solution for 15 random cities.
-
travel30.png,
a PNG image of MATLAB's estimated TSP solution for 30 random cities.
-
travel45.png,
a PNG image of MATLAB's estimated TSP solution for 45 random cities.
-
wg22_xy.txt,
the (X,Y) coordinates of 22 cities in western Germany.
-
wg59_xy.txt,
the (X,Y) coordinates of 59 cities in western Germany.
You can go up one level to
the Computational Science Projects page.
Last revised on 17 February 2009.