D言語 Advent Calendar 2012、23日目の記事でございます。今日はクリスマスイブの前日。なので、それにちなんで、巡回サラリーマン問題ならぬ「巡回サンタクロース問題」をD言語+遺伝的アルゴリズムで解こうとおもいます。 サンタクロースの元ネタになったのは、カトリックの聖人ニコラオス。貧しい家の子どもを救うため、或いは冤罪被害者を救うため、彼にはクリスマスだけと言わずに、年がら年中奔走して貰いたいものです……しなさい。して下さい、オナシャス。 ということで、世界都市247の首都を最短経路+αの条件で巡るプログラムを、D言語で作ってみたいと思います。 条件は、以下のとおりとします。 1 サンタの出発地、及び、最終到着地はグリーンランドとし、全世界の首都を通過する。 2 データはOpenGeoCodeから拝借した経度緯度情報を使用する。 ※南極大陸など、人の居ない(場合によっては国