simple_qap
带Python绑定的基于本地搜索的二次分配问题(QAP)求解器。
通过OpenMP进行并行处理。
用于控制运行时和解决方案质量之间权衡的参数。
用法
参见./run.sh
笔记
使用w / popsize=1和piter=1应该与以下算法大致等效
scipy.optimize.quadratic_assignment(A, B, method='2opt')
但是,它应该快得多(> 10倍)
运行w / popsize > 1 , piter > 1和多个线程应该真正主导scipy的实现。
例子
# nug30.dat / piter=32 / popsize=24
# optimal solution: 6124
$ OMP_NUM_THREADS=24 python test.py
{
" sq_time " : 0.081066131591796
2021-08-18 20:59:19
5KB
C++
1