Description Usage Arguments Value Note Examples
Starting from a specific point ind
in the search space, MOGSA will perform
multiple iterations of (a) multi-objective gradient descent towards a local efficient
point, and (b) exploration of the efficient set to which the recently found efficient
point belongs. These two phases are alternatively executed until the maximum number
of visited basins (max.no.basins
) was reached or the algorithm has found
a global efficient set (or at least a multi-objective trap).
1 2 3 4 5 6 | runMOGSA(ind, fn = NULL, fn1 = NULL, fn2 = NULL,
max.no.basins = 15L, max.no.steps.ls = 600L,
max.no.steps.exploration = 100L, scale.step = 0.5,
exploration.step = 0.2, prec.grad = 1e-06, prec.norm = 1e-06,
prec.angle = 1e-04, ls.method = "both", lower, upper,
check.data = TRUE, show.info = TRUE, allow.restarts = TRUE)
|
ind |
[ |
fn |
[ |
fn1 |
[ |
fn2 |
[ |
max.no.basins |
[ |
max.no.steps.ls |
[ |
max.no.steps.exploration |
[ |
scale.step |
[ |
exploration.step |
[ |
prec.grad |
[ |
prec.norm |
[ |
prec.angle |
[ |
ls.method |
[ |
lower |
[ |
upper |
[ |
check.data |
[ |
show.info |
[ |
allow.restarts |
[ |
[matrix
]
Returns MOGSA's optimization path, consisting of the visited individuals
(x1
and x2
) and the visited basins (basin
). Furthermore
the sequential iterations
performed per basin and phase of the algorithm
(start, local search, exploration and external points), as well as the actual
phases (type
) are provided. The external points result from evaluations
during the exploration phase, in which the algorithm actually evaluated a point
outside of the efficient set.
ATTENTION: Only turn off the sanity checks (check.data = FALSE
),
if you can ensure that all input parameters are provided in the correct format.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | ## Example 1:
# (i) Define two single-objective test problems (fn1, fn2) and a starting point (ind):
fn1 = function(x) sum((x - c(2, 0))^2)
fn2 = function(x) sum((x - c(0, 1))^2)
ind = c(1, 1)
# (ii) Visualize locally efficient set, i.e., the "area" (here: line), of globally
# non-dominated points:
plot(c(2, 0), c(0, 1), type = "o", pch = 19, lty = 2,
xlim = c(-0.2, 2.2), ylim = c(-0.1, 1.1),
xlab = expression(x[1]), ylab = expression(x[2]), las = 1, asp = 1)
text(2, 0, "Optimum of fn1", pos = 2, offset = 1.5)
text(0, 1, "Optimum of fn2", pos = 4, offset = 1.5)
# (iii) Run MOGSA:
mogsa.result = runMOGSA(ind = ind, fn1 = fn1, fn2 = fn2)
# (iv) Visualize the optimization path of MOGSA:
points(mogsa.result[, c("x1", "x2")],
col = as.integer(mogsa.result$type) + 1L,
pch = as.integer(mogsa.result$type) + 14L)
legend("topright", pch = 15:18, col = 2:5, legend = levels(mogsa.result$type))
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.