

My book (Essentials of Metaheuristics) officially in paperback - SeanLuke
http://cs.gmu.edu/~sean/book/metaheuristics/

======
SeanLuke
[I am the author]

Last year I put out this book as a free open text, and posted about it on
HackerNews. I was asked, often when the book would be out in physical form.

Now that it's available on Amazon officially (and also Lulu), I guess I can
announce it. Thanks to everyone for all your feedback, corrections, and
updates so far.

In case you're wondering what a metaheuristic is: it's the buzzword for
stochastic optimization methods such as genetic algorithms, ant colony
optimization, simulated annealing, and so on.

~~~
kenneth_reitz
Congratulations Sean! I look forward to reading it.

P.S. I took your CS 101 in '07 :)

~~~
chasingsparks
I'm also at GMU in the CSS program. I skimmed the PDF after it was recommended
by Max or Rob -- I can't remember. Now that I can just buy it in physical
form, it's in my Amazon queue.

P.S. To people on HN. Sean has a pretty nice LISP tutorial. I've actually
recommended it to friends to get them using LISP quickly.
<http://www.cs.gmu.edu/~sean/lisp/LispTutorial.html>

------
ay
Thanks for publishing it! Any chances you might push it in the Kindle format
to Amazon as well ?

(And if my own experience re. price were of any interest - Kindle e-books in
~$10-$15 ballpark is what almost destroyed my budget this month:)

~~~
SeanLuke
I don't expect to put out an AZW format: it's not kind on books like mine
which have lots of equations and pseudocode. However, the free PDF looks great
on the DX. (Haven't tested on the standard Kindle screen size).

------
chegra84
[Constructive Criticism]

1\. Needs More examples - Examples gives a reader different avenues for
understanding the problem better. Let's say they didn't understanding Genetic
Algorithm on the first go, they would be multiple opportunity to understand it
with more examples. Enhancing the chance that they understand the material and
recommend it to friends.

2\. Give real code - Readers might not exactly get how mathematical symbols
turns into code, but I think they will understand real code. You want to lower
the barrier of entry to read your material. Many programmers never took
Calculus I and II and most start like 12, don't limit your audience by being
opaque.

3\. Give readers exercise to test their knowledge - Reader should have some
sign that they are understanding the material and giving exercise show them
gaps in their understanding.

4\. Give it a different name - Maybe "Essential AI Algorithms","Genetic
Algorithms, Simulated Annealing and others" or "Optimisation Algorithm Bible",
so that you wouldn't have to explain what is Metaheuristic

[/Constructive Criticism]

~~~
SeanLuke
All very smart comments, deserving of response.

1\. I think the text really could use a lot more examples. And running
demonstrations. Maybe for the next iteration.

2\. Real code is nontrivial given the scope of the text -- but it'll please
you that about two thirds of the algorithms in the text are implemented in
ECJ, an evolutionary computation system I wrote which is fairly widely used.
In Java though, not in Haskell. :-) I'm working towards getting everything
implemented eventually.

I'm surprised about your comment regarding pseudocode: I took a lot of pains
to make the pseudocode as easy for laymen and undergrads to understand and I
think it's proven pretty good in that aspect.

3\. Exercises are not easy to devise in this area due to the stochastic nature
of the algorithms. It is a real problem.

4\. Yeah, the name took a long time and a lot of thought and not just by me.
There are a lot of difficulties with the names you suggested -- in fact one of
the early footnotes in the text discusses exactly this issue! It doesn't
google well though.

------
barabba
First post on HN, but after reading about 50 pages of this book since morning
I feel it really deserves a praise. I'm a student working on a metaheuristic
focused MSc thesis, and I find this book as an invaluable summary of most
methods presented in literature.

I do not agree at all with remarks about code samples, pseudo code is all the
topic needs. Real code would just make things more complex (and not
understandable to a reader not familiar with the programming language of
choice), without much of an added benefit.

Not sure about exercises either, given the focus of the book. I really think
the book is very clearly written, but I must admit I already have a somewhat
decent background in the main topic.

Anyways, thanks!

------
joshes
This is definitely a good read for beginners in the area and it does a good
job of balancing both application of and theory behind the algorithms. Highly
recommended.

Another good read which covers some of the same ground (also by a professor at
George Mason University, Professor Kenneth De Jong) would be "Evolutionary
Computation" [http://www.amazon.com/Evolutionary-Computation-Kenneth-
Jong/...](http://www.amazon.com/Evolutionary-Computation-Kenneth-
Jong/dp/0262041944).

------
adaszko
Not very much valuable comment but I found a typo at page 146. Second to last
paragraph says: "First, ACO _is builds_ some popsize candidate solutions all
at once."

I very much appreciate placing this book online. It showed up on HackerNews
right when I needed it!

~~~
SeanLuke
Fixed. Thanks!

------
bartonfink
Thanks for publishing this. Just went to the top of my reading list.

------
dvfer
pretty high level for undergrad... i think...

