https://github.com/issacto/cuda-maxsat
CUDA MaxSAT Solver using Genetic Algorithm
https://github.com/issacto/cuda-maxsat
Last synced: 3 months ago
JSON representation
CUDA MaxSAT Solver using Genetic Algorithm
- Host: GitHub
- URL: https://github.com/issacto/cuda-maxsat
- Owner: issacto
- License: mit
- Created: 2023-03-27T20:44:28.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-09-20T10:46:17.000Z (over 1 year ago)
- Last Synced: 2025-01-15T20:58:01.808Z (4 months ago)
- Language: Cuda
- Homepage:
- Size: 23.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# CUDA-MAXSAT
An island-based genetic algorithm using Nvidia’s CUDA is purposed to solve 3-MAXSAT problems. Experiments showed that it obtains better performance than state-of-the-art MaxSAT solvers to solve problem sets with high clauses-to-variables ratios within a short period.
## Methods
|||
| ------------- |:-------------:|
| Selection | Elitism, Roulette Wheel |
| Crossover | Single fixed, Double fixed, Uniform |
| Mutation | Single, Double |## Limitation
Maximum 64 variables## Data
Download 3-SAT benchmark data at https://www.cs.ubc.ca/~hoos/SATLIB/benchm.html
Alternatively, generate a MAXSAT problem with the generator.
```
g++ -o generator generator.cpp
./generator
```## Solver
The code for the genetic algorithm is included in the main.cu file.
```
nvcc -o main main.cu
./main
```
## Verifier
Paste the selected chromosome inside the file and verify the result with the file name specified in the command line.
```
g++ -o verfier verfier.cpp
./verfier
```
## KCL ScriptThere are a few bash scripts situated in the experiments directory to run experiments on the KCL HPC cluster.