项目作者: condur

项目描述 :
A Clojure example of Multi-Objective Genetic Algorithm
高级语言: Clojure
项目地址: git://github.com/condur/evolution.git
创建时间: 2014-02-27T01:34:30Z
项目社区:https://github.com/condur/evolution

开源协议:Eclipse Public License 1.0

下载


A Clojure example of Multi-Objective Genetic Algorithm

Using SPEA2: Improving the Strength Pareto Evolutionary Algorithm (2001)

To run the application use Leiningen, get dependencies and call “lein run”.

The input data is randomly generated.

Sample result:

Randomly generated elements: 9, and distinct commodities: 4

Sample Chromosome

{:id 1, :from A4, :to B3, :commodity ABC2}

{:id 2, :from A5, :to B5, :commodity ABC3}

{:id 3, :from A3, :to B2, :commodity ABC4}

{:id 4, :from A4, :to B3, :commodity ABC4}

{:id 5, :from A2, :to B5, :commodity ABC1}

{:id 6, :from A4, :to B1, :commodity ABC4}

{:id 7, :from A2, :to B5, :commodity ABC4}

{:id 8, :from A2, :to B5, :commodity ABC1}

{:id 9, :from A3, :to B5, :commodity ABC4}

Sample Interface Quality Matrix

Commodities: [“ABC1” “ABC2” “ABC3” “ABC4”]

Matrix:

[0 4 5 3]

[4 0 6 3]

[9 8 0 8]

[5 1 6 0]

Result 1:

{:id 1, :from A4, :to B3, :commodity ABC2}

{:id 2, :from A5, :to B5, :commodity ABC3}

{:id 3, :from A3, :to B2, :commodity ABC4}

{:id 6, :from A4, :to B1, :commodity ABC4}

{:id 7, :from A2, :to B5, :commodity ABC4}

{:id 4, :from A4, :to B3, :commodity ABC4}

{:id 9, :from A3, :to B5, :commodity ABC4}

{:id 5, :from A2, :to B5, :commodity ABC1}

{:id 8, :from A2, :to B5, :commodity ABC1}

Result 2:

{:id 1, :from A4, :to B3, :commodity ABC2}

{:id 2, :from A5, :to B5, :commodity ABC3}

{:id 3, :from A3, :to B2, :commodity ABC4}

{:id 6, :from A4, :to B1, :commodity ABC4}

{:id 7, :from A2, :to B5, :commodity ABC4}

{:id 4, :from A4, :to B3, :commodity ABC4}

{:id 9, :from A3, :to B5, :commodity ABC4}

{:id 8, :from A2, :to B5, :commodity ABC1}

{:id 5, :from A2, :to B5, :commodity ABC1}