code for paper: 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
Python 100.00%
coil_gecco22's Introduction
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 Learned Latent Space: Learning Representations for Valid Solutions. In Workshop on 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