Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/alexplatasl/dplbnde/llms.txt

Use this file to discover all available pages before exploring further.

jso implements the jSO algorithm: an improved variant of iL-SHADE that uses a weighted current-to-pbest mutation strategy with phase-based parameter constraints. Early phases favor exploration (lower F, higher CR); later phases shift toward exploitation. Includes LPSR.

Usage

jso(
  NP = 40,
  G = 100,
  data,
  class.name,
  structure = c("nb", "tancl", "tan", "hc"),
  edgelist = NULL,
  verbose = 25,
  ...
)

Parameters

NP
integer
default:"40"
Initial population size. Reduced linearly to 4 over evolution.
G
integer
default:"100"
Maximum generations.
data
data.frame
required
Data frame containing features and the class variable.
class.name
character
required
Name of the class variable column.
structure
character
default:"nb"
BN structure: "nb", "tan", "tancl", or "hc".
edgelist
matrix
Optional custom BN topology (edges × 2 matrix: from, to).
verbose
integer
default:"25"
Print progress every this many generations.
...
Extra arguments forwarded to bnclassify::tan_cl or bnclassify::tan_hc.

Phase-based parameter control

jSO constrains F and CR based on the current evaluation ratio (NFE / MAX_NFE):
Phase (ratio)F constraintCR constraint
< 0.6F capped at 0.7
< 0.25CR floored at 0.7
0.25–0.5CR floored at 0.6
The mutation weight Fw also scales with phase: 0.7×F early, 0.8×F mid, 1.2×F late.

Return value

Object of class DE with fields: Best, BestCLL, pobFinal, CLLPobFinal, N.evals, convergence, evaluations.

Example

library(dplbnDE)
data(car)

result <- jso(
  NP = 20, G = 25,
  data = car,
  class.name = names(car)[7],
  structure = "tan",
  verbose = 5
)
print(result)

Build docs developers (and LLMs) love