code: def main():
      solver = DifferentialEvolutionSolver(ND, NP)
  
      solver.SetRandomInitialPoints(min=[0] * ND, max=[2] * ND)
      solver.SetEvaluationLimits(generations=MAX_GENERATIONS)
  
      solver.Solve(
          rosen,
          termination=VTR(0.0001),
          CrossProbability=0.5,
          ScalingFactor=0.6,
          disp=1,
      )
  
      solution = solver.bestSolution
      # print("Current function value: %s" % solver.bestEnergy)
      # print("Iterations: %s" % solver.generations)
      # print("Function evaluations: %s" % solver.evaluations)
  
      print(solution)
  
imports: from mystic.solvers import DifferentialEvolutionSolver, diffev
  from mystic.termination import ChangeOverGeneration, VTR
  from mystic.models import rosen
  from mystic.monitors import Monitor, VerboseMonitor
  from mystic.tools import random_seed
label_desc: Use image node_id 1 for calling a global function with example usage: main() without return types