Skip to content

Commit

Permalink
v0.1.1
Browse files Browse the repository at this point in the history
  • Loading branch information
make-github-pseudonymous-again committed Feb 11, 2015
1 parent 57e1150 commit 03226ec
Show file tree
Hide file tree
Showing 6 changed files with 111 additions and 47 deletions.
2 changes: 1 addition & 1 deletion bower.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "aureooms-js-ho",
"version": "0.1.0",
"version": "0.1.1",
"description": "heuristic optimization code bricks for JavaScript",
"homepage": "https://aureooms.github.io/js-ho",
"license": "AGPL-3.0",
Expand Down
2 changes: 1 addition & 1 deletion component.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"description": "heuristic optimization code bricks for JavaScript",
"version": "0.1.0",
"version": "0.1.1",
"repo": "aureooms/js-ho",
"scripts": [
"js/dist/ho.js"
Expand Down
146 changes: 105 additions & 41 deletions js/dist/ho.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,35 +3,72 @@
'use strict';


/* js/src/ig */
/* js/src/ig/ig.js */

var __ig__ = function(localsearch, alter, pivoting, delta){

var ig = function (solution) {

var candidate, tmp, d;

solution = localsearch(solution);
candidate = solution;

while (!end()) {

tmp = alter(candidate);
tmp = localsearch(tmp);

d = delta(tmp, candidate);
if (d <= 0 || (t > 0 && accept(d, t))) {
candidate = tmp;


d = delta(candidate, solution);
if (d < 0) {
solution = candidate;
}
}
}

return solution;
};

return ig;
};

exports.__ig__ = __ig__;
/* js/src/ii */
/* js/src/ii/ii.js */

/**
* Iterative Improvement
*/

var __ii__ = function (pivoting, delta, mutate) {
var ii = function ( pivoting , delta , solution ) {

var ii = function (solution) {
var tmp, d;
var candidate , d ;

for (;;) {
tmp = pivoting(solution);
d = delta(tmp, solution);
if (d >= 0) {
break;
}
solution = tmp;
for ( ; ; ) {

candidate = pivoting( solution ) ;

d = delta( candidate , solution ) ;

if ( d >= 0 ) {
break ;
}

return solution;
};
solution = candidate ;
}

return ii;
return solution ;

};
} ;

exports.ii = ii ;

exports.__ii__ = __ii__;
/* js/src/pii */
/* js/src/pii/pii.js */

Expand All @@ -44,22 +81,22 @@ var __pii__ = function (end, random, delta, accept) {
var pii = function (solution) {
var candidate, tmp, d;

tmp = solution;
candidate = solution;

while (!end()) {

candidate = random(tmp);
tmp = random(candidate);

d = delta(candidate, tmp);
d = delta(tmp, candidate);

if (d <= 0 || accept(d)) {
tmp = candidate;
}
candidate = tmp;

d = delta(candidate, solution);
d = delta(candidate, solution);

if (d < 0) {
solution = candidate;
if (d < 0) {
solution = candidate;
}
}
}

Expand All @@ -83,23 +120,23 @@ exports.__pii__ = __pii__;
var __rii__ = function (end, pivote, pivoting, random, delta) {

var rii = function (solution) {
var tmp, d;
var candidate, d;

tmp = solution;
candidate = solution;

while (!end()) {

if (pivote()) {
tmp = pivoting(tmp);
candidate = pivoting(candidate);
}
else {
tmp = random(tmp);
candidate = random(candidate);
}

d = delta(tmp, solution);
d = delta(candidate, solution);

if (d < 0) {
solution = tmp;
solution = candidate;
}
}

Expand All @@ -120,7 +157,7 @@ exports.__rii__ = __rii__;
* Simulated Annealing
*/

var __sa__ = function (end, pivoting, delta, accept, improvement, restart, temperature, alpha, cooldown) {
var __sa__ = function (end, pivoting, delta, accept, improvement, temperature, alpha, cooldown) {

var sa = function (solution) {
var tmp, candidate, d, t;
Expand All @@ -134,20 +171,15 @@ var __sa__ = function (end, pivoting, delta, accept, improvement, restart, tempe

d = delta(tmp, candidate);

if (d <= 0 || (t > 0 && accept(d))) {
if (d <= 0 || (t > 0 && accept(d, t))) {
candidate = tmp;
}

d = delta(candidate, solution);
d = delta(candidate, solution);

if(d < 0){
solution = candidate;
improvement(solution);
}
else if (restart()) {
t = temperature;
candidate = solution;
continue;
if(d < 0){
solution = candidate;
improvement(solution);
}
}

if (cooldown()) {
Expand All @@ -161,4 +193,36 @@ var __sa__ = function (end, pivoting, delta, accept, improvement, restart, tempe
};

exports.__sa__ = __sa__;
/* js/src/vnd */
/* js/src/vnd/vnd.js */

var __vnd__ = function(neighborhoods, n, delta){

var vnd = function(solution){

var k, pivoting, candidate;

k = 0;

while(k < n){
for (;;) {
pivoting = neighborhoods[k];
candidate = pivoting(solution);
d = delta(candidate, solution);
if (d >= 0) {
break;
}
k = 0;
solution = candidate;
}
++k;
}

};

return vnd;

};

exports.__vnd__ = __vnd__;
})(typeof exports === 'undefined' ? this['ho'] = {} : exports);
2 changes: 1 addition & 1 deletion js/dist/ho.js.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion js/dist/ho.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "aureooms-js-ho",
"description": "heuristic optimization code bricks for JavaScript",
"version": "0.1.0",
"version": "0.1.1",
"main": "js/dist/ho.js",
"dependencies": {},
"devDependencies": {
Expand Down Expand Up @@ -30,4 +30,4 @@
"url": "https://github.com/aureooms/js-ho/issues"
},
"homepage": "https://aureooms.github.io/js-ho"
}
}

0 comments on commit 03226ec

Please sign in to comment.