code: def main():
      solver = DifferentialEvolutionSolver(ND, NP)
      solver.SetRandomInitialPoints(min=[-2.0] * ND, max=[2.0] * ND)
      solver.SetEvaluationLimits(generations=MAX_GENERATIONS)
  
      strategy = Best1Exp
      # strategy = Best1Bin
  
      solver.Solve(
          fOsc3D,
          termination=ChangeOverGeneration(1e-5, 30),
          strategy=strategy,
          CrossProbability=1.0,
          ScalingFactor=0.9,
      )
  
      return solver.Solution()
  
imports: from mystic.solvers import DifferentialEvolutionSolver
  from mystic.termination import ChangeOverGeneration, VTR
  from mystic.strategy import Best1Exp, Best1Bin, Rand1Exp
  from mystic.tools import random_seed
  from mystic.models import fosc3d
label_desc: Use image node_id 2 for calling a global function with example usage: main() and returns: solver