{"id":16572217,"url":"https://github.com/eddelbuettel/pgapack","last_synced_at":"2025-10-29T01:31:52.548Z","repository":{"id":142505152,"uuid":"45756073","full_name":"eddelbuettel/pgapack","owner":"eddelbuettel","description":"A general-purpose, data-structure-neutral, and parallel genetic algorithm library","archived":false,"fork":false,"pushed_at":"2015-11-07T21:50:19.000Z","size":0,"stargazers_count":12,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-01T21:05:37.050Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eddelbuettel.png","metadata":{"files":{"readme":"README","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-11-07T21:47:27.000Z","updated_at":"2019-07-16T23:19:50.000Z","dependencies_parsed_at":"2023-06-25T23:34:42.416Z","dependency_job_id":null,"html_url":"https://github.com/eddelbuettel/pgapack","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eddelbuettel%2Fpgapack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eddelbuettel%2Fpgapack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eddelbuettel%2Fpgapack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eddelbuettel%2Fpgapack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eddelbuettel","download_url":"https://codeload.github.com/eddelbuettel/pgapack/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238758174,"owners_count":19525722,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-11T21:26:48.285Z","updated_at":"2025-10-29T01:31:52.092Z","avatar_url":"https://github.com/eddelbuettel.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n[ Updated March 2008:  \n  -- the original README, minus two references to the now \n     obsolete website and mailing lists, follows below\n  -- PGAPack has also been built successfully against LAM/MPI \n     and Open MPI. ]\n\n\nThis is the top-level README for PGAPack V1.0\n\nCopyright\n=========\nSee the file COPYRIGHT for Copyright and disclaimer information.\n\nIntroduction\n============\nPGAPack is a general-purpose, data-structure-neutral, parallel genetic\nalgorithm library developed at Argonne National Laboratory.  \nKey features are:\n\n* Callable from Fortran or C.\n* Runs on uniprocessors, parallel computers, and workstation networks.\n* Binary-, integer-, real-, and character-valued native data types.\n* Object-oriented data structure neutral design. \n* Parameterized population replacement.\n* Multiple choices for selection, crossover, and mutation operators.\n* Easy integration of hill-climbing heuristics. \n* Easy-to-use interface for novice and application users.\n* Fully extensible to support custom operators and new data types.\n* Extensive debugging facilities.\n* A large set of example problems.\n\n\nAvailability\n============\nPGAPack is freely available.  The complete distribution is available\nby anonymous ftp from from ftp.mcs.anl.gov in the file \npub/pgapack/pgapack.tar.Z.  The distribution contains all source code,\ninstallation instructions, users guide, and a collection of examples in C and\nFortran. \n\n\nComputational Environment\n=========================\nPGAPack is written in ANSI C and uses the MPI message passing interface\nand should run on most uniprocessors, parallel computers, and workstation\nnetworks.  PGAPack has been tested on the workstations and parallel computers \nspecified by the ARCH_TYPE variable below.\n\n\nDocumentation\n=============\n* The PGAPack users guide is in ./docs/user_guide.ps.\n* Man pages for PGAPack functions are in the ./man directory.\n* Installation instructions are in this README file and the users guide.\n* Example problems are in the ./examples directory.\n\n\nInstallation Requirements\n=========================\nTo compile you must have an ANSI C compiler that includes a full\nimplementation of the Standard C library and related header files.  To build a\n*parallel* version of PGAPack you must provide an implementation of MPI\n(Message Passing Interface) for the parallel computer or workstation network\nyou are running on.\n\nMost of our testing and development was done using MPICH, a freely available\nimplementation of MPI.  MPICH runs on many parallel computers and\nworkstation networks and is publicly available and free.  The complete\ndistribution is available by anonymous ftp from ftp.mcs.anl.gov.  Take the\nfile mpich.tar.Z from the directory pub/mpi.  Additional information about\nMPICH is avaliable on the World Wide Web at http://www.mcs.anl.gov/mpi.\n\nInstallation Instructions\n=========================\nWhen installing PGAPack you make two choices: whether to build a sequential\n(the default) or parallel version, and whether to build a debug or optimized\n(the default) version.  In broad outline, the\ninstallation steps are as follows.\n\n1.  Make a directory to install PGAPack in (mkdir /usr/local/pga).\n2.  Change directories to the directory created in the last step\n    (cd /usr/local/pga).\n3.  Obtain the compressed tar file pgapack.tar.Z by anonymous ftp in\n    ftp.mcs.anl.gov from the directory pub/pgapack.\n4.  Uncompress the tar file (uncompress pgapack.tar.Z).\n5.  Untar the uncompressed tar file (tar xvf ./pgapack.tar).\n6.  Run configure to configure the makefiles (configure -arch ARCH_TYPE)\n    where ARCH_TYPE is one of\n\n    sun4           for Sun SparcStations workstations,\n    next           for NeXT workstations,\n    rs600          for IBM RS6000 workstations,\n    irix           for Silicon Graphics workstations,\n    hpux           for Hewlett Packard workstations,\n    alpha          for DEC Alpha workstations,\n    linux          for machines running Linux,\n    freebsd        for machines running FreeBSD,\n    generic        for generic 32-bit machines, \n    powerchallenge for the Silicon Graphics Power Challenge Array,\n    challenge      for the Silicon Graphics Challenge,\n    t3d            for the Cray T3D,\n    sp2            for the IBM SP2,\n    paragon        for the Intel Paragon, or\n    exemplar       for the Convex  Exemplar.\n\n    The full configure options are configure -arch ARCH_TYPE [-cc CC] \n    [-cflags CFLAGS] [-f77 FC] [-fflags FFLAGS] [-debug]\n    [-mpiinc MPI_INCLUDE_DIRECTORY] [-mpilib MPI_LIBRARY]  [-help]\n\n    where all parameters except -arch are optional and do the following:\n\n    [-cc]:       The name of the ANSI C compiler, cc by default.\n    [-cflags]:   Options passed to the C compiler.\n    [-f77]:      The name of the Fortran 77 compiler, f77 by default.\n                 (The Fortran compiler is used only to compile the Fortran\n                 examples in the [./examples/] directory.)\n    [-fflags]:   Options passed to the Fortran compiler.\n    [-debug]:    If specified, enables the debugging features\n                 and compiles the source code with the -g flag.\n    [-mpiinc]:   The *directory* where MPI include files are located.\n    [-mpilib]:   The *full path* to the MPI library.  \n\n    If the [-mpilib] and [-mpiinc] options are specified, a parallel version \n    of PGAPack will be built.  If these flags are not specified a sequential\n    version of PGAPack will be built.\n\n7.  Execute the makefile (make install).\n8.  Add PGAPack's man pages to your man page path.\n    (setenv MANPATH \"$MANPATH\"\":/home/pgapack/man\")\n9.  Execute a simple test problem\n    \n    Sequential version\n    ------------------\n    C:        /usr/local/pga/examples/c/maxbit\n    Fortran:  /usr/local/pga/examples/fortran/maxbit\n\n    Parallel version\n    ------------------\n    C:        mpirun -np 4 /usr/local/pga/examples/c/maxbit\n    Fortran:  mpirun -np 4 /usr/local/pga/examples/fortran/maxbit\n\n    If a parallel version of PGAPack was used, the actual commands to execute \n    a parallel program depend on the particular MPI implementation and\n    parallel computer.  If the MPICH implementation was used the \"mpirun\"\n    command can be used to execute a parallel program on most systems.\n\n\nExample Installation\n====================\nAssuming you have the compressed tar file, pgapack.tar.Z, containing the\ndistribution in /home/username.  To build a sequential version of PGAPack\ncontaining debug features for a Sun SparcStation in /usr/local/pga and run a\ntest example, type:\n\n    uncompress /home/username/pgapack.tar.Z\n    mkdir /usr/local/pga\n    cd /usr/local/pga\n    tar xvf /home/username/pgapack.tar\n    configure -arch sun4 -debug\n    make install\n    /usr/local/pga/examples/c/maxbit\n\nTo build a parallel version of PGAPack for an IBM SP parallel computer using\nan MPI implementation with include files in /usr/local/mpi/include and library\nin /usr/local/mpi/lib, and run a test example, type:\n\n   uncompress /home/username/pgapack.tar.Z\n   mkdir /usr/local/pga\n   cd /usr/local/pga\n   tar xvf /home/username/pgapack.tar\n   configure -arch rs6000 -mpiinc /usr/local/mpi/include \\\n             -mpilib /usr/local/mpi/lib/libmpi.a\n   make install\n   mpirun -np 4 /usr/local/pga/examples/c/maxbit\n\n\nPGAPack on PCs \n===================\nPGAPack has not been ported to MS-DOS, Windows 3.1, Windows 95, or Apple OS.\nAs mentioned earlier, however, PGAPack is written in ANSI standard C and\nshould compile in these environments.  Be aware, however, that PGAPack's\nrandom number generator, PGARandom01, assumes certain machine characteristics\nfor ints and floats that may not correspond with what your PC and/or compiler\nsupport, resulting in erroneous values.\n\n\nStructure of the Distribution Directory\n=======================================\nCHANGES:      Changes new to this release of PGAPack.\nCOPYRIGHT:    Copyright and disclaimer information.\nREADME:       This file.\nconfigure.in: The ``source code'' for the configure script.\nconfigure:    Unix shell script to configure Makefile.in for a specific\n              architecture.\nMakefile.in:  Prototype that is configured into ``Makefile'' by configure.\ndocs:         Directory containing documentation.\nexamples:     A directory containing C and Fortran examples.\ninclude:      The PGAPack include directory.\nlib:          The directory the library will be installed in.\nman:          The directory containing the PGAPack man pages.\nsource:       The source code for the PGAPack system.\ntest:         A directory containing programs to verify the installation.\n\n\nContributions\n=============\nPGAPack was written to be extensible in two ways: adding new operators that\nwork with existing data types, and defining new data types.  Enhancements of\neither type that you wish to share are welcome for possible inclusion in\nfuture versions of PGAPack.\n\n\nAcknowledgment\n==============\nUsers of PGAPack are asked to acknowledge its use in any document referencing\nwork based on the program, such as published research.  Also, please supply\nto us a copy of any published research referencing work based on the software.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feddelbuettel%2Fpgapack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feddelbuettel%2Fpgapack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feddelbuettel%2Fpgapack/lists"}