README ------ Code for the paper entitled "COIL: Constrained Optimization in Learned Latent Space. Learning Representations for Valid Solutions." Please cite: Peter J Bentley, Soo Ling Lim, Adam Gaier and Linh Tran. 2022. COIL: Constrained Optimization in Workshop on Learned Latent Space: Learning Representations for Valid Solutions. In Genetic and Evolutionary Computation Conference Companion (GECCO ’22 Companion). ACM, Boston, USA. Top-level directory . ├── COIL # COIL code (C1 and C2) └── README.txt # README file Required packages: deap==1.3.1 pytorch==1.9.0 numpy==1.18.5 matplotlib==3.4.3 ---- Directory: COIL ---- . ├── ... ├── COIL # COIL code (C1 and C2) │ ├── c1.py # Specifies objective, constraint and settings for C1 │ ├── c2.py # Specifies objective, constraint and settings for C2 │ ├── generate_data.py # COIL Step 1 for C1: generates data for C1 │ ├── generate_data_c2.py # COIL Step 1 for C2: generates data specifically for C2 │ ├── learn_representation.py# COIL Step 2: learns representation │ ├── optimise.py # COIL Step 3: optimise │ ├── ga.py # Standard GA │ ├── analyse.py # Compares results from GA and COIL and produces charts │ ├── data # Folder containing data generated by generate_data.py │ ├── vae # Folder containing VAEs generated by learn_representation.py │ ├── results # Folder containing results generated by optimse.py and ga.py │ └── image # Folder containing images generated by analyse.py └── ... * To run COIL for C1 with 3 variables: >> python generate_data.py -e c1 -v 3 >> python learn_representation.py -e c1 -v 3 >> python optimise.py -e c1 -v 3 -r 100 * To run COIL for C2 with 3 variables: >> python generate_data_c2.py -e c2 -v 3 >> python learn_representation.py -e c2 -v 3 >> python optimise.py -e c2 -v 3 -r 100
soolinglim/coil
Code for paper: P.J. Bentley, S.L. Lim, A. Gaier and L. Tran. (2022). COIL: Constrained Optimization in Learned Latent Space. Learning Representations for Valid Solutions. ACM Genetic and Evolutionary Computation Conference (GECCO'22) Companion, ACM, pp. 1870–1877.
Python