{"library":"pygad","title":"PyGAD - Genetic Algorithm in Python","description":"PyGAD is a Python library for building genetic algorithms and training machine learning models (Keras & PyTorch). Current version 3.6.0, released March 2025, with a cadence of several minor releases per year. Supports single- and multi-objective optimization, custom operators, and integration with deep learning frameworks.","language":"python","status":"active","last_verified":"Fri May 01","install":{"commands":["pip install pygad"],"cli":null},"imports":["import pygad"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import pygad\nimport numpy as np\n\n# Define fitness function (must accept two arguments: solution and solution_index)\ndef fitness_func(solution, solution_idx):\n    return -np.sum(solution)\n\n# Define gene space\nnum_genes = 6\ngene_space = {'low': 0, 'high': 2, 'step': 1}  # integers 0 or 1\n\n# Create GA instance\nga_instance = pygad.GA(\n    num_generations=10,\n    num_parents_mating=4,\n    fitness_func=fitness_func,\n    sol_per_pop=8,\n    num_genes=num_genes,\n    gene_space=gene_space,\n    parent_selection_type=\"sss\",\n    keep_parents=1,\n    crossover_type=\"single_point\",\n    mutation_type=\"random\",\n    mutation_num_genes=1\n)\n\n# Run GA\nga_instance.run()\n\n# Show best solution\nsolution, solution_fitness, _ = ga_instance.best_solution()\nprint(f\"Best solution: {solution}\")\nprint(f\"Fitness: {solution_fitness}\")","lang":"python","description":"Minimal example: maximize sum of binary array (genetic algorithm optimization).","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}