たくさんのレスありがとうございます。
ということで要所要所だけソースを幾らか晒してみます。
繰り返しではなく単体動作の場合は問題なく動作することをテストしています。
連続でやる場合交叉部分で物凄い時間が掛かっているように思われます。
親2体の元々の整数をビット列に直しておりそれを引数として渡しております。

intのallsumは集合の総和。
int[] elementsは要素の集合。
gap.changeIntegerというのはビット列を整数に戻すメソッドです。
gap.chnageByteというのは整数をビット列にするメソッドです。

ルーレット式選択方での同じ親を選ばない選択法は厳密には同じ親ではなくても同じ要素を持つ個体同士だと
選ばないようになっております。

また突然変異が起こった場合に限り対になる固体をエリート選択としてあります。


全文でなく要所だけ摘んでのうpすみません。
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29124